From 4d5d7492557b153634d544a37e0eb8d668e9b605 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Mon, 5 Jan 2015 14:11:42 +0000 Subject: [PATCH] Merge developments from the python_wrapper branch into master --- cmake/CMakeLists.txt | 27 +- .../io_import_scene_ifc/__init__.py | 39 +- src/ifcconvert/ColladaSerializer.h | 2 +- src/ifcconvert/GeometrySerializer.h | 2 +- src/ifcconvert/IfcConvert.cpp | 4 +- src/ifcconvert/OpenCascadeBasedSerializer.cpp | 2 +- src/ifcconvert/OpenCascadeBasedSerializer.h | 2 +- src/ifcconvert/WavefrontObjSerializer.h | 2 +- src/ifcexpressparser/bootstrap.py | 4 + src/ifcexpressparser/enum_header.py | 3 +- src/ifcexpressparser/header.py | 36 +- src/ifcexpressparser/implementation.py | 53 +- src/ifcexpressparser/latebound_header.py | 35 + .../latebound_implementation.py | 117 + src/ifcexpressparser/mapping.py | 46 +- src/ifcexpressparser/templates.py | 197 +- src/ifcgeom/IfcGeom.h | 19 +- src/ifcgeom/IfcGeomCurves.cpp | 4 +- src/ifcgeom/IfcGeomElement.h | 14 +- src/ifcgeom/IfcGeomFunctions.cpp | 218 + src/ifcgeom/IfcGeomHelpers.cpp | 2 +- src/ifcgeom/IfcGeomIterator.h | 286 +- src/ifcgeom/IfcGeomMaterial.h | 2 +- src/ifcgeom/IfcGeomRenderStyles.cpp | 16 +- src/ifcgeom/IfcGeomRepresentation.h | 6 +- src/ifcgeom/IfcGeomShapes.cpp | 16 +- src/ifcgeom/IfcGeomWires.cpp | 16 +- .../ifcopenshell/__init__.py | 108 + .../ifcopenshell/geom/__init__.py | 50 + src/ifcopenshell-python/ifcopenshell/guid.py | 41 + src/ifcparse/Ifc2x3-latebound.cpp | 4255 ++++++++ src/ifcparse/Ifc2x3-latebound.h | 50 + src/ifcparse/Ifc2x3.cpp | 5928 +++++++---- src/ifcparse/Ifc2x3.h | 7300 +++++++------ src/ifcparse/Ifc2x3enum.h | 2 +- src/ifcparse/Ifc4-latebound.cpp | 4945 +++++++++ src/ifcparse/Ifc4-latebound.h | 50 + src/ifcparse/Ifc4.cpp | 9231 ++++++++++------- src/ifcparse/Ifc4.h | 7886 ++++++++------ src/ifcparse/Ifc4enum.h | 2 +- src/ifcparse/IfcCharacterDecoder.cpp | 2 +- src/ifcparse/IfcCharacterDecoder.h | 2 +- src/ifcparse/IfcEntityDescriptor.h | 132 + src/ifcparse/IfcFile.h | 155 +- src/ifcparse/IfcHierarchyHelper.cpp | 8 +- src/ifcparse/IfcLateBoundEntity.cpp | 215 + src/ifcparse/IfcLateBoundEntity.h | 80 + src/ifcparse/IfcParse.cpp | 79 +- src/ifcparse/IfcParse.h | 85 +- src/ifcparse/IfcSpfStream.h | 81 + src/ifcparse/IfcUtil.cpp | 43 +- src/ifcparse/IfcUtil.h | 45 +- src/ifcparse/IfcWrite.cpp | 14 +- src/ifcparse/IfcWrite.h | 16 - src/ifcwrap/CMakeLists.txt | 23 +- src/ifcwrap/IfcGeomWrapper.i | 294 + src/ifcwrap/IfcParseWrapper.i | 179 + src/ifcwrap/IfcPython.i | 212 +- src/ifcwrap/Interface.h | 146 - win/IfcParse.vcproj | 80 +- win/IfcWrap.vcproj | 16 +- 61 files changed, 29458 insertions(+), 13467 deletions(-) create mode 100644 src/ifcexpressparser/latebound_header.py create mode 100644 src/ifcexpressparser/latebound_implementation.py create mode 100644 src/ifcopenshell-python/ifcopenshell/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/geom/__init__.py create mode 100644 src/ifcopenshell-python/ifcopenshell/guid.py create mode 100644 src/ifcparse/Ifc2x3-latebound.cpp create mode 100644 src/ifcparse/Ifc2x3-latebound.h create mode 100644 src/ifcparse/Ifc4-latebound.cpp create mode 100644 src/ifcparse/Ifc4-latebound.h create mode 100644 src/ifcparse/IfcEntityDescriptor.h create mode 100644 src/ifcparse/IfcLateBoundEntity.cpp create mode 100644 src/ifcparse/IfcLateBoundEntity.h create mode 100644 src/ifcparse/IfcSpfStream.h create mode 100644 src/ifcwrap/IfcGeomWrapper.i create mode 100644 src/ifcwrap/IfcParseWrapper.i delete mode 100644 src/ifcwrap/Interface.h diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 84411b3235..a7f197c4b9 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -123,17 +123,18 @@ ENDIF(MSVC) INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES} ${OCC_INCLUDE_DIR} ${OPENCOLLADA_INCLUDE_DIRS} /usr/inc /usr/local/inc /usr/local/include/oce ${ICU_INCLUDE_DIR} ${Boost_INCLUDE_DIRS}) -ADD_LIBRARY(IfcParse STATIC +ADD_LIBRARY(IfcParse STATIC + ../src/ifcparse/Ifc2x3-latebound.cpp ../src/ifcparse/Ifc2x3.cpp + ../src/ifcparse/Ifc4-latebound.cpp ../src/ifcparse/Ifc4.cpp - ../src/ifcparse/IfcUtil.cpp - ../src/ifcparse/IfcParse.cpp ../src/ifcparse/IfcCharacterDecoder.cpp - - ../src/ifcparse/IfcWrite.cpp ../src/ifcparse/IfcGuidHelper.cpp - - ../src/ifcparse/IfcHierarchyHelper.cpp + ../src/ifcparse/IfcHierarchyHelper.cpp + ../src/ifcparse/IfcLateBoundEntity.cpp + ../src/ifcparse/IfcParse.cpp + ../src/ifcparse/IfcUtil.cpp + ../src/ifcparse/IfcWrite.cpp ) ADD_LIBRARY(IfcGeom STATIC @@ -206,18 +207,24 @@ SET(include_files_geom ../src/ifcgeom/IfcRepresentationShapeItem.h ) SET(include_files_parse + ../src/ifcparse/Ifc2x3-latebound.h ../src/ifcparse/Ifc2x3.h ../src/ifcparse/Ifc2x3enum.h + ../src/ifcparse/Ifc4-latebound.h + ../src/ifcparse/Ifc4.h + ../src/ifcparse/Ifc4enum.h ../src/ifcparse/IfcCharacterDecoder.h + ../src/ifcparse/IfcEntityDescriptor.h ../src/ifcparse/IfcException.h ../src/ifcparse/IfcFile.h ../src/ifcparse/IfcHierarchyHelper.h + ../src/ifcparse/IfcLateBoundEntity.h ../src/ifcparse/IfcParse.h + ../src/ifcparse/IfcSpfStream.h ../src/ifcparse/IfcUtil.h - ../src/ifcparse/SharedPointer.h - - ../src/ifcparse/IfcWrite.h ../src/ifcparse/IfcWritableEntity.h + ../src/ifcparse/IfcWrite.h + ../src/ifcparse/SharedPointer.h ) INSTALL(FILES ${include_files_geom} DESTINATION include/ifcgeom) INSTALL(FILES ${include_files_parse} DESTINATION include/ifcparse) diff --git a/src/ifcblender/io_import_scene_ifc/__init__.py b/src/ifcblender/io_import_scene_ifc/__init__.py index 93e7cc1fe8..5c150ac78d 100644 --- a/src/ifcblender/io_import_scene_ifc/__init__.py +++ b/src/ifcblender/io_import_scene_ifc/__init__.py @@ -62,11 +62,13 @@ bpy.types.Object.ifc_type = StringProperty(name="IFC Entity Type", description="The STEP Datatype keyword") -def import_ifc(filename, use_names, process_relations): +def import_ifc(filename, use_names, process_relations, blender_booleans): from . import ifcopenshell + from .ifcopenshell import geom as ifcopenshell_geom print("Reading %s..."%bpy.path.basename(filename)) - settings = ifcopenshell.IteratorSettings() - iterator = ifcopenshell.Iterator(settings, filename) + settings = ifcopenshell_geom.settings() + settings.set(settings.DISABLE_OPENING_SUBTRACTIONS, blender_booleans) + iterator = ifcopenshell_geom.iterator(settings, filename) valid_file = iterator.findContext() if not valid_file: return False @@ -74,6 +76,7 @@ def import_ifc(filename, use_names, process_relations): id_to_object = {} id_to_parent = {} id_to_matrix = {} + openings = [] old_progress = -1 print("Creating geometry...") while True: @@ -139,8 +142,10 @@ def import_ifc(filename, use_names, process_relations): bob.ifc_id, bob.ifc_guid, bob.ifc_name, bob.ifc_type = \ ob.id, ob.guid, ob.name, ob.type - bob.hide = ob.type == 'IfcSpace' or ob.type == 'IfcOpeningElement' - bob.hide_render = bob.hide + if ob.type == 'IfcSpace' or ob.type == 'IfcOpeningElement': + if not (ob.type == 'IfcOpeningElement' and blender_booleans): + bob.hide = bob.hide_render = True + bob.draw_type = 'WIRE' if ob.id not in id_to_object: id_to_object[ob.id] = [] id_to_object[ob.id].append(bob) @@ -148,6 +153,9 @@ def import_ifc(filename, use_names, process_relations): if ob.parent_id > 0: id_to_parent[ob.id] = ob.parent_id + if blender_booleans and ob.type == 'IfcOpeningElement': + openings.append(ob.id) + faces = me.polygons if hasattr(me, 'polygons') else me.faces if len(faces) == len(matids): for face, matid in zip(faces, matids): @@ -173,11 +181,11 @@ def import_ifc(filename, use_names, process_relations): if parent_id in id_to_object: bob = id_to_object[parent_id][0] else: - parent_ob = iterator.GetObject(parent_id) + parent_ob = iterator.getObject(parent_id) if parent_ob.id == -1: bob = None else: - m = parent_ob.matrix + m = parent_ob.transformation.matrix.data nm = parent_ob.name if len(parent_ob.name) and use_names \ else parent_ob.guid bob = bpy.data.objects.new(nm, None) @@ -219,7 +227,16 @@ def import_ifc(filename, use_names, process_relations): if process_relations: print("Done processing relations") - + + for opening_id in openings: + parent_id = id_to_parent[opening_id] + if parent_id in id_to_object: + parent_ob = id_to_object[parent_id][0] + for opening_ob in id_to_object[opening_id]: + mod = parent_ob.modifiers.new("opening", "BOOLEAN") + mod.operation = "DIFFERENCE" + mod.object = opening_ob + txt = bpy.data.texts.new("%s.log"%bpy.path.basename(filename)) txt.from_string(iterator.getLog()) @@ -241,9 +258,13 @@ class ImportIFC(bpy.types.Operator, ImportHelper): " relations to parenting" \ " (warning: may be slow on large files)", default=False) + blender_booleans = BoolProperty(name="Use Blender booleans", + description="Use Blender boolean modifiers for opening" \ + " elements", + default=False) def execute(self, context): - if not import_ifc(self.filepath, self.use_names, self.process_relations): + if not import_ifc(self.filepath, self.use_names, self.process_relations, self.blender_booleans): self.report({'ERROR'}, 'Unable to parse .ifc file or no geometrical entities found' ) diff --git a/src/ifcconvert/ColladaSerializer.h b/src/ifcconvert/ColladaSerializer.h index 3a34875b9e..48db38a39f 100644 --- a/src/ifcconvert/ColladaSerializer.h +++ b/src/ifcconvert/ColladaSerializer.h @@ -150,7 +150,7 @@ public: bool ready(); void writeHeader(); void write(const IfcGeom::TriangulationElement* o); - void write(const IfcGeom::ShapeModelElement* o) {} + void write(const IfcGeom::BRepElement* o) {} void finalize(); bool isTesselated() const { return true; } void setUnitNameAndMagnitude(const std::string& name, float magnitude) { diff --git a/src/ifcconvert/GeometrySerializer.h b/src/ifcconvert/GeometrySerializer.h index 9310479237..251678edfb 100644 --- a/src/ifcconvert/GeometrySerializer.h +++ b/src/ifcconvert/GeometrySerializer.h @@ -30,7 +30,7 @@ public: virtual bool isTesselated() const = 0; virtual ~GeometrySerializer() {} virtual void write(const IfcGeom::TriangulationElement* o) = 0; - virtual void write(const IfcGeom::ShapeModelElement* o) = 0; + virtual void write(const IfcGeom::BRepElement* o) = 0; virtual void setUnitNameAndMagnitude(const std::string& name, float magnitude) = 0; }; diff --git a/src/ifcconvert/IfcConvert.cpp b/src/ifcconvert/IfcConvert.cpp index 584f6c61e6..668c0fb990 100644 --- a/src/ifcconvert/IfcConvert.cpp +++ b/src/ifcconvert/IfcConvert.cpp @@ -247,7 +247,7 @@ int main(int argc, char** argv) { } if (convert_back_units) { - serializer->setUnitNameAndMagnitude(context_iterator.getUnitName(), context_iterator.getUnitMagnitude()); + serializer->setUnitNameAndMagnitude(context_iterator.getUnitName(), static_cast(context_iterator.getUnitMagnitude())); } else { serializer->setUnitNameAndMagnitude("METER", 1.0f); } @@ -274,7 +274,7 @@ int main(int argc, char** argv) { if (serializer->isTesselated()) { serializer->write(static_cast*>(geom_object)); } else { - serializer->write(static_cast*>(geom_object)); + serializer->write(static_cast*>(geom_object)); } const int progress = context_iterator.progress() / 2; diff --git a/src/ifcconvert/OpenCascadeBasedSerializer.cpp b/src/ifcconvert/OpenCascadeBasedSerializer.cpp index abff28b2e1..13eb10055e 100644 --- a/src/ifcconvert/OpenCascadeBasedSerializer.cpp +++ b/src/ifcconvert/OpenCascadeBasedSerializer.cpp @@ -34,7 +34,7 @@ bool OpenCascadeBasedSerializer::ready() { return succeeded; } -void OpenCascadeBasedSerializer::write(const IfcGeom::ShapeModelElement* o) { +void OpenCascadeBasedSerializer::write(const IfcGeom::BRepElement* o) { for (IfcGeom::IfcRepresentationShapeItems::const_iterator it = o->geometry().begin(); it != o->geometry().end(); ++ it) { gp_GTrsf gtrsf = it->Placement(); diff --git a/src/ifcconvert/OpenCascadeBasedSerializer.h b/src/ifcconvert/OpenCascadeBasedSerializer.h index 78de4bcb1b..8b707e40fb 100644 --- a/src/ifcconvert/OpenCascadeBasedSerializer.h +++ b/src/ifcconvert/OpenCascadeBasedSerializer.h @@ -39,7 +39,7 @@ public: bool ready(); virtual void writeShape(const TopoDS_Shape& shape) = 0; void write(const IfcGeom::TriangulationElement* o) {} - void write(const IfcGeom::ShapeModelElement* o); + void write(const IfcGeom::BRepElement* o); bool isTesselated() const { return false; } }; diff --git a/src/ifcconvert/WavefrontObjSerializer.h b/src/ifcconvert/WavefrontObjSerializer.h index 0f6d3b220d..3301577dd5 100644 --- a/src/ifcconvert/WavefrontObjSerializer.h +++ b/src/ifcconvert/WavefrontObjSerializer.h @@ -46,7 +46,7 @@ public: void writeHeader(); void writeMaterial(const IfcGeom::Material& style); void write(const IfcGeom::TriangulationElement* o); - void write(const IfcGeom::ShapeModelElement* o) {} + void write(const IfcGeom::BRepElement* o) {} void finalize() {} bool isTesselated() const { return true; } void setUnitNameAndMagnitude(const std::string& name, float magnitude) {} diff --git a/src/ifcexpressparser/bootstrap.py b/src/ifcexpressparser/bootstrap.py index 354dc61ea9..41e2d5270c 100644 --- a/src/ifcexpressparser/bootstrap.py +++ b/src/ifcexpressparser/bootstrap.py @@ -170,6 +170,8 @@ import mapping import header import enum_header import implementation +import latebound_header +import latebound_implementation syntax.ignore(Regex(r"\((?:\*(?:[^*]*\*+)+?\))")) ast = syntax.parseFile(sys.argv[1]) @@ -179,4 +181,6 @@ mapping = mapping.Mapping(schema) header.Header(mapping).emit() enum_header.EnumHeader(mapping).emit() implementation.Implementation(mapping).emit() +latebound_header.LateBoundHeader(mapping).emit() +latebound_implementation.LateBoundImplementation(mapping).emit() """%('\n'.join(statements))) diff --git a/src/ifcexpressparser/enum_header.py b/src/ifcexpressparser/enum_header.py index 9bb0dccc53..96993ec13f 100644 --- a/src/ifcexpressparser/enum_header.py +++ b/src/ifcexpressparser/enum_header.py @@ -21,8 +21,7 @@ import templates class EnumHeader: def __init__(self, mapping): - selectable_simple_types = sorted(set(sum([b.values for a,b in mapping.schema.selects.items()], [])) & set(mapping.schema.types.keys())) - enumerable_types = selectable_simple_types + [name for name, type in mapping.schema.entities.items()] + enumerable_types = sorted(set([name for name, type in mapping.schema.types.items()] + [name for name, type in mapping.schema.entities.items()])) self.str = templates.enum_header % { 'schema_name_upper' : mapping.schema.name.upper(), diff --git a/src/ifcexpressparser/header.py b/src/ifcexpressparser/header.py index 1676f2482c..33eab2569f 100644 --- a/src/ifcexpressparser/header.py +++ b/src/ifcexpressparser/header.py @@ -22,34 +22,34 @@ import documentation class Header: def __init__(self, mapping): - emitted_types = set(mapping.express_to_cpp_typemapping.values()) declarations = [] write = lambda str, **kwargs: declarations.append(str%dict({ 'documentation': templates.multi_line_comment(documentation.description(kwargs['name']))}, **kwargs)) - - for name, type in mapping.schema.simpletypes.items(): - type_str = mapping.make_type_string(type) - type_dep = mapping.get_type_dep(type) - if type_dep in emitted_types: - write(templates.simpletype, name=name, type=type_str) - emitted_types.add(name) - + + forward_names = list(mapping.schema.entities.keys()) + list(mapping.schema.simpletypes.keys()) + forward_definitions = "".join(["class %s; "%n for n in forward_names]) + for name, type in mapping.schema.selects.items(): write(templates.select, name=name) - emitted_types.add(name) - - for name, type in mapping.schema.simpletypes.items(): - if name not in emitted_types: - type_str = mapping.make_type_string(type) - write(templates.simpletype, name=name, type=type_str) - emitted_types.add(name) for name, type in mapping.schema.enumerations.items(): short_name = name[:-4] if name.endswith("Enum") else name write(templates.enumeration, name=name, values=", ".join(["%s_%s"%(short_name, v) for v in type.values])) - - forward_definitions = "".join(["class %s; "%n for n in mapping.schema.entities.keys()]) + + emitted_simpletypes = set() + while len(emitted_simpletypes) < len(mapping.schema.simpletypes): + for name, type in mapping.schema.simpletypes.items(): + if name in emitted_simpletypes: continue + type_str = mapping.make_type_string(mapping.flatten_type_string(type)) + attr_type = mapping.make_argument_type(type) + superclass = mapping.simple_type_parent(name) + if superclass is None: + superclass = "IfcUtil::IfcBaseType" + elif superclass not in emitted_simpletypes: + continue + emitted_simpletypes.add(name) + write(templates.simpletype, name=name, type=type_str, attr_type=attr_type, superclass=superclass) class_definitions = [] diff --git a/src/ifcexpressparser/implementation.py b/src/ifcexpressparser/implementation.py index 0f66316b8f..5dc5375291 100644 --- a/src/ifcexpressparser/implementation.py +++ b/src/ifcexpressparser/implementation.py @@ -71,10 +71,11 @@ class Implementation: def find_template(arg): simple = mapping.schema.is_simpletype(arg['list_instance_type']) + select = arg['list_instance_type'] == "IfcUtil::IfcBaseClass" express = arg['list_instance_type'] in mapping.express_to_cpp_typemapping if arg['is_enum']: return templates.get_attr_stmt_enum elif arg['is_nested']: return templates.get_attr_stmt_nested_array - elif arg['is_array'] and not (simple or express): return templates.get_attr_stmt_array + elif arg['is_array'] and not (select or simple or express): return templates.get_attr_stmt_array elif arg['non_optional_type'].endswith('*'): return templates.get_attr_stmt_entity else: return templates.get_attr_stmt @@ -89,8 +90,16 @@ class Implementation: 'type' : arg['non_optional_type'].split('::')[0], 'list_instance_type' : arg['list_instance_type']} ) + + def find_template(arg): + simple = mapping.schema.is_simpletype(arg['list_instance_type']) + select = arg['list_instance_type'] == "IfcUtil::IfcBaseClass" + express = arg['list_instance_type'] in mapping.express_to_cpp_typemapping + if arg['is_enum']: return templates.set_attr_stmt_enum + elif arg['is_array'] and not (select or simple or express): return templates.set_attr_stmt_array + else: return templates.set_attr_stmt - tmpl = templates.set_attr_stmt_enum if arg['is_enum'] else templates.set_attr_stmt_array if arg['is_array'] and not mapping.schema.is_simpletype(arg['list_instance_type']) and arg['list_instance_type'] not in mapping.express_to_cpp_typemapping else templates.set_attr_stmt + tmpl = find_template(arg) write_attr( templates.function, class_name = name, @@ -142,10 +151,10 @@ class Implementation: ) selectable_simple_types = sorted(set(sum([b.values for a,b in mapping.schema.selects.items()], [])) & set(mapping.schema.types.keys())) - schema_entity_statements += [templates.schema_simple_stmt%locals() for name in selectable_simple_types] + schema_entity_statements += [templates.schema_entity_stmt%locals() for name, type in mapping.schema.simpletypes.items()] schema_entity_statements += [templates.schema_entity_stmt%locals() for name, type in mapping.schema.entities.items()] - enumerable_types = selectable_simple_types + [name for name, type in mapping.schema.entities.items()] + enumerable_types = sorted(set([name for name, type in mapping.schema.types.items()] + [name for name, type in mapping.schema.entities.items()])) max_len = max(map(len, enumerable_types)) type_name_strings = catc(map(stringify, enumerable_types)) string_map_statements = [templates.string_map_statement % { @@ -160,9 +169,40 @@ class Implementation: 'padding' : ' ' * (max_len - len(name)) } for name, type in mapping.schema.entities.items() if type.supertypes and len(type.supertypes) == 1] - max_id = len(schema_entity_statements) + max_id = len(enumerable_types) simple_type_statements = cator("v == Type::%s"%name for name in selectable_simple_types) + + simple_type_impl = [] + for class_name, type in mapping.schema.simpletypes.items(): + type_str = mapping.make_type_string(mapping.flatten_type_string(type)) + attr_type = mapping.make_argument_type(type) + superclass = mapping.simple_type_parent(class_name) + + simpletype_impl_is = templates.simpletype_impl_is_with_supertype if superclass \ + else templates.simpletype_impl_is_without_supertype + + constructor = templates.constructor_single_initlist if superclass \ + else templates.constructor + + def compose(params): + class_name, attr_type, superclass, superclass_init, name, tmpl, return_type, args, body = params + arguments = ",".join(args) + body = body % locals() + return tmpl % locals() + + simple_type_impl.append(templates.simpletype_impl_comment % {'name': class_name}) + simple_type_impl.extend(map(compose, map(lambda x: (class_name, attr_type, superclass, "(IfcAbstractEntity*)0")+x, ( + ('getArgumentType', templates.const_function, 'IfcUtil::ArgumentType', ('unsigned int i',), templates.simpletype_impl_argument_type ), + ('getArgument', templates.const_function, 'Argument*', ('unsigned int i',), templates.simpletype_impl_argument ), + ('is', templates.const_function, 'bool', ('Type::Enum v',), simpletype_impl_is ), + ('type', templates.const_function, 'Type::Enum', (), templates.simpletype_impl_type ), + ('Class', templates.function, 'Type::Enum', (), templates.simpletype_impl_class ), + ('', constructor, '', ('IfcAbstractEntity* e',), templates.simpletype_impl_explicit_constructor), + ('', constructor, '', ("%s v" % type_str,), templates.simpletype_impl_constructor ), + ('', templates.cast_function, type_str, (), templates.simpletype_impl_cast ) + )))) + simple_type_impl.append('') self.str = templates.implementation % { 'schema_name_upper' : mapping.schema.name.upper(), @@ -174,7 +214,8 @@ class Implementation: 'string_map_statements' : catnl(string_map_statements), 'simple_type_statement' : simple_type_statements, 'parent_type_statements' : catnl(parent_type_statements), - 'entity_implementations' : catnl(entity_implementations) + 'entity_implementations' : catnl(entity_implementations), + 'simple_type_impl' : catnl(simple_type_impl) } self.schema_name = mapping.schema.name.capitalize() diff --git a/src/ifcexpressparser/latebound_header.py b/src/ifcexpressparser/latebound_header.py new file mode 100644 index 0000000000..bf2db78f3e --- /dev/null +++ b/src/ifcexpressparser/latebound_header.py @@ -0,0 +1,35 @@ +############################################################################### +# # +# This file is part of IfcOpenShell. # +# # +# IfcOpenShell is free software: you can redistribute it and/or modify # +# it under the terms of the Lesser GNU General Public License as published by # +# the Free Software Foundation, either version 3.0 of the License, or # +# (at your option) any later version. # +# # +# IfcOpenShell is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# Lesser GNU General Public License for more details. # +# # +# You should have received a copy of the Lesser GNU General Public License # +# along with this program. If not, see . # +# # +############################################################################### + +import templates + +class LateBoundHeader: + def __init__(self, mapping): + self.str = templates.lb_header % { + 'schema_name_upper' : mapping.schema.name.upper(), + 'schema_name' : mapping.schema.name.capitalize() + } + + self.schema_name = mapping.schema.name.capitalize() + def __repr__(self): + return self.str + def emit(self): + f = open('%s-latebound.h'%self.schema_name, 'w', encoding='utf-8') + f.write(str(self)) + f.close() diff --git a/src/ifcexpressparser/latebound_implementation.py b/src/ifcexpressparser/latebound_implementation.py new file mode 100644 index 0000000000..6b3f3fe439 --- /dev/null +++ b/src/ifcexpressparser/latebound_implementation.py @@ -0,0 +1,117 @@ +############################################################################### +# # +# This file is part of IfcOpenShell. # +# # +# IfcOpenShell is free software: you can redistribute it and/or modify # +# it under the terms of the Lesser GNU General Public License as published by # +# the Free Software Foundation, either version 3.0 of the License, or # +# (at your option) any later version. # +# # +# IfcOpenShell is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# Lesser GNU General Public License for more details. # +# # +# You should have received a copy of the Lesser GNU General Public License # +# along with this program. If not, see . # +# # +############################################################################### + +import templates + +class LateBoundImplementation: + def __init__(self, mapping): + schema_name = mapping.schema.name.capitalize() + + entity_descriptors = [] + enumeration_descriptors = [] + derived_field_statements = [] + inverse_implementations = [] + + for name, type in mapping.schema.simpletypes.items(): + entity_descriptors.append(templates.entity_descriptor % { + 'type' : name, + 'parent_statement' : '0', + 'entity_descriptor_attributes' : templates.entity_descriptor_attribute % { + 'name' : 'wrappedValue', + 'optional' : 'false', + 'type' : mapping.make_argument_type(mapping.schema.types[name].type) + } + }) + + emitted_entities = set() + entities_to_emit = mapping.schema.entities.keys() + while len(emitted_entities) < len(mapping.schema.entities): + for name, type in mapping.schema.entities.items(): + if name in emitted_entities: continue + if len(type.supertypes) == 0 or set(type.supertypes) < emitted_entities: + constructor_arguments = mapping.get_assignable_arguments(type, include_derived = True) + entity_descriptor_attributes = [] + for arg in constructor_arguments: + if not arg['is_inherited']: + tmpl = templates.entity_descriptor_attribute_enum if arg['argument_type_enum'] == 'IfcUtil::Argument_ENUMERATION' else templates.entity_descriptor_attribute + entity_descriptor_attributes.append(tmpl % { + 'name' : arg['name'], + 'optional' : 'true' if arg['is_optional'] else 'false', + 'type' : arg['argument_type_enum'], + 'enum_type' : arg['argument_type'] + }) + + emitted_entities.add(name) + parent_statement = '0' if len(type.supertypes) != 1 else templates.entity_descriptor_parent % { + 'type' : type.supertypes[0] + } + entity_descriptors.append(templates.entity_descriptor % { + 'type' : name, + 'parent_statement' : parent_statement, + 'entity_descriptor_attributes' : '\n'.join(entity_descriptor_attributes) + }) + + for name, enum in mapping.schema.enumerations.items(): + enumeration_descriptor_values = '\n'.join([templates.enumeration_descriptor_value % { + 'name' : v + } for v in enum.values]) + enumeration_descriptors.append(templates.enumeration_descriptor % { + 'type' : name, + 'enumeration_descriptor_values' : enumeration_descriptor_values + }) + + for name, type in mapping.schema.entities.items(): + constructor_arguments = mapping.get_assignable_arguments(type, include_derived = True) + statements = ''.join(templates.derived_field_statement_attrs % (a['index']-1) for a in constructor_arguments if a['is_derived']) + if len(statements): + derived_field_statements.append(templates.derived_field_statement % { + 'type' : name, + 'statements' : statements + }) + + for name, type in mapping.schema.entities.items(): + if type.inverse: + for attr in type.inverse.elements: + related_entity = mapping.schema.entities[attr.entity] + related_attrs = [a['name'] for a in mapping.get_assignable_arguments(related_entity, include_derived=True)] + + inverse_implementations.append(templates.inverse_implementation % { + 'type' : name, + 'name' : attr.name, + 'related_type' : attr.entity, + 'index' : related_attrs.index(attr.attribute) + }) + + self.str = templates.lb_implementation % { + 'schema_name_upper' : mapping.schema.name.upper(), + 'schema_name' : mapping.schema.name.capitalize(), + 'entity_descriptors' : '\n'.join(entity_descriptors), + 'enumeration_descriptors' : '\n'.join(enumeration_descriptors), + 'derived_field_statements' : '\n'.join(derived_field_statements), + 'inverse_implementations' : '\n'.join(inverse_implementations) + } + + self.schema_name = mapping.schema.name.capitalize() + def __repr__(self): + return self.str + def emit(self): + f = open('%s-latebound.cpp'%self.schema_name, 'w', encoding='utf-8') + f.write(str(self)) + f.close() + diff --git a/src/ifcexpressparser/mapping.py b/src/ifcexpressparser/mapping.py index bca73a89fd..2e61bbae22 100644 --- a/src/ifcexpressparser/mapping.py +++ b/src/ifcexpressparser/mapping.py @@ -33,6 +33,18 @@ class Mapping: def __init__(self, schema): self.schema = schema + + def flatten_type_string(self, type): + return self.flatten_type_string(self.schema.types[type].type.type) if self.schema.is_simpletype(type) else type + + def flatten_type(self, type): + res = self.flatten_type(self.schema.types[type].type.type) if self.schema.is_simpletype(type) else type + return res + + def simple_type_parent(self, type): + parent = self.schema.types[type].type.type + if isinstance(parent, nodes.AggregationType): parent = None + return None if parent in self.express_to_cpp_typemapping else parent def make_type_string(self, type): if isinstance(type, str): @@ -75,7 +87,7 @@ class Mapping: return "%s_LIST"%ty if ty.startswith("ENTITY") else ("VECTOR_%s"%ty) else: raise ValueError supported = {'INT', 'BOOL', 'DOUBLE', 'STRING', 'VECTOR_INT', 'VECTOR_DOUBLE', 'VECTOR_STRING', 'ENTITY', 'ENTITY_LIST', 'ENTITY_LIST_LIST', 'ENUMERATION'} - ty = _make_argument_type(attr.type) + ty = _make_argument_type(attr.type if hasattr(attr, 'type') else attr) if ty not in supported: ty = 'UNKNOWN' return "IfcUtil::Argument_%s" % ty @@ -86,31 +98,35 @@ class Mapping: return self.get_type_dep(type.type) def get_parameter_type(self, attr, allow_optional, allow_entities, allow_pointer = True): - type_str = self.express_to_cpp_typemapping.get(str(attr.type), attr.type) + + attr_type = self.flatten_type(attr.type) + type_str = self.express_to_cpp_typemapping.get(str(attr_type), attr_type) + is_ptr = False - if self.schema.is_enumeration(attr.type): - type_str = '%s::%s'%(attr.type, attr.type) + + if self.schema.is_enumeration(attr_type): + type_str = '%s::%s'%(attr_type, attr_type) elif isinstance(type_str, nodes.AggregationType): - is_nested_list = isinstance(attr.type.type, nodes.AggregationType) - ty = self.get_parameter_type(attr.type.type if is_nested_list else attr.type, False, allow_entities, allow_pointer=False) - if allow_entities and self.schema.is_select(attr.type.type): + is_nested_list = isinstance(attr_type.type, nodes.AggregationType) + ty = self.get_parameter_type(attr_type.type if is_nested_list else attr_type, False, allow_entities, False) + if True and self.schema.is_select(attr_type.type): type_str = templates.untyped_list elif self.schema.is_simpletype(ty) or ty in self.express_to_cpp_typemapping.values(): type_str = templates.array_type % { 'instance_type' : ty, - 'lower' : attr.type.bounds.lower, - 'upper' : attr.type.bounds.upper + 'lower' : attr_type.bounds.lower, + 'upper' : attr_type.bounds.upper } else: tmpl = templates.list_list_type if is_nested_list else templates.list_type type_str = tmpl % { 'instance_type': ty } - elif allow_pointer and self.schema.is_entity(type_str): + elif allow_pointer and (self.schema.is_entity(type_str) or self.schema.is_select(type_str)): type_str += '*' is_ptr = True elif not allow_pointer and self.schema.is_select(type_str): - type_str = "IfcUtil::IfcAbstractSelect" + type_str = "IfcUtil::IfcBaseClass*" is_ptr = True if allow_optional and attr.optional and not is_ptr: type_str = "boost::optional< %s >"%type_str @@ -129,7 +145,7 @@ class Mapping: return c + ([str(s) for s in t.derive.elements] if t.derive else []) def list_instance_type(self, attr): - f = lambda v : 'IfcUtil::IfcAbstractSelect' if self.schema.is_select(v) else v + f = lambda v : 'IfcUtil::IfcBaseClass' if self.schema.is_select(v) else v if self.is_array(attr.type): if not isinstance(attr.type, str) and self.is_array(attr.type.type): if isinstance(attr.type.type, str): @@ -146,7 +162,7 @@ class Mapping: arr = self.is_array(attr.type) simple = self.schema.is_simpletype(ty) express = ty in self.express_to_cpp_typemapping - select = ty == 'IfcUtil::IfcAbstractSelect' + select = ty == 'IfcUtil::IfcBaseClass' return arr and not simple and not express and not select def get_assignable_arguments(self, t, include_derived = False): @@ -173,6 +189,8 @@ class Mapping: 'is_array' : self.is_array(attr.type), 'is_nested' : self.is_array(attr.type) and not isinstance(attr.type, str) and self.is_array(attr.type.type), 'is_derived' : attr.name in derived, - 'is_templated_list' : self.is_templated_list(attr) + 'is_templated_list' : self.is_templated_list(attr), + 'argument_type_enum' : self.make_argument_type(attr), + 'argument_type' : attr.type } for i, attr in attrs if include(attr)] diff --git a/src/ifcexpressparser/templates.py b/src/ifcexpressparser/templates.py index 4b4375f904..f1920302fc 100644 --- a/src/ifcexpressparser/templates.py +++ b/src/ifcexpressparser/templates.py @@ -71,6 +71,33 @@ namespace Type { #endif """ +lb_header = """ +#ifndef %(schema_name_upper)sRT_H +#define %(schema_name_upper)sRT_H + +#define IfcSchema %(schema_name)s + +#include "../ifcparse/IfcUtil.h" +#include "../ifcparse/IfcEntityDescriptor.h" +#include "../ifcparse/IfcWritableEntity.h" + +namespace %(schema_name)s { +namespace Type { + int GetAttributeCount(Enum t); + int GetAttributeIndex(Enum t, const std::string& a); + IfcUtil::ArgumentType GetAttributeType(Enum t, unsigned char a); + const std::string& GetAttributeName(Enum t, unsigned char a); + bool GetAttributeOptional(Enum t, unsigned char a); + bool GetAttributeDerived(Enum t, unsigned char a); + std::pair GetEnumerationIndex(Enum t, const std::string& a); + std::pair GetInverseAttribute(Enum t, const std::string& a); + Enum GetAttributeEnumerationClass(Enum t, unsigned char a); + void PopulateDerivedFields(IfcWrite::IfcWritableEntity* e); +}} + +#endif +""" + implementation= """ #include "../ifcparse/%(schema_name)s.h" #include "../ifcparse/IfcException.h" @@ -100,6 +127,7 @@ void %(schema_name)s::InitStringMap() { } Type::Enum Type::FromString(const std::string& s) { + if (string_map.empty()) InitStringMap(); std::map::const_iterator it = string_map.find(s); if ( it == string_map.end() ) throw IfcException("Unable to find find keyword in schema"); else return it->second; @@ -117,15 +145,173 @@ bool Type::IsSimple(Enum v) { %(enumeration_functions)s +%(simple_type_impl)s + %(entity_implementations)s """ -simpletype = """%(documentation)s -typedef %(type)s %(name)s; +lb_implementation = """ +#include + +#include "../ifcparse/%(schema_name)s.h" +#include "../ifcparse/%(schema_name)s-latebound.h" +#include "../ifcparse/IfcException.h" +#include "../ifcparse/IfcWrite.h" +#include "../ifcparse/IfcWritableEntity.h" +#include "../ifcparse/IfcUtil.h" +#include "../ifcparse/IfcEntityDescriptor.h" + +using namespace %(schema_name)s; +using namespace IfcParse; +using namespace IfcWrite; +using namespace IfcUtil; + +std::map entity_descriptor_map; +std::map enumeration_descriptor_map; +std::map, std::pair > inverse_map; +std::map > derived_map; + +void InitDescriptorMap() { + IfcEntityDescriptor* current; +%(entity_descriptors)s + // Enumerations + IfcEnumerationDescriptor* current_enum; + std::vector values; +%(enumeration_descriptors)s +} + +void InitInverseMap() { +%(inverse_implementations)s +} + +void InitDerivedMap() { +%(derived_field_statements)s +} + +int Type::GetAttributeIndex(Enum t, const std::string& a) { + if (entity_descriptor_map.empty()) ::InitDescriptorMap(); + std::map::const_iterator i = entity_descriptor_map.find(t); + if ( i == entity_descriptor_map.end() ) throw IfcException("Type not found"); + else return i->second->getArgumentIndex(a); +} + +int Type::GetAttributeCount(Enum t) { + if (entity_descriptor_map.empty()) ::InitDescriptorMap(); + std::map::const_iterator i = entity_descriptor_map.find(t); + if ( i == entity_descriptor_map.end() ) throw IfcException("Type not found"); + else return i->second->getArgumentCount(); +} + +ArgumentType Type::GetAttributeType(Enum t, unsigned char a) { + if (entity_descriptor_map.empty()) ::InitDescriptorMap(); + std::map::const_iterator i = entity_descriptor_map.find(t); + if ( i == entity_descriptor_map.end() ) throw IfcException("Type not found"); + else return i->second->getArgumentType(a); +} + +const std::string& Type::GetAttributeName(Enum t, unsigned char a) { + if (entity_descriptor_map.empty()) ::InitDescriptorMap(); + std::map::const_iterator i = entity_descriptor_map.find(t); + if ( i == entity_descriptor_map.end() ) throw IfcException("Type not found"); + else return i->second->getArgumentName(a); +} + +bool Type::GetAttributeOptional(Enum t, unsigned char a) { + if (entity_descriptor_map.empty()) ::InitDescriptorMap(); + std::map::const_iterator i = entity_descriptor_map.find(t); + if ( i == entity_descriptor_map.end() ) throw IfcException("Type not found"); + else return i->second->getArgumentOptional(a); +} + +bool Type::GetAttributeDerived(Enum t, unsigned char a) { + if (derived_map.empty()) ::InitDerivedMap(); + std::map >::const_iterator i = derived_map.find(t); + return i != derived_map.end() && i->second.find(a) != i->second.end(); +} + +std::pair Type::GetEnumerationIndex(Enum t, const std::string& a) { + if (enumeration_descriptor_map.empty()) ::InitDescriptorMap(); + std::map::const_iterator i = enumeration_descriptor_map.find(t); + if ( i == enumeration_descriptor_map.end() ) throw IfcException("Value not found"); + else return i->second->getIndex(a); +} + +std::pair Type::GetInverseAttribute(Enum t, const std::string& a) { + if (inverse_map.empty()) ::InitInverseMap(); + std::map, std::pair >::const_iterator it; + std::pair key = std::make_pair(t, a); + while (true) { + it = inverse_map.find(key); + if (it != inverse_map.end()) return it->second; + if ((key.first = Parent(key.first)) == -1) break; + } + throw IfcException("Attribute not found"); +} + +Type::Enum Type::GetAttributeEnumerationClass(Enum t, unsigned char a) { + if (entity_descriptor_map.empty()) ::InitDescriptorMap(); + std::map::const_iterator i = entity_descriptor_map.find(t); + if ( i == entity_descriptor_map.end() ) throw IfcException("Type not found"); + else { + Type::Enum t = i->second->getArgumentEnumerationClass(a); + if ( t == Type::ALL ) throw IfcException("Not an enumeration"); + else return t; + } +} + +void Type::PopulateDerivedFields(IfcWrite::IfcWritableEntity* e) { + std::map >::const_iterator i = derived_map.find(e->type()); + if (i != derived_map.end()) { + for (std::set::const_iterator it = i->second.begin(); it != i->second.end(); ++it) { + e->setArgumentDerived(*it); + } + } +} """ +entity_descriptor = """ current = entity_descriptor_map[Type::%(type)s] = new IfcEntityDescriptor(Type::%(type)s,%(parent_statement)s); +%(entity_descriptor_attributes)s""" + +entity_descriptor_parent = "entity_descriptor_map.find(Type::%(type)s)->second" +entity_descriptor_attribute = ' current->add("%(name)s",%(optional)s,%(type)s);' +entity_descriptor_attribute_enum = ' current->add("%(name)s",%(optional)s,%(type)s,Type::%(enum_type)s);' + +enumeration_descriptor = """ values.clear(); values.reserve(128); +%(enumeration_descriptor_values)s + current_enum = enumeration_descriptor_map[Type::%(type)s] = new IfcEnumerationDescriptor(Type::%(type)s, values);""" + +enumeration_descriptor_value = ' values.push_back("%(name)s");' + +derived_field_statement = ' {std::set idxs; %(statements)sderived_map[Type::%(type)s] = idxs;}'; +derived_field_statement_attrs = 'idxs.insert(%d); ' + +simpletype = """%(documentation)s +class %(name)s : public %(superclass)s { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit %(name)s (IfcAbstractEntity* e); + %(name)s (%(type)s v); + operator %(type)s() const; +}; +""" + +simpletype_impl_comment = "// Function implementations for %(name)s" +simpletype_impl_argument_type = "if (i == 0) { return %(attr_type)s; } else { throw IfcParse::IfcException(\"argument out of range\"); }" +simpletype_impl_argument = "return entity->getArgument(i);" +simpletype_impl_is_with_supertype = "return v == Type::%(class_name)s || %(superclass)s::is(v);" +simpletype_impl_is_without_supertype = "return v == %(class_name)s::Class();" +simpletype_impl_type = "return Type::%(class_name)s;" +simpletype_impl_class = "return Type::%(class_name)s;" +simpletype_impl_explicit_constructor = "entity = e;" +simpletype_impl_constructor = "IfcWritableEntity* e = new IfcWritableEntity(Type::%(class_name)s); e->setArgument(0, v); entity = e;" +simpletype_impl_cast = "return *entity->getArgument(0);" + select = """%(documentation)s -typedef IfcUtil::IfcBaseClass* %(name)s; +typedef IfcUtil::IfcBaseClass %(name)s; """ enumeration = """namespace %(name)s { @@ -177,6 +363,9 @@ optional_attribute_description = "/// Whether the optional attribute %s is defin function = "%(return_type)s %(class_name)s::%(name)s(%(arguments)s) { %(body)s }" const_function = "%(return_type)s %(class_name)s::%(name)s(%(arguments)s) const { %(body)s }" +constructor = "%(class_name)s::%(class_name)s(%(arguments)s) { %(body)s }" +constructor_single_initlist = "%(class_name)s::%(class_name)s(%(arguments)s) : %(superclass)s(%(superclass_init)s) { %(body)s }" +cast_function = "%(class_name)s::operator %(return_type)s() const { %(body)s }" array_type = "std::vector< %(instance_type)s > /*[%(lower)s:%(upper)s]*/" list_type = "IfcTemplatedEntityList< %(instance_type)s >::ptr" @@ -213,6 +402,8 @@ constructor_stmt_array = " e->setArgument(%(index)d,(%(name)s)->generalize());" constructor_stmt_optional = " if (%(name)s) {%(stmt)s } else { e->setArgument(%(index)d); }" constructor_stmt_derived = " e->setArgumentDerived(%(index)d);" +inverse_implementation = " inverse_map.insert(std::make_pair(std::make_pair(Type::%(type)s, \"%(name)s\"), std::make_pair(Type::%(related_type)s, %(index)d)));" + def multi_line_comment(li): return ("/// %s"%("\n/// ".join(li))) if len(li) else "" diff --git a/src/ifcgeom/IfcGeom.h b/src/ifcgeom/IfcGeom.h index 26580d190a..f7216a8689 100644 --- a/src/ifcgeom/IfcGeom.h +++ b/src/ifcgeom/IfcGeom.h @@ -41,6 +41,8 @@ #include "../ifcparse/IfcParse.h" #include "../ifcparse/IfcUtil.h" +#include "../ifcgeom/IfcGeomElement.h" +#include "../ifcgeom/IfcGeomRepresentation.h" #include "../ifcgeom/IfcRepresentationShapeItem.h" #define IN_CACHE(T,E,t,e) std::map::const_iterator it = cache.T.find(E->entity->id());\ @@ -124,6 +126,13 @@ public: IfcSchema::IfcProductDefinitionShape* tesselate(TopoDS_Shape& shape, double deflection, IfcEntityList::ptr es); void remove_redundant_points_from_loop(TColgp_SequenceOfPnt& polygon, bool closed, double tol=-1.); + std::pair initializeUnits(IfcSchema::IfcUnitAssignment*); + + IfcSchema::IfcObjectDefinition* get_decomposing_entity(IfcSchema::IfcProduct*); + + template + IfcGeom::BRepElement

* create_brep_for_representation_and_product(const IteratorSettings&, IfcSchema::IfcRepresentation*, IfcSchema::IfcProduct*); + const SurfaceStyle* get_style(const IfcSchema::IfcRepresentationItem* representation_item); template std::pair get_surface_style(const IfcSchema::IfcRepresentationItem* representation_item) { @@ -141,14 +150,14 @@ public: for (IfcSchema::IfcPresentationStyleAssignment::list::it kt = style_assignments->begin(); kt != style_assignments->end(); ++kt) { IfcSchema::IfcPresentationStyleAssignment* style_assignment = *kt; #endif - IfcUtil::IfcAbstractSelect::list::ptr styles = style_assignment->Styles(); - for (IfcUtil::IfcAbstractSelect::list::it lt = styles->begin(); lt != styles->end(); ++lt) { - IfcUtil::IfcAbstractSelect* style = *lt; + IfcEntityList::ptr styles = style_assignment->Styles(); + for (IfcEntityList::it lt = styles->begin(); lt != styles->end(); ++lt) { + IfcUtil::IfcBaseClass* style = *lt; if (style->is(IfcSchema::Type::IfcSurfaceStyle)) { IfcSchema::IfcSurfaceStyle* surface_style = (IfcSchema::IfcSurfaceStyle*) style; if (surface_style->Side() != IfcSchema::IfcSurfaceSide::IfcSurfaceSide_NEGATIVE) { - IfcUtil::IfcAbstractSelect::list::ptr styles_elements = surface_style->Styles(); - for (IfcUtil::IfcAbstractSelect::list::it mt = styles_elements->begin(); mt != styles_elements->end(); ++mt) { + IfcEntityList::ptr styles_elements = surface_style->Styles(); + for (IfcEntityList::it mt = styles_elements->begin(); mt != styles_elements->end(); ++mt) { if ((*mt)->is(T::Class())) { return std::make_pair(surface_style, (T*) *mt); } diff --git a/src/ifcgeom/IfcGeomCurves.cpp b/src/ifcgeom/IfcGeomCurves.cpp index 7dfe8780b0..26cba537b3 100644 --- a/src/ifcgeom/IfcGeomCurves.cpp +++ b/src/ifcgeom/IfcGeomCurves.cpp @@ -86,7 +86,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcCircle* l, Handle(Geom_Curve)& return false; } gp_Trsf trsf; - IfcSchema::IfcAxis2Placement placement = l->Position(); + IfcSchema::IfcAxis2Placement* placement = l->Position(); if (placement->is(IfcSchema::Type::IfcAxis2Placement3D)) { IfcGeom::Kernel::convert((IfcSchema::IfcAxis2Placement3D*)placement,trsf); } else { @@ -111,7 +111,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcEllipse* l, Handle(Geom_Curve) // when creating a trimmed curve off of an ellipse like this. const bool rotated = y > x; gp_Trsf trsf; - IfcSchema::IfcAxis2Placement placement = l->Position(); + IfcSchema::IfcAxis2Placement* placement = l->Position(); if (placement->is(IfcSchema::Type::IfcAxis2Placement3D)) { convert((IfcSchema::IfcAxis2Placement3D*)placement,trsf); } else { diff --git a/src/ifcgeom/IfcGeomElement.h b/src/ifcgeom/IfcGeomElement.h index 2f2324725b..c44fd8d6e9 100644 --- a/src/ifcgeom/IfcGeomElement.h +++ b/src/ifcgeom/IfcGeomElement.h @@ -87,21 +87,21 @@ namespace IfcGeom { }; template - class ShapeModelElement : public Element

{ + class BRepElement : public Element

{ private: Representation::BRep* _geometry; public: const Representation::BRep& geometry() const { return *_geometry; } - ShapeModelElement(int id, int parent_id, const std::string& name, const std::string& type, const std::string& guid, const gp_Trsf& trsf, Representation::BRep* geometry) + BRepElement(int id, int parent_id, const std::string& name, const std::string& type, const std::string& guid, const gp_Trsf& trsf, Representation::BRep* geometry) : Element

(geometry->settings(),id,parent_id,name,type,guid,trsf) , _geometry(geometry) {} - virtual ~ShapeModelElement() { + virtual ~BRepElement() { delete _geometry; } private: - ShapeModelElement(const ShapeModelElement& other); - ShapeModelElement& operator=(const ShapeModelElement& other); + BRepElement(const BRepElement& other); + BRepElement& operator=(const BRepElement& other); }; template @@ -110,7 +110,7 @@ namespace IfcGeom { Representation::Triangulation

* _geometry; public: const Representation::Triangulation

& geometry() const { return *_geometry; } - TriangulationElement(const ShapeModelElement

& shape_model) + TriangulationElement(const BRepElement

& shape_model) : Element

(shape_model) , _geometry(new Representation::Triangulation

(shape_model.geometry())) {} @@ -128,7 +128,7 @@ namespace IfcGeom { Representation::Serialization* _geometry; public: const Representation::Serialization& geometry() const { return *_geometry; } - SerializedElement(const ShapeModelElement

& shape_model) + SerializedElement(const BRepElement

& shape_model) : Element

(shape_model) , _geometry(new Representation::Serialization(shape_model.geometry())) {} diff --git a/src/ifcgeom/IfcGeomFunctions.cpp b/src/ifcgeom/IfcGeomFunctions.cpp index 2d440df0cf..ec5d0740ce 100644 --- a/src/ifcgeom/IfcGeomFunctions.cpp +++ b/src/ifcgeom/IfcGeomFunctions.cpp @@ -101,6 +101,7 @@ #include #include "../ifcgeom/IfcGeom.h" +#include "../ifcgeom/IfcGeomUtils.h" bool IfcGeom::Kernel::create_solid_from_compound(const TopoDS_Shape& compound, TopoDS_Shape& shape) { BRepOffsetAPI_Sewing builder; @@ -815,4 +816,221 @@ void IfcGeom::Kernel::remove_redundant_points_from_loop(TColgp_SequenceOfPnt& po } if (!removed) break; } +} + +template +IfcGeom::BRepElement

* IfcGeom::Kernel::create_brep_for_representation_and_product(const IteratorSettings& settings, IfcSchema::IfcRepresentation* representation, IfcSchema::IfcProduct* product) { + IfcGeom::Representation::BRep* shape; + IfcGeom::IfcRepresentationShapeItems shapes; + + if ( !convert_shapes(representation,shapes) ) { + return 0; + } + + int parent_id = -1; + try { + IfcSchema::IfcObjectDefinition* parent_object = get_decomposing_entity(product); + if (parent_object) { + parent_id = parent_object->entity->id(); + } + } catch (...) {} + + const std::string name = product->hasName() ? product->Name() : ""; + const std::string guid = product->GlobalId(); + + gp_Trsf trsf; + try { + convert(product->ObjectPlacement(),trsf); + } catch (...) {} + + // Does the IfcElement have any IfcOpenings? + // Note that openings for IfcOpeningElements are not processed + IfcSchema::IfcRelVoidsElement::list::ptr openings; + if ( product->is(IfcSchema::Type::IfcElement) && !product->is(IfcSchema::Type::IfcOpeningElement) ) { + IfcSchema::IfcElement* element = (IfcSchema::IfcElement*)product; + openings = element->HasOpenings(); + } + // Is the IfcElement a decomposition of an IfcElement with any IfcOpeningElements? + if ( product->is(IfcSchema::Type::IfcBuildingElementPart ) ) { + IfcSchema::IfcBuildingElementPart* part = (IfcSchema::IfcBuildingElementPart*)product; +#ifdef USE_IFC4 + IfcSchema::IfcRelAggregates::list::ptr decomposes = part->Decomposes(); + for ( IfcSchema::IfcRelAggregates::list::it it = decomposes->begin(); it != decomposes->end(); ++ it ) { +#else + IfcSchema::IfcRelDecomposes::list::ptr decomposes = part->Decomposes(); + for ( IfcSchema::IfcRelDecomposes::list::it it = decomposes->begin(); it != decomposes->end(); ++ it ) { +#endif + IfcSchema::IfcObjectDefinition* obdef = (*it)->RelatingObject(); + if ( obdef->is(IfcSchema::Type::IfcElement) ) { + IfcSchema::IfcElement* element = (IfcSchema::IfcElement*)obdef; + openings->push(element->HasOpenings()); + } + } + } + + const std::string product_type = IfcSchema::Type::ToString(product->type()); + ElementSettings element_settings(settings, getValue(GV_LENGTH_UNIT), product_type); + + if ( !settings.disable_opening_subtractions() && openings && openings->Size() ) { + IfcGeom::IfcRepresentationShapeItems opened_shapes; + try { + if ( settings.faster_booleans() ) { + bool succes = convert_openings_fast(product,openings,shapes,trsf,opened_shapes); + if ( ! succes ) { + opened_shapes.clear(); + convert_openings(product,openings,shapes,trsf,opened_shapes); + } + } else { + convert_openings(product,openings,shapes,trsf,opened_shapes); + } + } catch(...) { + Logger::Message(Logger::LOG_ERROR,"Error processing openings for:",product->entity); + } + if ( settings.use_world_coords() ) { + for ( IfcGeom::IfcRepresentationShapeItems::iterator it = opened_shapes.begin(); it != opened_shapes.end(); ++ it ) { + it->prepend(trsf); + } + trsf = gp_Trsf(); + } + shape = new IfcGeom::Representation::BRep(element_settings, representation->entity->id(), opened_shapes); + } else if ( settings.use_world_coords() ) { + for ( IfcGeom::IfcRepresentationShapeItems::iterator it = shapes.begin(); it != shapes.end(); ++ it ) { + it->prepend(trsf); + } + trsf = gp_Trsf(); + shape = new IfcGeom::Representation::BRep(element_settings, representation->entity->id(), shapes); + } else { + shape = new IfcGeom::Representation::BRep(element_settings, representation->entity->id(), shapes); + } + + return new BRepElement

( + product->entity->id(), + parent_id, + name, + product_type, + guid, + trsf, + shape + ); +} + +IfcSchema::IfcObjectDefinition* IfcGeom::Kernel::get_decomposing_entity(IfcSchema::IfcProduct* product) { + IfcSchema::IfcObjectDefinition* parent = 0; + + // In case of an opening element, parent to the RelatingBuildingElement + if ( product->is(IfcSchema::Type::IfcOpeningElement ) ) { + IfcSchema::IfcOpeningElement* opening = (IfcSchema::IfcOpeningElement*)product; + IfcSchema::IfcRelVoidsElement::list::ptr voids = opening->VoidsElements(); + if ( voids->Size() ) { + IfcSchema::IfcRelVoidsElement* ifc_void = *voids->begin(); + parent = ifc_void->RelatingBuildingElement(); + } + } else if ( product->is(IfcSchema::Type::IfcElement ) ) { + IfcSchema::IfcElement* element = (IfcSchema::IfcElement*)product; + IfcSchema::IfcRelFillsElement::list::ptr fills = element->FillsVoids(); + // Incase of a RelatedBuildingElement parent to the opening element + if ( fills->Size() ) { + for ( IfcSchema::IfcRelFillsElement::list::it it = fills->begin(); it != fills->end(); ++ it ) { + IfcSchema::IfcRelFillsElement* fill = *it; + IfcSchema::IfcObjectDefinition* ifc_objectdef = fill->RelatingOpeningElement(); + if ( product == ifc_objectdef ) continue; + parent = ifc_objectdef; + } + } + // Else simply parent to the containing structure + if (!parent) { + IfcSchema::IfcRelContainedInSpatialStructure::list::ptr parents = element->ContainedInStructure(); + if ( parents->Size() ) { + IfcSchema::IfcRelContainedInSpatialStructure* container = *parents->begin(); + parent = container->RelatingStructure(); + } + } + } + // Parent decompositions to the RelatingObject + if (!parent) { + IfcEntityList::ptr parents = product->entity->getInverse(IfcSchema::Type::IfcRelAggregates); + parents->push(product->entity->getInverse(IfcSchema::Type::IfcRelNests)); + for ( IfcEntityList::it it = parents->begin(); it != parents->end(); ++ it ) { + IfcSchema::IfcRelDecomposes* decompose = (IfcSchema::IfcRelDecomposes*)*it; + IfcSchema::IfcObjectDefinition* ifc_objectdef; +#ifdef USE_IFC4 + if (decompose->is(IfcSchema::Type::IfcRelAggregates)) { + ifc_objectdef = ((IfcSchema::IfcRelAggregates*)decompose)->RelatingObject(); + } else { + continue; + } +#else + ifc_objectdef = decompose->RelatingObject(); +#endif + if ( product == ifc_objectdef ) continue; + parent = ifc_objectdef; + } + } + return parent; +} + +template IfcGeom::BRepElement* IfcGeom::Kernel::create_brep_for_representation_and_product(const IteratorSettings& settings, IfcSchema::IfcRepresentation* representation, IfcSchema::IfcProduct* product); +template IfcGeom::BRepElement* IfcGeom::Kernel::create_brep_for_representation_and_product(const IteratorSettings& settings, IfcSchema::IfcRepresentation* representation, IfcSchema::IfcProduct* product); + +std::pair IfcGeom::Kernel::initializeUnits(IfcSchema::IfcUnitAssignment* unit_assignment) { + // Set default units, set length to meters, angles to undefined + setValue(IfcGeom::Kernel::GV_LENGTH_UNIT, 1.0); + setValue(IfcGeom::Kernel::GV_PLANEANGLE_UNIT, -1.0); + + std::string unit_name = "METER"; + double unit_magnitude = 1.; + + try { + IfcEntityList::ptr units = unit_assignment->Units(); + if (!units || !units->Size()) { + Logger::Message(Logger::LOG_ERROR, "No unit information found"); + } else { + for ( IfcEntityList::it it = units->begin(); it != units->end(); ++ it ) { + std::string current_unit_name = ""; + IfcUtil::IfcBaseClass* base = *it; + IfcSchema::IfcSIUnit* unit = 0; + double value = 1.f; + if ( base->is(IfcSchema::Type::IfcConversionBasedUnit) ) { + IfcSchema::IfcConversionBasedUnit* u = (IfcSchema::IfcConversionBasedUnit*)base; + current_unit_name = u->Name(); + IfcSchema::IfcMeasureWithUnit* u2 = u->ConversionFactor(); + IfcSchema::IfcUnit* u3 = u2->UnitComponent(); + if ( u3->is(IfcSchema::Type::IfcSIUnit) ) { + unit = (IfcSchema::IfcSIUnit*) u3; + } + IfcSchema::IfcValue* v = u2->ValueComponent(); + // Quick hack to get the numeric value from an IfcValue: + const double f = *v->entity->getArgument(0); + value *= f; + } else if ( base->is(IfcSchema::Type::IfcSIUnit) ) { + unit = (IfcSchema::IfcSIUnit*)base; + } + if ( unit ) { + if ( unit->hasPrefix() ) { + value *= IfcGeom::Utils::UnitPrefixToValue(unit->Prefix()); + } + IfcSchema::IfcUnitEnum::IfcUnitEnum type = unit->UnitType(); + if ( type == IfcSchema::IfcUnitEnum::IfcUnit_LENGTHUNIT ) { + setValue(IfcGeom::Kernel::GV_LENGTH_UNIT,value); + if (current_unit_name.empty()) { + if (unit->hasPrefix()) { + current_unit_name = IfcSchema::IfcSIPrefix::ToString(unit->Prefix()); + } + current_unit_name += IfcSchema::IfcSIUnitName::ToString(unit->Name()); + } + unit_magnitude = value; + unit_name = current_unit_name; + } else if ( type == IfcSchema::IfcUnitEnum::IfcUnit_PLANEANGLEUNIT ) { + setValue(IfcGeom::Kernel::GV_PLANEANGLE_UNIT, value); + } + } + } + } + } catch (const IfcParse::IfcException& ex) { + std::stringstream ss; + ss << "Failed to determine unit information '" << ex.what() << "'"; + Logger::Message(Logger::LOG_ERROR, ss.str()); + } + + return std::pair(unit_name, unit_magnitude); } \ No newline at end of file diff --git a/src/ifcgeom/IfcGeomHelpers.cpp b/src/ifcgeom/IfcGeomHelpers.cpp index 1253854e11..bba462dd12 100644 --- a/src/ifcgeom/IfcGeomHelpers.cpp +++ b/src/ifcgeom/IfcGeomHelpers.cpp @@ -289,7 +289,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcObjectPlacement* l, gp_Trsf& t IfcSchema::IfcLocalPlacement* current = (IfcSchema::IfcLocalPlacement*)l; while (1) { gp_Trsf trsf2; - IfcSchema::IfcAxis2Placement relplacement = current->RelativePlacement(); + IfcSchema::IfcAxis2Placement* relplacement = current->RelativePlacement(); if ( relplacement->is(IfcSchema::Type::IfcAxis2Placement3D) ) { IfcGeom::Kernel::convert((IfcSchema::IfcAxis2Placement3D*)relplacement,trsf2); trsf.PreMultiply(trsf2); diff --git a/src/ifcgeom/IfcGeomIterator.h b/src/ifcgeom/IfcGeomIterator.h index 2a9368bcc1..9fe6ff335c 100644 --- a/src/ifcgeom/IfcGeomIterator.h +++ b/src/ifcgeom/IfcGeomIterator.h @@ -71,10 +71,9 @@ #include #include -#include "../ifcparse/IfcParse.h" +#include "../ifcparse/IfcFile.h" #include "../ifcgeom/IfcGeom.h" -#include "../ifcgeom/IfcGeomUtils.h" #include "../ifcgeom/IfcGeomElement.h" #include "../ifcgeom/IfcGeomMaterial.h" #include "../ifcgeom/IfcGeomIteratorSettings.h" @@ -90,16 +89,16 @@ namespace IfcGeom { IfcParse::IfcFile* ifc_file; - // A container and iterator for IfcShapeRepresentations + // A container and iterator for IfcRepresentations IfcSchema::IfcRepresentation::list::ptr representations; - IfcSchema::IfcRepresentation::list::it shaperep_iterator; + IfcSchema::IfcRepresentation::list::it representation_iterator; // The object is fetched beforehand to be sure that get() returns a valid element TriangulationElement

* current_triangulation; - ShapeModelElement

* current_shape_model; + BRepElement

* current_shape_model; SerializedElement

* current_serialization; - // A container and iterator for IfcBuildingElements for the current IfcRepresentation referenced by *shaperep_iterator + // A container and iterator for IfcBuildingElements for the current IfcRepresentation referenced by *representation_iterator IfcSchema::IfcProduct::list::ptr entities; IfcSchema::IfcProduct::list::it ifcproduct_iterator; @@ -110,93 +109,18 @@ namespace IfcGeom { // double? P unit_magnitude; - // Store references to all returned non-geometric elements to be freed when the destructor is called - std::vector*> returned_elements; - void initUnits() { - // Set default units, set length to meters, angles to undefined - kernel.setValue(IfcGeom::Kernel::GV_LENGTH_UNIT, 1.0); - kernel.setValue(IfcGeom::Kernel::GV_PLANEANGLE_UNIT, -1.0); - - IfcSchema::IfcUnitAssignment::list::ptr unit_assignments = ifc_file->EntitiesByType(); - IfcUtil::IfcAbstractSelect::list::ptr units; - try { - if ( unit_assignments->Size() ) { - IfcSchema::IfcUnitAssignment* unit_assignment = *unit_assignments->begin(); - units = unit_assignment->Units(); - } - } catch (const IfcParse::IfcException&) {} - - if (!units || !units->Size()) { - // No units eh... Since tolerances and deflection are specified internally in meters - // we will try to find another indication of the model size. - IfcSchema::IfcExtrudedAreaSolid::list::ptr extrusions = ifc_file->EntitiesByType(); - if ( ! extrusions->Size() ) return; - double max_height = -1.0f; - for ( IfcSchema::IfcExtrudedAreaSolid::list::it it = extrusions->begin(); it != extrusions->end(); ++ it ) { - try { - const double depth = (*it)->Depth(); - if ( depth > max_height ) max_height = depth; - } catch (const IfcParse::IfcException&) {} - } - if ( max_height > 100.0f ) { - kernel.setValue(IfcGeom::Kernel::GV_LENGTH_UNIT, 0.001); - Logger::Message(Logger::LOG_NOTICE, "Guessed length unit to be in millimeters based on extrusion depth"); - } - return; - } - - try { - for ( IfcUtil::IfcAbstractSelect::list::it it = units->begin(); it != units->end(); ++ it ) { - std::string current_unit_name = ""; - IfcUtil::IfcAbstractSelect* base = *it; - IfcSchema::IfcSIUnit* unit = 0; - double value = 1.f; - if ( base->is(IfcSchema::Type::IfcConversionBasedUnit) ) { - IfcSchema::IfcConversionBasedUnit* u = (IfcSchema::IfcConversionBasedUnit*)base; - current_unit_name = u->Name(); - IfcSchema::IfcMeasureWithUnit* u2 = u->ConversionFactor(); - IfcSchema::IfcUnit u3 = u2->UnitComponent(); - if ( u3->is(IfcSchema::Type::IfcSIUnit) ) { - unit = (IfcSchema::IfcSIUnit*) u3; - } - IfcSchema::IfcValue v = u2->ValueComponent(); - IfcUtil::IfcArgumentSelect* v2 = (IfcUtil::IfcArgumentSelect*) v; - const double f = *v2->wrappedValue(); - value *= f; - } else if ( base->is(IfcSchema::Type::IfcSIUnit) ) { - unit = (IfcSchema::IfcSIUnit*)base; - } - if ( unit ) { - if ( unit->hasPrefix() ) { - value *= IfcGeom::Utils::UnitPrefixToValue(unit->Prefix()); - } - IfcSchema::IfcUnitEnum::IfcUnitEnum type = unit->UnitType(); - if ( type == IfcSchema::IfcUnitEnum::IfcUnit_LENGTHUNIT ) { - kernel.setValue(IfcGeom::Kernel::GV_LENGTH_UNIT,value); - if (current_unit_name.empty()) { - if (unit->hasPrefix()) { - current_unit_name = IfcSchema::IfcSIPrefix::ToString(unit->Prefix()); - } - current_unit_name += IfcSchema::IfcSIUnitName::ToString(unit->Name()); - } - unit_magnitude = static_cast

(value); - unit_name = current_unit_name; - } else if ( type == IfcSchema::IfcUnitEnum::IfcUnit_PLANEANGLEUNIT ) { - kernel.setValue(IfcGeom::Kernel::GV_PLANEANGLE_UNIT, value); - } - } - } - } catch (const IfcParse::IfcException& ex) { - std::stringstream ss; - ss << "Failed to determine unit information '" << ex.what() << "'"; - Logger::Message(Logger::LOG_ERROR, ss.str()); + IfcSchema::IfcProject::list::ptr projects = ifc_file->EntitiesByType(); + if (projects->Size() == 1) { + IfcSchema::IfcProject* project = *projects->begin(); + std::pair length_unit = kernel.initializeUnits(project->UnitsInContext()); + unit_name = length_unit.first; + unit_magnitude = static_cast

(length_unit.second); } } public: bool findContext() { - try { initUnits(); } catch (...) {} @@ -266,7 +190,7 @@ namespace IfcGeom { if (representations->Size() == 0) return false; - shaperep_iterator = representations->begin(); + representation_iterator = representations->begin(); entities.reset(); if (!create()) { @@ -300,82 +224,28 @@ namespace IfcGeom { } private: - // Move the the next IfcRepresentation + // Move to the next IfcRepresentation void _nextShape() { entities.reset(); - ++ shaperep_iterator; + ++ representation_iterator; ++ done; } - int _getParentId(IfcSchema::IfcProduct* ifc_product) { - int parent_id = -1; - // In case of an opening element, parent to the RelatingBuildingElement - if ( ifc_product->is(IfcSchema::Type::IfcOpeningElement ) ) { - IfcSchema::IfcOpeningElement* opening = (IfcSchema::IfcOpeningElement*)ifc_product; - IfcSchema::IfcRelVoidsElement::list::ptr voids = opening->VoidsElements(); - if ( voids->Size() ) { - IfcSchema::IfcRelVoidsElement* ifc_void = *voids->begin(); - parent_id = ifc_void->RelatingBuildingElement()->entity->id(); - } - } else if ( ifc_product->is(IfcSchema::Type::IfcElement ) ) { - IfcSchema::IfcElement* element = (IfcSchema::IfcElement*)ifc_product; - IfcSchema::IfcRelFillsElement::list::ptr fills = element->FillsVoids(); - // Incase of a RelatedBuildingElement parent to the opening element - if ( fills->Size() ) { - for ( IfcSchema::IfcRelFillsElement::list::it it = fills->begin(); it != fills->end(); ++ it ) { - IfcSchema::IfcRelFillsElement* fill = *it; - IfcSchema::IfcObjectDefinition* ifc_objectdef = fill->RelatingOpeningElement(); - if ( ifc_product == ifc_objectdef ) continue; - parent_id = ifc_objectdef->entity->id(); - } - } - // Else simply parent to the containing structure - if ( parent_id == -1 ) { - IfcSchema::IfcRelContainedInSpatialStructure::list::ptr parents = element->ContainedInStructure(); - if ( parents->Size() ) { - IfcSchema::IfcRelContainedInSpatialStructure* parent = *parents->begin(); - parent_id = parent->RelatingStructure()->entity->id(); - } - } - } - // Parent decompositions to the RelatingObject - if ( parent_id == -1 ) { - IfcEntityList::ptr parents = ifc_product->entity->getInverse(IfcSchema::Type::IfcRelAggregates); - parents->push(ifc_product->entity->getInverse(IfcSchema::Type::IfcRelNests)); - for ( IfcEntityList::it it = parents->begin(); it != parents->end(); ++ it ) { - IfcSchema::IfcRelDecomposes* decompose = (IfcSchema::IfcRelDecomposes*)*it; - IfcSchema::IfcObjectDefinition* ifc_objectdef; - #ifdef USE_IFC4 - if (decompose->is(IfcSchema::Type::IfcRelAggregates)) { - ifc_objectdef = ((IfcSchema::IfcRelAggregates*)decompose)->RelatingObject(); - } else { - continue; - } - #else - ifc_objectdef = decompose->RelatingObject(); - #endif - if ( ifc_product == ifc_objectdef ) continue; - parent_id = ifc_objectdef->entity->id(); - } - } - return parent_id; - } - - ShapeModelElement

* create_shape_model_for_next_entity() { + BRepElement

* create_shape_model_for_next_entity() { while ( true ) { - IfcSchema::IfcRepresentation* shaperep; + IfcSchema::IfcRepresentation* representation; // Have we reached the end of our list of representations? - if ( shaperep_iterator == representations->end() ) { + if ( representation_iterator == representations->end() ) { representations.reset(); return 0; } - shaperep = *shaperep_iterator; + representation = *representation_iterator; // Has the list of IfcProducts for this representation been initialized? if ( ! entities ) { - IfcSchema::IfcProductRepresentation::list::ptr prodreps = shaperep->OfProductRepresentation(); + IfcSchema::IfcProductRepresentation::list::ptr prodreps = representation->OfProductRepresentation(); entities = IfcSchema::IfcProduct::list::ptr(new IfcSchema::IfcProduct::list); for ( IfcSchema::IfcProductRepresentation::list::it it = prodreps->begin(); it != prodreps->end(); ++it ) { if ( (*it)->is(IfcSchema::Type::IfcProductDefinitionShape) ) { @@ -406,99 +276,17 @@ namespace IfcGeom { _nextShape(); continue; } - - IfcGeom::Representation::BRep* shape; - IfcGeom::IfcRepresentationShapeItems shapes; - if ( !kernel.convert_shapes(shaperep,shapes) ) { + IfcSchema::IfcProduct* product = *ifcproduct_iterator; + + BRepElement

* element = kernel.create_brep_for_representation_and_product

(settings, representation, product); + + if ( !element ) { _nextShape(); continue; } - IfcSchema::IfcProduct* ifc_product = *ifcproduct_iterator; - - int parent_id = -1; - try { - parent_id = _getParentId(ifc_product); - } catch (...) {} - - const std::string name = ifc_product->hasName() ? ifc_product->Name() : ""; - const std::string guid = ifc_product->GlobalId(); - - gp_Trsf trsf; - try { - kernel.convert(ifc_product->ObjectPlacement(),trsf); - } catch (...) {} - - // Does the IfcElement have any IfcOpenings? - // Note that openings for IfcOpeningElements are not processed - IfcSchema::IfcRelVoidsElement::list::ptr openings; - if ( ifc_product->is(IfcSchema::Type::IfcElement) && !ifc_product->is(IfcSchema::Type::IfcOpeningElement) ) { - IfcSchema::IfcElement* element = (IfcSchema::IfcElement*)ifc_product; - openings = element->HasOpenings(); - } - // Is the IfcElement a decomposition of an IfcElement with any IfcOpeningElements? - if ( ifc_product->is(IfcSchema::Type::IfcBuildingElementPart ) ) { - IfcSchema::IfcBuildingElementPart* part = (IfcSchema::IfcBuildingElementPart*)ifc_product; - #ifdef USE_IFC4 - IfcSchema::IfcRelAggregates::list::ptr decomposes = part->Decomposes(); - for ( IfcSchema::IfcRelAggregates::list::it it = decomposes->begin(); it != decomposes->end(); ++ it ) { - #else - IfcSchema::IfcRelDecomposes::list::ptr decomposes = part->Decomposes(); - for ( IfcSchema::IfcRelDecomposes::list::it it = decomposes->begin(); it != decomposes->end(); ++ it ) { - #endif - IfcSchema::IfcObjectDefinition* obdef = (*it)->RelatingObject(); - if ( obdef->is(IfcSchema::Type::IfcElement) ) { - IfcSchema::IfcElement* element = (IfcSchema::IfcElement*)obdef; - openings->push(element->HasOpenings()); - } - } - } - - const std::string product_type = IfcSchema::Type::ToString(ifc_product->type()); - ElementSettings element_settings(settings, unit_magnitude, product_type); - - if ( !settings.disable_opening_subtractions() && openings && openings->Size() ) { - IfcGeom::IfcRepresentationShapeItems opened_shapes; - try { - if ( settings.faster_booleans() ) { - bool succes = kernel.convert_openings_fast(ifc_product,openings,shapes,trsf,opened_shapes); - if ( ! succes ) { - opened_shapes.clear(); - kernel.convert_openings(ifc_product,openings,shapes,trsf,opened_shapes); - } - } else { - kernel.convert_openings(ifc_product,openings,shapes,trsf,opened_shapes); - } - } catch(...) { - Logger::Message(Logger::LOG_ERROR,"Error processing openings for:",ifc_product->entity); - } - if ( settings.use_world_coords() ) { - for ( IfcGeom::IfcRepresentationShapeItems::iterator it = opened_shapes.begin(); it != opened_shapes.end(); ++ it ) { - it->prepend(trsf); - } - trsf = gp_Trsf(); - } - shape = new IfcGeom::Representation::BRep(element_settings, shaperep->entity->id(), opened_shapes); - } else if ( settings.use_world_coords() ) { - for ( IfcGeom::IfcRepresentationShapeItems::iterator it = shapes.begin(); it != shapes.end(); ++ it ) { - it->prepend(trsf); - } - trsf = gp_Trsf(); - shape = new IfcGeom::Representation::BRep(element_settings, shaperep->entity->id(), shapes); - } else { - shape = new IfcGeom::Representation::BRep(element_settings, shaperep->entity->id(), shapes); - } - - return new ShapeModelElement

( - ifc_product->entity->id(), - parent_id, - name, - product_type, - guid, - trsf, - shape - ); + return element; } } @@ -508,6 +296,10 @@ namespace IfcGeom { // Free all possible representations of the current geometrical entity delete current_triangulation; current_triangulation = 0; + delete current_serialization; + current_serialization = 0; + delete current_shape_model; + current_shape_model = 0; // Increment the iterator over the list of products using the current // shape representation @@ -541,8 +333,12 @@ namespace IfcGeom { product_guid = ifc_product->GlobalId(); product_name = ifc_product->hasName() ? ifc_product->Name() : ""; + parent_id = -1; try { - parent_id = _getParentId(ifc_product); + IfcSchema::IfcObjectDefinition* parent_object = kernel.get_decomposing_entity(ifc_product); + if (parent_object) { + parent_id = parent_object->entity->id(); + } } catch (...) {} try { @@ -554,7 +350,6 @@ namespace IfcGeom { ElementSettings element_settings(settings, unit_magnitude, instance_type); Element

* ifc_object = new Element

(element_settings, id, parent_id, product_name, instance_type, product_guid, trsf); - returned_elements.push_back(ifc_object); return ifc_object; } @@ -622,15 +417,14 @@ namespace IfcGeom { // TODO: Correctly implement destructor for IfcFile delete ifc_file; - typename std::vector*>::const_iterator it; - for (it = returned_elements.begin(); it != returned_elements.end(); ++ it ) { - delete *it; - } - - returned_elements.clear(); + delete current_triangulation; + current_triangulation = 0; + delete current_serialization; + current_serialization = 0; + delete current_shape_model; + current_shape_model = 0; } }; } - #endif diff --git a/src/ifcgeom/IfcGeomMaterial.h b/src/ifcgeom/IfcGeomMaterial.h index b82811c407..43228c2d00 100644 --- a/src/ifcgeom/IfcGeomMaterial.h +++ b/src/ifcgeom/IfcGeomMaterial.h @@ -22,7 +22,7 @@ #include -#include "../ifcgeom/IfcGeom.h" +#include "../ifcgeom/IfcGeomRenderStyles.h" namespace IfcGeom { diff --git a/src/ifcgeom/IfcGeomRenderStyles.cpp b/src/ifcgeom/IfcGeomRenderStyles.cpp index 30157c4169..f8730391d6 100644 --- a/src/ifcgeom/IfcGeomRenderStyles.cpp +++ b/src/ifcgeom/IfcGeomRenderStyles.cpp @@ -30,21 +30,21 @@ bool process_colour(IfcSchema::IfcColourRgb* colour, std::tr1::array& return colour != 0; } -bool process_colour(IfcUtil::IfcArgumentSelect* factor, std::tr1::array& rgb) { +bool process_colour(IfcSchema::IfcNormalisedRatioMeasure* factor, std::tr1::array& rgb) { if (factor != 0) { - const double f = *factor->wrappedValue(); + const double f = *factor; rgb[0] = rgb[1] = rgb[2] = f; } return factor != 0; } -bool process_colour(IfcSchema::IfcColourOrFactor colour_or_factor, std::tr1::array& rgb) { +bool process_colour(IfcSchema::IfcColourOrFactor* colour_or_factor, std::tr1::array& rgb) { if (colour_or_factor == 0) { return false; } else if (colour_or_factor->is(IfcSchema::Type::IfcColourRgb)) { return process_colour(static_cast(colour_or_factor), rgb); } else if (colour_or_factor->is(IfcSchema::Type::IfcNormalisedRatioMeasure)) { - return process_colour(static_cast(colour_or_factor), rgb); + return process_colour(static_cast(colour_or_factor), rgb); } else { return false; } @@ -86,14 +86,14 @@ const IfcGeom::SurfaceStyle* IfcGeom::Kernel::get_style(const IfcSchema::IfcRepr surface_style.Specular().reset(SurfaceStyle::ColorComponent(rgb[0], rgb[1], rgb[2])); } if (rendering_style->hasSpecularHighlight()) { - IfcUtil::IfcArgumentSelect* highlight = static_cast(rendering_style->SpecularHighlight()); + IfcSchema::IfcSpecularHighlightSelect* highlight = rendering_style->SpecularHighlight(); if (highlight->is(IfcSchema::Type::IfcSpecularRoughness)) { - double roughness = *highlight->wrappedValue(); + double roughness = *((IfcSchema::IfcSpecularRoughness*)highlight); if (roughness >= 1e-9) { surface_style.Specularity().reset(1.0 / roughness); } - } else if (highlight->is(IfcSchema::Type::IfcSpecularRoughness)) { - surface_style.Specularity().reset(*highlight->wrappedValue()); + } else if (highlight->is(IfcSchema::Type::IfcSpecularExponent)) { + surface_style.Specularity().reset(*((IfcSchema::IfcSpecularExponent*)highlight)); } } if (rendering_style->hasTransmissionColour()) { diff --git a/src/ifcgeom/IfcGeomRepresentation.h b/src/ifcgeom/IfcGeomRepresentation.h index 6f24cd6369..2b46151265 100644 --- a/src/ifcgeom/IfcGeomRepresentation.h +++ b/src/ifcgeom/IfcGeomRepresentation.h @@ -31,6 +31,7 @@ #include "../ifcgeom/IfcGeomIteratorSettings.h" #include "../ifcgeom/IfcGeomMaterial.h" +#include "../ifcgeom/IfcRepresentationShapeItem.h" namespace IfcGeom { @@ -40,8 +41,11 @@ namespace IfcGeom { protected: const ElementSettings _settings; public: - explicit Representation(const ElementSettings& settings) : _settings(settings) {} + explicit Representation(const ElementSettings& settings) + : _settings(settings) + {} const ElementSettings& settings() const { return _settings; } + virtual ~Representation() {} }; class BRep : public Representation { diff --git a/src/ifcgeom/IfcGeomShapes.cpp b/src/ifcgeom/IfcGeomShapes.cpp index ad2826f45e..736fb6d760 100644 --- a/src/ifcgeom/IfcGeomShapes.cpp +++ b/src/ifcgeom/IfcGeomShapes.cpp @@ -253,9 +253,9 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcPolygonalBoundedHalfSpace* l, } bool IfcGeom::Kernel::convert(const IfcSchema::IfcShellBasedSurfaceModel* l, IfcRepresentationShapeItems& shapes) { - IfcUtil::IfcAbstractSelect::list::ptr shells = l->SbsmBoundary(); + IfcEntityList::ptr shells = l->SbsmBoundary(); const SurfaceStyle* collective_style = get_style(l); - for( IfcUtil::IfcAbstractSelect::list::it it = shells->begin(); it != shells->end(); ++ it ) { + for( IfcEntityList::it it = shells->begin(); it != shells->end(); ++ it ) { TopoDS_Shape s; const SurfaceStyle* shell_style = 0; if ((*it)->is(IfcSchema::Type::IfcRepresentationItem)) { @@ -272,8 +272,8 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcBooleanResult* l, TopoDS_Shape TopoDS_Shape s1, s2; IfcRepresentationShapeItems items1, items2; TopoDS_Wire boundary_wire; - IfcSchema::IfcBooleanOperand operand1 = l->FirstOperand(); - IfcSchema::IfcBooleanOperand operand2 = l->SecondOperand(); + IfcSchema::IfcBooleanOperand* operand1 = l->FirstOperand(); + IfcSchema::IfcBooleanOperand* operand2 = l->SecondOperand(); bool is_halfspace = operand2->is(IfcSchema::Type::IfcHalfSpaceSolid); if ( is_shape_collection(operand1) ) { @@ -467,7 +467,7 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcMappedItem* l, IfcRepresentati gtrsf = (gp_Trsf) trsf_2d; } IfcSchema::IfcRepresentationMap* map = l->MappingSource(); - IfcSchema::IfcAxis2Placement placement = map->MappingOrigin(); + IfcSchema::IfcAxis2Placement* placement = map->MappingOrigin(); gp_Trsf trsf; if (placement->is(IfcSchema::Type::IfcAxis2Placement3D)) { IfcGeom::Kernel::convert((IfcSchema::IfcAxis2Placement3D*)placement,trsf); @@ -506,12 +506,12 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcShapeRepresentation* l, IfcRep } bool IfcGeom::Kernel::convert(const IfcSchema::IfcGeometricSet* l, IfcRepresentationShapeItems& shapes) { - IfcUtil::IfcAbstractSelect::list::ptr elements = l->Elements(); + IfcEntityList::ptr elements = l->Elements(); if ( !elements->Size() ) return false; bool part_succes = false; const IfcGeom::SurfaceStyle* parent_style = get_style(l); - for ( IfcUtil::IfcAbstractSelect::list::it it = elements->begin(); it != elements->end(); ++ it ) { - IfcSchema::IfcGeometricSetSelect element = *it; + for ( IfcEntityList::it it = elements->begin(); it != elements->end(); ++ it ) { + IfcSchema::IfcGeometricSetSelect* element = *it; if (element->is(IfcSchema::Type::IfcSurface)) { IfcSchema::IfcSurface* surface = (IfcSchema::IfcSurface*) element; TopoDS_Shape s; diff --git a/src/ifcgeom/IfcGeomWires.cpp b/src/ifcgeom/IfcGeomWires.cpp index db9c1428b9..f7600b4d60 100644 --- a/src/ifcgeom/IfcGeomWires.cpp +++ b/src/ifcgeom/IfcGeomWires.cpp @@ -180,8 +180,8 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcTrimmedCurve* l, TopoDS_Wire& Handle(Geom_Curve) curve; if ( !convert_curve(basis_curve,curve) ) return false; bool trim_cartesian = l->MasterRepresentation() == IfcSchema::IfcTrimmingPreference::IfcTrimmingPreference_CARTESIAN; - IfcUtil::IfcAbstractSelect::list::ptr trims1 = l->Trim1(); - IfcUtil::IfcAbstractSelect::list::ptr trims2 = l->Trim2(); + IfcEntityList::ptr trims1 = l->Trim1(); + IfcEntityList::ptr trims2 = l->Trim2(); bool trimmed1 = false; bool trimmed2 = false; unsigned sense_agreement = l->SenseAgreement() ? 0 : 1; @@ -190,24 +190,24 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcTrimmedCurve* l, TopoDS_Wire& bool has_flts[2] = {false,false}; bool has_pnts[2] = {false,false}; BRepBuilderAPI_MakeWire w; - for ( IfcUtil::IfcAbstractSelect::list::it it = trims1->begin(); it != trims1->end(); it ++ ) { - IfcUtil::IfcAbstractSelect* i = *it; + for ( IfcEntityList::it it = trims1->begin(); it != trims1->end(); it ++ ) { + IfcUtil::IfcBaseClass* i = *it; if ( i->is(IfcSchema::Type::IfcCartesianPoint) ) { IfcGeom::Kernel::convert((IfcSchema::IfcCartesianPoint*)i, pnts[sense_agreement] ); has_pnts[sense_agreement] = true; } else if ( i->is(IfcSchema::Type::IfcParameterValue) ) { - const double value = *((IfcUtil::IfcArgumentSelect*)i)->wrappedValue(); + const double value = *((IfcSchema::IfcParameterValue*)i); flts[sense_agreement] = value * parameterFactor; has_flts[sense_agreement] = true; } } - for ( IfcUtil::IfcAbstractSelect::list::it it = trims2->begin(); it != trims2->end(); it ++ ) { - IfcUtil::IfcAbstractSelect* i = *it; + for ( IfcEntityList::it it = trims2->begin(); it != trims2->end(); it ++ ) { + IfcUtil::IfcBaseClass* i = *it; if ( i->is(IfcSchema::Type::IfcCartesianPoint) ) { IfcGeom::Kernel::convert((IfcSchema::IfcCartesianPoint*)i, pnts[1-sense_agreement] ); has_pnts[1-sense_agreement] = true; } else if ( i->is(IfcSchema::Type::IfcParameterValue) ) { - const double value = *((IfcUtil::IfcArgumentSelect*)i)->wrappedValue(); + const double value = *((IfcSchema::IfcParameterValue*)i); flts[1-sense_agreement] = value * parameterFactor; has_flts[1-sense_agreement] = true; } diff --git a/src/ifcopenshell-python/ifcopenshell/__init__.py b/src/ifcopenshell-python/ifcopenshell/__init__.py new file mode 100644 index 0000000000..df72c0d02e --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/__init__.py @@ -0,0 +1,108 @@ +############################################################################### +# # +# This file is part of IfcOpenShell. # +# # +# IfcOpenShell is free software: you can redistribute it and/or modify # +# it under the terms of the Lesser GNU General Public License as published by # +# the Free Software Foundation, either version 3.0 of the License, or # +# (at your option) any later version. # +# # +# IfcOpenShell is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# Lesser GNU General Public License for more details. # +# # +# You should have received a copy of the Lesser GNU General Public License # +# along with this program. If not, see . # +# # +############################################################################### + +import os +import functools + +from . import guid +from . import ifcopenshell_wrapper + +if hasattr(functools, 'reduce'): reduce = functools.reduce + +class entity_instance(object): + def __init__(self, e): + super(entity_instance, self).__setattr__('wrapped_data', e) + def __getattr__(self, name): + try: return entity_instance.wrap_value(self.wrapped_data.get_argument(self.wrapped_data.get_argument_index(name))) + except: + try: return entity_instance.wrap_value(self.wrapped_data.get_inverse(name)) + except: raise AttributeError("entity instance of type '%s' has no attribute '%s'"%(self.wrapped_data.is_a(), name)) + @staticmethod + def map_value(v): + if isinstance(v, entity_instance): return v.wrapped_data + elif isinstance(v, (tuple, list)) and len(v): + classes = list(map(type, v)) + if float in classes: return ifcopenshell_wrapper.double_vector(v) + elif int in classes: return ifcopenshell_wrapper.int_vector(v) + elif str in classes: return ifcopenshell_wrapper.string_vector(v) + elif entity_instance in classes: return list(map(lambda e: e.wrapped_data, v)) + return v + @staticmethod + def wrap_value(v): + wrap = lambda e: entity_instance(e) + if isinstance(v, ifcopenshell_wrapper.entity_instance): return wrap(v) + elif isinstance(v, (tuple, list)) and len(v): + classes = list(map(type, v)) + if ifcopenshell_wrapper.entity_instance in classes: return list(map(wrap, v)) + return v + def attribute_type(self, attr): + attr_idx = attr if isinstance(attr, int) else self.wrapped_data.get_argument_index(attr) + return self.wrapped_data.get_argument_type(attr_idx) + def attribute_name(self, attr_idx): + return self.wrapped_data.get_argument_name(attr_idx) + def __setattr__(self, key, value): + self[self.wrapped_data.get_argument_index(key)] = value + def __getitem__(self, key): + return entity_instance.wrap_value(self.wrapped_data.get_argument(key)) + def __setitem__(self, idx, value): + self.wrapped_data.set_argument(idx, entity_instance.map_value(value)) + def __len__(self): return len(self.wrapped_data) + def __repr__(self): return repr(self.wrapped_data) + def is_a(self, *args): return self.wrapped_data.is_a(*args) + def id(self): return self.wrapped_data.id() + + +class file(object): + instances = [] + def __init__(self, f=None): + self.wrapped_data = f or ifcopenshell_wrapper.file(True) + def create_entity(self,type,*args,**kwargs): + e = entity_instance(ifcopenshell_wrapper.entity_instance(type)) + attrs = list(enumerate(args)) + \ + [(e.wrapped_data.get_argument_index(name), arg) for name, arg in kwargs.items()] + for idx, arg in attrs: e[idx] = arg + self.wrapped_data.add(e.wrapped_data) + self.instances.append(e) + return e + def __getattr__(self,attr): + if attr[0:6] == 'create': return functools.partial(self.create_entity,attr[6:]) + def __getitem__(self, key): + if isinstance(key, int): + return entity_instance(self.wrapped_data.by_id(key)) + elif isinstance(key, str): + return entity_instance(self.wrapped_data.by_guid(key)) + def by_type(self, type): + return [entity_instance(e) for e in self.wrapped_data.by_type(type)] + def write(self, fn): + self.wrapped_data.write(fn) + def __iter__(self): + return iter(self[id] for id in self.wrapped_data.entity_names()) + + +def open(fn=None): + return file(ifcopenshell_wrapper.open(os.path.abspath(fn))) if fn else file() + + +def create_entity(type,*args,**kwargs): + e = entity_instance(ifcopenshell_wrapper.entity_instance(type)) + attrs = list(enumerate(args)) + \ + [(e.wrapped_data.get_argument_index(name), arg) for name, arg in kwargs.items()] + for idx, arg in attrs: e[idx] = arg + return e + diff --git a/src/ifcopenshell-python/ifcopenshell/geom/__init__.py b/src/ifcopenshell-python/ifcopenshell/geom/__init__.py new file mode 100644 index 0000000000..36074f05de --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/geom/__init__.py @@ -0,0 +1,50 @@ +############################################################################### +# # +# This file is part of IfcOpenShell. # +# # +# IfcOpenShell is free software: you can redistribute it and/or modify # +# it under the terms of the Lesser GNU General Public License as published by # +# the Free Software Foundation, either version 3.0 of the License, or # +# (at your option) any later version. # +# # +# IfcOpenShell is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# Lesser GNU General Public License for more details. # +# # +# You should have received a copy of the Lesser GNU General Public License # +# along with this program. If not, see . # +# # +############################################################################### + +import os +import sys + +from .. import ifcopenshell_wrapper + +settings = ifcopenshell_wrapper.settings + +# Hide templating precision to the user by choosing based on Python's +# internal float type. This is probably always going to be a double. +for ty in (ifcopenshell_wrapper.iterator_single_precision, ifcopenshell_wrapper.iterator_double_precision): + if ty.mantissa_size() == sys.float_info.mant_dig: + _iterator = ty + + +# Make sure people are able to use python's platform agnostic paths +class iterator(_iterator): + def __init__(self, settings, filename): + _iterator.__init__(self, settings, os.path.abspath(filename)) + + +def create_shape(settings, inst): + return ifcopenshell_wrapper.create_shape(settings, inst.wrapped_data) + + +def iterate(settings, filename): + it = iterator(settings, filename) + if not it.findContext(): return None + while True: + yield it.get() + if not it.next(): break + diff --git a/src/ifcopenshell-python/ifcopenshell/guid.py b/src/ifcopenshell-python/ifcopenshell/guid.py new file mode 100644 index 0000000000..c8e2340fb9 --- /dev/null +++ b/src/ifcopenshell-python/ifcopenshell/guid.py @@ -0,0 +1,41 @@ +############################################################################### +# # +# This file is part of IfcOpenShell. # +# # +# IfcOpenShell is free software: you can redistribute it and/or modify # +# it under the terms of the Lesser GNU General Public License as published by # +# the Free Software Foundation, either version 3.0 of the License, or # +# (at your option) any later version. # +# # +# IfcOpenShell is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# Lesser GNU General Public License for more details. # +# # +# You should have received a copy of the Lesser GNU General Public License # +# along with this program. If not, see . # +# # +############################################################################### + +import string + +chars = string.digits + string.ascii_uppercase + string.ascii_lowercase + '_$' + +def compress(g): + bs = [int(g[i:i+2], 16) for i in range(0, len(g), 2)] + def b64(v, l=4): + return ''.join([chars[(v // (64**i))%64] for i in range(l)][::-1]) + return ''.join([b64(bs[0], 2)] + [b64((bs[i] << 16) + (bs[i+1] << 8) + bs[i+2]) for i in range(1,16,3)]) + +def expand(g): + def b64(v): + return reduce(lambda a, b: a * 64 + b, map(lambda c: chars.index(c), v)) + bs = [b64(g[0:2])] + for i in range(5): + d = b64(g[2+4*i:6+4*i]) + bs += [(d >> (8*(2-j)))%256 for j in range(3)] + return ''.join(['%02x'%b for b in bs]) + +def split(g): + return '{%s-%s-%s-%s-%s}'%(g[:8], g[8:12], g[12:16], g[16:20], g[20:]) + diff --git a/src/ifcparse/Ifc2x3-latebound.cpp b/src/ifcparse/Ifc2x3-latebound.cpp new file mode 100644 index 0000000000..d3deaf4573 --- /dev/null +++ b/src/ifcparse/Ifc2x3-latebound.cpp @@ -0,0 +1,4255 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +/******************************************************************************** + * * + * This file has been generated from IFC2X3_TC1.exp. Do not make modifications * + * but instead modify the python script that has been used to generate this. * + * * + ********************************************************************************/ + +#include + +#include "../ifcparse/Ifc2x3.h" +#include "../ifcparse/Ifc2x3-latebound.h" +#include "../ifcparse/IfcException.h" +#include "../ifcparse/IfcWrite.h" +#include "../ifcparse/IfcWritableEntity.h" +#include "../ifcparse/IfcUtil.h" +#include "../ifcparse/IfcEntityDescriptor.h" + +using namespace Ifc2x3; +using namespace IfcParse; +using namespace IfcWrite; +using namespace IfcUtil; + +std::map entity_descriptor_map; +std::map enumeration_descriptor_map; +std::map, std::pair > inverse_map; +std::map > derived_map; + +void InitDescriptorMap() { + IfcEntityDescriptor* current; + current = entity_descriptor_map[Type::IfcAbsorbedDoseMeasure] = new IfcEntityDescriptor(Type::IfcAbsorbedDoseMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcAccelerationMeasure] = new IfcEntityDescriptor(Type::IfcAccelerationMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcAmountOfSubstanceMeasure] = new IfcEntityDescriptor(Type::IfcAmountOfSubstanceMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcAngularVelocityMeasure] = new IfcEntityDescriptor(Type::IfcAngularVelocityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcAreaMeasure] = new IfcEntityDescriptor(Type::IfcAreaMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcBoolean] = new IfcEntityDescriptor(Type::IfcBoolean,0); + current->add("wrappedValue",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcBoxAlignment] = new IfcEntityDescriptor(Type::IfcBoxAlignment,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcComplexNumber] = new IfcEntityDescriptor(Type::IfcComplexNumber,0); + current->add("wrappedValue",false,IfcUtil::Argument_VECTOR_DOUBLE); + current = entity_descriptor_map[Type::IfcCompoundPlaneAngleMeasure] = new IfcEntityDescriptor(Type::IfcCompoundPlaneAngleMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_VECTOR_INT); + current = entity_descriptor_map[Type::IfcContextDependentMeasure] = new IfcEntityDescriptor(Type::IfcContextDependentMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcCountMeasure] = new IfcEntityDescriptor(Type::IfcCountMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcCurvatureMeasure] = new IfcEntityDescriptor(Type::IfcCurvatureMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcDayInMonthNumber] = new IfcEntityDescriptor(Type::IfcDayInMonthNumber,0); + current->add("wrappedValue",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcDaylightSavingHour] = new IfcEntityDescriptor(Type::IfcDaylightSavingHour,0); + current->add("wrappedValue",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcDescriptiveMeasure] = new IfcEntityDescriptor(Type::IfcDescriptiveMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcDimensionCount] = new IfcEntityDescriptor(Type::IfcDimensionCount,0); + current->add("wrappedValue",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcDoseEquivalentMeasure] = new IfcEntityDescriptor(Type::IfcDoseEquivalentMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcDynamicViscosityMeasure] = new IfcEntityDescriptor(Type::IfcDynamicViscosityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcElectricCapacitanceMeasure] = new IfcEntityDescriptor(Type::IfcElectricCapacitanceMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcElectricChargeMeasure] = new IfcEntityDescriptor(Type::IfcElectricChargeMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcElectricConductanceMeasure] = new IfcEntityDescriptor(Type::IfcElectricConductanceMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcElectricCurrentMeasure] = new IfcEntityDescriptor(Type::IfcElectricCurrentMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcElectricResistanceMeasure] = new IfcEntityDescriptor(Type::IfcElectricResistanceMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcElectricVoltageMeasure] = new IfcEntityDescriptor(Type::IfcElectricVoltageMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcEnergyMeasure] = new IfcEntityDescriptor(Type::IfcEnergyMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcFontStyle] = new IfcEntityDescriptor(Type::IfcFontStyle,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcFontVariant] = new IfcEntityDescriptor(Type::IfcFontVariant,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcFontWeight] = new IfcEntityDescriptor(Type::IfcFontWeight,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcForceMeasure] = new IfcEntityDescriptor(Type::IfcForceMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcFrequencyMeasure] = new IfcEntityDescriptor(Type::IfcFrequencyMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcGloballyUniqueId] = new IfcEntityDescriptor(Type::IfcGloballyUniqueId,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcHeatFluxDensityMeasure] = new IfcEntityDescriptor(Type::IfcHeatFluxDensityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcHeatingValueMeasure] = new IfcEntityDescriptor(Type::IfcHeatingValueMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcHourInDay] = new IfcEntityDescriptor(Type::IfcHourInDay,0); + current->add("wrappedValue",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcIdentifier] = new IfcEntityDescriptor(Type::IfcIdentifier,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcIlluminanceMeasure] = new IfcEntityDescriptor(Type::IfcIlluminanceMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcInductanceMeasure] = new IfcEntityDescriptor(Type::IfcInductanceMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcInteger] = new IfcEntityDescriptor(Type::IfcInteger,0); + current->add("wrappedValue",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcIntegerCountRateMeasure] = new IfcEntityDescriptor(Type::IfcIntegerCountRateMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcIonConcentrationMeasure] = new IfcEntityDescriptor(Type::IfcIonConcentrationMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcIsothermalMoistureCapacityMeasure] = new IfcEntityDescriptor(Type::IfcIsothermalMoistureCapacityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcKinematicViscosityMeasure] = new IfcEntityDescriptor(Type::IfcKinematicViscosityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLabel] = new IfcEntityDescriptor(Type::IfcLabel,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcLengthMeasure] = new IfcEntityDescriptor(Type::IfcLengthMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLinearForceMeasure] = new IfcEntityDescriptor(Type::IfcLinearForceMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLinearMomentMeasure] = new IfcEntityDescriptor(Type::IfcLinearMomentMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLinearStiffnessMeasure] = new IfcEntityDescriptor(Type::IfcLinearStiffnessMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLinearVelocityMeasure] = new IfcEntityDescriptor(Type::IfcLinearVelocityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLogical] = new IfcEntityDescriptor(Type::IfcLogical,0); + current->add("wrappedValue",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcLuminousFluxMeasure] = new IfcEntityDescriptor(Type::IfcLuminousFluxMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLuminousIntensityDistributionMeasure] = new IfcEntityDescriptor(Type::IfcLuminousIntensityDistributionMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLuminousIntensityMeasure] = new IfcEntityDescriptor(Type::IfcLuminousIntensityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMagneticFluxDensityMeasure] = new IfcEntityDescriptor(Type::IfcMagneticFluxDensityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMagneticFluxMeasure] = new IfcEntityDescriptor(Type::IfcMagneticFluxMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMassDensityMeasure] = new IfcEntityDescriptor(Type::IfcMassDensityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMassFlowRateMeasure] = new IfcEntityDescriptor(Type::IfcMassFlowRateMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMassMeasure] = new IfcEntityDescriptor(Type::IfcMassMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMassPerLengthMeasure] = new IfcEntityDescriptor(Type::IfcMassPerLengthMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMinuteInHour] = new IfcEntityDescriptor(Type::IfcMinuteInHour,0); + current->add("wrappedValue",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcModulusOfElasticityMeasure] = new IfcEntityDescriptor(Type::IfcModulusOfElasticityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcModulusOfLinearSubgradeReactionMeasure] = new IfcEntityDescriptor(Type::IfcModulusOfLinearSubgradeReactionMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcModulusOfRotationalSubgradeReactionMeasure] = new IfcEntityDescriptor(Type::IfcModulusOfRotationalSubgradeReactionMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcModulusOfSubgradeReactionMeasure] = new IfcEntityDescriptor(Type::IfcModulusOfSubgradeReactionMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMoistureDiffusivityMeasure] = new IfcEntityDescriptor(Type::IfcMoistureDiffusivityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMolecularWeightMeasure] = new IfcEntityDescriptor(Type::IfcMolecularWeightMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMomentOfInertiaMeasure] = new IfcEntityDescriptor(Type::IfcMomentOfInertiaMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMonetaryMeasure] = new IfcEntityDescriptor(Type::IfcMonetaryMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMonthInYearNumber] = new IfcEntityDescriptor(Type::IfcMonthInYearNumber,0); + current->add("wrappedValue",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcNormalisedRatioMeasure] = new IfcEntityDescriptor(Type::IfcNormalisedRatioMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcNumericMeasure] = new IfcEntityDescriptor(Type::IfcNumericMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcPHMeasure] = new IfcEntityDescriptor(Type::IfcPHMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcParameterValue] = new IfcEntityDescriptor(Type::IfcParameterValue,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcPlanarForceMeasure] = new IfcEntityDescriptor(Type::IfcPlanarForceMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcPlaneAngleMeasure] = new IfcEntityDescriptor(Type::IfcPlaneAngleMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcPositiveLengthMeasure] = new IfcEntityDescriptor(Type::IfcPositiveLengthMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcPositivePlaneAngleMeasure] = new IfcEntityDescriptor(Type::IfcPositivePlaneAngleMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcPositiveRatioMeasure] = new IfcEntityDescriptor(Type::IfcPositiveRatioMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcPowerMeasure] = new IfcEntityDescriptor(Type::IfcPowerMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcPresentableText] = new IfcEntityDescriptor(Type::IfcPresentableText,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcPressureMeasure] = new IfcEntityDescriptor(Type::IfcPressureMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcRadioActivityMeasure] = new IfcEntityDescriptor(Type::IfcRadioActivityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcRatioMeasure] = new IfcEntityDescriptor(Type::IfcRatioMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcReal] = new IfcEntityDescriptor(Type::IfcReal,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcRotationalFrequencyMeasure] = new IfcEntityDescriptor(Type::IfcRotationalFrequencyMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcRotationalMassMeasure] = new IfcEntityDescriptor(Type::IfcRotationalMassMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcRotationalStiffnessMeasure] = new IfcEntityDescriptor(Type::IfcRotationalStiffnessMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSecondInMinute] = new IfcEntityDescriptor(Type::IfcSecondInMinute,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSectionModulusMeasure] = new IfcEntityDescriptor(Type::IfcSectionModulusMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSectionalAreaIntegralMeasure] = new IfcEntityDescriptor(Type::IfcSectionalAreaIntegralMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcShearModulusMeasure] = new IfcEntityDescriptor(Type::IfcShearModulusMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSolidAngleMeasure] = new IfcEntityDescriptor(Type::IfcSolidAngleMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSoundPowerMeasure] = new IfcEntityDescriptor(Type::IfcSoundPowerMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSoundPressureMeasure] = new IfcEntityDescriptor(Type::IfcSoundPressureMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSpecificHeatCapacityMeasure] = new IfcEntityDescriptor(Type::IfcSpecificHeatCapacityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSpecularExponent] = new IfcEntityDescriptor(Type::IfcSpecularExponent,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSpecularRoughness] = new IfcEntityDescriptor(Type::IfcSpecularRoughness,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcTemperatureGradientMeasure] = new IfcEntityDescriptor(Type::IfcTemperatureGradientMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcText] = new IfcEntityDescriptor(Type::IfcText,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcTextAlignment] = new IfcEntityDescriptor(Type::IfcTextAlignment,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcTextDecoration] = new IfcEntityDescriptor(Type::IfcTextDecoration,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcTextFontName] = new IfcEntityDescriptor(Type::IfcTextFontName,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcTextTransformation] = new IfcEntityDescriptor(Type::IfcTextTransformation,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcThermalAdmittanceMeasure] = new IfcEntityDescriptor(Type::IfcThermalAdmittanceMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcThermalConductivityMeasure] = new IfcEntityDescriptor(Type::IfcThermalConductivityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcThermalExpansionCoefficientMeasure] = new IfcEntityDescriptor(Type::IfcThermalExpansionCoefficientMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcThermalResistanceMeasure] = new IfcEntityDescriptor(Type::IfcThermalResistanceMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcThermalTransmittanceMeasure] = new IfcEntityDescriptor(Type::IfcThermalTransmittanceMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcThermodynamicTemperatureMeasure] = new IfcEntityDescriptor(Type::IfcThermodynamicTemperatureMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcTimeMeasure] = new IfcEntityDescriptor(Type::IfcTimeMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcTimeStamp] = new IfcEntityDescriptor(Type::IfcTimeStamp,0); + current->add("wrappedValue",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcTorqueMeasure] = new IfcEntityDescriptor(Type::IfcTorqueMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcVaporPermeabilityMeasure] = new IfcEntityDescriptor(Type::IfcVaporPermeabilityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcVolumeMeasure] = new IfcEntityDescriptor(Type::IfcVolumeMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcVolumetricFlowRateMeasure] = new IfcEntityDescriptor(Type::IfcVolumetricFlowRateMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcWarpingConstantMeasure] = new IfcEntityDescriptor(Type::IfcWarpingConstantMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcWarpingMomentMeasure] = new IfcEntityDescriptor(Type::IfcWarpingMomentMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcYearNumber] = new IfcEntityDescriptor(Type::IfcYearNumber,0); + current->add("wrappedValue",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcActorRole] = new IfcEntityDescriptor(Type::IfcActorRole,0); + current->add("Role",false,IfcUtil::Argument_ENUMERATION,Type::IfcRoleEnum); + current->add("UserDefinedRole",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcAddress] = new IfcEntityDescriptor(Type::IfcAddress,0); + current->add("Purpose",true,IfcUtil::Argument_ENUMERATION,Type::IfcAddressTypeEnum); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("UserDefinedPurpose",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcApplication] = new IfcEntityDescriptor(Type::IfcApplication,0); + current->add("ApplicationDeveloper",false,IfcUtil::Argument_ENTITY); + current->add("Version",false,IfcUtil::Argument_STRING); + current->add("ApplicationFullName",false,IfcUtil::Argument_STRING); + current->add("ApplicationIdentifier",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcAppliedValue] = new IfcEntityDescriptor(Type::IfcAppliedValue,0); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("AppliedValue",true,IfcUtil::Argument_ENTITY); + current->add("UnitBasis",true,IfcUtil::Argument_ENTITY); + current->add("ApplicableDate",true,IfcUtil::Argument_ENTITY); + current->add("FixedUntilDate",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcAppliedValueRelationship] = new IfcEntityDescriptor(Type::IfcAppliedValueRelationship,0); + current->add("ComponentOfTotal",false,IfcUtil::Argument_ENTITY); + current->add("Components",false,IfcUtil::Argument_ENTITY_LIST); + current->add("ArithmeticOperator",false,IfcUtil::Argument_ENUMERATION,Type::IfcArithmeticOperatorEnum); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcApproval] = new IfcEntityDescriptor(Type::IfcApproval,0); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("ApprovalDateTime",false,IfcUtil::Argument_ENTITY); + current->add("ApprovalStatus",true,IfcUtil::Argument_STRING); + current->add("ApprovalLevel",true,IfcUtil::Argument_STRING); + current->add("ApprovalQualifier",true,IfcUtil::Argument_STRING); + current->add("Name",false,IfcUtil::Argument_STRING); + current->add("Identifier",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcApprovalActorRelationship] = new IfcEntityDescriptor(Type::IfcApprovalActorRelationship,0); + current->add("Actor",false,IfcUtil::Argument_ENTITY); + current->add("Approval",false,IfcUtil::Argument_ENTITY); + current->add("Role",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcApprovalPropertyRelationship] = new IfcEntityDescriptor(Type::IfcApprovalPropertyRelationship,0); + current->add("ApprovedProperties",false,IfcUtil::Argument_ENTITY_LIST); + current->add("Approval",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcApprovalRelationship] = new IfcEntityDescriptor(Type::IfcApprovalRelationship,0); + current->add("RelatedApproval",false,IfcUtil::Argument_ENTITY); + current->add("RelatingApproval",false,IfcUtil::Argument_ENTITY); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("Name",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcBoundaryCondition] = new IfcEntityDescriptor(Type::IfcBoundaryCondition,0); + current->add("Name",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcBoundaryEdgeCondition] = new IfcEntityDescriptor(Type::IfcBoundaryEdgeCondition,entity_descriptor_map.find(Type::IfcBoundaryCondition)->second); + current->add("LinearStiffnessByLengthX",true,IfcUtil::Argument_DOUBLE); + current->add("LinearStiffnessByLengthY",true,IfcUtil::Argument_DOUBLE); + current->add("LinearStiffnessByLengthZ",true,IfcUtil::Argument_DOUBLE); + current->add("RotationalStiffnessByLengthX",true,IfcUtil::Argument_DOUBLE); + current->add("RotationalStiffnessByLengthY",true,IfcUtil::Argument_DOUBLE); + current->add("RotationalStiffnessByLengthZ",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcBoundaryFaceCondition] = new IfcEntityDescriptor(Type::IfcBoundaryFaceCondition,entity_descriptor_map.find(Type::IfcBoundaryCondition)->second); + current->add("LinearStiffnessByAreaX",true,IfcUtil::Argument_DOUBLE); + current->add("LinearStiffnessByAreaY",true,IfcUtil::Argument_DOUBLE); + current->add("LinearStiffnessByAreaZ",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcBoundaryNodeCondition] = new IfcEntityDescriptor(Type::IfcBoundaryNodeCondition,entity_descriptor_map.find(Type::IfcBoundaryCondition)->second); + current->add("LinearStiffnessX",true,IfcUtil::Argument_DOUBLE); + current->add("LinearStiffnessY",true,IfcUtil::Argument_DOUBLE); + current->add("LinearStiffnessZ",true,IfcUtil::Argument_DOUBLE); + current->add("RotationalStiffnessX",true,IfcUtil::Argument_DOUBLE); + current->add("RotationalStiffnessY",true,IfcUtil::Argument_DOUBLE); + current->add("RotationalStiffnessZ",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcBoundaryNodeConditionWarping] = new IfcEntityDescriptor(Type::IfcBoundaryNodeConditionWarping,entity_descriptor_map.find(Type::IfcBoundaryNodeCondition)->second); + current->add("WarpingStiffness",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcCalendarDate] = new IfcEntityDescriptor(Type::IfcCalendarDate,0); + current->add("DayComponent",false,IfcUtil::Argument_INT); + current->add("MonthComponent",false,IfcUtil::Argument_INT); + current->add("YearComponent",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcClassification] = new IfcEntityDescriptor(Type::IfcClassification,0); + current->add("Source",false,IfcUtil::Argument_STRING); + current->add("Edition",false,IfcUtil::Argument_STRING); + current->add("EditionDate",true,IfcUtil::Argument_ENTITY); + current->add("Name",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcClassificationItem] = new IfcEntityDescriptor(Type::IfcClassificationItem,0); + current->add("Notation",false,IfcUtil::Argument_ENTITY); + current->add("ItemOf",true,IfcUtil::Argument_ENTITY); + current->add("Title",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcClassificationItemRelationship] = new IfcEntityDescriptor(Type::IfcClassificationItemRelationship,0); + current->add("RelatingItem",false,IfcUtil::Argument_ENTITY); + current->add("RelatedItems",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcClassificationNotation] = new IfcEntityDescriptor(Type::IfcClassificationNotation,0); + current->add("NotationFacets",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcClassificationNotationFacet] = new IfcEntityDescriptor(Type::IfcClassificationNotationFacet,0); + current->add("NotationValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcColourSpecification] = new IfcEntityDescriptor(Type::IfcColourSpecification,0); + current->add("Name",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcConnectionGeometry] = new IfcEntityDescriptor(Type::IfcConnectionGeometry,0); + + current = entity_descriptor_map[Type::IfcConnectionPointGeometry] = new IfcEntityDescriptor(Type::IfcConnectionPointGeometry,entity_descriptor_map.find(Type::IfcConnectionGeometry)->second); + current->add("PointOnRelatingElement",false,IfcUtil::Argument_ENTITY); + current->add("PointOnRelatedElement",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcConnectionPortGeometry] = new IfcEntityDescriptor(Type::IfcConnectionPortGeometry,entity_descriptor_map.find(Type::IfcConnectionGeometry)->second); + current->add("LocationAtRelatingElement",false,IfcUtil::Argument_ENTITY); + current->add("LocationAtRelatedElement",true,IfcUtil::Argument_ENTITY); + current->add("ProfileOfPort",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcConnectionSurfaceGeometry] = new IfcEntityDescriptor(Type::IfcConnectionSurfaceGeometry,entity_descriptor_map.find(Type::IfcConnectionGeometry)->second); + current->add("SurfaceOnRelatingElement",false,IfcUtil::Argument_ENTITY); + current->add("SurfaceOnRelatedElement",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcConstraint] = new IfcEntityDescriptor(Type::IfcConstraint,0); + current->add("Name",false,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("ConstraintGrade",false,IfcUtil::Argument_ENUMERATION,Type::IfcConstraintEnum); + current->add("ConstraintSource",true,IfcUtil::Argument_STRING); + current->add("CreatingActor",true,IfcUtil::Argument_ENTITY); + current->add("CreationTime",true,IfcUtil::Argument_ENTITY); + current->add("UserDefinedGrade",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcConstraintAggregationRelationship] = new IfcEntityDescriptor(Type::IfcConstraintAggregationRelationship,0); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("RelatingConstraint",false,IfcUtil::Argument_ENTITY); + current->add("RelatedConstraints",false,IfcUtil::Argument_ENTITY_LIST); + current->add("LogicalAggregator",false,IfcUtil::Argument_ENUMERATION,Type::IfcLogicalOperatorEnum); + current = entity_descriptor_map[Type::IfcConstraintClassificationRelationship] = new IfcEntityDescriptor(Type::IfcConstraintClassificationRelationship,0); + current->add("ClassifiedConstraint",false,IfcUtil::Argument_ENTITY); + current->add("RelatedClassifications",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcConstraintRelationship] = new IfcEntityDescriptor(Type::IfcConstraintRelationship,0); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("RelatingConstraint",false,IfcUtil::Argument_ENTITY); + current->add("RelatedConstraints",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcCoordinatedUniversalTimeOffset] = new IfcEntityDescriptor(Type::IfcCoordinatedUniversalTimeOffset,0); + current->add("HourOffset",false,IfcUtil::Argument_INT); + current->add("MinuteOffset",true,IfcUtil::Argument_INT); + current->add("Sense",false,IfcUtil::Argument_ENUMERATION,Type::IfcAheadOrBehind); + current = entity_descriptor_map[Type::IfcCostValue] = new IfcEntityDescriptor(Type::IfcCostValue,entity_descriptor_map.find(Type::IfcAppliedValue)->second); + current->add("CostType",false,IfcUtil::Argument_STRING); + current->add("Condition",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcCurrencyRelationship] = new IfcEntityDescriptor(Type::IfcCurrencyRelationship,0); + current->add("RelatingMonetaryUnit",false,IfcUtil::Argument_ENTITY); + current->add("RelatedMonetaryUnit",false,IfcUtil::Argument_ENTITY); + current->add("ExchangeRate",false,IfcUtil::Argument_DOUBLE); + current->add("RateDateTime",false,IfcUtil::Argument_ENTITY); + current->add("RateSource",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcCurveStyleFont] = new IfcEntityDescriptor(Type::IfcCurveStyleFont,0); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("PatternList",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcCurveStyleFontAndScaling] = new IfcEntityDescriptor(Type::IfcCurveStyleFontAndScaling,0); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("CurveFont",false,IfcUtil::Argument_ENTITY); + current->add("CurveFontScaling",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcCurveStyleFontPattern] = new IfcEntityDescriptor(Type::IfcCurveStyleFontPattern,0); + current->add("VisibleSegmentLength",false,IfcUtil::Argument_DOUBLE); + current->add("InvisibleSegmentLength",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcDateAndTime] = new IfcEntityDescriptor(Type::IfcDateAndTime,0); + current->add("DateComponent",false,IfcUtil::Argument_ENTITY); + current->add("TimeComponent",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcDerivedUnit] = new IfcEntityDescriptor(Type::IfcDerivedUnit,0); + current->add("Elements",false,IfcUtil::Argument_ENTITY_LIST); + current->add("UnitType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDerivedUnitEnum); + current->add("UserDefinedType",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcDerivedUnitElement] = new IfcEntityDescriptor(Type::IfcDerivedUnitElement,0); + current->add("Unit",false,IfcUtil::Argument_ENTITY); + current->add("Exponent",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcDimensionalExponents] = new IfcEntityDescriptor(Type::IfcDimensionalExponents,0); + current->add("LengthExponent",false,IfcUtil::Argument_INT); + current->add("MassExponent",false,IfcUtil::Argument_INT); + current->add("TimeExponent",false,IfcUtil::Argument_INT); + current->add("ElectricCurrentExponent",false,IfcUtil::Argument_INT); + current->add("ThermodynamicTemperatureExponent",false,IfcUtil::Argument_INT); + current->add("AmountOfSubstanceExponent",false,IfcUtil::Argument_INT); + current->add("LuminousIntensityExponent",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcDocumentElectronicFormat] = new IfcEntityDescriptor(Type::IfcDocumentElectronicFormat,0); + current->add("FileExtension",true,IfcUtil::Argument_STRING); + current->add("MimeContentType",true,IfcUtil::Argument_STRING); + current->add("MimeSubtype",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcDocumentInformation] = new IfcEntityDescriptor(Type::IfcDocumentInformation,0); + current->add("DocumentId",false,IfcUtil::Argument_STRING); + current->add("Name",false,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("DocumentReferences",true,IfcUtil::Argument_ENTITY_LIST); + current->add("Purpose",true,IfcUtil::Argument_STRING); + current->add("IntendedUse",true,IfcUtil::Argument_STRING); + current->add("Scope",true,IfcUtil::Argument_STRING); + current->add("Revision",true,IfcUtil::Argument_STRING); + current->add("DocumentOwner",true,IfcUtil::Argument_ENTITY); + current->add("Editors",true,IfcUtil::Argument_ENTITY_LIST); + current->add("CreationTime",true,IfcUtil::Argument_ENTITY); + current->add("LastRevisionTime",true,IfcUtil::Argument_ENTITY); + current->add("ElectronicFormat",true,IfcUtil::Argument_ENTITY); + current->add("ValidFrom",true,IfcUtil::Argument_ENTITY); + current->add("ValidUntil",true,IfcUtil::Argument_ENTITY); + current->add("Confidentiality",true,IfcUtil::Argument_ENUMERATION,Type::IfcDocumentConfidentialityEnum); + current->add("Status",true,IfcUtil::Argument_ENUMERATION,Type::IfcDocumentStatusEnum); + current = entity_descriptor_map[Type::IfcDocumentInformationRelationship] = new IfcEntityDescriptor(Type::IfcDocumentInformationRelationship,0); + current->add("RelatingDocument",false,IfcUtil::Argument_ENTITY); + current->add("RelatedDocuments",false,IfcUtil::Argument_ENTITY_LIST); + current->add("RelationshipType",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcDraughtingCalloutRelationship] = new IfcEntityDescriptor(Type::IfcDraughtingCalloutRelationship,0); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("RelatingDraughtingCallout",false,IfcUtil::Argument_ENTITY); + current->add("RelatedDraughtingCallout",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcEnvironmentalImpactValue] = new IfcEntityDescriptor(Type::IfcEnvironmentalImpactValue,entity_descriptor_map.find(Type::IfcAppliedValue)->second); + current->add("ImpactType",false,IfcUtil::Argument_STRING); + current->add("Category",false,IfcUtil::Argument_ENUMERATION,Type::IfcEnvironmentalImpactCategoryEnum); + current->add("UserDefinedCategory",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcExternalReference] = new IfcEntityDescriptor(Type::IfcExternalReference,0); + current->add("Location",true,IfcUtil::Argument_STRING); + current->add("ItemReference",true,IfcUtil::Argument_STRING); + current->add("Name",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcExternallyDefinedHatchStyle] = new IfcEntityDescriptor(Type::IfcExternallyDefinedHatchStyle,entity_descriptor_map.find(Type::IfcExternalReference)->second); + + current = entity_descriptor_map[Type::IfcExternallyDefinedSurfaceStyle] = new IfcEntityDescriptor(Type::IfcExternallyDefinedSurfaceStyle,entity_descriptor_map.find(Type::IfcExternalReference)->second); + + current = entity_descriptor_map[Type::IfcExternallyDefinedSymbol] = new IfcEntityDescriptor(Type::IfcExternallyDefinedSymbol,entity_descriptor_map.find(Type::IfcExternalReference)->second); + + current = entity_descriptor_map[Type::IfcExternallyDefinedTextFont] = new IfcEntityDescriptor(Type::IfcExternallyDefinedTextFont,entity_descriptor_map.find(Type::IfcExternalReference)->second); + + current = entity_descriptor_map[Type::IfcGridAxis] = new IfcEntityDescriptor(Type::IfcGridAxis,0); + current->add("AxisTag",true,IfcUtil::Argument_STRING); + current->add("AxisCurve",false,IfcUtil::Argument_ENTITY); + current->add("SameSense",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcIrregularTimeSeriesValue] = new IfcEntityDescriptor(Type::IfcIrregularTimeSeriesValue,0); + current->add("TimeStamp",false,IfcUtil::Argument_ENTITY); + current->add("ListValues",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcLibraryInformation] = new IfcEntityDescriptor(Type::IfcLibraryInformation,0); + current->add("Name",false,IfcUtil::Argument_STRING); + current->add("Version",true,IfcUtil::Argument_STRING); + current->add("Publisher",true,IfcUtil::Argument_ENTITY); + current->add("VersionDate",true,IfcUtil::Argument_ENTITY); + current->add("LibraryReference",true,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcLibraryReference] = new IfcEntityDescriptor(Type::IfcLibraryReference,entity_descriptor_map.find(Type::IfcExternalReference)->second); + + current = entity_descriptor_map[Type::IfcLightDistributionData] = new IfcEntityDescriptor(Type::IfcLightDistributionData,0); + current->add("MainPlaneAngle",false,IfcUtil::Argument_DOUBLE); + current->add("SecondaryPlaneAngle",false,IfcUtil::Argument_VECTOR_DOUBLE); + current->add("LuminousIntensity",false,IfcUtil::Argument_VECTOR_DOUBLE); + current = entity_descriptor_map[Type::IfcLightIntensityDistribution] = new IfcEntityDescriptor(Type::IfcLightIntensityDistribution,0); + current->add("LightDistributionCurve",false,IfcUtil::Argument_ENUMERATION,Type::IfcLightDistributionCurveEnum); + current->add("DistributionData",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcLocalTime] = new IfcEntityDescriptor(Type::IfcLocalTime,0); + current->add("HourComponent",false,IfcUtil::Argument_INT); + current->add("MinuteComponent",true,IfcUtil::Argument_INT); + current->add("SecondComponent",true,IfcUtil::Argument_DOUBLE); + current->add("Zone",true,IfcUtil::Argument_ENTITY); + current->add("DaylightSavingOffset",true,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcMaterial] = new IfcEntityDescriptor(Type::IfcMaterial,0); + current->add("Name",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcMaterialClassificationRelationship] = new IfcEntityDescriptor(Type::IfcMaterialClassificationRelationship,0); + current->add("MaterialClassifications",false,IfcUtil::Argument_ENTITY_LIST); + current->add("ClassifiedMaterial",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcMaterialLayer] = new IfcEntityDescriptor(Type::IfcMaterialLayer,0); + current->add("Material",true,IfcUtil::Argument_ENTITY); + current->add("LayerThickness",false,IfcUtil::Argument_DOUBLE); + current->add("IsVentilated",true,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcMaterialLayerSet] = new IfcEntityDescriptor(Type::IfcMaterialLayerSet,0); + current->add("MaterialLayers",false,IfcUtil::Argument_ENTITY_LIST); + current->add("LayerSetName",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcMaterialLayerSetUsage] = new IfcEntityDescriptor(Type::IfcMaterialLayerSetUsage,0); + current->add("ForLayerSet",false,IfcUtil::Argument_ENTITY); + current->add("LayerSetDirection",false,IfcUtil::Argument_ENUMERATION,Type::IfcLayerSetDirectionEnum); + current->add("DirectionSense",false,IfcUtil::Argument_ENUMERATION,Type::IfcDirectionSenseEnum); + current->add("OffsetFromReferenceLine",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMaterialList] = new IfcEntityDescriptor(Type::IfcMaterialList,0); + current->add("Materials",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcMaterialProperties] = new IfcEntityDescriptor(Type::IfcMaterialProperties,0); + current->add("Material",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcMeasureWithUnit] = new IfcEntityDescriptor(Type::IfcMeasureWithUnit,0); + current->add("ValueComponent",false,IfcUtil::Argument_ENTITY); + current->add("UnitComponent",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcMechanicalMaterialProperties] = new IfcEntityDescriptor(Type::IfcMechanicalMaterialProperties,entity_descriptor_map.find(Type::IfcMaterialProperties)->second); + current->add("DynamicViscosity",true,IfcUtil::Argument_DOUBLE); + current->add("YoungModulus",true,IfcUtil::Argument_DOUBLE); + current->add("ShearModulus",true,IfcUtil::Argument_DOUBLE); + current->add("PoissonRatio",true,IfcUtil::Argument_DOUBLE); + current->add("ThermalExpansionCoefficient",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMechanicalSteelMaterialProperties] = new IfcEntityDescriptor(Type::IfcMechanicalSteelMaterialProperties,entity_descriptor_map.find(Type::IfcMechanicalMaterialProperties)->second); + current->add("YieldStress",true,IfcUtil::Argument_DOUBLE); + current->add("UltimateStress",true,IfcUtil::Argument_DOUBLE); + current->add("UltimateStrain",true,IfcUtil::Argument_DOUBLE); + current->add("HardeningModule",true,IfcUtil::Argument_DOUBLE); + current->add("ProportionalStress",true,IfcUtil::Argument_DOUBLE); + current->add("PlasticStrain",true,IfcUtil::Argument_DOUBLE); + current->add("Relaxations",true,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcMetric] = new IfcEntityDescriptor(Type::IfcMetric,entity_descriptor_map.find(Type::IfcConstraint)->second); + current->add("Benchmark",false,IfcUtil::Argument_ENUMERATION,Type::IfcBenchmarkEnum); + current->add("ValueSource",true,IfcUtil::Argument_STRING); + current->add("DataValue",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcMonetaryUnit] = new IfcEntityDescriptor(Type::IfcMonetaryUnit,0); + current->add("Currency",false,IfcUtil::Argument_ENUMERATION,Type::IfcCurrencyEnum); + current = entity_descriptor_map[Type::IfcNamedUnit] = new IfcEntityDescriptor(Type::IfcNamedUnit,0); + current->add("Dimensions",false,IfcUtil::Argument_ENTITY); + current->add("UnitType",false,IfcUtil::Argument_ENUMERATION,Type::IfcUnitEnum); + current = entity_descriptor_map[Type::IfcObjectPlacement] = new IfcEntityDescriptor(Type::IfcObjectPlacement,0); + + current = entity_descriptor_map[Type::IfcObjective] = new IfcEntityDescriptor(Type::IfcObjective,entity_descriptor_map.find(Type::IfcConstraint)->second); + current->add("BenchmarkValues",true,IfcUtil::Argument_ENTITY); + current->add("ResultValues",true,IfcUtil::Argument_ENTITY); + current->add("ObjectiveQualifier",false,IfcUtil::Argument_ENUMERATION,Type::IfcObjectiveEnum); + current->add("UserDefinedQualifier",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcOpticalMaterialProperties] = new IfcEntityDescriptor(Type::IfcOpticalMaterialProperties,entity_descriptor_map.find(Type::IfcMaterialProperties)->second); + current->add("VisibleTransmittance",true,IfcUtil::Argument_DOUBLE); + current->add("SolarTransmittance",true,IfcUtil::Argument_DOUBLE); + current->add("ThermalIrTransmittance",true,IfcUtil::Argument_DOUBLE); + current->add("ThermalIrEmissivityBack",true,IfcUtil::Argument_DOUBLE); + current->add("ThermalIrEmissivityFront",true,IfcUtil::Argument_DOUBLE); + current->add("VisibleReflectanceBack",true,IfcUtil::Argument_DOUBLE); + current->add("VisibleReflectanceFront",true,IfcUtil::Argument_DOUBLE); + current->add("SolarReflectanceFront",true,IfcUtil::Argument_DOUBLE); + current->add("SolarReflectanceBack",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcOrganization] = new IfcEntityDescriptor(Type::IfcOrganization,0); + current->add("Id",true,IfcUtil::Argument_STRING); + current->add("Name",false,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("Roles",true,IfcUtil::Argument_ENTITY_LIST); + current->add("Addresses",true,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcOrganizationRelationship] = new IfcEntityDescriptor(Type::IfcOrganizationRelationship,0); + current->add("Name",false,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("RelatingOrganization",false,IfcUtil::Argument_ENTITY); + current->add("RelatedOrganizations",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcOwnerHistory] = new IfcEntityDescriptor(Type::IfcOwnerHistory,0); + current->add("OwningUser",false,IfcUtil::Argument_ENTITY); + current->add("OwningApplication",false,IfcUtil::Argument_ENTITY); + current->add("State",true,IfcUtil::Argument_ENUMERATION,Type::IfcStateEnum); + current->add("ChangeAction",false,IfcUtil::Argument_ENUMERATION,Type::IfcChangeActionEnum); + current->add("LastModifiedDate",true,IfcUtil::Argument_INT); + current->add("LastModifyingUser",true,IfcUtil::Argument_ENTITY); + current->add("LastModifyingApplication",true,IfcUtil::Argument_ENTITY); + current->add("CreationDate",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcPerson] = new IfcEntityDescriptor(Type::IfcPerson,0); + current->add("Id",true,IfcUtil::Argument_STRING); + current->add("FamilyName",true,IfcUtil::Argument_STRING); + current->add("GivenName",true,IfcUtil::Argument_STRING); + current->add("MiddleNames",true,IfcUtil::Argument_VECTOR_STRING); + current->add("PrefixTitles",true,IfcUtil::Argument_VECTOR_STRING); + current->add("SuffixTitles",true,IfcUtil::Argument_VECTOR_STRING); + current->add("Roles",true,IfcUtil::Argument_ENTITY_LIST); + current->add("Addresses",true,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcPersonAndOrganization] = new IfcEntityDescriptor(Type::IfcPersonAndOrganization,0); + current->add("ThePerson",false,IfcUtil::Argument_ENTITY); + current->add("TheOrganization",false,IfcUtil::Argument_ENTITY); + current->add("Roles",true,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcPhysicalQuantity] = new IfcEntityDescriptor(Type::IfcPhysicalQuantity,0); + current->add("Name",false,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcPhysicalSimpleQuantity] = new IfcEntityDescriptor(Type::IfcPhysicalSimpleQuantity,entity_descriptor_map.find(Type::IfcPhysicalQuantity)->second); + current->add("Unit",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPostalAddress] = new IfcEntityDescriptor(Type::IfcPostalAddress,entity_descriptor_map.find(Type::IfcAddress)->second); + current->add("InternalLocation",true,IfcUtil::Argument_STRING); + current->add("AddressLines",true,IfcUtil::Argument_VECTOR_STRING); + current->add("PostalBox",true,IfcUtil::Argument_STRING); + current->add("Town",true,IfcUtil::Argument_STRING); + current->add("Region",true,IfcUtil::Argument_STRING); + current->add("PostalCode",true,IfcUtil::Argument_STRING); + current->add("Country",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcPreDefinedItem] = new IfcEntityDescriptor(Type::IfcPreDefinedItem,0); + current->add("Name",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcPreDefinedSymbol] = new IfcEntityDescriptor(Type::IfcPreDefinedSymbol,entity_descriptor_map.find(Type::IfcPreDefinedItem)->second); + + current = entity_descriptor_map[Type::IfcPreDefinedTerminatorSymbol] = new IfcEntityDescriptor(Type::IfcPreDefinedTerminatorSymbol,entity_descriptor_map.find(Type::IfcPreDefinedSymbol)->second); + + current = entity_descriptor_map[Type::IfcPreDefinedTextFont] = new IfcEntityDescriptor(Type::IfcPreDefinedTextFont,entity_descriptor_map.find(Type::IfcPreDefinedItem)->second); + + current = entity_descriptor_map[Type::IfcPresentationLayerAssignment] = new IfcEntityDescriptor(Type::IfcPresentationLayerAssignment,0); + current->add("Name",false,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("AssignedItems",false,IfcUtil::Argument_ENTITY_LIST); + current->add("Identifier",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcPresentationLayerWithStyle] = new IfcEntityDescriptor(Type::IfcPresentationLayerWithStyle,entity_descriptor_map.find(Type::IfcPresentationLayerAssignment)->second); + current->add("LayerOn",false,IfcUtil::Argument_BOOL); + current->add("LayerFrozen",false,IfcUtil::Argument_BOOL); + current->add("LayerBlocked",false,IfcUtil::Argument_BOOL); + current->add("LayerStyles",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcPresentationStyle] = new IfcEntityDescriptor(Type::IfcPresentationStyle,0); + current->add("Name",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcPresentationStyleAssignment] = new IfcEntityDescriptor(Type::IfcPresentationStyleAssignment,0); + current->add("Styles",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcProductRepresentation] = new IfcEntityDescriptor(Type::IfcProductRepresentation,0); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("Representations",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcProductsOfCombustionProperties] = new IfcEntityDescriptor(Type::IfcProductsOfCombustionProperties,entity_descriptor_map.find(Type::IfcMaterialProperties)->second); + current->add("SpecificHeatCapacity",true,IfcUtil::Argument_DOUBLE); + current->add("N20Content",true,IfcUtil::Argument_DOUBLE); + current->add("COContent",true,IfcUtil::Argument_DOUBLE); + current->add("CO2Content",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcProfileDef] = new IfcEntityDescriptor(Type::IfcProfileDef,0); + current->add("ProfileType",false,IfcUtil::Argument_ENUMERATION,Type::IfcProfileTypeEnum); + current->add("ProfileName",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcProfileProperties] = new IfcEntityDescriptor(Type::IfcProfileProperties,0); + current->add("ProfileName",true,IfcUtil::Argument_STRING); + current->add("ProfileDefinition",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcProperty] = new IfcEntityDescriptor(Type::IfcProperty,0); + current->add("Name",false,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcPropertyConstraintRelationship] = new IfcEntityDescriptor(Type::IfcPropertyConstraintRelationship,0); + current->add("RelatingConstraint",false,IfcUtil::Argument_ENTITY); + current->add("RelatedProperties",false,IfcUtil::Argument_ENTITY_LIST); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcPropertyDependencyRelationship] = new IfcEntityDescriptor(Type::IfcPropertyDependencyRelationship,0); + current->add("DependingProperty",false,IfcUtil::Argument_ENTITY); + current->add("DependantProperty",false,IfcUtil::Argument_ENTITY); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("Expression",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcPropertyEnumeration] = new IfcEntityDescriptor(Type::IfcPropertyEnumeration,0); + current->add("Name",false,IfcUtil::Argument_STRING); + current->add("EnumerationValues",false,IfcUtil::Argument_ENTITY_LIST); + current->add("Unit",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcQuantityArea] = new IfcEntityDescriptor(Type::IfcQuantityArea,entity_descriptor_map.find(Type::IfcPhysicalSimpleQuantity)->second); + current->add("AreaValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcQuantityCount] = new IfcEntityDescriptor(Type::IfcQuantityCount,entity_descriptor_map.find(Type::IfcPhysicalSimpleQuantity)->second); + current->add("CountValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcQuantityLength] = new IfcEntityDescriptor(Type::IfcQuantityLength,entity_descriptor_map.find(Type::IfcPhysicalSimpleQuantity)->second); + current->add("LengthValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcQuantityTime] = new IfcEntityDescriptor(Type::IfcQuantityTime,entity_descriptor_map.find(Type::IfcPhysicalSimpleQuantity)->second); + current->add("TimeValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcQuantityVolume] = new IfcEntityDescriptor(Type::IfcQuantityVolume,entity_descriptor_map.find(Type::IfcPhysicalSimpleQuantity)->second); + current->add("VolumeValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcQuantityWeight] = new IfcEntityDescriptor(Type::IfcQuantityWeight,entity_descriptor_map.find(Type::IfcPhysicalSimpleQuantity)->second); + current->add("WeightValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcReferencesValueDocument] = new IfcEntityDescriptor(Type::IfcReferencesValueDocument,0); + current->add("ReferencedDocument",false,IfcUtil::Argument_ENTITY); + current->add("ReferencingValues",false,IfcUtil::Argument_ENTITY_LIST); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcReinforcementBarProperties] = new IfcEntityDescriptor(Type::IfcReinforcementBarProperties,0); + current->add("TotalCrossSectionArea",false,IfcUtil::Argument_DOUBLE); + current->add("SteelGrade",false,IfcUtil::Argument_STRING); + current->add("BarSurface",true,IfcUtil::Argument_ENUMERATION,Type::IfcReinforcingBarSurfaceEnum); + current->add("EffectiveDepth",true,IfcUtil::Argument_DOUBLE); + current->add("NominalBarDiameter",true,IfcUtil::Argument_DOUBLE); + current->add("BarCount",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcRelaxation] = new IfcEntityDescriptor(Type::IfcRelaxation,0); + current->add("RelaxationValue",false,IfcUtil::Argument_DOUBLE); + current->add("InitialStress",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcRepresentation] = new IfcEntityDescriptor(Type::IfcRepresentation,0); + current->add("ContextOfItems",false,IfcUtil::Argument_ENTITY); + current->add("RepresentationIdentifier",true,IfcUtil::Argument_STRING); + current->add("RepresentationType",true,IfcUtil::Argument_STRING); + current->add("Items",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcRepresentationContext] = new IfcEntityDescriptor(Type::IfcRepresentationContext,0); + current->add("ContextIdentifier",true,IfcUtil::Argument_STRING); + current->add("ContextType",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcRepresentationItem] = new IfcEntityDescriptor(Type::IfcRepresentationItem,0); + + current = entity_descriptor_map[Type::IfcRepresentationMap] = new IfcEntityDescriptor(Type::IfcRepresentationMap,0); + current->add("MappingOrigin",false,IfcUtil::Argument_ENTITY); + current->add("MappedRepresentation",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRibPlateProfileProperties] = new IfcEntityDescriptor(Type::IfcRibPlateProfileProperties,entity_descriptor_map.find(Type::IfcProfileProperties)->second); + current->add("Thickness",true,IfcUtil::Argument_DOUBLE); + current->add("RibHeight",true,IfcUtil::Argument_DOUBLE); + current->add("RibWidth",true,IfcUtil::Argument_DOUBLE); + current->add("RibSpacing",true,IfcUtil::Argument_DOUBLE); + current->add("Direction",false,IfcUtil::Argument_ENUMERATION,Type::IfcRibPlateDirectionEnum); + current = entity_descriptor_map[Type::IfcRoot] = new IfcEntityDescriptor(Type::IfcRoot,0); + current->add("GlobalId",false,IfcUtil::Argument_STRING); + current->add("OwnerHistory",false,IfcUtil::Argument_ENTITY); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcSIUnit] = new IfcEntityDescriptor(Type::IfcSIUnit,entity_descriptor_map.find(Type::IfcNamedUnit)->second); + current->add("Prefix",true,IfcUtil::Argument_ENUMERATION,Type::IfcSIPrefix); + current->add("Name",false,IfcUtil::Argument_ENUMERATION,Type::IfcSIUnitName); + current = entity_descriptor_map[Type::IfcSectionProperties] = new IfcEntityDescriptor(Type::IfcSectionProperties,0); + current->add("SectionType",false,IfcUtil::Argument_ENUMERATION,Type::IfcSectionTypeEnum); + current->add("StartProfile",false,IfcUtil::Argument_ENTITY); + current->add("EndProfile",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcSectionReinforcementProperties] = new IfcEntityDescriptor(Type::IfcSectionReinforcementProperties,0); + current->add("LongitudinalStartPosition",false,IfcUtil::Argument_DOUBLE); + current->add("LongitudinalEndPosition",false,IfcUtil::Argument_DOUBLE); + current->add("TransversePosition",true,IfcUtil::Argument_DOUBLE); + current->add("ReinforcementRole",false,IfcUtil::Argument_ENUMERATION,Type::IfcReinforcingBarRoleEnum); + current->add("SectionDefinition",false,IfcUtil::Argument_ENTITY); + current->add("CrossSectionReinforcementDefinitions",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcShapeAspect] = new IfcEntityDescriptor(Type::IfcShapeAspect,0); + current->add("ShapeRepresentations",false,IfcUtil::Argument_ENTITY_LIST); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("ProductDefinitional",false,IfcUtil::Argument_BOOL); + current->add("PartOfProductDefinitionShape",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcShapeModel] = new IfcEntityDescriptor(Type::IfcShapeModel,entity_descriptor_map.find(Type::IfcRepresentation)->second); + + current = entity_descriptor_map[Type::IfcShapeRepresentation] = new IfcEntityDescriptor(Type::IfcShapeRepresentation,entity_descriptor_map.find(Type::IfcShapeModel)->second); + + current = entity_descriptor_map[Type::IfcSimpleProperty] = new IfcEntityDescriptor(Type::IfcSimpleProperty,entity_descriptor_map.find(Type::IfcProperty)->second); + + current = entity_descriptor_map[Type::IfcStructuralConnectionCondition] = new IfcEntityDescriptor(Type::IfcStructuralConnectionCondition,0); + current->add("Name",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcStructuralLoad] = new IfcEntityDescriptor(Type::IfcStructuralLoad,0); + current->add("Name",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcStructuralLoadStatic] = new IfcEntityDescriptor(Type::IfcStructuralLoadStatic,entity_descriptor_map.find(Type::IfcStructuralLoad)->second); + + current = entity_descriptor_map[Type::IfcStructuralLoadTemperature] = new IfcEntityDescriptor(Type::IfcStructuralLoadTemperature,entity_descriptor_map.find(Type::IfcStructuralLoadStatic)->second); + current->add("DeltaT_Constant",true,IfcUtil::Argument_DOUBLE); + current->add("DeltaT_Y",true,IfcUtil::Argument_DOUBLE); + current->add("DeltaT_Z",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcStyleModel] = new IfcEntityDescriptor(Type::IfcStyleModel,entity_descriptor_map.find(Type::IfcRepresentation)->second); + + current = entity_descriptor_map[Type::IfcStyledItem] = new IfcEntityDescriptor(Type::IfcStyledItem,entity_descriptor_map.find(Type::IfcRepresentationItem)->second); + current->add("Item",true,IfcUtil::Argument_ENTITY); + current->add("Styles",false,IfcUtil::Argument_ENTITY_LIST); + current->add("Name",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcStyledRepresentation] = new IfcEntityDescriptor(Type::IfcStyledRepresentation,entity_descriptor_map.find(Type::IfcStyleModel)->second); + + current = entity_descriptor_map[Type::IfcSurfaceStyle] = new IfcEntityDescriptor(Type::IfcSurfaceStyle,entity_descriptor_map.find(Type::IfcPresentationStyle)->second); + current->add("Side",false,IfcUtil::Argument_ENUMERATION,Type::IfcSurfaceSide); + current->add("Styles",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcSurfaceStyleLighting] = new IfcEntityDescriptor(Type::IfcSurfaceStyleLighting,0); + current->add("DiffuseTransmissionColour",false,IfcUtil::Argument_ENTITY); + current->add("DiffuseReflectionColour",false,IfcUtil::Argument_ENTITY); + current->add("TransmissionColour",false,IfcUtil::Argument_ENTITY); + current->add("ReflectanceColour",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcSurfaceStyleRefraction] = new IfcEntityDescriptor(Type::IfcSurfaceStyleRefraction,0); + current->add("RefractionIndex",true,IfcUtil::Argument_DOUBLE); + current->add("DispersionFactor",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSurfaceStyleShading] = new IfcEntityDescriptor(Type::IfcSurfaceStyleShading,0); + current->add("SurfaceColour",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcSurfaceStyleWithTextures] = new IfcEntityDescriptor(Type::IfcSurfaceStyleWithTextures,0); + current->add("Textures",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcSurfaceTexture] = new IfcEntityDescriptor(Type::IfcSurfaceTexture,0); + current->add("RepeatS",false,IfcUtil::Argument_BOOL); + current->add("RepeatT",false,IfcUtil::Argument_BOOL); + current->add("TextureType",false,IfcUtil::Argument_ENUMERATION,Type::IfcSurfaceTextureEnum); + current->add("TextureTransform",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcSymbolStyle] = new IfcEntityDescriptor(Type::IfcSymbolStyle,entity_descriptor_map.find(Type::IfcPresentationStyle)->second); + current->add("StyleOfSymbol",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcTable] = new IfcEntityDescriptor(Type::IfcTable,0); + current->add("Name",false,IfcUtil::Argument_STRING); + current->add("Rows",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcTableRow] = new IfcEntityDescriptor(Type::IfcTableRow,0); + current->add("RowCells",false,IfcUtil::Argument_ENTITY_LIST); + current->add("IsHeading",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcTelecomAddress] = new IfcEntityDescriptor(Type::IfcTelecomAddress,entity_descriptor_map.find(Type::IfcAddress)->second); + current->add("TelephoneNumbers",true,IfcUtil::Argument_VECTOR_STRING); + current->add("FacsimileNumbers",true,IfcUtil::Argument_VECTOR_STRING); + current->add("PagerNumber",true,IfcUtil::Argument_STRING); + current->add("ElectronicMailAddresses",true,IfcUtil::Argument_VECTOR_STRING); + current->add("WWWHomePageURL",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcTextStyle] = new IfcEntityDescriptor(Type::IfcTextStyle,entity_descriptor_map.find(Type::IfcPresentationStyle)->second); + current->add("TextCharacterAppearance",true,IfcUtil::Argument_ENTITY); + current->add("TextStyle",true,IfcUtil::Argument_ENTITY); + current->add("TextFontStyle",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcTextStyleFontModel] = new IfcEntityDescriptor(Type::IfcTextStyleFontModel,entity_descriptor_map.find(Type::IfcPreDefinedTextFont)->second); + current->add("FontFamily",true,IfcUtil::Argument_VECTOR_STRING); + current->add("FontStyle",true,IfcUtil::Argument_STRING); + current->add("FontVariant",true,IfcUtil::Argument_STRING); + current->add("FontWeight",true,IfcUtil::Argument_STRING); + current->add("FontSize",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcTextStyleForDefinedFont] = new IfcEntityDescriptor(Type::IfcTextStyleForDefinedFont,0); + current->add("Colour",false,IfcUtil::Argument_ENTITY); + current->add("BackgroundColour",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcTextStyleTextModel] = new IfcEntityDescriptor(Type::IfcTextStyleTextModel,0); + current->add("TextIndent",true,IfcUtil::Argument_ENTITY); + current->add("TextAlign",true,IfcUtil::Argument_STRING); + current->add("TextDecoration",true,IfcUtil::Argument_STRING); + current->add("LetterSpacing",true,IfcUtil::Argument_ENTITY); + current->add("WordSpacing",true,IfcUtil::Argument_ENTITY); + current->add("TextTransform",true,IfcUtil::Argument_STRING); + current->add("LineHeight",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcTextStyleWithBoxCharacteristics] = new IfcEntityDescriptor(Type::IfcTextStyleWithBoxCharacteristics,0); + current->add("BoxHeight",true,IfcUtil::Argument_DOUBLE); + current->add("BoxWidth",true,IfcUtil::Argument_DOUBLE); + current->add("BoxSlantAngle",true,IfcUtil::Argument_DOUBLE); + current->add("BoxRotateAngle",true,IfcUtil::Argument_DOUBLE); + current->add("CharacterSpacing",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcTextureCoordinate] = new IfcEntityDescriptor(Type::IfcTextureCoordinate,0); + + current = entity_descriptor_map[Type::IfcTextureCoordinateGenerator] = new IfcEntityDescriptor(Type::IfcTextureCoordinateGenerator,entity_descriptor_map.find(Type::IfcTextureCoordinate)->second); + current->add("Mode",false,IfcUtil::Argument_STRING); + current->add("Parameter",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcTextureMap] = new IfcEntityDescriptor(Type::IfcTextureMap,entity_descriptor_map.find(Type::IfcTextureCoordinate)->second); + current->add("TextureMaps",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcTextureVertex] = new IfcEntityDescriptor(Type::IfcTextureVertex,0); + current->add("Coordinates",false,IfcUtil::Argument_VECTOR_DOUBLE); + current = entity_descriptor_map[Type::IfcThermalMaterialProperties] = new IfcEntityDescriptor(Type::IfcThermalMaterialProperties,entity_descriptor_map.find(Type::IfcMaterialProperties)->second); + current->add("SpecificHeatCapacity",true,IfcUtil::Argument_DOUBLE); + current->add("BoilingPoint",true,IfcUtil::Argument_DOUBLE); + current->add("FreezingPoint",true,IfcUtil::Argument_DOUBLE); + current->add("ThermalConductivity",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcTimeSeries] = new IfcEntityDescriptor(Type::IfcTimeSeries,0); + current->add("Name",false,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("StartTime",false,IfcUtil::Argument_ENTITY); + current->add("EndTime",false,IfcUtil::Argument_ENTITY); + current->add("TimeSeriesDataType",false,IfcUtil::Argument_ENUMERATION,Type::IfcTimeSeriesDataTypeEnum); + current->add("DataOrigin",false,IfcUtil::Argument_ENUMERATION,Type::IfcDataOriginEnum); + current->add("UserDefinedDataOrigin",true,IfcUtil::Argument_STRING); + current->add("Unit",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcTimeSeriesReferenceRelationship] = new IfcEntityDescriptor(Type::IfcTimeSeriesReferenceRelationship,0); + current->add("ReferencedTimeSeries",false,IfcUtil::Argument_ENTITY); + current->add("TimeSeriesReferences",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcTimeSeriesValue] = new IfcEntityDescriptor(Type::IfcTimeSeriesValue,0); + current->add("ListValues",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcTopologicalRepresentationItem] = new IfcEntityDescriptor(Type::IfcTopologicalRepresentationItem,entity_descriptor_map.find(Type::IfcRepresentationItem)->second); + + current = entity_descriptor_map[Type::IfcTopologyRepresentation] = new IfcEntityDescriptor(Type::IfcTopologyRepresentation,entity_descriptor_map.find(Type::IfcShapeModel)->second); + + current = entity_descriptor_map[Type::IfcUnitAssignment] = new IfcEntityDescriptor(Type::IfcUnitAssignment,0); + current->add("Units",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcVertex] = new IfcEntityDescriptor(Type::IfcVertex,entity_descriptor_map.find(Type::IfcTopologicalRepresentationItem)->second); + + current = entity_descriptor_map[Type::IfcVertexBasedTextureMap] = new IfcEntityDescriptor(Type::IfcVertexBasedTextureMap,0); + current->add("TextureVertices",false,IfcUtil::Argument_ENTITY_LIST); + current->add("TexturePoints",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcVertexPoint] = new IfcEntityDescriptor(Type::IfcVertexPoint,entity_descriptor_map.find(Type::IfcVertex)->second); + current->add("VertexGeometry",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcVirtualGridIntersection] = new IfcEntityDescriptor(Type::IfcVirtualGridIntersection,0); + current->add("IntersectingAxes",false,IfcUtil::Argument_ENTITY_LIST); + current->add("OffsetDistances",false,IfcUtil::Argument_VECTOR_DOUBLE); + current = entity_descriptor_map[Type::IfcWaterProperties] = new IfcEntityDescriptor(Type::IfcWaterProperties,entity_descriptor_map.find(Type::IfcMaterialProperties)->second); + current->add("IsPotable",true,IfcUtil::Argument_BOOL); + current->add("Hardness",true,IfcUtil::Argument_DOUBLE); + current->add("AlkalinityConcentration",true,IfcUtil::Argument_DOUBLE); + current->add("AcidityConcentration",true,IfcUtil::Argument_DOUBLE); + current->add("ImpuritiesContent",true,IfcUtil::Argument_DOUBLE); + current->add("PHLevel",true,IfcUtil::Argument_DOUBLE); + current->add("DissolvedSolidsContent",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcAnnotationOccurrence] = new IfcEntityDescriptor(Type::IfcAnnotationOccurrence,entity_descriptor_map.find(Type::IfcStyledItem)->second); + + current = entity_descriptor_map[Type::IfcAnnotationSurfaceOccurrence] = new IfcEntityDescriptor(Type::IfcAnnotationSurfaceOccurrence,entity_descriptor_map.find(Type::IfcAnnotationOccurrence)->second); + + current = entity_descriptor_map[Type::IfcAnnotationSymbolOccurrence] = new IfcEntityDescriptor(Type::IfcAnnotationSymbolOccurrence,entity_descriptor_map.find(Type::IfcAnnotationOccurrence)->second); + + current = entity_descriptor_map[Type::IfcAnnotationTextOccurrence] = new IfcEntityDescriptor(Type::IfcAnnotationTextOccurrence,entity_descriptor_map.find(Type::IfcAnnotationOccurrence)->second); + + current = entity_descriptor_map[Type::IfcArbitraryClosedProfileDef] = new IfcEntityDescriptor(Type::IfcArbitraryClosedProfileDef,entity_descriptor_map.find(Type::IfcProfileDef)->second); + current->add("OuterCurve",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcArbitraryOpenProfileDef] = new IfcEntityDescriptor(Type::IfcArbitraryOpenProfileDef,entity_descriptor_map.find(Type::IfcProfileDef)->second); + current->add("Curve",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcArbitraryProfileDefWithVoids] = new IfcEntityDescriptor(Type::IfcArbitraryProfileDefWithVoids,entity_descriptor_map.find(Type::IfcArbitraryClosedProfileDef)->second); + current->add("InnerCurves",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcBlobTexture] = new IfcEntityDescriptor(Type::IfcBlobTexture,entity_descriptor_map.find(Type::IfcSurfaceTexture)->second); + current->add("RasterFormat",false,IfcUtil::Argument_STRING); + current->add("RasterCode",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcCenterLineProfileDef] = new IfcEntityDescriptor(Type::IfcCenterLineProfileDef,entity_descriptor_map.find(Type::IfcArbitraryOpenProfileDef)->second); + current->add("Thickness",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcClassificationReference] = new IfcEntityDescriptor(Type::IfcClassificationReference,entity_descriptor_map.find(Type::IfcExternalReference)->second); + current->add("ReferencedSource",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcColourRgb] = new IfcEntityDescriptor(Type::IfcColourRgb,entity_descriptor_map.find(Type::IfcColourSpecification)->second); + current->add("Red",false,IfcUtil::Argument_DOUBLE); + current->add("Green",false,IfcUtil::Argument_DOUBLE); + current->add("Blue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcComplexProperty] = new IfcEntityDescriptor(Type::IfcComplexProperty,entity_descriptor_map.find(Type::IfcProperty)->second); + current->add("UsageName",false,IfcUtil::Argument_STRING); + current->add("HasProperties",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcCompositeProfileDef] = new IfcEntityDescriptor(Type::IfcCompositeProfileDef,entity_descriptor_map.find(Type::IfcProfileDef)->second); + current->add("Profiles",false,IfcUtil::Argument_ENTITY_LIST); + current->add("Label",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcConnectedFaceSet] = new IfcEntityDescriptor(Type::IfcConnectedFaceSet,entity_descriptor_map.find(Type::IfcTopologicalRepresentationItem)->second); + current->add("CfsFaces",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcConnectionCurveGeometry] = new IfcEntityDescriptor(Type::IfcConnectionCurveGeometry,entity_descriptor_map.find(Type::IfcConnectionGeometry)->second); + current->add("CurveOnRelatingElement",false,IfcUtil::Argument_ENTITY); + current->add("CurveOnRelatedElement",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcConnectionPointEccentricity] = new IfcEntityDescriptor(Type::IfcConnectionPointEccentricity,entity_descriptor_map.find(Type::IfcConnectionPointGeometry)->second); + current->add("EccentricityInX",true,IfcUtil::Argument_DOUBLE); + current->add("EccentricityInY",true,IfcUtil::Argument_DOUBLE); + current->add("EccentricityInZ",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcContextDependentUnit] = new IfcEntityDescriptor(Type::IfcContextDependentUnit,entity_descriptor_map.find(Type::IfcNamedUnit)->second); + current->add("Name",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcConversionBasedUnit] = new IfcEntityDescriptor(Type::IfcConversionBasedUnit,entity_descriptor_map.find(Type::IfcNamedUnit)->second); + current->add("Name",false,IfcUtil::Argument_STRING); + current->add("ConversionFactor",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcCurveStyle] = new IfcEntityDescriptor(Type::IfcCurveStyle,entity_descriptor_map.find(Type::IfcPresentationStyle)->second); + current->add("CurveFont",true,IfcUtil::Argument_ENTITY); + current->add("CurveWidth",true,IfcUtil::Argument_ENTITY); + current->add("CurveColour",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcDerivedProfileDef] = new IfcEntityDescriptor(Type::IfcDerivedProfileDef,entity_descriptor_map.find(Type::IfcProfileDef)->second); + current->add("ParentProfile",false,IfcUtil::Argument_ENTITY); + current->add("Operator",false,IfcUtil::Argument_ENTITY); + current->add("Label",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcDimensionCalloutRelationship] = new IfcEntityDescriptor(Type::IfcDimensionCalloutRelationship,entity_descriptor_map.find(Type::IfcDraughtingCalloutRelationship)->second); + + current = entity_descriptor_map[Type::IfcDimensionPair] = new IfcEntityDescriptor(Type::IfcDimensionPair,entity_descriptor_map.find(Type::IfcDraughtingCalloutRelationship)->second); + + current = entity_descriptor_map[Type::IfcDocumentReference] = new IfcEntityDescriptor(Type::IfcDocumentReference,entity_descriptor_map.find(Type::IfcExternalReference)->second); + + current = entity_descriptor_map[Type::IfcDraughtingPreDefinedTextFont] = new IfcEntityDescriptor(Type::IfcDraughtingPreDefinedTextFont,entity_descriptor_map.find(Type::IfcPreDefinedTextFont)->second); + + current = entity_descriptor_map[Type::IfcEdge] = new IfcEntityDescriptor(Type::IfcEdge,entity_descriptor_map.find(Type::IfcTopologicalRepresentationItem)->second); + current->add("EdgeStart",false,IfcUtil::Argument_ENTITY); + current->add("EdgeEnd",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcEdgeCurve] = new IfcEntityDescriptor(Type::IfcEdgeCurve,entity_descriptor_map.find(Type::IfcEdge)->second); + current->add("EdgeGeometry",false,IfcUtil::Argument_ENTITY); + current->add("SameSense",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcExtendedMaterialProperties] = new IfcEntityDescriptor(Type::IfcExtendedMaterialProperties,entity_descriptor_map.find(Type::IfcMaterialProperties)->second); + current->add("ExtendedProperties",false,IfcUtil::Argument_ENTITY_LIST); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("Name",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcFace] = new IfcEntityDescriptor(Type::IfcFace,entity_descriptor_map.find(Type::IfcTopologicalRepresentationItem)->second); + current->add("Bounds",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcFaceBound] = new IfcEntityDescriptor(Type::IfcFaceBound,entity_descriptor_map.find(Type::IfcTopologicalRepresentationItem)->second); + current->add("Bound",false,IfcUtil::Argument_ENTITY); + current->add("Orientation",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcFaceOuterBound] = new IfcEntityDescriptor(Type::IfcFaceOuterBound,entity_descriptor_map.find(Type::IfcFaceBound)->second); + + current = entity_descriptor_map[Type::IfcFaceSurface] = new IfcEntityDescriptor(Type::IfcFaceSurface,entity_descriptor_map.find(Type::IfcFace)->second); + current->add("FaceSurface",false,IfcUtil::Argument_ENTITY); + current->add("SameSense",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcFailureConnectionCondition] = new IfcEntityDescriptor(Type::IfcFailureConnectionCondition,entity_descriptor_map.find(Type::IfcStructuralConnectionCondition)->second); + current->add("TensionFailureX",true,IfcUtil::Argument_DOUBLE); + current->add("TensionFailureY",true,IfcUtil::Argument_DOUBLE); + current->add("TensionFailureZ",true,IfcUtil::Argument_DOUBLE); + current->add("CompressionFailureX",true,IfcUtil::Argument_DOUBLE); + current->add("CompressionFailureY",true,IfcUtil::Argument_DOUBLE); + current->add("CompressionFailureZ",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcFillAreaStyle] = new IfcEntityDescriptor(Type::IfcFillAreaStyle,entity_descriptor_map.find(Type::IfcPresentationStyle)->second); + current->add("FillStyles",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcFuelProperties] = new IfcEntityDescriptor(Type::IfcFuelProperties,entity_descriptor_map.find(Type::IfcMaterialProperties)->second); + current->add("CombustionTemperature",true,IfcUtil::Argument_DOUBLE); + current->add("CarbonContent",true,IfcUtil::Argument_DOUBLE); + current->add("LowerHeatingValue",true,IfcUtil::Argument_DOUBLE); + current->add("HigherHeatingValue",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcGeneralMaterialProperties] = new IfcEntityDescriptor(Type::IfcGeneralMaterialProperties,entity_descriptor_map.find(Type::IfcMaterialProperties)->second); + current->add("MolecularWeight",true,IfcUtil::Argument_DOUBLE); + current->add("Porosity",true,IfcUtil::Argument_DOUBLE); + current->add("MassDensity",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcGeneralProfileProperties] = new IfcEntityDescriptor(Type::IfcGeneralProfileProperties,entity_descriptor_map.find(Type::IfcProfileProperties)->second); + current->add("PhysicalWeight",true,IfcUtil::Argument_DOUBLE); + current->add("Perimeter",true,IfcUtil::Argument_DOUBLE); + current->add("MinimumPlateThickness",true,IfcUtil::Argument_DOUBLE); + current->add("MaximumPlateThickness",true,IfcUtil::Argument_DOUBLE); + current->add("CrossSectionArea",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcGeometricRepresentationContext] = new IfcEntityDescriptor(Type::IfcGeometricRepresentationContext,entity_descriptor_map.find(Type::IfcRepresentationContext)->second); + current->add("CoordinateSpaceDimension",false,IfcUtil::Argument_INT); + current->add("Precision",true,IfcUtil::Argument_DOUBLE); + current->add("WorldCoordinateSystem",false,IfcUtil::Argument_ENTITY); + current->add("TrueNorth",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcGeometricRepresentationItem] = new IfcEntityDescriptor(Type::IfcGeometricRepresentationItem,entity_descriptor_map.find(Type::IfcRepresentationItem)->second); + + current = entity_descriptor_map[Type::IfcGeometricRepresentationSubContext] = new IfcEntityDescriptor(Type::IfcGeometricRepresentationSubContext,entity_descriptor_map.find(Type::IfcGeometricRepresentationContext)->second); + current->add("ParentContext",false,IfcUtil::Argument_ENTITY); + current->add("TargetScale",true,IfcUtil::Argument_DOUBLE); + current->add("TargetView",false,IfcUtil::Argument_ENUMERATION,Type::IfcGeometricProjectionEnum); + current->add("UserDefinedTargetView",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcGeometricSet] = new IfcEntityDescriptor(Type::IfcGeometricSet,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("Elements",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcGridPlacement] = new IfcEntityDescriptor(Type::IfcGridPlacement,entity_descriptor_map.find(Type::IfcObjectPlacement)->second); + current->add("PlacementLocation",false,IfcUtil::Argument_ENTITY); + current->add("PlacementRefDirection",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcHalfSpaceSolid] = new IfcEntityDescriptor(Type::IfcHalfSpaceSolid,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("BaseSurface",false,IfcUtil::Argument_ENTITY); + current->add("AgreementFlag",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcHygroscopicMaterialProperties] = new IfcEntityDescriptor(Type::IfcHygroscopicMaterialProperties,entity_descriptor_map.find(Type::IfcMaterialProperties)->second); + current->add("UpperVaporResistanceFactor",true,IfcUtil::Argument_DOUBLE); + current->add("LowerVaporResistanceFactor",true,IfcUtil::Argument_DOUBLE); + current->add("IsothermalMoistureCapacity",true,IfcUtil::Argument_DOUBLE); + current->add("VaporPermeability",true,IfcUtil::Argument_DOUBLE); + current->add("MoistureDiffusivity",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcImageTexture] = new IfcEntityDescriptor(Type::IfcImageTexture,entity_descriptor_map.find(Type::IfcSurfaceTexture)->second); + current->add("UrlReference",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcIrregularTimeSeries] = new IfcEntityDescriptor(Type::IfcIrregularTimeSeries,entity_descriptor_map.find(Type::IfcTimeSeries)->second); + current->add("Values",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcLightSource] = new IfcEntityDescriptor(Type::IfcLightSource,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("LightColour",false,IfcUtil::Argument_ENTITY); + current->add("AmbientIntensity",true,IfcUtil::Argument_DOUBLE); + current->add("Intensity",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLightSourceAmbient] = new IfcEntityDescriptor(Type::IfcLightSourceAmbient,entity_descriptor_map.find(Type::IfcLightSource)->second); + + current = entity_descriptor_map[Type::IfcLightSourceDirectional] = new IfcEntityDescriptor(Type::IfcLightSourceDirectional,entity_descriptor_map.find(Type::IfcLightSource)->second); + current->add("Orientation",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcLightSourceGoniometric] = new IfcEntityDescriptor(Type::IfcLightSourceGoniometric,entity_descriptor_map.find(Type::IfcLightSource)->second); + current->add("Position",false,IfcUtil::Argument_ENTITY); + current->add("ColourAppearance",true,IfcUtil::Argument_ENTITY); + current->add("ColourTemperature",false,IfcUtil::Argument_DOUBLE); + current->add("LuminousFlux",false,IfcUtil::Argument_DOUBLE); + current->add("LightEmissionSource",false,IfcUtil::Argument_ENUMERATION,Type::IfcLightEmissionSourceEnum); + current->add("LightDistributionDataSource",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcLightSourcePositional] = new IfcEntityDescriptor(Type::IfcLightSourcePositional,entity_descriptor_map.find(Type::IfcLightSource)->second); + current->add("Position",false,IfcUtil::Argument_ENTITY); + current->add("Radius",false,IfcUtil::Argument_DOUBLE); + current->add("ConstantAttenuation",false,IfcUtil::Argument_DOUBLE); + current->add("DistanceAttenuation",false,IfcUtil::Argument_DOUBLE); + current->add("QuadricAttenuation",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLightSourceSpot] = new IfcEntityDescriptor(Type::IfcLightSourceSpot,entity_descriptor_map.find(Type::IfcLightSourcePositional)->second); + current->add("Orientation",false,IfcUtil::Argument_ENTITY); + current->add("ConcentrationExponent",true,IfcUtil::Argument_DOUBLE); + current->add("SpreadAngle",false,IfcUtil::Argument_DOUBLE); + current->add("BeamWidthAngle",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLocalPlacement] = new IfcEntityDescriptor(Type::IfcLocalPlacement,entity_descriptor_map.find(Type::IfcObjectPlacement)->second); + current->add("PlacementRelTo",true,IfcUtil::Argument_ENTITY); + current->add("RelativePlacement",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcLoop] = new IfcEntityDescriptor(Type::IfcLoop,entity_descriptor_map.find(Type::IfcTopologicalRepresentationItem)->second); + + current = entity_descriptor_map[Type::IfcMappedItem] = new IfcEntityDescriptor(Type::IfcMappedItem,entity_descriptor_map.find(Type::IfcRepresentationItem)->second); + current->add("MappingSource",false,IfcUtil::Argument_ENTITY); + current->add("MappingTarget",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcMaterialDefinitionRepresentation] = new IfcEntityDescriptor(Type::IfcMaterialDefinitionRepresentation,entity_descriptor_map.find(Type::IfcProductRepresentation)->second); + current->add("RepresentedMaterial",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcMechanicalConcreteMaterialProperties] = new IfcEntityDescriptor(Type::IfcMechanicalConcreteMaterialProperties,entity_descriptor_map.find(Type::IfcMechanicalMaterialProperties)->second); + current->add("CompressiveStrength",true,IfcUtil::Argument_DOUBLE); + current->add("MaxAggregateSize",true,IfcUtil::Argument_DOUBLE); + current->add("AdmixturesDescription",true,IfcUtil::Argument_STRING); + current->add("Workability",true,IfcUtil::Argument_STRING); + current->add("ProtectivePoreRatio",true,IfcUtil::Argument_DOUBLE); + current->add("WaterImpermeability",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcObjectDefinition] = new IfcEntityDescriptor(Type::IfcObjectDefinition,entity_descriptor_map.find(Type::IfcRoot)->second); + + current = entity_descriptor_map[Type::IfcOneDirectionRepeatFactor] = new IfcEntityDescriptor(Type::IfcOneDirectionRepeatFactor,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("RepeatFactor",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcOpenShell] = new IfcEntityDescriptor(Type::IfcOpenShell,entity_descriptor_map.find(Type::IfcConnectedFaceSet)->second); + + current = entity_descriptor_map[Type::IfcOrientedEdge] = new IfcEntityDescriptor(Type::IfcOrientedEdge,entity_descriptor_map.find(Type::IfcEdge)->second); + current->add("EdgeElement",false,IfcUtil::Argument_ENTITY); + current->add("Orientation",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcParameterizedProfileDef] = new IfcEntityDescriptor(Type::IfcParameterizedProfileDef,entity_descriptor_map.find(Type::IfcProfileDef)->second); + current->add("Position",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPath] = new IfcEntityDescriptor(Type::IfcPath,entity_descriptor_map.find(Type::IfcTopologicalRepresentationItem)->second); + current->add("EdgeList",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcPhysicalComplexQuantity] = new IfcEntityDescriptor(Type::IfcPhysicalComplexQuantity,entity_descriptor_map.find(Type::IfcPhysicalQuantity)->second); + current->add("HasQuantities",false,IfcUtil::Argument_ENTITY_LIST); + current->add("Discrimination",false,IfcUtil::Argument_STRING); + current->add("Quality",true,IfcUtil::Argument_STRING); + current->add("Usage",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcPixelTexture] = new IfcEntityDescriptor(Type::IfcPixelTexture,entity_descriptor_map.find(Type::IfcSurfaceTexture)->second); + current->add("Width",false,IfcUtil::Argument_INT); + current->add("Height",false,IfcUtil::Argument_INT); + current->add("ColourComponents",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcPlacement] = new IfcEntityDescriptor(Type::IfcPlacement,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("Location",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPlanarExtent] = new IfcEntityDescriptor(Type::IfcPlanarExtent,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("SizeInX",false,IfcUtil::Argument_DOUBLE); + current->add("SizeInY",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcPoint] = new IfcEntityDescriptor(Type::IfcPoint,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + + current = entity_descriptor_map[Type::IfcPointOnCurve] = new IfcEntityDescriptor(Type::IfcPointOnCurve,entity_descriptor_map.find(Type::IfcPoint)->second); + current->add("BasisCurve",false,IfcUtil::Argument_ENTITY); + current->add("PointParameter",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcPointOnSurface] = new IfcEntityDescriptor(Type::IfcPointOnSurface,entity_descriptor_map.find(Type::IfcPoint)->second); + current->add("BasisSurface",false,IfcUtil::Argument_ENTITY); + current->add("PointParameterU",false,IfcUtil::Argument_DOUBLE); + current->add("PointParameterV",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcPolyLoop] = new IfcEntityDescriptor(Type::IfcPolyLoop,entity_descriptor_map.find(Type::IfcLoop)->second); + current->add("Polygon",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcPolygonalBoundedHalfSpace] = new IfcEntityDescriptor(Type::IfcPolygonalBoundedHalfSpace,entity_descriptor_map.find(Type::IfcHalfSpaceSolid)->second); + current->add("Position",false,IfcUtil::Argument_ENTITY); + current->add("PolygonalBoundary",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPreDefinedColour] = new IfcEntityDescriptor(Type::IfcPreDefinedColour,entity_descriptor_map.find(Type::IfcPreDefinedItem)->second); + + current = entity_descriptor_map[Type::IfcPreDefinedCurveFont] = new IfcEntityDescriptor(Type::IfcPreDefinedCurveFont,entity_descriptor_map.find(Type::IfcPreDefinedItem)->second); + + current = entity_descriptor_map[Type::IfcPreDefinedDimensionSymbol] = new IfcEntityDescriptor(Type::IfcPreDefinedDimensionSymbol,entity_descriptor_map.find(Type::IfcPreDefinedSymbol)->second); + + current = entity_descriptor_map[Type::IfcPreDefinedPointMarkerSymbol] = new IfcEntityDescriptor(Type::IfcPreDefinedPointMarkerSymbol,entity_descriptor_map.find(Type::IfcPreDefinedSymbol)->second); + + current = entity_descriptor_map[Type::IfcProductDefinitionShape] = new IfcEntityDescriptor(Type::IfcProductDefinitionShape,entity_descriptor_map.find(Type::IfcProductRepresentation)->second); + + current = entity_descriptor_map[Type::IfcPropertyBoundedValue] = new IfcEntityDescriptor(Type::IfcPropertyBoundedValue,entity_descriptor_map.find(Type::IfcSimpleProperty)->second); + current->add("UpperBoundValue",true,IfcUtil::Argument_ENTITY); + current->add("LowerBoundValue",true,IfcUtil::Argument_ENTITY); + current->add("Unit",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPropertyDefinition] = new IfcEntityDescriptor(Type::IfcPropertyDefinition,entity_descriptor_map.find(Type::IfcRoot)->second); + + current = entity_descriptor_map[Type::IfcPropertyEnumeratedValue] = new IfcEntityDescriptor(Type::IfcPropertyEnumeratedValue,entity_descriptor_map.find(Type::IfcSimpleProperty)->second); + current->add("EnumerationValues",false,IfcUtil::Argument_ENTITY_LIST); + current->add("EnumerationReference",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPropertyListValue] = new IfcEntityDescriptor(Type::IfcPropertyListValue,entity_descriptor_map.find(Type::IfcSimpleProperty)->second); + current->add("ListValues",false,IfcUtil::Argument_ENTITY_LIST); + current->add("Unit",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPropertyReferenceValue] = new IfcEntityDescriptor(Type::IfcPropertyReferenceValue,entity_descriptor_map.find(Type::IfcSimpleProperty)->second); + current->add("UsageName",true,IfcUtil::Argument_STRING); + current->add("PropertyReference",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPropertySetDefinition] = new IfcEntityDescriptor(Type::IfcPropertySetDefinition,entity_descriptor_map.find(Type::IfcPropertyDefinition)->second); + + current = entity_descriptor_map[Type::IfcPropertySingleValue] = new IfcEntityDescriptor(Type::IfcPropertySingleValue,entity_descriptor_map.find(Type::IfcSimpleProperty)->second); + current->add("NominalValue",true,IfcUtil::Argument_ENTITY); + current->add("Unit",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPropertyTableValue] = new IfcEntityDescriptor(Type::IfcPropertyTableValue,entity_descriptor_map.find(Type::IfcSimpleProperty)->second); + current->add("DefiningValues",false,IfcUtil::Argument_ENTITY_LIST); + current->add("DefinedValues",false,IfcUtil::Argument_ENTITY_LIST); + current->add("Expression",true,IfcUtil::Argument_STRING); + current->add("DefiningUnit",true,IfcUtil::Argument_ENTITY); + current->add("DefinedUnit",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRectangleProfileDef] = new IfcEntityDescriptor(Type::IfcRectangleProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); + current->add("XDim",false,IfcUtil::Argument_DOUBLE); + current->add("YDim",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcRegularTimeSeries] = new IfcEntityDescriptor(Type::IfcRegularTimeSeries,entity_descriptor_map.find(Type::IfcTimeSeries)->second); + current->add("TimeStep",false,IfcUtil::Argument_DOUBLE); + current->add("Values",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcReinforcementDefinitionProperties] = new IfcEntityDescriptor(Type::IfcReinforcementDefinitionProperties,entity_descriptor_map.find(Type::IfcPropertySetDefinition)->second); + current->add("DefinitionType",true,IfcUtil::Argument_STRING); + current->add("ReinforcementSectionDefinitions",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcRelationship] = new IfcEntityDescriptor(Type::IfcRelationship,entity_descriptor_map.find(Type::IfcRoot)->second); + + current = entity_descriptor_map[Type::IfcRoundedRectangleProfileDef] = new IfcEntityDescriptor(Type::IfcRoundedRectangleProfileDef,entity_descriptor_map.find(Type::IfcRectangleProfileDef)->second); + current->add("RoundingRadius",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSectionedSpine] = new IfcEntityDescriptor(Type::IfcSectionedSpine,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("SpineCurve",false,IfcUtil::Argument_ENTITY); + current->add("CrossSections",false,IfcUtil::Argument_ENTITY_LIST); + current->add("CrossSectionPositions",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcServiceLifeFactor] = new IfcEntityDescriptor(Type::IfcServiceLifeFactor,entity_descriptor_map.find(Type::IfcPropertySetDefinition)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcServiceLifeFactorTypeEnum); + current->add("UpperValue",true,IfcUtil::Argument_ENTITY); + current->add("MostUsedValue",false,IfcUtil::Argument_ENTITY); + current->add("LowerValue",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcShellBasedSurfaceModel] = new IfcEntityDescriptor(Type::IfcShellBasedSurfaceModel,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("SbsmBoundary",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcSlippageConnectionCondition] = new IfcEntityDescriptor(Type::IfcSlippageConnectionCondition,entity_descriptor_map.find(Type::IfcStructuralConnectionCondition)->second); + current->add("SlippageX",true,IfcUtil::Argument_DOUBLE); + current->add("SlippageY",true,IfcUtil::Argument_DOUBLE); + current->add("SlippageZ",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSolidModel] = new IfcEntityDescriptor(Type::IfcSolidModel,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + + current = entity_descriptor_map[Type::IfcSoundProperties] = new IfcEntityDescriptor(Type::IfcSoundProperties,entity_descriptor_map.find(Type::IfcPropertySetDefinition)->second); + current->add("IsAttenuating",false,IfcUtil::Argument_BOOL); + current->add("SoundScale",true,IfcUtil::Argument_ENUMERATION,Type::IfcSoundScaleEnum); + current->add("SoundValues",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcSoundValue] = new IfcEntityDescriptor(Type::IfcSoundValue,entity_descriptor_map.find(Type::IfcPropertySetDefinition)->second); + current->add("SoundLevelTimeSeries",true,IfcUtil::Argument_ENTITY); + current->add("Frequency",false,IfcUtil::Argument_DOUBLE); + current->add("SoundLevelSingleValue",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcSpaceThermalLoadProperties] = new IfcEntityDescriptor(Type::IfcSpaceThermalLoadProperties,entity_descriptor_map.find(Type::IfcPropertySetDefinition)->second); + current->add("ApplicableValueRatio",true,IfcUtil::Argument_DOUBLE); + current->add("ThermalLoadSource",false,IfcUtil::Argument_ENUMERATION,Type::IfcThermalLoadSourceEnum); + current->add("PropertySource",false,IfcUtil::Argument_ENUMERATION,Type::IfcPropertySourceEnum); + current->add("SourceDescription",true,IfcUtil::Argument_STRING); + current->add("MaximumValue",false,IfcUtil::Argument_DOUBLE); + current->add("MinimumValue",true,IfcUtil::Argument_DOUBLE); + current->add("ThermalLoadTimeSeriesValues",true,IfcUtil::Argument_ENTITY); + current->add("UserDefinedThermalLoadSource",true,IfcUtil::Argument_STRING); + current->add("UserDefinedPropertySource",true,IfcUtil::Argument_STRING); + current->add("ThermalLoadType",false,IfcUtil::Argument_ENUMERATION,Type::IfcThermalLoadTypeEnum); + current = entity_descriptor_map[Type::IfcStructuralLoadLinearForce] = new IfcEntityDescriptor(Type::IfcStructuralLoadLinearForce,entity_descriptor_map.find(Type::IfcStructuralLoadStatic)->second); + current->add("LinearForceX",true,IfcUtil::Argument_DOUBLE); + current->add("LinearForceY",true,IfcUtil::Argument_DOUBLE); + current->add("LinearForceZ",true,IfcUtil::Argument_DOUBLE); + current->add("LinearMomentX",true,IfcUtil::Argument_DOUBLE); + current->add("LinearMomentY",true,IfcUtil::Argument_DOUBLE); + current->add("LinearMomentZ",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcStructuralLoadPlanarForce] = new IfcEntityDescriptor(Type::IfcStructuralLoadPlanarForce,entity_descriptor_map.find(Type::IfcStructuralLoadStatic)->second); + current->add("PlanarForceX",true,IfcUtil::Argument_DOUBLE); + current->add("PlanarForceY",true,IfcUtil::Argument_DOUBLE); + current->add("PlanarForceZ",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcStructuralLoadSingleDisplacement] = new IfcEntityDescriptor(Type::IfcStructuralLoadSingleDisplacement,entity_descriptor_map.find(Type::IfcStructuralLoadStatic)->second); + current->add("DisplacementX",true,IfcUtil::Argument_DOUBLE); + current->add("DisplacementY",true,IfcUtil::Argument_DOUBLE); + current->add("DisplacementZ",true,IfcUtil::Argument_DOUBLE); + current->add("RotationalDisplacementRX",true,IfcUtil::Argument_DOUBLE); + current->add("RotationalDisplacementRY",true,IfcUtil::Argument_DOUBLE); + current->add("RotationalDisplacementRZ",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcStructuralLoadSingleDisplacementDistortion] = new IfcEntityDescriptor(Type::IfcStructuralLoadSingleDisplacementDistortion,entity_descriptor_map.find(Type::IfcStructuralLoadSingleDisplacement)->second); + current->add("Distortion",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcStructuralLoadSingleForce] = new IfcEntityDescriptor(Type::IfcStructuralLoadSingleForce,entity_descriptor_map.find(Type::IfcStructuralLoadStatic)->second); + current->add("ForceX",true,IfcUtil::Argument_DOUBLE); + current->add("ForceY",true,IfcUtil::Argument_DOUBLE); + current->add("ForceZ",true,IfcUtil::Argument_DOUBLE); + current->add("MomentX",true,IfcUtil::Argument_DOUBLE); + current->add("MomentY",true,IfcUtil::Argument_DOUBLE); + current->add("MomentZ",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcStructuralLoadSingleForceWarping] = new IfcEntityDescriptor(Type::IfcStructuralLoadSingleForceWarping,entity_descriptor_map.find(Type::IfcStructuralLoadSingleForce)->second); + current->add("WarpingMoment",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcStructuralProfileProperties] = new IfcEntityDescriptor(Type::IfcStructuralProfileProperties,entity_descriptor_map.find(Type::IfcGeneralProfileProperties)->second); + current->add("TorsionalConstantX",true,IfcUtil::Argument_DOUBLE); + current->add("MomentOfInertiaYZ",true,IfcUtil::Argument_DOUBLE); + current->add("MomentOfInertiaY",true,IfcUtil::Argument_DOUBLE); + current->add("MomentOfInertiaZ",true,IfcUtil::Argument_DOUBLE); + current->add("WarpingConstant",true,IfcUtil::Argument_DOUBLE); + current->add("ShearCentreZ",true,IfcUtil::Argument_DOUBLE); + current->add("ShearCentreY",true,IfcUtil::Argument_DOUBLE); + current->add("ShearDeformationAreaZ",true,IfcUtil::Argument_DOUBLE); + current->add("ShearDeformationAreaY",true,IfcUtil::Argument_DOUBLE); + current->add("MaximumSectionModulusY",true,IfcUtil::Argument_DOUBLE); + current->add("MinimumSectionModulusY",true,IfcUtil::Argument_DOUBLE); + current->add("MaximumSectionModulusZ",true,IfcUtil::Argument_DOUBLE); + current->add("MinimumSectionModulusZ",true,IfcUtil::Argument_DOUBLE); + current->add("TorsionalSectionModulus",true,IfcUtil::Argument_DOUBLE); + current->add("CentreOfGravityInX",true,IfcUtil::Argument_DOUBLE); + current->add("CentreOfGravityInY",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcStructuralSteelProfileProperties] = new IfcEntityDescriptor(Type::IfcStructuralSteelProfileProperties,entity_descriptor_map.find(Type::IfcStructuralProfileProperties)->second); + current->add("ShearAreaZ",true,IfcUtil::Argument_DOUBLE); + current->add("ShearAreaY",true,IfcUtil::Argument_DOUBLE); + current->add("PlasticShapeFactorY",true,IfcUtil::Argument_DOUBLE); + current->add("PlasticShapeFactorZ",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSubedge] = new IfcEntityDescriptor(Type::IfcSubedge,entity_descriptor_map.find(Type::IfcEdge)->second); + current->add("ParentEdge",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcSurface] = new IfcEntityDescriptor(Type::IfcSurface,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + + current = entity_descriptor_map[Type::IfcSurfaceStyleRendering] = new IfcEntityDescriptor(Type::IfcSurfaceStyleRendering,entity_descriptor_map.find(Type::IfcSurfaceStyleShading)->second); + current->add("Transparency",true,IfcUtil::Argument_DOUBLE); + current->add("DiffuseColour",true,IfcUtil::Argument_ENTITY); + current->add("TransmissionColour",true,IfcUtil::Argument_ENTITY); + current->add("DiffuseTransmissionColour",true,IfcUtil::Argument_ENTITY); + current->add("ReflectionColour",true,IfcUtil::Argument_ENTITY); + current->add("SpecularColour",true,IfcUtil::Argument_ENTITY); + current->add("SpecularHighlight",true,IfcUtil::Argument_ENTITY); + current->add("ReflectanceMethod",false,IfcUtil::Argument_ENUMERATION,Type::IfcReflectanceMethodEnum); + current = entity_descriptor_map[Type::IfcSweptAreaSolid] = new IfcEntityDescriptor(Type::IfcSweptAreaSolid,entity_descriptor_map.find(Type::IfcSolidModel)->second); + current->add("SweptArea",false,IfcUtil::Argument_ENTITY); + current->add("Position",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcSweptDiskSolid] = new IfcEntityDescriptor(Type::IfcSweptDiskSolid,entity_descriptor_map.find(Type::IfcSolidModel)->second); + current->add("Directrix",false,IfcUtil::Argument_ENTITY); + current->add("Radius",false,IfcUtil::Argument_DOUBLE); + current->add("InnerRadius",true,IfcUtil::Argument_DOUBLE); + current->add("StartParam",false,IfcUtil::Argument_DOUBLE); + current->add("EndParam",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSweptSurface] = new IfcEntityDescriptor(Type::IfcSweptSurface,entity_descriptor_map.find(Type::IfcSurface)->second); + current->add("SweptCurve",false,IfcUtil::Argument_ENTITY); + current->add("Position",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcTShapeProfileDef] = new IfcEntityDescriptor(Type::IfcTShapeProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); + current->add("Depth",false,IfcUtil::Argument_DOUBLE); + current->add("FlangeWidth",false,IfcUtil::Argument_DOUBLE); + current->add("WebThickness",false,IfcUtil::Argument_DOUBLE); + current->add("FlangeThickness",false,IfcUtil::Argument_DOUBLE); + current->add("FilletRadius",true,IfcUtil::Argument_DOUBLE); + current->add("FlangeEdgeRadius",true,IfcUtil::Argument_DOUBLE); + current->add("WebEdgeRadius",true,IfcUtil::Argument_DOUBLE); + current->add("WebSlope",true,IfcUtil::Argument_DOUBLE); + current->add("FlangeSlope",true,IfcUtil::Argument_DOUBLE); + current->add("CentreOfGravityInY",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcTerminatorSymbol] = new IfcEntityDescriptor(Type::IfcTerminatorSymbol,entity_descriptor_map.find(Type::IfcAnnotationSymbolOccurrence)->second); + current->add("AnnotatedCurve",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcTextLiteral] = new IfcEntityDescriptor(Type::IfcTextLiteral,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("Literal",false,IfcUtil::Argument_STRING); + current->add("Placement",false,IfcUtil::Argument_ENTITY); + current->add("Path",false,IfcUtil::Argument_ENUMERATION,Type::IfcTextPath); + current = entity_descriptor_map[Type::IfcTextLiteralWithExtent] = new IfcEntityDescriptor(Type::IfcTextLiteralWithExtent,entity_descriptor_map.find(Type::IfcTextLiteral)->second); + current->add("Extent",false,IfcUtil::Argument_ENTITY); + current->add("BoxAlignment",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcTrapeziumProfileDef] = new IfcEntityDescriptor(Type::IfcTrapeziumProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); + current->add("BottomXDim",false,IfcUtil::Argument_DOUBLE); + current->add("TopXDim",false,IfcUtil::Argument_DOUBLE); + current->add("YDim",false,IfcUtil::Argument_DOUBLE); + current->add("TopXOffset",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcTwoDirectionRepeatFactor] = new IfcEntityDescriptor(Type::IfcTwoDirectionRepeatFactor,entity_descriptor_map.find(Type::IfcOneDirectionRepeatFactor)->second); + current->add("SecondRepeatFactor",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcTypeObject] = new IfcEntityDescriptor(Type::IfcTypeObject,entity_descriptor_map.find(Type::IfcObjectDefinition)->second); + current->add("ApplicableOccurrence",true,IfcUtil::Argument_STRING); + current->add("HasPropertySets",true,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcTypeProduct] = new IfcEntityDescriptor(Type::IfcTypeProduct,entity_descriptor_map.find(Type::IfcTypeObject)->second); + current->add("RepresentationMaps",true,IfcUtil::Argument_ENTITY_LIST); + current->add("Tag",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcUShapeProfileDef] = new IfcEntityDescriptor(Type::IfcUShapeProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); + current->add("Depth",false,IfcUtil::Argument_DOUBLE); + current->add("FlangeWidth",false,IfcUtil::Argument_DOUBLE); + current->add("WebThickness",false,IfcUtil::Argument_DOUBLE); + current->add("FlangeThickness",false,IfcUtil::Argument_DOUBLE); + current->add("FilletRadius",true,IfcUtil::Argument_DOUBLE); + current->add("EdgeRadius",true,IfcUtil::Argument_DOUBLE); + current->add("FlangeSlope",true,IfcUtil::Argument_DOUBLE); + current->add("CentreOfGravityInX",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcVector] = new IfcEntityDescriptor(Type::IfcVector,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("Orientation",false,IfcUtil::Argument_ENTITY); + current->add("Magnitude",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcVertexLoop] = new IfcEntityDescriptor(Type::IfcVertexLoop,entity_descriptor_map.find(Type::IfcLoop)->second); + current->add("LoopVertex",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcWindowLiningProperties] = new IfcEntityDescriptor(Type::IfcWindowLiningProperties,entity_descriptor_map.find(Type::IfcPropertySetDefinition)->second); + current->add("LiningDepth",true,IfcUtil::Argument_DOUBLE); + current->add("LiningThickness",true,IfcUtil::Argument_DOUBLE); + current->add("TransomThickness",true,IfcUtil::Argument_DOUBLE); + current->add("MullionThickness",true,IfcUtil::Argument_DOUBLE); + current->add("FirstTransomOffset",true,IfcUtil::Argument_DOUBLE); + current->add("SecondTransomOffset",true,IfcUtil::Argument_DOUBLE); + current->add("FirstMullionOffset",true,IfcUtil::Argument_DOUBLE); + current->add("SecondMullionOffset",true,IfcUtil::Argument_DOUBLE); + current->add("ShapeAspectStyle",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcWindowPanelProperties] = new IfcEntityDescriptor(Type::IfcWindowPanelProperties,entity_descriptor_map.find(Type::IfcPropertySetDefinition)->second); + current->add("OperationType",false,IfcUtil::Argument_ENUMERATION,Type::IfcWindowPanelOperationEnum); + current->add("PanelPosition",false,IfcUtil::Argument_ENUMERATION,Type::IfcWindowPanelPositionEnum); + current->add("FrameDepth",true,IfcUtil::Argument_DOUBLE); + current->add("FrameThickness",true,IfcUtil::Argument_DOUBLE); + current->add("ShapeAspectStyle",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcWindowStyle] = new IfcEntityDescriptor(Type::IfcWindowStyle,entity_descriptor_map.find(Type::IfcTypeProduct)->second); + current->add("ConstructionType",false,IfcUtil::Argument_ENUMERATION,Type::IfcWindowStyleConstructionEnum); + current->add("OperationType",false,IfcUtil::Argument_ENUMERATION,Type::IfcWindowStyleOperationEnum); + current->add("ParameterTakesPrecedence",false,IfcUtil::Argument_BOOL); + current->add("Sizeable",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcZShapeProfileDef] = new IfcEntityDescriptor(Type::IfcZShapeProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); + current->add("Depth",false,IfcUtil::Argument_DOUBLE); + current->add("FlangeWidth",false,IfcUtil::Argument_DOUBLE); + current->add("WebThickness",false,IfcUtil::Argument_DOUBLE); + current->add("FlangeThickness",false,IfcUtil::Argument_DOUBLE); + current->add("FilletRadius",true,IfcUtil::Argument_DOUBLE); + current->add("EdgeRadius",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcAnnotationCurveOccurrence] = new IfcEntityDescriptor(Type::IfcAnnotationCurveOccurrence,entity_descriptor_map.find(Type::IfcAnnotationOccurrence)->second); + + current = entity_descriptor_map[Type::IfcAnnotationFillArea] = new IfcEntityDescriptor(Type::IfcAnnotationFillArea,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("OuterBoundary",false,IfcUtil::Argument_ENTITY); + current->add("InnerBoundaries",true,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcAnnotationFillAreaOccurrence] = new IfcEntityDescriptor(Type::IfcAnnotationFillAreaOccurrence,entity_descriptor_map.find(Type::IfcAnnotationOccurrence)->second); + current->add("FillStyleTarget",true,IfcUtil::Argument_ENTITY); + current->add("GlobalOrLocal",true,IfcUtil::Argument_ENUMERATION,Type::IfcGlobalOrLocalEnum); + current = entity_descriptor_map[Type::IfcAnnotationSurface] = new IfcEntityDescriptor(Type::IfcAnnotationSurface,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("Item",false,IfcUtil::Argument_ENTITY); + current->add("TextureCoordinates",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcAxis1Placement] = new IfcEntityDescriptor(Type::IfcAxis1Placement,entity_descriptor_map.find(Type::IfcPlacement)->second); + current->add("Axis",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcAxis2Placement2D] = new IfcEntityDescriptor(Type::IfcAxis2Placement2D,entity_descriptor_map.find(Type::IfcPlacement)->second); + current->add("RefDirection",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcAxis2Placement3D] = new IfcEntityDescriptor(Type::IfcAxis2Placement3D,entity_descriptor_map.find(Type::IfcPlacement)->second); + current->add("Axis",true,IfcUtil::Argument_ENTITY); + current->add("RefDirection",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcBooleanResult] = new IfcEntityDescriptor(Type::IfcBooleanResult,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("Operator",false,IfcUtil::Argument_ENUMERATION,Type::IfcBooleanOperator); + current->add("FirstOperand",false,IfcUtil::Argument_ENTITY); + current->add("SecondOperand",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcBoundedSurface] = new IfcEntityDescriptor(Type::IfcBoundedSurface,entity_descriptor_map.find(Type::IfcSurface)->second); + + current = entity_descriptor_map[Type::IfcBoundingBox] = new IfcEntityDescriptor(Type::IfcBoundingBox,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("Corner",false,IfcUtil::Argument_ENTITY); + current->add("XDim",false,IfcUtil::Argument_DOUBLE); + current->add("YDim",false,IfcUtil::Argument_DOUBLE); + current->add("ZDim",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcBoxedHalfSpace] = new IfcEntityDescriptor(Type::IfcBoxedHalfSpace,entity_descriptor_map.find(Type::IfcHalfSpaceSolid)->second); + current->add("Enclosure",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcCShapeProfileDef] = new IfcEntityDescriptor(Type::IfcCShapeProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); + current->add("Depth",false,IfcUtil::Argument_DOUBLE); + current->add("Width",false,IfcUtil::Argument_DOUBLE); + current->add("WallThickness",false,IfcUtil::Argument_DOUBLE); + current->add("Girth",false,IfcUtil::Argument_DOUBLE); + current->add("InternalFilletRadius",true,IfcUtil::Argument_DOUBLE); + current->add("CentreOfGravityInX",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcCartesianPoint] = new IfcEntityDescriptor(Type::IfcCartesianPoint,entity_descriptor_map.find(Type::IfcPoint)->second); + current->add("Coordinates",false,IfcUtil::Argument_VECTOR_DOUBLE); + current = entity_descriptor_map[Type::IfcCartesianTransformationOperator] = new IfcEntityDescriptor(Type::IfcCartesianTransformationOperator,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("Axis1",true,IfcUtil::Argument_ENTITY); + current->add("Axis2",true,IfcUtil::Argument_ENTITY); + current->add("LocalOrigin",false,IfcUtil::Argument_ENTITY); + current->add("Scale",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcCartesianTransformationOperator2D] = new IfcEntityDescriptor(Type::IfcCartesianTransformationOperator2D,entity_descriptor_map.find(Type::IfcCartesianTransformationOperator)->second); + + current = entity_descriptor_map[Type::IfcCartesianTransformationOperator2DnonUniform] = new IfcEntityDescriptor(Type::IfcCartesianTransformationOperator2DnonUniform,entity_descriptor_map.find(Type::IfcCartesianTransformationOperator2D)->second); + current->add("Scale2",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcCartesianTransformationOperator3D] = new IfcEntityDescriptor(Type::IfcCartesianTransformationOperator3D,entity_descriptor_map.find(Type::IfcCartesianTransformationOperator)->second); + current->add("Axis3",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcCartesianTransformationOperator3DnonUniform] = new IfcEntityDescriptor(Type::IfcCartesianTransformationOperator3DnonUniform,entity_descriptor_map.find(Type::IfcCartesianTransformationOperator3D)->second); + current->add("Scale2",true,IfcUtil::Argument_DOUBLE); + current->add("Scale3",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcCircleProfileDef] = new IfcEntityDescriptor(Type::IfcCircleProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); + current->add("Radius",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcClosedShell] = new IfcEntityDescriptor(Type::IfcClosedShell,entity_descriptor_map.find(Type::IfcConnectedFaceSet)->second); + + current = entity_descriptor_map[Type::IfcCompositeCurveSegment] = new IfcEntityDescriptor(Type::IfcCompositeCurveSegment,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("Transition",false,IfcUtil::Argument_ENUMERATION,Type::IfcTransitionCode); + current->add("SameSense",false,IfcUtil::Argument_BOOL); + current->add("ParentCurve",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcCraneRailAShapeProfileDef] = new IfcEntityDescriptor(Type::IfcCraneRailAShapeProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); + current->add("OverallHeight",false,IfcUtil::Argument_DOUBLE); + current->add("BaseWidth2",false,IfcUtil::Argument_DOUBLE); + current->add("Radius",true,IfcUtil::Argument_DOUBLE); + current->add("HeadWidth",false,IfcUtil::Argument_DOUBLE); + current->add("HeadDepth2",false,IfcUtil::Argument_DOUBLE); + current->add("HeadDepth3",false,IfcUtil::Argument_DOUBLE); + current->add("WebThickness",false,IfcUtil::Argument_DOUBLE); + current->add("BaseWidth4",false,IfcUtil::Argument_DOUBLE); + current->add("BaseDepth1",false,IfcUtil::Argument_DOUBLE); + current->add("BaseDepth2",false,IfcUtil::Argument_DOUBLE); + current->add("BaseDepth3",false,IfcUtil::Argument_DOUBLE); + current->add("CentreOfGravityInY",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcCraneRailFShapeProfileDef] = new IfcEntityDescriptor(Type::IfcCraneRailFShapeProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); + current->add("OverallHeight",false,IfcUtil::Argument_DOUBLE); + current->add("HeadWidth",false,IfcUtil::Argument_DOUBLE); + current->add("Radius",true,IfcUtil::Argument_DOUBLE); + current->add("HeadDepth2",false,IfcUtil::Argument_DOUBLE); + current->add("HeadDepth3",false,IfcUtil::Argument_DOUBLE); + current->add("WebThickness",false,IfcUtil::Argument_DOUBLE); + current->add("BaseDepth1",false,IfcUtil::Argument_DOUBLE); + current->add("BaseDepth2",false,IfcUtil::Argument_DOUBLE); + current->add("CentreOfGravityInY",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcCsgPrimitive3D] = new IfcEntityDescriptor(Type::IfcCsgPrimitive3D,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("Position",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcCsgSolid] = new IfcEntityDescriptor(Type::IfcCsgSolid,entity_descriptor_map.find(Type::IfcSolidModel)->second); + current->add("TreeRootExpression",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcCurve] = new IfcEntityDescriptor(Type::IfcCurve,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + + current = entity_descriptor_map[Type::IfcCurveBoundedPlane] = new IfcEntityDescriptor(Type::IfcCurveBoundedPlane,entity_descriptor_map.find(Type::IfcBoundedSurface)->second); + current->add("BasisSurface",false,IfcUtil::Argument_ENTITY); + current->add("OuterBoundary",false,IfcUtil::Argument_ENTITY); + current->add("InnerBoundaries",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcDefinedSymbol] = new IfcEntityDescriptor(Type::IfcDefinedSymbol,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("Definition",false,IfcUtil::Argument_ENTITY); + current->add("Target",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcDimensionCurve] = new IfcEntityDescriptor(Type::IfcDimensionCurve,entity_descriptor_map.find(Type::IfcAnnotationCurveOccurrence)->second); + + current = entity_descriptor_map[Type::IfcDimensionCurveTerminator] = new IfcEntityDescriptor(Type::IfcDimensionCurveTerminator,entity_descriptor_map.find(Type::IfcTerminatorSymbol)->second); + current->add("Role",false,IfcUtil::Argument_ENUMERATION,Type::IfcDimensionExtentUsage); + current = entity_descriptor_map[Type::IfcDirection] = new IfcEntityDescriptor(Type::IfcDirection,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("DirectionRatios",false,IfcUtil::Argument_VECTOR_DOUBLE); + current = entity_descriptor_map[Type::IfcDoorLiningProperties] = new IfcEntityDescriptor(Type::IfcDoorLiningProperties,entity_descriptor_map.find(Type::IfcPropertySetDefinition)->second); + current->add("LiningDepth",true,IfcUtil::Argument_DOUBLE); + current->add("LiningThickness",true,IfcUtil::Argument_DOUBLE); + current->add("ThresholdDepth",true,IfcUtil::Argument_DOUBLE); + current->add("ThresholdThickness",true,IfcUtil::Argument_DOUBLE); + current->add("TransomThickness",true,IfcUtil::Argument_DOUBLE); + current->add("TransomOffset",true,IfcUtil::Argument_DOUBLE); + current->add("LiningOffset",true,IfcUtil::Argument_DOUBLE); + current->add("ThresholdOffset",true,IfcUtil::Argument_DOUBLE); + current->add("CasingThickness",true,IfcUtil::Argument_DOUBLE); + current->add("CasingDepth",true,IfcUtil::Argument_DOUBLE); + current->add("ShapeAspectStyle",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcDoorPanelProperties] = new IfcEntityDescriptor(Type::IfcDoorPanelProperties,entity_descriptor_map.find(Type::IfcPropertySetDefinition)->second); + current->add("PanelDepth",true,IfcUtil::Argument_DOUBLE); + current->add("PanelOperation",false,IfcUtil::Argument_ENUMERATION,Type::IfcDoorPanelOperationEnum); + current->add("PanelWidth",true,IfcUtil::Argument_DOUBLE); + current->add("PanelPosition",false,IfcUtil::Argument_ENUMERATION,Type::IfcDoorPanelPositionEnum); + current->add("ShapeAspectStyle",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcDoorStyle] = new IfcEntityDescriptor(Type::IfcDoorStyle,entity_descriptor_map.find(Type::IfcTypeProduct)->second); + current->add("OperationType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDoorStyleOperationEnum); + current->add("ConstructionType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDoorStyleConstructionEnum); + current->add("ParameterTakesPrecedence",false,IfcUtil::Argument_BOOL); + current->add("Sizeable",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcDraughtingCallout] = new IfcEntityDescriptor(Type::IfcDraughtingCallout,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("Contents",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcDraughtingPreDefinedColour] = new IfcEntityDescriptor(Type::IfcDraughtingPreDefinedColour,entity_descriptor_map.find(Type::IfcPreDefinedColour)->second); + + current = entity_descriptor_map[Type::IfcDraughtingPreDefinedCurveFont] = new IfcEntityDescriptor(Type::IfcDraughtingPreDefinedCurveFont,entity_descriptor_map.find(Type::IfcPreDefinedCurveFont)->second); + + current = entity_descriptor_map[Type::IfcEdgeLoop] = new IfcEntityDescriptor(Type::IfcEdgeLoop,entity_descriptor_map.find(Type::IfcLoop)->second); + current->add("EdgeList",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcElementQuantity] = new IfcEntityDescriptor(Type::IfcElementQuantity,entity_descriptor_map.find(Type::IfcPropertySetDefinition)->second); + current->add("MethodOfMeasurement",true,IfcUtil::Argument_STRING); + current->add("Quantities",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcElementType] = new IfcEntityDescriptor(Type::IfcElementType,entity_descriptor_map.find(Type::IfcTypeProduct)->second); + current->add("ElementType",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcElementarySurface] = new IfcEntityDescriptor(Type::IfcElementarySurface,entity_descriptor_map.find(Type::IfcSurface)->second); + current->add("Position",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcEllipseProfileDef] = new IfcEntityDescriptor(Type::IfcEllipseProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); + current->add("SemiAxis1",false,IfcUtil::Argument_DOUBLE); + current->add("SemiAxis2",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcEnergyProperties] = new IfcEntityDescriptor(Type::IfcEnergyProperties,entity_descriptor_map.find(Type::IfcPropertySetDefinition)->second); + current->add("EnergySequence",true,IfcUtil::Argument_ENUMERATION,Type::IfcEnergySequenceEnum); + current->add("UserDefinedEnergySequence",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcExtrudedAreaSolid] = new IfcEntityDescriptor(Type::IfcExtrudedAreaSolid,entity_descriptor_map.find(Type::IfcSweptAreaSolid)->second); + current->add("ExtrudedDirection",false,IfcUtil::Argument_ENTITY); + current->add("Depth",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcFaceBasedSurfaceModel] = new IfcEntityDescriptor(Type::IfcFaceBasedSurfaceModel,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("FbsmFaces",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcFillAreaStyleHatching] = new IfcEntityDescriptor(Type::IfcFillAreaStyleHatching,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("HatchLineAppearance",false,IfcUtil::Argument_ENTITY); + current->add("StartOfNextHatchLine",false,IfcUtil::Argument_ENTITY); + current->add("PointOfReferenceHatchLine",true,IfcUtil::Argument_ENTITY); + current->add("PatternStart",true,IfcUtil::Argument_ENTITY); + current->add("HatchLineAngle",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcFillAreaStyleTileSymbolWithStyle] = new IfcEntityDescriptor(Type::IfcFillAreaStyleTileSymbolWithStyle,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("Symbol",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcFillAreaStyleTiles] = new IfcEntityDescriptor(Type::IfcFillAreaStyleTiles,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("TilingPattern",false,IfcUtil::Argument_ENTITY); + current->add("Tiles",false,IfcUtil::Argument_ENTITY_LIST); + current->add("TilingScale",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcFluidFlowProperties] = new IfcEntityDescriptor(Type::IfcFluidFlowProperties,entity_descriptor_map.find(Type::IfcPropertySetDefinition)->second); + current->add("PropertySource",false,IfcUtil::Argument_ENUMERATION,Type::IfcPropertySourceEnum); + current->add("FlowConditionTimeSeries",true,IfcUtil::Argument_ENTITY); + current->add("VelocityTimeSeries",true,IfcUtil::Argument_ENTITY); + current->add("FlowrateTimeSeries",true,IfcUtil::Argument_ENTITY); + current->add("Fluid",false,IfcUtil::Argument_ENTITY); + current->add("PressureTimeSeries",true,IfcUtil::Argument_ENTITY); + current->add("UserDefinedPropertySource",true,IfcUtil::Argument_STRING); + current->add("TemperatureSingleValue",true,IfcUtil::Argument_DOUBLE); + current->add("WetBulbTemperatureSingleValue",true,IfcUtil::Argument_DOUBLE); + current->add("WetBulbTemperatureTimeSeries",true,IfcUtil::Argument_ENTITY); + current->add("TemperatureTimeSeries",true,IfcUtil::Argument_ENTITY); + current->add("FlowrateSingleValue",true,IfcUtil::Argument_ENTITY); + current->add("FlowConditionSingleValue",true,IfcUtil::Argument_DOUBLE); + current->add("VelocitySingleValue",true,IfcUtil::Argument_DOUBLE); + current->add("PressureSingleValue",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcFurnishingElementType] = new IfcEntityDescriptor(Type::IfcFurnishingElementType,entity_descriptor_map.find(Type::IfcElementType)->second); + + current = entity_descriptor_map[Type::IfcFurnitureType] = new IfcEntityDescriptor(Type::IfcFurnitureType,entity_descriptor_map.find(Type::IfcFurnishingElementType)->second); + current->add("AssemblyPlace",false,IfcUtil::Argument_ENUMERATION,Type::IfcAssemblyPlaceEnum); + current = entity_descriptor_map[Type::IfcGeometricCurveSet] = new IfcEntityDescriptor(Type::IfcGeometricCurveSet,entity_descriptor_map.find(Type::IfcGeometricSet)->second); + + current = entity_descriptor_map[Type::IfcIShapeProfileDef] = new IfcEntityDescriptor(Type::IfcIShapeProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); + current->add("OverallWidth",false,IfcUtil::Argument_DOUBLE); + current->add("OverallDepth",false,IfcUtil::Argument_DOUBLE); + current->add("WebThickness",false,IfcUtil::Argument_DOUBLE); + current->add("FlangeThickness",false,IfcUtil::Argument_DOUBLE); + current->add("FilletRadius",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLShapeProfileDef] = new IfcEntityDescriptor(Type::IfcLShapeProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); + current->add("Depth",false,IfcUtil::Argument_DOUBLE); + current->add("Width",true,IfcUtil::Argument_DOUBLE); + current->add("Thickness",false,IfcUtil::Argument_DOUBLE); + current->add("FilletRadius",true,IfcUtil::Argument_DOUBLE); + current->add("EdgeRadius",true,IfcUtil::Argument_DOUBLE); + current->add("LegSlope",true,IfcUtil::Argument_DOUBLE); + current->add("CentreOfGravityInX",true,IfcUtil::Argument_DOUBLE); + current->add("CentreOfGravityInY",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLine] = new IfcEntityDescriptor(Type::IfcLine,entity_descriptor_map.find(Type::IfcCurve)->second); + current->add("Pnt",false,IfcUtil::Argument_ENTITY); + current->add("Dir",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcManifoldSolidBrep] = new IfcEntityDescriptor(Type::IfcManifoldSolidBrep,entity_descriptor_map.find(Type::IfcSolidModel)->second); + current->add("Outer",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcObject] = new IfcEntityDescriptor(Type::IfcObject,entity_descriptor_map.find(Type::IfcObjectDefinition)->second); + current->add("ObjectType",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcOffsetCurve2D] = new IfcEntityDescriptor(Type::IfcOffsetCurve2D,entity_descriptor_map.find(Type::IfcCurve)->second); + current->add("BasisCurve",false,IfcUtil::Argument_ENTITY); + current->add("Distance",false,IfcUtil::Argument_DOUBLE); + current->add("SelfIntersect",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcOffsetCurve3D] = new IfcEntityDescriptor(Type::IfcOffsetCurve3D,entity_descriptor_map.find(Type::IfcCurve)->second); + current->add("BasisCurve",false,IfcUtil::Argument_ENTITY); + current->add("Distance",false,IfcUtil::Argument_DOUBLE); + current->add("SelfIntersect",false,IfcUtil::Argument_BOOL); + current->add("RefDirection",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPermeableCoveringProperties] = new IfcEntityDescriptor(Type::IfcPermeableCoveringProperties,entity_descriptor_map.find(Type::IfcPropertySetDefinition)->second); + current->add("OperationType",false,IfcUtil::Argument_ENUMERATION,Type::IfcPermeableCoveringOperationEnum); + current->add("PanelPosition",false,IfcUtil::Argument_ENUMERATION,Type::IfcWindowPanelPositionEnum); + current->add("FrameDepth",true,IfcUtil::Argument_DOUBLE); + current->add("FrameThickness",true,IfcUtil::Argument_DOUBLE); + current->add("ShapeAspectStyle",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPlanarBox] = new IfcEntityDescriptor(Type::IfcPlanarBox,entity_descriptor_map.find(Type::IfcPlanarExtent)->second); + current->add("Placement",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPlane] = new IfcEntityDescriptor(Type::IfcPlane,entity_descriptor_map.find(Type::IfcElementarySurface)->second); + + current = entity_descriptor_map[Type::IfcProcess] = new IfcEntityDescriptor(Type::IfcProcess,entity_descriptor_map.find(Type::IfcObject)->second); + + current = entity_descriptor_map[Type::IfcProduct] = new IfcEntityDescriptor(Type::IfcProduct,entity_descriptor_map.find(Type::IfcObject)->second); + current->add("ObjectPlacement",true,IfcUtil::Argument_ENTITY); + current->add("Representation",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcProject] = new IfcEntityDescriptor(Type::IfcProject,entity_descriptor_map.find(Type::IfcObject)->second); + current->add("LongName",true,IfcUtil::Argument_STRING); + current->add("Phase",true,IfcUtil::Argument_STRING); + current->add("RepresentationContexts",false,IfcUtil::Argument_ENTITY_LIST); + current->add("UnitsInContext",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcProjectionCurve] = new IfcEntityDescriptor(Type::IfcProjectionCurve,entity_descriptor_map.find(Type::IfcAnnotationCurveOccurrence)->second); + + current = entity_descriptor_map[Type::IfcPropertySet] = new IfcEntityDescriptor(Type::IfcPropertySet,entity_descriptor_map.find(Type::IfcPropertySetDefinition)->second); + current->add("HasProperties",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcProxy] = new IfcEntityDescriptor(Type::IfcProxy,entity_descriptor_map.find(Type::IfcProduct)->second); + current->add("ProxyType",false,IfcUtil::Argument_ENUMERATION,Type::IfcObjectTypeEnum); + current->add("Tag",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcRectangleHollowProfileDef] = new IfcEntityDescriptor(Type::IfcRectangleHollowProfileDef,entity_descriptor_map.find(Type::IfcRectangleProfileDef)->second); + current->add("WallThickness",false,IfcUtil::Argument_DOUBLE); + current->add("InnerFilletRadius",true,IfcUtil::Argument_DOUBLE); + current->add("OuterFilletRadius",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcRectangularPyramid] = new IfcEntityDescriptor(Type::IfcRectangularPyramid,entity_descriptor_map.find(Type::IfcCsgPrimitive3D)->second); + current->add("XLength",false,IfcUtil::Argument_DOUBLE); + current->add("YLength",false,IfcUtil::Argument_DOUBLE); + current->add("Height",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcRectangularTrimmedSurface] = new IfcEntityDescriptor(Type::IfcRectangularTrimmedSurface,entity_descriptor_map.find(Type::IfcBoundedSurface)->second); + current->add("BasisSurface",false,IfcUtil::Argument_ENTITY); + current->add("U1",false,IfcUtil::Argument_DOUBLE); + current->add("V1",false,IfcUtil::Argument_DOUBLE); + current->add("U2",false,IfcUtil::Argument_DOUBLE); + current->add("V2",false,IfcUtil::Argument_DOUBLE); + current->add("Usense",false,IfcUtil::Argument_BOOL); + current->add("Vsense",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcRelAssigns] = new IfcEntityDescriptor(Type::IfcRelAssigns,entity_descriptor_map.find(Type::IfcRelationship)->second); + current->add("RelatedObjects",false,IfcUtil::Argument_ENTITY_LIST); + current->add("RelatedObjectsType",true,IfcUtil::Argument_ENUMERATION,Type::IfcObjectTypeEnum); + current = entity_descriptor_map[Type::IfcRelAssignsToActor] = new IfcEntityDescriptor(Type::IfcRelAssignsToActor,entity_descriptor_map.find(Type::IfcRelAssigns)->second); + current->add("RelatingActor",false,IfcUtil::Argument_ENTITY); + current->add("ActingRole",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelAssignsToControl] = new IfcEntityDescriptor(Type::IfcRelAssignsToControl,entity_descriptor_map.find(Type::IfcRelAssigns)->second); + current->add("RelatingControl",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelAssignsToGroup] = new IfcEntityDescriptor(Type::IfcRelAssignsToGroup,entity_descriptor_map.find(Type::IfcRelAssigns)->second); + current->add("RelatingGroup",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelAssignsToProcess] = new IfcEntityDescriptor(Type::IfcRelAssignsToProcess,entity_descriptor_map.find(Type::IfcRelAssigns)->second); + current->add("RelatingProcess",false,IfcUtil::Argument_ENTITY); + current->add("QuantityInProcess",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelAssignsToProduct] = new IfcEntityDescriptor(Type::IfcRelAssignsToProduct,entity_descriptor_map.find(Type::IfcRelAssigns)->second); + current->add("RelatingProduct",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelAssignsToProjectOrder] = new IfcEntityDescriptor(Type::IfcRelAssignsToProjectOrder,entity_descriptor_map.find(Type::IfcRelAssignsToControl)->second); + + current = entity_descriptor_map[Type::IfcRelAssignsToResource] = new IfcEntityDescriptor(Type::IfcRelAssignsToResource,entity_descriptor_map.find(Type::IfcRelAssigns)->second); + current->add("RelatingResource",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelAssociates] = new IfcEntityDescriptor(Type::IfcRelAssociates,entity_descriptor_map.find(Type::IfcRelationship)->second); + current->add("RelatedObjects",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcRelAssociatesAppliedValue] = new IfcEntityDescriptor(Type::IfcRelAssociatesAppliedValue,entity_descriptor_map.find(Type::IfcRelAssociates)->second); + current->add("RelatingAppliedValue",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelAssociatesApproval] = new IfcEntityDescriptor(Type::IfcRelAssociatesApproval,entity_descriptor_map.find(Type::IfcRelAssociates)->second); + current->add("RelatingApproval",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelAssociatesClassification] = new IfcEntityDescriptor(Type::IfcRelAssociatesClassification,entity_descriptor_map.find(Type::IfcRelAssociates)->second); + current->add("RelatingClassification",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelAssociatesConstraint] = new IfcEntityDescriptor(Type::IfcRelAssociatesConstraint,entity_descriptor_map.find(Type::IfcRelAssociates)->second); + current->add("Intent",false,IfcUtil::Argument_STRING); + current->add("RelatingConstraint",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelAssociatesDocument] = new IfcEntityDescriptor(Type::IfcRelAssociatesDocument,entity_descriptor_map.find(Type::IfcRelAssociates)->second); + current->add("RelatingDocument",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelAssociatesLibrary] = new IfcEntityDescriptor(Type::IfcRelAssociatesLibrary,entity_descriptor_map.find(Type::IfcRelAssociates)->second); + current->add("RelatingLibrary",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelAssociatesMaterial] = new IfcEntityDescriptor(Type::IfcRelAssociatesMaterial,entity_descriptor_map.find(Type::IfcRelAssociates)->second); + current->add("RelatingMaterial",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelAssociatesProfileProperties] = new IfcEntityDescriptor(Type::IfcRelAssociatesProfileProperties,entity_descriptor_map.find(Type::IfcRelAssociates)->second); + current->add("RelatingProfileProperties",false,IfcUtil::Argument_ENTITY); + current->add("ProfileSectionLocation",true,IfcUtil::Argument_ENTITY); + current->add("ProfileOrientation",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelConnects] = new IfcEntityDescriptor(Type::IfcRelConnects,entity_descriptor_map.find(Type::IfcRelationship)->second); + + current = entity_descriptor_map[Type::IfcRelConnectsElements] = new IfcEntityDescriptor(Type::IfcRelConnectsElements,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("ConnectionGeometry",true,IfcUtil::Argument_ENTITY); + current->add("RelatingElement",false,IfcUtil::Argument_ENTITY); + current->add("RelatedElement",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelConnectsPathElements] = new IfcEntityDescriptor(Type::IfcRelConnectsPathElements,entity_descriptor_map.find(Type::IfcRelConnectsElements)->second); + current->add("RelatingPriorities",false,IfcUtil::Argument_VECTOR_INT); + current->add("RelatedPriorities",false,IfcUtil::Argument_VECTOR_INT); + current->add("RelatedConnectionType",false,IfcUtil::Argument_ENUMERATION,Type::IfcConnectionTypeEnum); + current->add("RelatingConnectionType",false,IfcUtil::Argument_ENUMERATION,Type::IfcConnectionTypeEnum); + current = entity_descriptor_map[Type::IfcRelConnectsPortToElement] = new IfcEntityDescriptor(Type::IfcRelConnectsPortToElement,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatingPort",false,IfcUtil::Argument_ENTITY); + current->add("RelatedElement",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelConnectsPorts] = new IfcEntityDescriptor(Type::IfcRelConnectsPorts,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatingPort",false,IfcUtil::Argument_ENTITY); + current->add("RelatedPort",false,IfcUtil::Argument_ENTITY); + current->add("RealizingElement",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelConnectsStructuralActivity] = new IfcEntityDescriptor(Type::IfcRelConnectsStructuralActivity,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatingElement",false,IfcUtil::Argument_ENTITY); + current->add("RelatedStructuralActivity",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelConnectsStructuralElement] = new IfcEntityDescriptor(Type::IfcRelConnectsStructuralElement,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatingElement",false,IfcUtil::Argument_ENTITY); + current->add("RelatedStructuralMember",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelConnectsStructuralMember] = new IfcEntityDescriptor(Type::IfcRelConnectsStructuralMember,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatingStructuralMember",false,IfcUtil::Argument_ENTITY); + current->add("RelatedStructuralConnection",false,IfcUtil::Argument_ENTITY); + current->add("AppliedCondition",true,IfcUtil::Argument_ENTITY); + current->add("AdditionalConditions",true,IfcUtil::Argument_ENTITY); + current->add("SupportedLength",true,IfcUtil::Argument_DOUBLE); + current->add("ConditionCoordinateSystem",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelConnectsWithEccentricity] = new IfcEntityDescriptor(Type::IfcRelConnectsWithEccentricity,entity_descriptor_map.find(Type::IfcRelConnectsStructuralMember)->second); + current->add("ConnectionConstraint",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelConnectsWithRealizingElements] = new IfcEntityDescriptor(Type::IfcRelConnectsWithRealizingElements,entity_descriptor_map.find(Type::IfcRelConnectsElements)->second); + current->add("RealizingElements",false,IfcUtil::Argument_ENTITY_LIST); + current->add("ConnectionType",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcRelContainedInSpatialStructure] = new IfcEntityDescriptor(Type::IfcRelContainedInSpatialStructure,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatedElements",false,IfcUtil::Argument_ENTITY_LIST); + current->add("RelatingStructure",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelCoversBldgElements] = new IfcEntityDescriptor(Type::IfcRelCoversBldgElements,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatingBuildingElement",false,IfcUtil::Argument_ENTITY); + current->add("RelatedCoverings",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcRelCoversSpaces] = new IfcEntityDescriptor(Type::IfcRelCoversSpaces,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatedSpace",false,IfcUtil::Argument_ENTITY); + current->add("RelatedCoverings",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcRelDecomposes] = new IfcEntityDescriptor(Type::IfcRelDecomposes,entity_descriptor_map.find(Type::IfcRelationship)->second); + current->add("RelatingObject",false,IfcUtil::Argument_ENTITY); + current->add("RelatedObjects",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcRelDefines] = new IfcEntityDescriptor(Type::IfcRelDefines,entity_descriptor_map.find(Type::IfcRelationship)->second); + current->add("RelatedObjects",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcRelDefinesByProperties] = new IfcEntityDescriptor(Type::IfcRelDefinesByProperties,entity_descriptor_map.find(Type::IfcRelDefines)->second); + current->add("RelatingPropertyDefinition",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelDefinesByType] = new IfcEntityDescriptor(Type::IfcRelDefinesByType,entity_descriptor_map.find(Type::IfcRelDefines)->second); + current->add("RelatingType",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelFillsElement] = new IfcEntityDescriptor(Type::IfcRelFillsElement,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatingOpeningElement",false,IfcUtil::Argument_ENTITY); + current->add("RelatedBuildingElement",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelFlowControlElements] = new IfcEntityDescriptor(Type::IfcRelFlowControlElements,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatedControlElements",false,IfcUtil::Argument_ENTITY_LIST); + current->add("RelatingFlowElement",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelInteractionRequirements] = new IfcEntityDescriptor(Type::IfcRelInteractionRequirements,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("DailyInteraction",true,IfcUtil::Argument_DOUBLE); + current->add("ImportanceRating",true,IfcUtil::Argument_DOUBLE); + current->add("LocationOfInteraction",true,IfcUtil::Argument_ENTITY); + current->add("RelatedSpaceProgram",false,IfcUtil::Argument_ENTITY); + current->add("RelatingSpaceProgram",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelNests] = new IfcEntityDescriptor(Type::IfcRelNests,entity_descriptor_map.find(Type::IfcRelDecomposes)->second); + + current = entity_descriptor_map[Type::IfcRelOccupiesSpaces] = new IfcEntityDescriptor(Type::IfcRelOccupiesSpaces,entity_descriptor_map.find(Type::IfcRelAssignsToActor)->second); + + current = entity_descriptor_map[Type::IfcRelOverridesProperties] = new IfcEntityDescriptor(Type::IfcRelOverridesProperties,entity_descriptor_map.find(Type::IfcRelDefinesByProperties)->second); + current->add("OverridingProperties",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcRelProjectsElement] = new IfcEntityDescriptor(Type::IfcRelProjectsElement,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatingElement",false,IfcUtil::Argument_ENTITY); + current->add("RelatedFeatureElement",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelReferencedInSpatialStructure] = new IfcEntityDescriptor(Type::IfcRelReferencedInSpatialStructure,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatedElements",false,IfcUtil::Argument_ENTITY_LIST); + current->add("RelatingStructure",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelSchedulesCostItems] = new IfcEntityDescriptor(Type::IfcRelSchedulesCostItems,entity_descriptor_map.find(Type::IfcRelAssignsToControl)->second); + + current = entity_descriptor_map[Type::IfcRelSequence] = new IfcEntityDescriptor(Type::IfcRelSequence,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatingProcess",false,IfcUtil::Argument_ENTITY); + current->add("RelatedProcess",false,IfcUtil::Argument_ENTITY); + current->add("TimeLag",false,IfcUtil::Argument_DOUBLE); + current->add("SequenceType",false,IfcUtil::Argument_ENUMERATION,Type::IfcSequenceEnum); + current = entity_descriptor_map[Type::IfcRelServicesBuildings] = new IfcEntityDescriptor(Type::IfcRelServicesBuildings,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatingSystem",false,IfcUtil::Argument_ENTITY); + current->add("RelatedBuildings",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcRelSpaceBoundary] = new IfcEntityDescriptor(Type::IfcRelSpaceBoundary,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatingSpace",false,IfcUtil::Argument_ENTITY); + current->add("RelatedBuildingElement",true,IfcUtil::Argument_ENTITY); + current->add("ConnectionGeometry",true,IfcUtil::Argument_ENTITY); + current->add("PhysicalOrVirtualBoundary",false,IfcUtil::Argument_ENUMERATION,Type::IfcPhysicalOrVirtualEnum); + current->add("InternalOrExternalBoundary",false,IfcUtil::Argument_ENUMERATION,Type::IfcInternalOrExternalEnum); + current = entity_descriptor_map[Type::IfcRelVoidsElement] = new IfcEntityDescriptor(Type::IfcRelVoidsElement,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatingBuildingElement",false,IfcUtil::Argument_ENTITY); + current->add("RelatedOpeningElement",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcResource] = new IfcEntityDescriptor(Type::IfcResource,entity_descriptor_map.find(Type::IfcObject)->second); + + current = entity_descriptor_map[Type::IfcRevolvedAreaSolid] = new IfcEntityDescriptor(Type::IfcRevolvedAreaSolid,entity_descriptor_map.find(Type::IfcSweptAreaSolid)->second); + current->add("Axis",false,IfcUtil::Argument_ENTITY); + current->add("Angle",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcRightCircularCone] = new IfcEntityDescriptor(Type::IfcRightCircularCone,entity_descriptor_map.find(Type::IfcCsgPrimitive3D)->second); + current->add("Height",false,IfcUtil::Argument_DOUBLE); + current->add("BottomRadius",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcRightCircularCylinder] = new IfcEntityDescriptor(Type::IfcRightCircularCylinder,entity_descriptor_map.find(Type::IfcCsgPrimitive3D)->second); + current->add("Height",false,IfcUtil::Argument_DOUBLE); + current->add("Radius",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSpatialStructureElement] = new IfcEntityDescriptor(Type::IfcSpatialStructureElement,entity_descriptor_map.find(Type::IfcProduct)->second); + current->add("LongName",true,IfcUtil::Argument_STRING); + current->add("CompositionType",false,IfcUtil::Argument_ENUMERATION,Type::IfcElementCompositionEnum); + current = entity_descriptor_map[Type::IfcSpatialStructureElementType] = new IfcEntityDescriptor(Type::IfcSpatialStructureElementType,entity_descriptor_map.find(Type::IfcElementType)->second); + + current = entity_descriptor_map[Type::IfcSphere] = new IfcEntityDescriptor(Type::IfcSphere,entity_descriptor_map.find(Type::IfcCsgPrimitive3D)->second); + current->add("Radius",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcStructuralActivity] = new IfcEntityDescriptor(Type::IfcStructuralActivity,entity_descriptor_map.find(Type::IfcProduct)->second); + current->add("AppliedLoad",false,IfcUtil::Argument_ENTITY); + current->add("GlobalOrLocal",false,IfcUtil::Argument_ENUMERATION,Type::IfcGlobalOrLocalEnum); + current = entity_descriptor_map[Type::IfcStructuralItem] = new IfcEntityDescriptor(Type::IfcStructuralItem,entity_descriptor_map.find(Type::IfcProduct)->second); + + current = entity_descriptor_map[Type::IfcStructuralMember] = new IfcEntityDescriptor(Type::IfcStructuralMember,entity_descriptor_map.find(Type::IfcStructuralItem)->second); + + current = entity_descriptor_map[Type::IfcStructuralReaction] = new IfcEntityDescriptor(Type::IfcStructuralReaction,entity_descriptor_map.find(Type::IfcStructuralActivity)->second); + + current = entity_descriptor_map[Type::IfcStructuralSurfaceMember] = new IfcEntityDescriptor(Type::IfcStructuralSurfaceMember,entity_descriptor_map.find(Type::IfcStructuralMember)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcStructuralSurfaceTypeEnum); + current->add("Thickness",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcStructuralSurfaceMemberVarying] = new IfcEntityDescriptor(Type::IfcStructuralSurfaceMemberVarying,entity_descriptor_map.find(Type::IfcStructuralSurfaceMember)->second); + current->add("SubsequentThickness",false,IfcUtil::Argument_VECTOR_DOUBLE); + current->add("VaryingThicknessLocation",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcStructuredDimensionCallout] = new IfcEntityDescriptor(Type::IfcStructuredDimensionCallout,entity_descriptor_map.find(Type::IfcDraughtingCallout)->second); + + current = entity_descriptor_map[Type::IfcSurfaceCurveSweptAreaSolid] = new IfcEntityDescriptor(Type::IfcSurfaceCurveSweptAreaSolid,entity_descriptor_map.find(Type::IfcSweptAreaSolid)->second); + current->add("Directrix",false,IfcUtil::Argument_ENTITY); + current->add("StartParam",false,IfcUtil::Argument_DOUBLE); + current->add("EndParam",false,IfcUtil::Argument_DOUBLE); + current->add("ReferenceSurface",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcSurfaceOfLinearExtrusion] = new IfcEntityDescriptor(Type::IfcSurfaceOfLinearExtrusion,entity_descriptor_map.find(Type::IfcSweptSurface)->second); + current->add("ExtrudedDirection",false,IfcUtil::Argument_ENTITY); + current->add("Depth",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSurfaceOfRevolution] = new IfcEntityDescriptor(Type::IfcSurfaceOfRevolution,entity_descriptor_map.find(Type::IfcSweptSurface)->second); + current->add("AxisPosition",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcSystemFurnitureElementType] = new IfcEntityDescriptor(Type::IfcSystemFurnitureElementType,entity_descriptor_map.find(Type::IfcFurnishingElementType)->second); + + current = entity_descriptor_map[Type::IfcTask] = new IfcEntityDescriptor(Type::IfcTask,entity_descriptor_map.find(Type::IfcProcess)->second); + current->add("TaskId",false,IfcUtil::Argument_STRING); + current->add("Status",true,IfcUtil::Argument_STRING); + current->add("WorkMethod",true,IfcUtil::Argument_STRING); + current->add("IsMilestone",false,IfcUtil::Argument_BOOL); + current->add("Priority",true,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcTransportElementType] = new IfcEntityDescriptor(Type::IfcTransportElementType,entity_descriptor_map.find(Type::IfcElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcTransportElementTypeEnum); + current = entity_descriptor_map[Type::IfcActor] = new IfcEntityDescriptor(Type::IfcActor,entity_descriptor_map.find(Type::IfcObject)->second); + current->add("TheActor",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcAnnotation] = new IfcEntityDescriptor(Type::IfcAnnotation,entity_descriptor_map.find(Type::IfcProduct)->second); + + current = entity_descriptor_map[Type::IfcAsymmetricIShapeProfileDef] = new IfcEntityDescriptor(Type::IfcAsymmetricIShapeProfileDef,entity_descriptor_map.find(Type::IfcIShapeProfileDef)->second); + current->add("TopFlangeWidth",false,IfcUtil::Argument_DOUBLE); + current->add("TopFlangeThickness",true,IfcUtil::Argument_DOUBLE); + current->add("TopFlangeFilletRadius",true,IfcUtil::Argument_DOUBLE); + current->add("CentreOfGravityInY",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcBlock] = new IfcEntityDescriptor(Type::IfcBlock,entity_descriptor_map.find(Type::IfcCsgPrimitive3D)->second); + current->add("XLength",false,IfcUtil::Argument_DOUBLE); + current->add("YLength",false,IfcUtil::Argument_DOUBLE); + current->add("ZLength",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcBooleanClippingResult] = new IfcEntityDescriptor(Type::IfcBooleanClippingResult,entity_descriptor_map.find(Type::IfcBooleanResult)->second); + + current = entity_descriptor_map[Type::IfcBoundedCurve] = new IfcEntityDescriptor(Type::IfcBoundedCurve,entity_descriptor_map.find(Type::IfcCurve)->second); + + current = entity_descriptor_map[Type::IfcBuilding] = new IfcEntityDescriptor(Type::IfcBuilding,entity_descriptor_map.find(Type::IfcSpatialStructureElement)->second); + current->add("ElevationOfRefHeight",true,IfcUtil::Argument_DOUBLE); + current->add("ElevationOfTerrain",true,IfcUtil::Argument_DOUBLE); + current->add("BuildingAddress",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcBuildingElementType] = new IfcEntityDescriptor(Type::IfcBuildingElementType,entity_descriptor_map.find(Type::IfcElementType)->second); + + current = entity_descriptor_map[Type::IfcBuildingStorey] = new IfcEntityDescriptor(Type::IfcBuildingStorey,entity_descriptor_map.find(Type::IfcSpatialStructureElement)->second); + current->add("Elevation",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcCircleHollowProfileDef] = new IfcEntityDescriptor(Type::IfcCircleHollowProfileDef,entity_descriptor_map.find(Type::IfcCircleProfileDef)->second); + current->add("WallThickness",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcColumnType] = new IfcEntityDescriptor(Type::IfcColumnType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcColumnTypeEnum); + current = entity_descriptor_map[Type::IfcCompositeCurve] = new IfcEntityDescriptor(Type::IfcCompositeCurve,entity_descriptor_map.find(Type::IfcBoundedCurve)->second); + current->add("Segments",false,IfcUtil::Argument_ENTITY_LIST); + current->add("SelfIntersect",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcConic] = new IfcEntityDescriptor(Type::IfcConic,entity_descriptor_map.find(Type::IfcCurve)->second); + current->add("Position",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcConstructionResource] = new IfcEntityDescriptor(Type::IfcConstructionResource,entity_descriptor_map.find(Type::IfcResource)->second); + current->add("ResourceIdentifier",true,IfcUtil::Argument_STRING); + current->add("ResourceGroup",true,IfcUtil::Argument_STRING); + current->add("ResourceConsumption",true,IfcUtil::Argument_ENUMERATION,Type::IfcResourceConsumptionEnum); + current->add("BaseQuantity",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcControl] = new IfcEntityDescriptor(Type::IfcControl,entity_descriptor_map.find(Type::IfcObject)->second); + + current = entity_descriptor_map[Type::IfcCostItem] = new IfcEntityDescriptor(Type::IfcCostItem,entity_descriptor_map.find(Type::IfcControl)->second); + + current = entity_descriptor_map[Type::IfcCostSchedule] = new IfcEntityDescriptor(Type::IfcCostSchedule,entity_descriptor_map.find(Type::IfcControl)->second); + current->add("SubmittedBy",true,IfcUtil::Argument_ENTITY); + current->add("PreparedBy",true,IfcUtil::Argument_ENTITY); + current->add("SubmittedOn",true,IfcUtil::Argument_ENTITY); + current->add("Status",true,IfcUtil::Argument_STRING); + current->add("TargetUsers",true,IfcUtil::Argument_ENTITY_LIST); + current->add("UpdateDate",true,IfcUtil::Argument_ENTITY); + current->add("ID",false,IfcUtil::Argument_STRING); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcCostScheduleTypeEnum); + current = entity_descriptor_map[Type::IfcCoveringType] = new IfcEntityDescriptor(Type::IfcCoveringType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcCoveringTypeEnum); + current = entity_descriptor_map[Type::IfcCrewResource] = new IfcEntityDescriptor(Type::IfcCrewResource,entity_descriptor_map.find(Type::IfcConstructionResource)->second); + + current = entity_descriptor_map[Type::IfcCurtainWallType] = new IfcEntityDescriptor(Type::IfcCurtainWallType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcCurtainWallTypeEnum); + current = entity_descriptor_map[Type::IfcDimensionCurveDirectedCallout] = new IfcEntityDescriptor(Type::IfcDimensionCurveDirectedCallout,entity_descriptor_map.find(Type::IfcDraughtingCallout)->second); + + current = entity_descriptor_map[Type::IfcDistributionElementType] = new IfcEntityDescriptor(Type::IfcDistributionElementType,entity_descriptor_map.find(Type::IfcElementType)->second); + + current = entity_descriptor_map[Type::IfcDistributionFlowElementType] = new IfcEntityDescriptor(Type::IfcDistributionFlowElementType,entity_descriptor_map.find(Type::IfcDistributionElementType)->second); + + current = entity_descriptor_map[Type::IfcElectricalBaseProperties] = new IfcEntityDescriptor(Type::IfcElectricalBaseProperties,entity_descriptor_map.find(Type::IfcEnergyProperties)->second); + current->add("ElectricCurrentType",true,IfcUtil::Argument_ENUMERATION,Type::IfcElectricCurrentEnum); + current->add("InputVoltage",false,IfcUtil::Argument_DOUBLE); + current->add("InputFrequency",false,IfcUtil::Argument_DOUBLE); + current->add("FullLoadCurrent",true,IfcUtil::Argument_DOUBLE); + current->add("MinimumCircuitCurrent",true,IfcUtil::Argument_DOUBLE); + current->add("MaximumPowerInput",true,IfcUtil::Argument_DOUBLE); + current->add("RatedPowerInput",true,IfcUtil::Argument_DOUBLE); + current->add("InputPhase",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcElement] = new IfcEntityDescriptor(Type::IfcElement,entity_descriptor_map.find(Type::IfcProduct)->second); + current->add("Tag",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcElementAssembly] = new IfcEntityDescriptor(Type::IfcElementAssembly,entity_descriptor_map.find(Type::IfcElement)->second); + current->add("AssemblyPlace",true,IfcUtil::Argument_ENUMERATION,Type::IfcAssemblyPlaceEnum); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcElementAssemblyTypeEnum); + current = entity_descriptor_map[Type::IfcElementComponent] = new IfcEntityDescriptor(Type::IfcElementComponent,entity_descriptor_map.find(Type::IfcElement)->second); + + current = entity_descriptor_map[Type::IfcElementComponentType] = new IfcEntityDescriptor(Type::IfcElementComponentType,entity_descriptor_map.find(Type::IfcElementType)->second); + + current = entity_descriptor_map[Type::IfcEllipse] = new IfcEntityDescriptor(Type::IfcEllipse,entity_descriptor_map.find(Type::IfcConic)->second); + current->add("SemiAxis1",false,IfcUtil::Argument_DOUBLE); + current->add("SemiAxis2",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcEnergyConversionDeviceType] = new IfcEntityDescriptor(Type::IfcEnergyConversionDeviceType,entity_descriptor_map.find(Type::IfcDistributionFlowElementType)->second); + + current = entity_descriptor_map[Type::IfcEquipmentElement] = new IfcEntityDescriptor(Type::IfcEquipmentElement,entity_descriptor_map.find(Type::IfcElement)->second); + + current = entity_descriptor_map[Type::IfcEquipmentStandard] = new IfcEntityDescriptor(Type::IfcEquipmentStandard,entity_descriptor_map.find(Type::IfcControl)->second); + + current = entity_descriptor_map[Type::IfcEvaporativeCoolerType] = new IfcEntityDescriptor(Type::IfcEvaporativeCoolerType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcEvaporativeCoolerTypeEnum); + current = entity_descriptor_map[Type::IfcEvaporatorType] = new IfcEntityDescriptor(Type::IfcEvaporatorType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcEvaporatorTypeEnum); + current = entity_descriptor_map[Type::IfcFacetedBrep] = new IfcEntityDescriptor(Type::IfcFacetedBrep,entity_descriptor_map.find(Type::IfcManifoldSolidBrep)->second); + + current = entity_descriptor_map[Type::IfcFacetedBrepWithVoids] = new IfcEntityDescriptor(Type::IfcFacetedBrepWithVoids,entity_descriptor_map.find(Type::IfcManifoldSolidBrep)->second); + current->add("Voids",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcFastener] = new IfcEntityDescriptor(Type::IfcFastener,entity_descriptor_map.find(Type::IfcElementComponent)->second); + + current = entity_descriptor_map[Type::IfcFastenerType] = new IfcEntityDescriptor(Type::IfcFastenerType,entity_descriptor_map.find(Type::IfcElementComponentType)->second); + + current = entity_descriptor_map[Type::IfcFeatureElement] = new IfcEntityDescriptor(Type::IfcFeatureElement,entity_descriptor_map.find(Type::IfcElement)->second); + + current = entity_descriptor_map[Type::IfcFeatureElementAddition] = new IfcEntityDescriptor(Type::IfcFeatureElementAddition,entity_descriptor_map.find(Type::IfcFeatureElement)->second); + + current = entity_descriptor_map[Type::IfcFeatureElementSubtraction] = new IfcEntityDescriptor(Type::IfcFeatureElementSubtraction,entity_descriptor_map.find(Type::IfcFeatureElement)->second); + + current = entity_descriptor_map[Type::IfcFlowControllerType] = new IfcEntityDescriptor(Type::IfcFlowControllerType,entity_descriptor_map.find(Type::IfcDistributionFlowElementType)->second); + + current = entity_descriptor_map[Type::IfcFlowFittingType] = new IfcEntityDescriptor(Type::IfcFlowFittingType,entity_descriptor_map.find(Type::IfcDistributionFlowElementType)->second); + + current = entity_descriptor_map[Type::IfcFlowMeterType] = new IfcEntityDescriptor(Type::IfcFlowMeterType,entity_descriptor_map.find(Type::IfcFlowControllerType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcFlowMeterTypeEnum); + current = entity_descriptor_map[Type::IfcFlowMovingDeviceType] = new IfcEntityDescriptor(Type::IfcFlowMovingDeviceType,entity_descriptor_map.find(Type::IfcDistributionFlowElementType)->second); + + current = entity_descriptor_map[Type::IfcFlowSegmentType] = new IfcEntityDescriptor(Type::IfcFlowSegmentType,entity_descriptor_map.find(Type::IfcDistributionFlowElementType)->second); + + current = entity_descriptor_map[Type::IfcFlowStorageDeviceType] = new IfcEntityDescriptor(Type::IfcFlowStorageDeviceType,entity_descriptor_map.find(Type::IfcDistributionFlowElementType)->second); + + current = entity_descriptor_map[Type::IfcFlowTerminalType] = new IfcEntityDescriptor(Type::IfcFlowTerminalType,entity_descriptor_map.find(Type::IfcDistributionFlowElementType)->second); + + current = entity_descriptor_map[Type::IfcFlowTreatmentDeviceType] = new IfcEntityDescriptor(Type::IfcFlowTreatmentDeviceType,entity_descriptor_map.find(Type::IfcDistributionFlowElementType)->second); + + current = entity_descriptor_map[Type::IfcFurnishingElement] = new IfcEntityDescriptor(Type::IfcFurnishingElement,entity_descriptor_map.find(Type::IfcElement)->second); + + current = entity_descriptor_map[Type::IfcFurnitureStandard] = new IfcEntityDescriptor(Type::IfcFurnitureStandard,entity_descriptor_map.find(Type::IfcControl)->second); + + current = entity_descriptor_map[Type::IfcGasTerminalType] = new IfcEntityDescriptor(Type::IfcGasTerminalType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcGasTerminalTypeEnum); + current = entity_descriptor_map[Type::IfcGrid] = new IfcEntityDescriptor(Type::IfcGrid,entity_descriptor_map.find(Type::IfcProduct)->second); + current->add("UAxes",false,IfcUtil::Argument_ENTITY_LIST); + current->add("VAxes",false,IfcUtil::Argument_ENTITY_LIST); + current->add("WAxes",true,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcGroup] = new IfcEntityDescriptor(Type::IfcGroup,entity_descriptor_map.find(Type::IfcObject)->second); + + current = entity_descriptor_map[Type::IfcHeatExchangerType] = new IfcEntityDescriptor(Type::IfcHeatExchangerType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcHeatExchangerTypeEnum); + current = entity_descriptor_map[Type::IfcHumidifierType] = new IfcEntityDescriptor(Type::IfcHumidifierType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcHumidifierTypeEnum); + current = entity_descriptor_map[Type::IfcInventory] = new IfcEntityDescriptor(Type::IfcInventory,entity_descriptor_map.find(Type::IfcGroup)->second); + current->add("InventoryType",false,IfcUtil::Argument_ENUMERATION,Type::IfcInventoryTypeEnum); + current->add("Jurisdiction",false,IfcUtil::Argument_ENTITY); + current->add("ResponsiblePersons",false,IfcUtil::Argument_ENTITY_LIST); + current->add("LastUpdateDate",false,IfcUtil::Argument_ENTITY); + current->add("CurrentValue",true,IfcUtil::Argument_ENTITY); + current->add("OriginalValue",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcJunctionBoxType] = new IfcEntityDescriptor(Type::IfcJunctionBoxType,entity_descriptor_map.find(Type::IfcFlowFittingType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcJunctionBoxTypeEnum); + current = entity_descriptor_map[Type::IfcLaborResource] = new IfcEntityDescriptor(Type::IfcLaborResource,entity_descriptor_map.find(Type::IfcConstructionResource)->second); + current->add("SkillSet",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcLampType] = new IfcEntityDescriptor(Type::IfcLampType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcLampTypeEnum); + current = entity_descriptor_map[Type::IfcLightFixtureType] = new IfcEntityDescriptor(Type::IfcLightFixtureType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcLightFixtureTypeEnum); + current = entity_descriptor_map[Type::IfcLinearDimension] = new IfcEntityDescriptor(Type::IfcLinearDimension,entity_descriptor_map.find(Type::IfcDimensionCurveDirectedCallout)->second); + + current = entity_descriptor_map[Type::IfcMechanicalFastener] = new IfcEntityDescriptor(Type::IfcMechanicalFastener,entity_descriptor_map.find(Type::IfcFastener)->second); + current->add("NominalDiameter",true,IfcUtil::Argument_DOUBLE); + current->add("NominalLength",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMechanicalFastenerType] = new IfcEntityDescriptor(Type::IfcMechanicalFastenerType,entity_descriptor_map.find(Type::IfcFastenerType)->second); + + current = entity_descriptor_map[Type::IfcMemberType] = new IfcEntityDescriptor(Type::IfcMemberType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcMemberTypeEnum); + current = entity_descriptor_map[Type::IfcMotorConnectionType] = new IfcEntityDescriptor(Type::IfcMotorConnectionType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcMotorConnectionTypeEnum); + current = entity_descriptor_map[Type::IfcMove] = new IfcEntityDescriptor(Type::IfcMove,entity_descriptor_map.find(Type::IfcTask)->second); + current->add("MoveFrom",false,IfcUtil::Argument_ENTITY); + current->add("MoveTo",false,IfcUtil::Argument_ENTITY); + current->add("PunchList",true,IfcUtil::Argument_VECTOR_STRING); + current = entity_descriptor_map[Type::IfcOccupant] = new IfcEntityDescriptor(Type::IfcOccupant,entity_descriptor_map.find(Type::IfcActor)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcOccupantTypeEnum); + current = entity_descriptor_map[Type::IfcOpeningElement] = new IfcEntityDescriptor(Type::IfcOpeningElement,entity_descriptor_map.find(Type::IfcFeatureElementSubtraction)->second); + + current = entity_descriptor_map[Type::IfcOrderAction] = new IfcEntityDescriptor(Type::IfcOrderAction,entity_descriptor_map.find(Type::IfcTask)->second); + current->add("ActionID",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcOutletType] = new IfcEntityDescriptor(Type::IfcOutletType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcOutletTypeEnum); + current = entity_descriptor_map[Type::IfcPerformanceHistory] = new IfcEntityDescriptor(Type::IfcPerformanceHistory,entity_descriptor_map.find(Type::IfcControl)->second); + current->add("LifeCyclePhase",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcPermit] = new IfcEntityDescriptor(Type::IfcPermit,entity_descriptor_map.find(Type::IfcControl)->second); + current->add("PermitID",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcPipeFittingType] = new IfcEntityDescriptor(Type::IfcPipeFittingType,entity_descriptor_map.find(Type::IfcFlowFittingType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcPipeFittingTypeEnum); + current = entity_descriptor_map[Type::IfcPipeSegmentType] = new IfcEntityDescriptor(Type::IfcPipeSegmentType,entity_descriptor_map.find(Type::IfcFlowSegmentType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcPipeSegmentTypeEnum); + current = entity_descriptor_map[Type::IfcPlateType] = new IfcEntityDescriptor(Type::IfcPlateType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcPlateTypeEnum); + current = entity_descriptor_map[Type::IfcPolyline] = new IfcEntityDescriptor(Type::IfcPolyline,entity_descriptor_map.find(Type::IfcBoundedCurve)->second); + current->add("Points",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcPort] = new IfcEntityDescriptor(Type::IfcPort,entity_descriptor_map.find(Type::IfcProduct)->second); + + current = entity_descriptor_map[Type::IfcProcedure] = new IfcEntityDescriptor(Type::IfcProcedure,entity_descriptor_map.find(Type::IfcProcess)->second); + current->add("ProcedureID",false,IfcUtil::Argument_STRING); + current->add("ProcedureType",false,IfcUtil::Argument_ENUMERATION,Type::IfcProcedureTypeEnum); + current->add("UserDefinedProcedureType",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcProjectOrder] = new IfcEntityDescriptor(Type::IfcProjectOrder,entity_descriptor_map.find(Type::IfcControl)->second); + current->add("ID",false,IfcUtil::Argument_STRING); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcProjectOrderTypeEnum); + current->add("Status",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcProjectOrderRecord] = new IfcEntityDescriptor(Type::IfcProjectOrderRecord,entity_descriptor_map.find(Type::IfcControl)->second); + current->add("Records",false,IfcUtil::Argument_ENTITY_LIST); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcProjectOrderRecordTypeEnum); + current = entity_descriptor_map[Type::IfcProjectionElement] = new IfcEntityDescriptor(Type::IfcProjectionElement,entity_descriptor_map.find(Type::IfcFeatureElementAddition)->second); + + current = entity_descriptor_map[Type::IfcProtectiveDeviceType] = new IfcEntityDescriptor(Type::IfcProtectiveDeviceType,entity_descriptor_map.find(Type::IfcFlowControllerType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcProtectiveDeviceTypeEnum); + current = entity_descriptor_map[Type::IfcPumpType] = new IfcEntityDescriptor(Type::IfcPumpType,entity_descriptor_map.find(Type::IfcFlowMovingDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcPumpTypeEnum); + current = entity_descriptor_map[Type::IfcRadiusDimension] = new IfcEntityDescriptor(Type::IfcRadiusDimension,entity_descriptor_map.find(Type::IfcDimensionCurveDirectedCallout)->second); + + current = entity_descriptor_map[Type::IfcRailingType] = new IfcEntityDescriptor(Type::IfcRailingType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcRailingTypeEnum); + current = entity_descriptor_map[Type::IfcRampFlightType] = new IfcEntityDescriptor(Type::IfcRampFlightType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcRampFlightTypeEnum); + current = entity_descriptor_map[Type::IfcRelAggregates] = new IfcEntityDescriptor(Type::IfcRelAggregates,entity_descriptor_map.find(Type::IfcRelDecomposes)->second); + + current = entity_descriptor_map[Type::IfcRelAssignsTasks] = new IfcEntityDescriptor(Type::IfcRelAssignsTasks,entity_descriptor_map.find(Type::IfcRelAssignsToControl)->second); + current->add("TimeForTask",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcSanitaryTerminalType] = new IfcEntityDescriptor(Type::IfcSanitaryTerminalType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcSanitaryTerminalTypeEnum); + current = entity_descriptor_map[Type::IfcScheduleTimeControl] = new IfcEntityDescriptor(Type::IfcScheduleTimeControl,entity_descriptor_map.find(Type::IfcControl)->second); + current->add("ActualStart",true,IfcUtil::Argument_ENTITY); + current->add("EarlyStart",true,IfcUtil::Argument_ENTITY); + current->add("LateStart",true,IfcUtil::Argument_ENTITY); + current->add("ScheduleStart",true,IfcUtil::Argument_ENTITY); + current->add("ActualFinish",true,IfcUtil::Argument_ENTITY); + current->add("EarlyFinish",true,IfcUtil::Argument_ENTITY); + current->add("LateFinish",true,IfcUtil::Argument_ENTITY); + current->add("ScheduleFinish",true,IfcUtil::Argument_ENTITY); + current->add("ScheduleDuration",true,IfcUtil::Argument_DOUBLE); + current->add("ActualDuration",true,IfcUtil::Argument_DOUBLE); + current->add("RemainingTime",true,IfcUtil::Argument_DOUBLE); + current->add("FreeFloat",true,IfcUtil::Argument_DOUBLE); + current->add("TotalFloat",true,IfcUtil::Argument_DOUBLE); + current->add("IsCritical",true,IfcUtil::Argument_BOOL); + current->add("StatusTime",true,IfcUtil::Argument_ENTITY); + current->add("StartFloat",true,IfcUtil::Argument_DOUBLE); + current->add("FinishFloat",true,IfcUtil::Argument_DOUBLE); + current->add("Completion",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcServiceLife] = new IfcEntityDescriptor(Type::IfcServiceLife,entity_descriptor_map.find(Type::IfcControl)->second); + current->add("ServiceLifeType",false,IfcUtil::Argument_ENUMERATION,Type::IfcServiceLifeTypeEnum); + current->add("ServiceLifeDuration",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSite] = new IfcEntityDescriptor(Type::IfcSite,entity_descriptor_map.find(Type::IfcSpatialStructureElement)->second); + current->add("RefLatitude",true,IfcUtil::Argument_VECTOR_INT); + current->add("RefLongitude",true,IfcUtil::Argument_VECTOR_INT); + current->add("RefElevation",true,IfcUtil::Argument_DOUBLE); + current->add("LandTitleNumber",true,IfcUtil::Argument_STRING); + current->add("SiteAddress",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcSlabType] = new IfcEntityDescriptor(Type::IfcSlabType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcSlabTypeEnum); + current = entity_descriptor_map[Type::IfcSpace] = new IfcEntityDescriptor(Type::IfcSpace,entity_descriptor_map.find(Type::IfcSpatialStructureElement)->second); + current->add("InteriorOrExteriorSpace",false,IfcUtil::Argument_ENUMERATION,Type::IfcInternalOrExternalEnum); + current->add("ElevationWithFlooring",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSpaceHeaterType] = new IfcEntityDescriptor(Type::IfcSpaceHeaterType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcSpaceHeaterTypeEnum); + current = entity_descriptor_map[Type::IfcSpaceProgram] = new IfcEntityDescriptor(Type::IfcSpaceProgram,entity_descriptor_map.find(Type::IfcControl)->second); + current->add("SpaceProgramIdentifier",false,IfcUtil::Argument_STRING); + current->add("MaxRequiredArea",true,IfcUtil::Argument_DOUBLE); + current->add("MinRequiredArea",true,IfcUtil::Argument_DOUBLE); + current->add("RequestedLocation",true,IfcUtil::Argument_ENTITY); + current->add("StandardRequiredArea",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSpaceType] = new IfcEntityDescriptor(Type::IfcSpaceType,entity_descriptor_map.find(Type::IfcSpatialStructureElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcSpaceTypeEnum); + current = entity_descriptor_map[Type::IfcStackTerminalType] = new IfcEntityDescriptor(Type::IfcStackTerminalType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcStackTerminalTypeEnum); + current = entity_descriptor_map[Type::IfcStairFlightType] = new IfcEntityDescriptor(Type::IfcStairFlightType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcStairFlightTypeEnum); + current = entity_descriptor_map[Type::IfcStructuralAction] = new IfcEntityDescriptor(Type::IfcStructuralAction,entity_descriptor_map.find(Type::IfcStructuralActivity)->second); + current->add("DestabilizingLoad",false,IfcUtil::Argument_BOOL); + current->add("CausedBy",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcStructuralConnection] = new IfcEntityDescriptor(Type::IfcStructuralConnection,entity_descriptor_map.find(Type::IfcStructuralItem)->second); + current->add("AppliedCondition",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcStructuralCurveConnection] = new IfcEntityDescriptor(Type::IfcStructuralCurveConnection,entity_descriptor_map.find(Type::IfcStructuralConnection)->second); + + current = entity_descriptor_map[Type::IfcStructuralCurveMember] = new IfcEntityDescriptor(Type::IfcStructuralCurveMember,entity_descriptor_map.find(Type::IfcStructuralMember)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcStructuralCurveTypeEnum); + current = entity_descriptor_map[Type::IfcStructuralCurveMemberVarying] = new IfcEntityDescriptor(Type::IfcStructuralCurveMemberVarying,entity_descriptor_map.find(Type::IfcStructuralCurveMember)->second); + + current = entity_descriptor_map[Type::IfcStructuralLinearAction] = new IfcEntityDescriptor(Type::IfcStructuralLinearAction,entity_descriptor_map.find(Type::IfcStructuralAction)->second); + current->add("ProjectedOrTrue",false,IfcUtil::Argument_ENUMERATION,Type::IfcProjectedOrTrueLengthEnum); + current = entity_descriptor_map[Type::IfcStructuralLinearActionVarying] = new IfcEntityDescriptor(Type::IfcStructuralLinearActionVarying,entity_descriptor_map.find(Type::IfcStructuralLinearAction)->second); + current->add("VaryingAppliedLoadLocation",false,IfcUtil::Argument_ENTITY); + current->add("SubsequentAppliedLoads",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcStructuralLoadGroup] = new IfcEntityDescriptor(Type::IfcStructuralLoadGroup,entity_descriptor_map.find(Type::IfcGroup)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcLoadGroupTypeEnum); + current->add("ActionType",false,IfcUtil::Argument_ENUMERATION,Type::IfcActionTypeEnum); + current->add("ActionSource",false,IfcUtil::Argument_ENUMERATION,Type::IfcActionSourceTypeEnum); + current->add("Coefficient",true,IfcUtil::Argument_DOUBLE); + current->add("Purpose",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcStructuralPlanarAction] = new IfcEntityDescriptor(Type::IfcStructuralPlanarAction,entity_descriptor_map.find(Type::IfcStructuralAction)->second); + current->add("ProjectedOrTrue",false,IfcUtil::Argument_ENUMERATION,Type::IfcProjectedOrTrueLengthEnum); + current = entity_descriptor_map[Type::IfcStructuralPlanarActionVarying] = new IfcEntityDescriptor(Type::IfcStructuralPlanarActionVarying,entity_descriptor_map.find(Type::IfcStructuralPlanarAction)->second); + current->add("VaryingAppliedLoadLocation",false,IfcUtil::Argument_ENTITY); + current->add("SubsequentAppliedLoads",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcStructuralPointAction] = new IfcEntityDescriptor(Type::IfcStructuralPointAction,entity_descriptor_map.find(Type::IfcStructuralAction)->second); + + current = entity_descriptor_map[Type::IfcStructuralPointConnection] = new IfcEntityDescriptor(Type::IfcStructuralPointConnection,entity_descriptor_map.find(Type::IfcStructuralConnection)->second); + + current = entity_descriptor_map[Type::IfcStructuralPointReaction] = new IfcEntityDescriptor(Type::IfcStructuralPointReaction,entity_descriptor_map.find(Type::IfcStructuralReaction)->second); + + current = entity_descriptor_map[Type::IfcStructuralResultGroup] = new IfcEntityDescriptor(Type::IfcStructuralResultGroup,entity_descriptor_map.find(Type::IfcGroup)->second); + current->add("TheoryType",false,IfcUtil::Argument_ENUMERATION,Type::IfcAnalysisTheoryTypeEnum); + current->add("ResultForLoadGroup",true,IfcUtil::Argument_ENTITY); + current->add("IsLinear",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcStructuralSurfaceConnection] = new IfcEntityDescriptor(Type::IfcStructuralSurfaceConnection,entity_descriptor_map.find(Type::IfcStructuralConnection)->second); + + current = entity_descriptor_map[Type::IfcSubContractResource] = new IfcEntityDescriptor(Type::IfcSubContractResource,entity_descriptor_map.find(Type::IfcConstructionResource)->second); + current->add("SubContractor",true,IfcUtil::Argument_ENTITY); + current->add("JobDescription",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcSwitchingDeviceType] = new IfcEntityDescriptor(Type::IfcSwitchingDeviceType,entity_descriptor_map.find(Type::IfcFlowControllerType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcSwitchingDeviceTypeEnum); + current = entity_descriptor_map[Type::IfcSystem] = new IfcEntityDescriptor(Type::IfcSystem,entity_descriptor_map.find(Type::IfcGroup)->second); + + current = entity_descriptor_map[Type::IfcTankType] = new IfcEntityDescriptor(Type::IfcTankType,entity_descriptor_map.find(Type::IfcFlowStorageDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcTankTypeEnum); + current = entity_descriptor_map[Type::IfcTimeSeriesSchedule] = new IfcEntityDescriptor(Type::IfcTimeSeriesSchedule,entity_descriptor_map.find(Type::IfcControl)->second); + current->add("ApplicableDates",true,IfcUtil::Argument_ENTITY_LIST); + current->add("TimeSeriesScheduleType",false,IfcUtil::Argument_ENUMERATION,Type::IfcTimeSeriesScheduleTypeEnum); + current->add("TimeSeries",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcTransformerType] = new IfcEntityDescriptor(Type::IfcTransformerType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcTransformerTypeEnum); + current = entity_descriptor_map[Type::IfcTransportElement] = new IfcEntityDescriptor(Type::IfcTransportElement,entity_descriptor_map.find(Type::IfcElement)->second); + current->add("OperationType",true,IfcUtil::Argument_ENUMERATION,Type::IfcTransportElementTypeEnum); + current->add("CapacityByWeight",true,IfcUtil::Argument_DOUBLE); + current->add("CapacityByNumber",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcTrimmedCurve] = new IfcEntityDescriptor(Type::IfcTrimmedCurve,entity_descriptor_map.find(Type::IfcBoundedCurve)->second); + current->add("BasisCurve",false,IfcUtil::Argument_ENTITY); + current->add("Trim1",false,IfcUtil::Argument_ENTITY_LIST); + current->add("Trim2",false,IfcUtil::Argument_ENTITY_LIST); + current->add("SenseAgreement",false,IfcUtil::Argument_BOOL); + current->add("MasterRepresentation",false,IfcUtil::Argument_ENUMERATION,Type::IfcTrimmingPreference); + current = entity_descriptor_map[Type::IfcTubeBundleType] = new IfcEntityDescriptor(Type::IfcTubeBundleType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcTubeBundleTypeEnum); + current = entity_descriptor_map[Type::IfcUnitaryEquipmentType] = new IfcEntityDescriptor(Type::IfcUnitaryEquipmentType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcUnitaryEquipmentTypeEnum); + current = entity_descriptor_map[Type::IfcValveType] = new IfcEntityDescriptor(Type::IfcValveType,entity_descriptor_map.find(Type::IfcFlowControllerType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcValveTypeEnum); + current = entity_descriptor_map[Type::IfcVirtualElement] = new IfcEntityDescriptor(Type::IfcVirtualElement,entity_descriptor_map.find(Type::IfcElement)->second); + + current = entity_descriptor_map[Type::IfcWallType] = new IfcEntityDescriptor(Type::IfcWallType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcWallTypeEnum); + current = entity_descriptor_map[Type::IfcWasteTerminalType] = new IfcEntityDescriptor(Type::IfcWasteTerminalType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcWasteTerminalTypeEnum); + current = entity_descriptor_map[Type::IfcWorkControl] = new IfcEntityDescriptor(Type::IfcWorkControl,entity_descriptor_map.find(Type::IfcControl)->second); + current->add("Identifier",false,IfcUtil::Argument_STRING); + current->add("CreationDate",false,IfcUtil::Argument_ENTITY); + current->add("Creators",true,IfcUtil::Argument_ENTITY_LIST); + current->add("Purpose",true,IfcUtil::Argument_STRING); + current->add("Duration",true,IfcUtil::Argument_DOUBLE); + current->add("TotalFloat",true,IfcUtil::Argument_DOUBLE); + current->add("StartTime",false,IfcUtil::Argument_ENTITY); + current->add("FinishTime",true,IfcUtil::Argument_ENTITY); + current->add("WorkControlType",true,IfcUtil::Argument_ENUMERATION,Type::IfcWorkControlTypeEnum); + current->add("UserDefinedControlType",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcWorkPlan] = new IfcEntityDescriptor(Type::IfcWorkPlan,entity_descriptor_map.find(Type::IfcWorkControl)->second); + + current = entity_descriptor_map[Type::IfcWorkSchedule] = new IfcEntityDescriptor(Type::IfcWorkSchedule,entity_descriptor_map.find(Type::IfcWorkControl)->second); + + current = entity_descriptor_map[Type::IfcZone] = new IfcEntityDescriptor(Type::IfcZone,entity_descriptor_map.find(Type::IfcGroup)->second); + + current = entity_descriptor_map[Type::Ifc2DCompositeCurve] = new IfcEntityDescriptor(Type::Ifc2DCompositeCurve,entity_descriptor_map.find(Type::IfcCompositeCurve)->second); + + current = entity_descriptor_map[Type::IfcActionRequest] = new IfcEntityDescriptor(Type::IfcActionRequest,entity_descriptor_map.find(Type::IfcControl)->second); + current->add("RequestID",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcAirTerminalBoxType] = new IfcEntityDescriptor(Type::IfcAirTerminalBoxType,entity_descriptor_map.find(Type::IfcFlowControllerType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcAirTerminalBoxTypeEnum); + current = entity_descriptor_map[Type::IfcAirTerminalType] = new IfcEntityDescriptor(Type::IfcAirTerminalType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcAirTerminalTypeEnum); + current = entity_descriptor_map[Type::IfcAirToAirHeatRecoveryType] = new IfcEntityDescriptor(Type::IfcAirToAirHeatRecoveryType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcAirToAirHeatRecoveryTypeEnum); + current = entity_descriptor_map[Type::IfcAngularDimension] = new IfcEntityDescriptor(Type::IfcAngularDimension,entity_descriptor_map.find(Type::IfcDimensionCurveDirectedCallout)->second); + + current = entity_descriptor_map[Type::IfcAsset] = new IfcEntityDescriptor(Type::IfcAsset,entity_descriptor_map.find(Type::IfcGroup)->second); + current->add("AssetID",false,IfcUtil::Argument_STRING); + current->add("OriginalValue",false,IfcUtil::Argument_ENTITY); + current->add("CurrentValue",false,IfcUtil::Argument_ENTITY); + current->add("TotalReplacementCost",false,IfcUtil::Argument_ENTITY); + current->add("Owner",false,IfcUtil::Argument_ENTITY); + current->add("User",false,IfcUtil::Argument_ENTITY); + current->add("ResponsiblePerson",false,IfcUtil::Argument_ENTITY); + current->add("IncorporationDate",false,IfcUtil::Argument_ENTITY); + current->add("DepreciatedValue",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcBSplineCurve] = new IfcEntityDescriptor(Type::IfcBSplineCurve,entity_descriptor_map.find(Type::IfcBoundedCurve)->second); + current->add("Degree",false,IfcUtil::Argument_INT); + current->add("ControlPointsList",false,IfcUtil::Argument_ENTITY_LIST); + current->add("CurveForm",false,IfcUtil::Argument_ENUMERATION,Type::IfcBSplineCurveForm); + current->add("ClosedCurve",false,IfcUtil::Argument_BOOL); + current->add("SelfIntersect",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcBeamType] = new IfcEntityDescriptor(Type::IfcBeamType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcBeamTypeEnum); + current = entity_descriptor_map[Type::IfcBezierCurve] = new IfcEntityDescriptor(Type::IfcBezierCurve,entity_descriptor_map.find(Type::IfcBSplineCurve)->second); + + current = entity_descriptor_map[Type::IfcBoilerType] = new IfcEntityDescriptor(Type::IfcBoilerType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcBoilerTypeEnum); + current = entity_descriptor_map[Type::IfcBuildingElement] = new IfcEntityDescriptor(Type::IfcBuildingElement,entity_descriptor_map.find(Type::IfcElement)->second); + + current = entity_descriptor_map[Type::IfcBuildingElementComponent] = new IfcEntityDescriptor(Type::IfcBuildingElementComponent,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + + current = entity_descriptor_map[Type::IfcBuildingElementPart] = new IfcEntityDescriptor(Type::IfcBuildingElementPart,entity_descriptor_map.find(Type::IfcBuildingElementComponent)->second); + + current = entity_descriptor_map[Type::IfcBuildingElementProxy] = new IfcEntityDescriptor(Type::IfcBuildingElementProxy,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("CompositionType",true,IfcUtil::Argument_ENUMERATION,Type::IfcElementCompositionEnum); + current = entity_descriptor_map[Type::IfcBuildingElementProxyType] = new IfcEntityDescriptor(Type::IfcBuildingElementProxyType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcBuildingElementProxyTypeEnum); + current = entity_descriptor_map[Type::IfcCableCarrierFittingType] = new IfcEntityDescriptor(Type::IfcCableCarrierFittingType,entity_descriptor_map.find(Type::IfcFlowFittingType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcCableCarrierFittingTypeEnum); + current = entity_descriptor_map[Type::IfcCableCarrierSegmentType] = new IfcEntityDescriptor(Type::IfcCableCarrierSegmentType,entity_descriptor_map.find(Type::IfcFlowSegmentType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcCableCarrierSegmentTypeEnum); + current = entity_descriptor_map[Type::IfcCableSegmentType] = new IfcEntityDescriptor(Type::IfcCableSegmentType,entity_descriptor_map.find(Type::IfcFlowSegmentType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcCableSegmentTypeEnum); + current = entity_descriptor_map[Type::IfcChillerType] = new IfcEntityDescriptor(Type::IfcChillerType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcChillerTypeEnum); + current = entity_descriptor_map[Type::IfcCircle] = new IfcEntityDescriptor(Type::IfcCircle,entity_descriptor_map.find(Type::IfcConic)->second); + current->add("Radius",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcCoilType] = new IfcEntityDescriptor(Type::IfcCoilType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcCoilTypeEnum); + current = entity_descriptor_map[Type::IfcColumn] = new IfcEntityDescriptor(Type::IfcColumn,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + + current = entity_descriptor_map[Type::IfcCompressorType] = new IfcEntityDescriptor(Type::IfcCompressorType,entity_descriptor_map.find(Type::IfcFlowMovingDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcCompressorTypeEnum); + current = entity_descriptor_map[Type::IfcCondenserType] = new IfcEntityDescriptor(Type::IfcCondenserType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcCondenserTypeEnum); + current = entity_descriptor_map[Type::IfcCondition] = new IfcEntityDescriptor(Type::IfcCondition,entity_descriptor_map.find(Type::IfcGroup)->second); + + current = entity_descriptor_map[Type::IfcConditionCriterion] = new IfcEntityDescriptor(Type::IfcConditionCriterion,entity_descriptor_map.find(Type::IfcControl)->second); + current->add("Criterion",false,IfcUtil::Argument_ENTITY); + current->add("CriterionDateTime",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcConstructionEquipmentResource] = new IfcEntityDescriptor(Type::IfcConstructionEquipmentResource,entity_descriptor_map.find(Type::IfcConstructionResource)->second); + + current = entity_descriptor_map[Type::IfcConstructionMaterialResource] = new IfcEntityDescriptor(Type::IfcConstructionMaterialResource,entity_descriptor_map.find(Type::IfcConstructionResource)->second); + current->add("Suppliers",true,IfcUtil::Argument_ENTITY_LIST); + current->add("UsageRatio",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcConstructionProductResource] = new IfcEntityDescriptor(Type::IfcConstructionProductResource,entity_descriptor_map.find(Type::IfcConstructionResource)->second); + + current = entity_descriptor_map[Type::IfcCooledBeamType] = new IfcEntityDescriptor(Type::IfcCooledBeamType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcCooledBeamTypeEnum); + current = entity_descriptor_map[Type::IfcCoolingTowerType] = new IfcEntityDescriptor(Type::IfcCoolingTowerType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcCoolingTowerTypeEnum); + current = entity_descriptor_map[Type::IfcCovering] = new IfcEntityDescriptor(Type::IfcCovering,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcCoveringTypeEnum); + current = entity_descriptor_map[Type::IfcCurtainWall] = new IfcEntityDescriptor(Type::IfcCurtainWall,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + + current = entity_descriptor_map[Type::IfcDamperType] = new IfcEntityDescriptor(Type::IfcDamperType,entity_descriptor_map.find(Type::IfcFlowControllerType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDamperTypeEnum); + current = entity_descriptor_map[Type::IfcDiameterDimension] = new IfcEntityDescriptor(Type::IfcDiameterDimension,entity_descriptor_map.find(Type::IfcDimensionCurveDirectedCallout)->second); + + current = entity_descriptor_map[Type::IfcDiscreteAccessory] = new IfcEntityDescriptor(Type::IfcDiscreteAccessory,entity_descriptor_map.find(Type::IfcElementComponent)->second); + + current = entity_descriptor_map[Type::IfcDiscreteAccessoryType] = new IfcEntityDescriptor(Type::IfcDiscreteAccessoryType,entity_descriptor_map.find(Type::IfcElementComponentType)->second); + + current = entity_descriptor_map[Type::IfcDistributionChamberElementType] = new IfcEntityDescriptor(Type::IfcDistributionChamberElementType,entity_descriptor_map.find(Type::IfcDistributionFlowElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDistributionChamberElementTypeEnum); + current = entity_descriptor_map[Type::IfcDistributionControlElementType] = new IfcEntityDescriptor(Type::IfcDistributionControlElementType,entity_descriptor_map.find(Type::IfcDistributionElementType)->second); + + current = entity_descriptor_map[Type::IfcDistributionElement] = new IfcEntityDescriptor(Type::IfcDistributionElement,entity_descriptor_map.find(Type::IfcElement)->second); + + current = entity_descriptor_map[Type::IfcDistributionFlowElement] = new IfcEntityDescriptor(Type::IfcDistributionFlowElement,entity_descriptor_map.find(Type::IfcDistributionElement)->second); + + current = entity_descriptor_map[Type::IfcDistributionPort] = new IfcEntityDescriptor(Type::IfcDistributionPort,entity_descriptor_map.find(Type::IfcPort)->second); + current->add("FlowDirection",true,IfcUtil::Argument_ENUMERATION,Type::IfcFlowDirectionEnum); + current = entity_descriptor_map[Type::IfcDoor] = new IfcEntityDescriptor(Type::IfcDoor,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("OverallHeight",true,IfcUtil::Argument_DOUBLE); + current->add("OverallWidth",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcDuctFittingType] = new IfcEntityDescriptor(Type::IfcDuctFittingType,entity_descriptor_map.find(Type::IfcFlowFittingType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDuctFittingTypeEnum); + current = entity_descriptor_map[Type::IfcDuctSegmentType] = new IfcEntityDescriptor(Type::IfcDuctSegmentType,entity_descriptor_map.find(Type::IfcFlowSegmentType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDuctSegmentTypeEnum); + current = entity_descriptor_map[Type::IfcDuctSilencerType] = new IfcEntityDescriptor(Type::IfcDuctSilencerType,entity_descriptor_map.find(Type::IfcFlowTreatmentDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDuctSilencerTypeEnum); + current = entity_descriptor_map[Type::IfcEdgeFeature] = new IfcEntityDescriptor(Type::IfcEdgeFeature,entity_descriptor_map.find(Type::IfcFeatureElementSubtraction)->second); + current->add("FeatureLength",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcElectricApplianceType] = new IfcEntityDescriptor(Type::IfcElectricApplianceType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcElectricApplianceTypeEnum); + current = entity_descriptor_map[Type::IfcElectricFlowStorageDeviceType] = new IfcEntityDescriptor(Type::IfcElectricFlowStorageDeviceType,entity_descriptor_map.find(Type::IfcFlowStorageDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcElectricFlowStorageDeviceTypeEnum); + current = entity_descriptor_map[Type::IfcElectricGeneratorType] = new IfcEntityDescriptor(Type::IfcElectricGeneratorType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcElectricGeneratorTypeEnum); + current = entity_descriptor_map[Type::IfcElectricHeaterType] = new IfcEntityDescriptor(Type::IfcElectricHeaterType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcElectricHeaterTypeEnum); + current = entity_descriptor_map[Type::IfcElectricMotorType] = new IfcEntityDescriptor(Type::IfcElectricMotorType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcElectricMotorTypeEnum); + current = entity_descriptor_map[Type::IfcElectricTimeControlType] = new IfcEntityDescriptor(Type::IfcElectricTimeControlType,entity_descriptor_map.find(Type::IfcFlowControllerType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcElectricTimeControlTypeEnum); + current = entity_descriptor_map[Type::IfcElectricalCircuit] = new IfcEntityDescriptor(Type::IfcElectricalCircuit,entity_descriptor_map.find(Type::IfcSystem)->second); + + current = entity_descriptor_map[Type::IfcElectricalElement] = new IfcEntityDescriptor(Type::IfcElectricalElement,entity_descriptor_map.find(Type::IfcElement)->second); + + current = entity_descriptor_map[Type::IfcEnergyConversionDevice] = new IfcEntityDescriptor(Type::IfcEnergyConversionDevice,entity_descriptor_map.find(Type::IfcDistributionFlowElement)->second); + + current = entity_descriptor_map[Type::IfcFanType] = new IfcEntityDescriptor(Type::IfcFanType,entity_descriptor_map.find(Type::IfcFlowMovingDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcFanTypeEnum); + current = entity_descriptor_map[Type::IfcFilterType] = new IfcEntityDescriptor(Type::IfcFilterType,entity_descriptor_map.find(Type::IfcFlowTreatmentDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcFilterTypeEnum); + current = entity_descriptor_map[Type::IfcFireSuppressionTerminalType] = new IfcEntityDescriptor(Type::IfcFireSuppressionTerminalType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcFireSuppressionTerminalTypeEnum); + current = entity_descriptor_map[Type::IfcFlowController] = new IfcEntityDescriptor(Type::IfcFlowController,entity_descriptor_map.find(Type::IfcDistributionFlowElement)->second); + + current = entity_descriptor_map[Type::IfcFlowFitting] = new IfcEntityDescriptor(Type::IfcFlowFitting,entity_descriptor_map.find(Type::IfcDistributionFlowElement)->second); + + current = entity_descriptor_map[Type::IfcFlowInstrumentType] = new IfcEntityDescriptor(Type::IfcFlowInstrumentType,entity_descriptor_map.find(Type::IfcDistributionControlElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcFlowInstrumentTypeEnum); + current = entity_descriptor_map[Type::IfcFlowMovingDevice] = new IfcEntityDescriptor(Type::IfcFlowMovingDevice,entity_descriptor_map.find(Type::IfcDistributionFlowElement)->second); + + current = entity_descriptor_map[Type::IfcFlowSegment] = new IfcEntityDescriptor(Type::IfcFlowSegment,entity_descriptor_map.find(Type::IfcDistributionFlowElement)->second); + + current = entity_descriptor_map[Type::IfcFlowStorageDevice] = new IfcEntityDescriptor(Type::IfcFlowStorageDevice,entity_descriptor_map.find(Type::IfcDistributionFlowElement)->second); + + current = entity_descriptor_map[Type::IfcFlowTerminal] = new IfcEntityDescriptor(Type::IfcFlowTerminal,entity_descriptor_map.find(Type::IfcDistributionFlowElement)->second); + + current = entity_descriptor_map[Type::IfcFlowTreatmentDevice] = new IfcEntityDescriptor(Type::IfcFlowTreatmentDevice,entity_descriptor_map.find(Type::IfcDistributionFlowElement)->second); + + current = entity_descriptor_map[Type::IfcFooting] = new IfcEntityDescriptor(Type::IfcFooting,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcFootingTypeEnum); + current = entity_descriptor_map[Type::IfcMember] = new IfcEntityDescriptor(Type::IfcMember,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + + current = entity_descriptor_map[Type::IfcPile] = new IfcEntityDescriptor(Type::IfcPile,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcPileTypeEnum); + current->add("ConstructionType",true,IfcUtil::Argument_ENUMERATION,Type::IfcPileConstructionEnum); + current = entity_descriptor_map[Type::IfcPlate] = new IfcEntityDescriptor(Type::IfcPlate,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + + current = entity_descriptor_map[Type::IfcRailing] = new IfcEntityDescriptor(Type::IfcRailing,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcRailingTypeEnum); + current = entity_descriptor_map[Type::IfcRamp] = new IfcEntityDescriptor(Type::IfcRamp,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("ShapeType",false,IfcUtil::Argument_ENUMERATION,Type::IfcRampTypeEnum); + current = entity_descriptor_map[Type::IfcRampFlight] = new IfcEntityDescriptor(Type::IfcRampFlight,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + + current = entity_descriptor_map[Type::IfcRationalBezierCurve] = new IfcEntityDescriptor(Type::IfcRationalBezierCurve,entity_descriptor_map.find(Type::IfcBezierCurve)->second); + current->add("WeightsData",false,IfcUtil::Argument_VECTOR_DOUBLE); + current = entity_descriptor_map[Type::IfcReinforcingElement] = new IfcEntityDescriptor(Type::IfcReinforcingElement,entity_descriptor_map.find(Type::IfcBuildingElementComponent)->second); + current->add("SteelGrade",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcReinforcingMesh] = new IfcEntityDescriptor(Type::IfcReinforcingMesh,entity_descriptor_map.find(Type::IfcReinforcingElement)->second); + current->add("MeshLength",true,IfcUtil::Argument_DOUBLE); + current->add("MeshWidth",true,IfcUtil::Argument_DOUBLE); + current->add("LongitudinalBarNominalDiameter",false,IfcUtil::Argument_DOUBLE); + current->add("TransverseBarNominalDiameter",false,IfcUtil::Argument_DOUBLE); + current->add("LongitudinalBarCrossSectionArea",false,IfcUtil::Argument_DOUBLE); + current->add("TransverseBarCrossSectionArea",false,IfcUtil::Argument_DOUBLE); + current->add("LongitudinalBarSpacing",false,IfcUtil::Argument_DOUBLE); + current->add("TransverseBarSpacing",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcRoof] = new IfcEntityDescriptor(Type::IfcRoof,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("ShapeType",false,IfcUtil::Argument_ENUMERATION,Type::IfcRoofTypeEnum); + current = entity_descriptor_map[Type::IfcRoundedEdgeFeature] = new IfcEntityDescriptor(Type::IfcRoundedEdgeFeature,entity_descriptor_map.find(Type::IfcEdgeFeature)->second); + current->add("Radius",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSensorType] = new IfcEntityDescriptor(Type::IfcSensorType,entity_descriptor_map.find(Type::IfcDistributionControlElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcSensorTypeEnum); + current = entity_descriptor_map[Type::IfcSlab] = new IfcEntityDescriptor(Type::IfcSlab,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcSlabTypeEnum); + current = entity_descriptor_map[Type::IfcStair] = new IfcEntityDescriptor(Type::IfcStair,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("ShapeType",false,IfcUtil::Argument_ENUMERATION,Type::IfcStairTypeEnum); + current = entity_descriptor_map[Type::IfcStairFlight] = new IfcEntityDescriptor(Type::IfcStairFlight,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("NumberOfRiser",true,IfcUtil::Argument_INT); + current->add("NumberOfTreads",true,IfcUtil::Argument_INT); + current->add("RiserHeight",true,IfcUtil::Argument_DOUBLE); + current->add("TreadLength",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcStructuralAnalysisModel] = new IfcEntityDescriptor(Type::IfcStructuralAnalysisModel,entity_descriptor_map.find(Type::IfcSystem)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcAnalysisModelTypeEnum); + current->add("OrientationOf2DPlane",true,IfcUtil::Argument_ENTITY); + current->add("LoadedBy",true,IfcUtil::Argument_ENTITY_LIST); + current->add("HasResults",true,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcTendon] = new IfcEntityDescriptor(Type::IfcTendon,entity_descriptor_map.find(Type::IfcReinforcingElement)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcTendonTypeEnum); + current->add("NominalDiameter",false,IfcUtil::Argument_DOUBLE); + current->add("CrossSectionArea",false,IfcUtil::Argument_DOUBLE); + current->add("TensionForce",true,IfcUtil::Argument_DOUBLE); + current->add("PreStress",true,IfcUtil::Argument_DOUBLE); + current->add("FrictionCoefficient",true,IfcUtil::Argument_DOUBLE); + current->add("AnchorageSlip",true,IfcUtil::Argument_DOUBLE); + current->add("MinCurvatureRadius",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcTendonAnchor] = new IfcEntityDescriptor(Type::IfcTendonAnchor,entity_descriptor_map.find(Type::IfcReinforcingElement)->second); + + current = entity_descriptor_map[Type::IfcVibrationIsolatorType] = new IfcEntityDescriptor(Type::IfcVibrationIsolatorType,entity_descriptor_map.find(Type::IfcDiscreteAccessoryType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcVibrationIsolatorTypeEnum); + current = entity_descriptor_map[Type::IfcWall] = new IfcEntityDescriptor(Type::IfcWall,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + + current = entity_descriptor_map[Type::IfcWallStandardCase] = new IfcEntityDescriptor(Type::IfcWallStandardCase,entity_descriptor_map.find(Type::IfcWall)->second); + + current = entity_descriptor_map[Type::IfcWindow] = new IfcEntityDescriptor(Type::IfcWindow,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("OverallHeight",true,IfcUtil::Argument_DOUBLE); + current->add("OverallWidth",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcActuatorType] = new IfcEntityDescriptor(Type::IfcActuatorType,entity_descriptor_map.find(Type::IfcDistributionControlElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcActuatorTypeEnum); + current = entity_descriptor_map[Type::IfcAlarmType] = new IfcEntityDescriptor(Type::IfcAlarmType,entity_descriptor_map.find(Type::IfcDistributionControlElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcAlarmTypeEnum); + current = entity_descriptor_map[Type::IfcBeam] = new IfcEntityDescriptor(Type::IfcBeam,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + + current = entity_descriptor_map[Type::IfcChamferEdgeFeature] = new IfcEntityDescriptor(Type::IfcChamferEdgeFeature,entity_descriptor_map.find(Type::IfcEdgeFeature)->second); + current->add("Width",true,IfcUtil::Argument_DOUBLE); + current->add("Height",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcControllerType] = new IfcEntityDescriptor(Type::IfcControllerType,entity_descriptor_map.find(Type::IfcDistributionControlElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcControllerTypeEnum); + current = entity_descriptor_map[Type::IfcDistributionChamberElement] = new IfcEntityDescriptor(Type::IfcDistributionChamberElement,entity_descriptor_map.find(Type::IfcDistributionFlowElement)->second); + + current = entity_descriptor_map[Type::IfcDistributionControlElement] = new IfcEntityDescriptor(Type::IfcDistributionControlElement,entity_descriptor_map.find(Type::IfcDistributionElement)->second); + current->add("ControlElementId",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcElectricDistributionPoint] = new IfcEntityDescriptor(Type::IfcElectricDistributionPoint,entity_descriptor_map.find(Type::IfcFlowController)->second); + current->add("DistributionPointFunction",false,IfcUtil::Argument_ENUMERATION,Type::IfcElectricDistributionPointFunctionEnum); + current->add("UserDefinedFunction",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcReinforcingBar] = new IfcEntityDescriptor(Type::IfcReinforcingBar,entity_descriptor_map.find(Type::IfcReinforcingElement)->second); + current->add("NominalDiameter",false,IfcUtil::Argument_DOUBLE); + current->add("CrossSectionArea",false,IfcUtil::Argument_DOUBLE); + current->add("BarLength",true,IfcUtil::Argument_DOUBLE); + current->add("BarRole",false,IfcUtil::Argument_ENUMERATION,Type::IfcReinforcingBarRoleEnum); + current->add("BarSurface",true,IfcUtil::Argument_ENUMERATION,Type::IfcReinforcingBarSurfaceEnum); + // Enumerations + IfcEnumerationDescriptor* current_enum; + std::vector values; + values.clear(); values.reserve(128); + values.push_back("DEAD_LOAD_G"); + values.push_back("COMPLETION_G1"); + values.push_back("LIVE_LOAD_Q"); + values.push_back("SNOW_S"); + values.push_back("WIND_W"); + values.push_back("PRESTRESSING_P"); + values.push_back("SETTLEMENT_U"); + values.push_back("TEMPERATURE_T"); + values.push_back("EARTHQUAKE_E"); + values.push_back("FIRE"); + values.push_back("IMPULSE"); + values.push_back("IMPACT"); + values.push_back("TRANSPORT"); + values.push_back("ERECTION"); + values.push_back("PROPPING"); + values.push_back("SYSTEM_IMPERFECTION"); + values.push_back("SHRINKAGE"); + values.push_back("CREEP"); + values.push_back("LACK_OF_FIT"); + values.push_back("BUOYANCY"); + values.push_back("ICE"); + values.push_back("CURRENT"); + values.push_back("WAVE"); + values.push_back("RAIN"); + values.push_back("BRAKES"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcActionSourceTypeEnum] = new IfcEnumerationDescriptor(Type::IfcActionSourceTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("PERMANENT_G"); + values.push_back("VARIABLE_Q"); + values.push_back("EXTRAORDINARY_A"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcActionTypeEnum] = new IfcEnumerationDescriptor(Type::IfcActionTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ELECTRICACTUATOR"); + values.push_back("HANDOPERATEDACTUATOR"); + values.push_back("HYDRAULICACTUATOR"); + values.push_back("PNEUMATICACTUATOR"); + values.push_back("THERMOSTATICACTUATOR"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcActuatorTypeEnum] = new IfcEnumerationDescriptor(Type::IfcActuatorTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("OFFICE"); + values.push_back("SITE"); + values.push_back("HOME"); + values.push_back("DISTRIBUTIONPOINT"); + values.push_back("USERDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcAddressTypeEnum] = new IfcEnumerationDescriptor(Type::IfcAddressTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("AHEAD"); + values.push_back("BEHIND"); + current_enum = enumeration_descriptor_map[Type::IfcAheadOrBehind] = new IfcEnumerationDescriptor(Type::IfcAheadOrBehind, values); + values.clear(); values.reserve(128); + values.push_back("CONSTANTFLOW"); + values.push_back("VARIABLEFLOWPRESSUREDEPENDANT"); + values.push_back("VARIABLEFLOWPRESSUREINDEPENDANT"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcAirTerminalBoxTypeEnum] = new IfcEnumerationDescriptor(Type::IfcAirTerminalBoxTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("GRILLE"); + values.push_back("REGISTER"); + values.push_back("DIFFUSER"); + values.push_back("EYEBALL"); + values.push_back("IRIS"); + values.push_back("LINEARGRILLE"); + values.push_back("LINEARDIFFUSER"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcAirTerminalTypeEnum] = new IfcEnumerationDescriptor(Type::IfcAirTerminalTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("FIXEDPLATECOUNTERFLOWEXCHANGER"); + values.push_back("FIXEDPLATECROSSFLOWEXCHANGER"); + values.push_back("FIXEDPLATEPARALLELFLOWEXCHANGER"); + values.push_back("ROTARYWHEEL"); + values.push_back("RUNAROUNDCOILLOOP"); + values.push_back("HEATPIPE"); + values.push_back("TWINTOWERENTHALPYRECOVERYLOOPS"); + values.push_back("THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"); + values.push_back("THERMOSIPHONCOILTYPEHEATEXCHANGERS"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcAirToAirHeatRecoveryTypeEnum] = new IfcEnumerationDescriptor(Type::IfcAirToAirHeatRecoveryTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("BELL"); + values.push_back("BREAKGLASSBUTTON"); + values.push_back("LIGHT"); + values.push_back("MANUALPULLBOX"); + values.push_back("SIREN"); + values.push_back("WHISTLE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcAlarmTypeEnum] = new IfcEnumerationDescriptor(Type::IfcAlarmTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("IN_PLANE_LOADING_2D"); + values.push_back("OUT_PLANE_LOADING_2D"); + values.push_back("LOADING_3D"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcAnalysisModelTypeEnum] = new IfcEnumerationDescriptor(Type::IfcAnalysisModelTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("FIRST_ORDER_THEORY"); + values.push_back("SECOND_ORDER_THEORY"); + values.push_back("THIRD_ORDER_THEORY"); + values.push_back("FULL_NONLINEAR_THEORY"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcAnalysisTheoryTypeEnum] = new IfcEnumerationDescriptor(Type::IfcAnalysisTheoryTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ADD"); + values.push_back("DIVIDE"); + values.push_back("MULTIPLY"); + values.push_back("SUBTRACT"); + current_enum = enumeration_descriptor_map[Type::IfcArithmeticOperatorEnum] = new IfcEnumerationDescriptor(Type::IfcArithmeticOperatorEnum, values); + values.clear(); values.reserve(128); + values.push_back("SITE"); + values.push_back("FACTORY"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcAssemblyPlaceEnum] = new IfcEnumerationDescriptor(Type::IfcAssemblyPlaceEnum, values); + values.clear(); values.reserve(128); + values.push_back("POLYLINE_FORM"); + values.push_back("CIRCULAR_ARC"); + values.push_back("ELLIPTIC_ARC"); + values.push_back("PARABOLIC_ARC"); + values.push_back("HYPERBOLIC_ARC"); + values.push_back("UNSPECIFIED"); + current_enum = enumeration_descriptor_map[Type::IfcBSplineCurveForm] = new IfcEnumerationDescriptor(Type::IfcBSplineCurveForm, values); + values.clear(); values.reserve(128); + values.push_back("BEAM"); + values.push_back("JOIST"); + values.push_back("LINTEL"); + values.push_back("T_BEAM"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcBeamTypeEnum] = new IfcEnumerationDescriptor(Type::IfcBeamTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("GREATERTHAN"); + values.push_back("GREATERTHANOREQUALTO"); + values.push_back("LESSTHAN"); + values.push_back("LESSTHANOREQUALTO"); + values.push_back("EQUALTO"); + values.push_back("NOTEQUALTO"); + current_enum = enumeration_descriptor_map[Type::IfcBenchmarkEnum] = new IfcEnumerationDescriptor(Type::IfcBenchmarkEnum, values); + values.clear(); values.reserve(128); + values.push_back("WATER"); + values.push_back("STEAM"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcBoilerTypeEnum] = new IfcEnumerationDescriptor(Type::IfcBoilerTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("UNION"); + values.push_back("INTERSECTION"); + values.push_back("DIFFERENCE"); + current_enum = enumeration_descriptor_map[Type::IfcBooleanOperator] = new IfcEnumerationDescriptor(Type::IfcBooleanOperator, values); + values.clear(); values.reserve(128); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcBuildingElementProxyTypeEnum] = new IfcEnumerationDescriptor(Type::IfcBuildingElementProxyTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("BEND"); + values.push_back("CROSS"); + values.push_back("REDUCER"); + values.push_back("TEE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCableCarrierFittingTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCableCarrierFittingTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CABLELADDERSEGMENT"); + values.push_back("CABLETRAYSEGMENT"); + values.push_back("CABLETRUNKINGSEGMENT"); + values.push_back("CONDUITSEGMENT"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCableCarrierSegmentTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCableCarrierSegmentTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CABLESEGMENT"); + values.push_back("CONDUCTORSEGMENT"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCableSegmentTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCableSegmentTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("NOCHANGE"); + values.push_back("MODIFIED"); + values.push_back("ADDED"); + values.push_back("DELETED"); + values.push_back("MODIFIEDADDED"); + values.push_back("MODIFIEDDELETED"); + current_enum = enumeration_descriptor_map[Type::IfcChangeActionEnum] = new IfcEnumerationDescriptor(Type::IfcChangeActionEnum, values); + values.clear(); values.reserve(128); + values.push_back("AIRCOOLED"); + values.push_back("WATERCOOLED"); + values.push_back("HEATRECOVERY"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcChillerTypeEnum] = new IfcEnumerationDescriptor(Type::IfcChillerTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("DXCOOLINGCOIL"); + values.push_back("WATERCOOLINGCOIL"); + values.push_back("STEAMHEATINGCOIL"); + values.push_back("WATERHEATINGCOIL"); + values.push_back("ELECTRICHEATINGCOIL"); + values.push_back("GASHEATINGCOIL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCoilTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCoilTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("COLUMN"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcColumnTypeEnum] = new IfcEnumerationDescriptor(Type::IfcColumnTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("DYNAMIC"); + values.push_back("RECIPROCATING"); + values.push_back("ROTARY"); + values.push_back("SCROLL"); + values.push_back("TROCHOIDAL"); + values.push_back("SINGLESTAGE"); + values.push_back("BOOSTER"); + values.push_back("OPENTYPE"); + values.push_back("HERMETIC"); + values.push_back("SEMIHERMETIC"); + values.push_back("WELDEDSHELLHERMETIC"); + values.push_back("ROLLINGPISTON"); + values.push_back("ROTARYVANE"); + values.push_back("SINGLESCREW"); + values.push_back("TWINSCREW"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCompressorTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCompressorTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("WATERCOOLEDSHELLTUBE"); + values.push_back("WATERCOOLEDSHELLCOIL"); + values.push_back("WATERCOOLEDTUBEINTUBE"); + values.push_back("WATERCOOLEDBRAZEDPLATE"); + values.push_back("AIRCOOLED"); + values.push_back("EVAPORATIVECOOLED"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCondenserTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCondenserTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ATPATH"); + values.push_back("ATSTART"); + values.push_back("ATEND"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcConnectionTypeEnum] = new IfcEnumerationDescriptor(Type::IfcConnectionTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("HARD"); + values.push_back("SOFT"); + values.push_back("ADVISORY"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcConstraintEnum] = new IfcEnumerationDescriptor(Type::IfcConstraintEnum, values); + values.clear(); values.reserve(128); + values.push_back("FLOATING"); + values.push_back("PROPORTIONAL"); + values.push_back("PROPORTIONALINTEGRAL"); + values.push_back("PROPORTIONALINTEGRALDERIVATIVE"); + values.push_back("TIMEDTWOPOSITION"); + values.push_back("TWOPOSITION"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcControllerTypeEnum] = new IfcEnumerationDescriptor(Type::IfcControllerTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ACTIVE"); + values.push_back("PASSIVE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCooledBeamTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCooledBeamTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("NATURALDRAFT"); + values.push_back("MECHANICALINDUCEDDRAFT"); + values.push_back("MECHANICALFORCEDDRAFT"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCoolingTowerTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCoolingTowerTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("BUDGET"); + values.push_back("COSTPLAN"); + values.push_back("ESTIMATE"); + values.push_back("TENDER"); + values.push_back("PRICEDBILLOFQUANTITIES"); + values.push_back("UNPRICEDBILLOFQUANTITIES"); + values.push_back("SCHEDULEOFRATES"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCostScheduleTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCostScheduleTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CEILING"); + values.push_back("FLOORING"); + values.push_back("CLADDING"); + values.push_back("ROOFING"); + values.push_back("INSULATION"); + values.push_back("MEMBRANE"); + values.push_back("SLEEVING"); + values.push_back("WRAPPING"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCoveringTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCoveringTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("AED"); + values.push_back("AES"); + values.push_back("ATS"); + values.push_back("AUD"); + values.push_back("BBD"); + values.push_back("BEG"); + values.push_back("BGL"); + values.push_back("BHD"); + values.push_back("BMD"); + values.push_back("BND"); + values.push_back("BRL"); + values.push_back("BSD"); + values.push_back("BWP"); + values.push_back("BZD"); + values.push_back("CAD"); + values.push_back("CBD"); + values.push_back("CHF"); + values.push_back("CLP"); + values.push_back("CNY"); + values.push_back("CYS"); + values.push_back("CZK"); + values.push_back("DDP"); + values.push_back("DEM"); + values.push_back("DKK"); + values.push_back("EGL"); + values.push_back("EST"); + values.push_back("EUR"); + values.push_back("FAK"); + values.push_back("FIM"); + values.push_back("FJD"); + values.push_back("FKP"); + values.push_back("FRF"); + values.push_back("GBP"); + values.push_back("GIP"); + values.push_back("GMD"); + values.push_back("GRX"); + values.push_back("HKD"); + values.push_back("HUF"); + values.push_back("ICK"); + values.push_back("IDR"); + values.push_back("ILS"); + values.push_back("INR"); + values.push_back("IRP"); + values.push_back("ITL"); + values.push_back("JMD"); + values.push_back("JOD"); + values.push_back("JPY"); + values.push_back("KES"); + values.push_back("KRW"); + values.push_back("KWD"); + values.push_back("KYD"); + values.push_back("LKR"); + values.push_back("LUF"); + values.push_back("MTL"); + values.push_back("MUR"); + values.push_back("MXN"); + values.push_back("MYR"); + values.push_back("NLG"); + values.push_back("NZD"); + values.push_back("OMR"); + values.push_back("PGK"); + values.push_back("PHP"); + values.push_back("PKR"); + values.push_back("PLN"); + values.push_back("PTN"); + values.push_back("QAR"); + values.push_back("RUR"); + values.push_back("SAR"); + values.push_back("SCR"); + values.push_back("SEK"); + values.push_back("SGD"); + values.push_back("SKP"); + values.push_back("THB"); + values.push_back("TRL"); + values.push_back("TTD"); + values.push_back("TWD"); + values.push_back("USD"); + values.push_back("VEB"); + values.push_back("VND"); + values.push_back("XEU"); + values.push_back("ZAR"); + values.push_back("ZWD"); + values.push_back("NOK"); + current_enum = enumeration_descriptor_map[Type::IfcCurrencyEnum] = new IfcEnumerationDescriptor(Type::IfcCurrencyEnum, values); + values.clear(); values.reserve(128); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCurtainWallTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCurtainWallTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CONTROLDAMPER"); + values.push_back("FIREDAMPER"); + values.push_back("SMOKEDAMPER"); + values.push_back("FIRESMOKEDAMPER"); + values.push_back("BACKDRAFTDAMPER"); + values.push_back("RELIEFDAMPER"); + values.push_back("BLASTDAMPER"); + values.push_back("GRAVITYDAMPER"); + values.push_back("GRAVITYRELIEFDAMPER"); + values.push_back("BALANCINGDAMPER"); + values.push_back("FUMEHOODEXHAUST"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDamperTypeEnum] = new IfcEnumerationDescriptor(Type::IfcDamperTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("MEASURED"); + values.push_back("PREDICTED"); + values.push_back("SIMULATED"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDataOriginEnum] = new IfcEnumerationDescriptor(Type::IfcDataOriginEnum, values); + values.clear(); values.reserve(128); + values.push_back("ANGULARVELOCITYUNIT"); + values.push_back("COMPOUNDPLANEANGLEUNIT"); + values.push_back("DYNAMICVISCOSITYUNIT"); + values.push_back("HEATFLUXDENSITYUNIT"); + values.push_back("INTEGERCOUNTRATEUNIT"); + values.push_back("ISOTHERMALMOISTURECAPACITYUNIT"); + values.push_back("KINEMATICVISCOSITYUNIT"); + values.push_back("LINEARVELOCITYUNIT"); + values.push_back("MASSDENSITYUNIT"); + values.push_back("MASSFLOWRATEUNIT"); + values.push_back("MOISTUREDIFFUSIVITYUNIT"); + values.push_back("MOLECULARWEIGHTUNIT"); + values.push_back("SPECIFICHEATCAPACITYUNIT"); + values.push_back("THERMALADMITTANCEUNIT"); + values.push_back("THERMALCONDUCTANCEUNIT"); + values.push_back("THERMALRESISTANCEUNIT"); + values.push_back("THERMALTRANSMITTANCEUNIT"); + values.push_back("VAPORPERMEABILITYUNIT"); + values.push_back("VOLUMETRICFLOWRATEUNIT"); + values.push_back("ROTATIONALFREQUENCYUNIT"); + values.push_back("TORQUEUNIT"); + values.push_back("MOMENTOFINERTIAUNIT"); + values.push_back("LINEARMOMENTUNIT"); + values.push_back("LINEARFORCEUNIT"); + values.push_back("PLANARFORCEUNIT"); + values.push_back("MODULUSOFELASTICITYUNIT"); + values.push_back("SHEARMODULUSUNIT"); + values.push_back("LINEARSTIFFNESSUNIT"); + values.push_back("ROTATIONALSTIFFNESSUNIT"); + values.push_back("MODULUSOFSUBGRADEREACTIONUNIT"); + values.push_back("ACCELERATIONUNIT"); + values.push_back("CURVATUREUNIT"); + values.push_back("HEATINGVALUEUNIT"); + values.push_back("IONCONCENTRATIONUNIT"); + values.push_back("LUMINOUSINTENSITYDISTRIBUTIONUNIT"); + values.push_back("MASSPERLENGTHUNIT"); + values.push_back("MODULUSOFLINEARSUBGRADEREACTIONUNIT"); + values.push_back("MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"); + values.push_back("PHUNIT"); + values.push_back("ROTATIONALMASSUNIT"); + values.push_back("SECTIONAREAINTEGRALUNIT"); + values.push_back("SECTIONMODULUSUNIT"); + values.push_back("SOUNDPOWERUNIT"); + values.push_back("SOUNDPRESSUREUNIT"); + values.push_back("TEMPERATUREGRADIENTUNIT"); + values.push_back("THERMALEXPANSIONCOEFFICIENTUNIT"); + values.push_back("WARPINGCONSTANTUNIT"); + values.push_back("WARPINGMOMENTUNIT"); + values.push_back("USERDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDerivedUnitEnum] = new IfcEnumerationDescriptor(Type::IfcDerivedUnitEnum, values); + values.clear(); values.reserve(128); + values.push_back("ORIGIN"); + values.push_back("TARGET"); + current_enum = enumeration_descriptor_map[Type::IfcDimensionExtentUsage] = new IfcEnumerationDescriptor(Type::IfcDimensionExtentUsage, values); + values.clear(); values.reserve(128); + values.push_back("POSITIVE"); + values.push_back("NEGATIVE"); + current_enum = enumeration_descriptor_map[Type::IfcDirectionSenseEnum] = new IfcEnumerationDescriptor(Type::IfcDirectionSenseEnum, values); + values.clear(); values.reserve(128); + values.push_back("FORMEDDUCT"); + values.push_back("INSPECTIONCHAMBER"); + values.push_back("INSPECTIONPIT"); + values.push_back("MANHOLE"); + values.push_back("METERCHAMBER"); + values.push_back("SUMP"); + values.push_back("TRENCH"); + values.push_back("VALVECHAMBER"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDistributionChamberElementTypeEnum] = new IfcEnumerationDescriptor(Type::IfcDistributionChamberElementTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("PUBLIC"); + values.push_back("RESTRICTED"); + values.push_back("CONFIDENTIAL"); + values.push_back("PERSONAL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDocumentConfidentialityEnum] = new IfcEnumerationDescriptor(Type::IfcDocumentConfidentialityEnum, values); + values.clear(); values.reserve(128); + values.push_back("DRAFT"); + values.push_back("FINALDRAFT"); + values.push_back("FINAL"); + values.push_back("REVISION"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDocumentStatusEnum] = new IfcEnumerationDescriptor(Type::IfcDocumentStatusEnum, values); + values.clear(); values.reserve(128); + values.push_back("SWINGING"); + values.push_back("DOUBLE_ACTING"); + values.push_back("SLIDING"); + values.push_back("FOLDING"); + values.push_back("REVOLVING"); + values.push_back("ROLLINGUP"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDoorPanelOperationEnum] = new IfcEnumerationDescriptor(Type::IfcDoorPanelOperationEnum, values); + values.clear(); values.reserve(128); + values.push_back("LEFT"); + values.push_back("MIDDLE"); + values.push_back("RIGHT"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDoorPanelPositionEnum] = new IfcEnumerationDescriptor(Type::IfcDoorPanelPositionEnum, values); + values.clear(); values.reserve(128); + values.push_back("ALUMINIUM"); + values.push_back("HIGH_GRADE_STEEL"); + values.push_back("STEEL"); + values.push_back("WOOD"); + values.push_back("ALUMINIUM_WOOD"); + values.push_back("ALUMINIUM_PLASTIC"); + values.push_back("PLASTIC"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDoorStyleConstructionEnum] = new IfcEnumerationDescriptor(Type::IfcDoorStyleConstructionEnum, values); + values.clear(); values.reserve(128); + values.push_back("SINGLE_SWING_LEFT"); + values.push_back("SINGLE_SWING_RIGHT"); + values.push_back("DOUBLE_DOOR_SINGLE_SWING"); + values.push_back("DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"); + values.push_back("DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"); + values.push_back("DOUBLE_SWING_LEFT"); + values.push_back("DOUBLE_SWING_RIGHT"); + values.push_back("DOUBLE_DOOR_DOUBLE_SWING"); + values.push_back("SLIDING_TO_LEFT"); + values.push_back("SLIDING_TO_RIGHT"); + values.push_back("DOUBLE_DOOR_SLIDING"); + values.push_back("FOLDING_TO_LEFT"); + values.push_back("FOLDING_TO_RIGHT"); + values.push_back("DOUBLE_DOOR_FOLDING"); + values.push_back("REVOLVING"); + values.push_back("ROLLINGUP"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDoorStyleOperationEnum] = new IfcEnumerationDescriptor(Type::IfcDoorStyleOperationEnum, values); + values.clear(); values.reserve(128); + values.push_back("BEND"); + values.push_back("CONNECTOR"); + values.push_back("ENTRY"); + values.push_back("EXIT"); + values.push_back("JUNCTION"); + values.push_back("OBSTRUCTION"); + values.push_back("TRANSITION"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDuctFittingTypeEnum] = new IfcEnumerationDescriptor(Type::IfcDuctFittingTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("RIGIDSEGMENT"); + values.push_back("FLEXIBLESEGMENT"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDuctSegmentTypeEnum] = new IfcEnumerationDescriptor(Type::IfcDuctSegmentTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("FLATOVAL"); + values.push_back("RECTANGULAR"); + values.push_back("ROUND"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDuctSilencerTypeEnum] = new IfcEnumerationDescriptor(Type::IfcDuctSilencerTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("COMPUTER"); + values.push_back("DIRECTWATERHEATER"); + values.push_back("DISHWASHER"); + values.push_back("ELECTRICCOOKER"); + values.push_back("ELECTRICHEATER"); + values.push_back("FACSIMILE"); + values.push_back("FREESTANDINGFAN"); + values.push_back("FREEZER"); + values.push_back("FRIDGE_FREEZER"); + values.push_back("HANDDRYER"); + values.push_back("INDIRECTWATERHEATER"); + values.push_back("MICROWAVE"); + values.push_back("PHOTOCOPIER"); + values.push_back("PRINTER"); + values.push_back("REFRIGERATOR"); + values.push_back("RADIANTHEATER"); + values.push_back("SCANNER"); + values.push_back("TELEPHONE"); + values.push_back("TUMBLEDRYER"); + values.push_back("TV"); + values.push_back("VENDINGMACHINE"); + values.push_back("WASHINGMACHINE"); + values.push_back("WATERHEATER"); + values.push_back("WATERCOOLER"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcElectricApplianceTypeEnum] = new IfcEnumerationDescriptor(Type::IfcElectricApplianceTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ALTERNATING"); + values.push_back("DIRECT"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcElectricCurrentEnum] = new IfcEnumerationDescriptor(Type::IfcElectricCurrentEnum, values); + values.clear(); values.reserve(128); + values.push_back("ALARMPANEL"); + values.push_back("CONSUMERUNIT"); + values.push_back("CONTROLPANEL"); + values.push_back("DISTRIBUTIONBOARD"); + values.push_back("GASDETECTORPANEL"); + values.push_back("INDICATORPANEL"); + values.push_back("MIMICPANEL"); + values.push_back("MOTORCONTROLCENTRE"); + values.push_back("SWITCHBOARD"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcElectricDistributionPointFunctionEnum] = new IfcEnumerationDescriptor(Type::IfcElectricDistributionPointFunctionEnum, values); + values.clear(); values.reserve(128); + values.push_back("BATTERY"); + values.push_back("CAPACITORBANK"); + values.push_back("HARMONICFILTER"); + values.push_back("INDUCTORBANK"); + values.push_back("UPS"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcElectricFlowStorageDeviceTypeEnum] = new IfcEnumerationDescriptor(Type::IfcElectricFlowStorageDeviceTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcElectricGeneratorTypeEnum] = new IfcEnumerationDescriptor(Type::IfcElectricGeneratorTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ELECTRICPOINTHEATER"); + values.push_back("ELECTRICCABLEHEATER"); + values.push_back("ELECTRICMATHEATER"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcElectricHeaterTypeEnum] = new IfcEnumerationDescriptor(Type::IfcElectricHeaterTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("DC"); + values.push_back("INDUCTION"); + values.push_back("POLYPHASE"); + values.push_back("RELUCTANCESYNCHRONOUS"); + values.push_back("SYNCHRONOUS"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcElectricMotorTypeEnum] = new IfcEnumerationDescriptor(Type::IfcElectricMotorTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("TIMECLOCK"); + values.push_back("TIMEDELAY"); + values.push_back("RELAY"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcElectricTimeControlTypeEnum] = new IfcEnumerationDescriptor(Type::IfcElectricTimeControlTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ACCESSORY_ASSEMBLY"); + values.push_back("ARCH"); + values.push_back("BEAM_GRID"); + values.push_back("BRACED_FRAME"); + values.push_back("GIRDER"); + values.push_back("REINFORCEMENT_UNIT"); + values.push_back("RIGID_FRAME"); + values.push_back("SLAB_FIELD"); + values.push_back("TRUSS"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcElementAssemblyTypeEnum] = new IfcEnumerationDescriptor(Type::IfcElementAssemblyTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("COMPLEX"); + values.push_back("ELEMENT"); + values.push_back("PARTIAL"); + current_enum = enumeration_descriptor_map[Type::IfcElementCompositionEnum] = new IfcEnumerationDescriptor(Type::IfcElementCompositionEnum, values); + values.clear(); values.reserve(128); + values.push_back("PRIMARY"); + values.push_back("SECONDARY"); + values.push_back("TERTIARY"); + values.push_back("AUXILIARY"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcEnergySequenceEnum] = new IfcEnumerationDescriptor(Type::IfcEnergySequenceEnum, values); + values.clear(); values.reserve(128); + values.push_back("COMBINEDVALUE"); + values.push_back("DISPOSAL"); + values.push_back("EXTRACTION"); + values.push_back("INSTALLATION"); + values.push_back("MANUFACTURE"); + values.push_back("TRANSPORTATION"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcEnvironmentalImpactCategoryEnum] = new IfcEnumerationDescriptor(Type::IfcEnvironmentalImpactCategoryEnum, values); + values.clear(); values.reserve(128); + values.push_back("DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"); + values.push_back("DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"); + values.push_back("DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"); + values.push_back("DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"); + values.push_back("DIRECTEVAPORATIVEAIRWASHER"); + values.push_back("INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"); + values.push_back("INDIRECTEVAPORATIVEWETCOIL"); + values.push_back("INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"); + values.push_back("INDIRECTDIRECTCOMBINATION"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcEvaporativeCoolerTypeEnum] = new IfcEnumerationDescriptor(Type::IfcEvaporativeCoolerTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("DIRECTEXPANSIONSHELLANDTUBE"); + values.push_back("DIRECTEXPANSIONTUBEINTUBE"); + values.push_back("DIRECTEXPANSIONBRAZEDPLATE"); + values.push_back("FLOODEDSHELLANDTUBE"); + values.push_back("SHELLANDCOIL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcEvaporatorTypeEnum] = new IfcEnumerationDescriptor(Type::IfcEvaporatorTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CENTRIFUGALFORWARDCURVED"); + values.push_back("CENTRIFUGALRADIAL"); + values.push_back("CENTRIFUGALBACKWARDINCLINEDCURVED"); + values.push_back("CENTRIFUGALAIRFOIL"); + values.push_back("TUBEAXIAL"); + values.push_back("VANEAXIAL"); + values.push_back("PROPELLORAXIAL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcFanTypeEnum] = new IfcEnumerationDescriptor(Type::IfcFanTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("AIRPARTICLEFILTER"); + values.push_back("ODORFILTER"); + values.push_back("OILFILTER"); + values.push_back("STRAINER"); + values.push_back("WATERFILTER"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcFilterTypeEnum] = new IfcEnumerationDescriptor(Type::IfcFilterTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("BREECHINGINLET"); + values.push_back("FIREHYDRANT"); + values.push_back("HOSEREEL"); + values.push_back("SPRINKLER"); + values.push_back("SPRINKLERDEFLECTOR"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcFireSuppressionTerminalTypeEnum] = new IfcEnumerationDescriptor(Type::IfcFireSuppressionTerminalTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("SOURCE"); + values.push_back("SINK"); + values.push_back("SOURCEANDSINK"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcFlowDirectionEnum] = new IfcEnumerationDescriptor(Type::IfcFlowDirectionEnum, values); + values.clear(); values.reserve(128); + values.push_back("PRESSUREGAUGE"); + values.push_back("THERMOMETER"); + values.push_back("AMMETER"); + values.push_back("FREQUENCYMETER"); + values.push_back("POWERFACTORMETER"); + values.push_back("PHASEANGLEMETER"); + values.push_back("VOLTMETER_PEAK"); + values.push_back("VOLTMETER_RMS"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcFlowInstrumentTypeEnum] = new IfcEnumerationDescriptor(Type::IfcFlowInstrumentTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ELECTRICMETER"); + values.push_back("ENERGYMETER"); + values.push_back("FLOWMETER"); + values.push_back("GASMETER"); + values.push_back("OILMETER"); + values.push_back("WATERMETER"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcFlowMeterTypeEnum] = new IfcEnumerationDescriptor(Type::IfcFlowMeterTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("FOOTING_BEAM"); + values.push_back("PAD_FOOTING"); + values.push_back("PILE_CAP"); + values.push_back("STRIP_FOOTING"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcFootingTypeEnum] = new IfcEnumerationDescriptor(Type::IfcFootingTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("GASAPPLIANCE"); + values.push_back("GASBOOSTER"); + values.push_back("GASBURNER"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcGasTerminalTypeEnum] = new IfcEnumerationDescriptor(Type::IfcGasTerminalTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("GRAPH_VIEW"); + values.push_back("SKETCH_VIEW"); + values.push_back("MODEL_VIEW"); + values.push_back("PLAN_VIEW"); + values.push_back("REFLECTED_PLAN_VIEW"); + values.push_back("SECTION_VIEW"); + values.push_back("ELEVATION_VIEW"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcGeometricProjectionEnum] = new IfcEnumerationDescriptor(Type::IfcGeometricProjectionEnum, values); + values.clear(); values.reserve(128); + values.push_back("GLOBAL_COORDS"); + values.push_back("LOCAL_COORDS"); + current_enum = enumeration_descriptor_map[Type::IfcGlobalOrLocalEnum] = new IfcEnumerationDescriptor(Type::IfcGlobalOrLocalEnum, values); + values.clear(); values.reserve(128); + values.push_back("PLATE"); + values.push_back("SHELLANDTUBE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcHeatExchangerTypeEnum] = new IfcEnumerationDescriptor(Type::IfcHeatExchangerTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("STEAMINJECTION"); + values.push_back("ADIABATICAIRWASHER"); + values.push_back("ADIABATICPAN"); + values.push_back("ADIABATICWETTEDELEMENT"); + values.push_back("ADIABATICATOMIZING"); + values.push_back("ADIABATICULTRASONIC"); + values.push_back("ADIABATICRIGIDMEDIA"); + values.push_back("ADIABATICCOMPRESSEDAIRNOZZLE"); + values.push_back("ASSISTEDELECTRIC"); + values.push_back("ASSISTEDNATURALGAS"); + values.push_back("ASSISTEDPROPANE"); + values.push_back("ASSISTEDBUTANE"); + values.push_back("ASSISTEDSTEAM"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcHumidifierTypeEnum] = new IfcEnumerationDescriptor(Type::IfcHumidifierTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("INTERNAL"); + values.push_back("EXTERNAL"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcInternalOrExternalEnum] = new IfcEnumerationDescriptor(Type::IfcInternalOrExternalEnum, values); + values.clear(); values.reserve(128); + values.push_back("ASSETINVENTORY"); + values.push_back("SPACEINVENTORY"); + values.push_back("FURNITUREINVENTORY"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcInventoryTypeEnum] = new IfcEnumerationDescriptor(Type::IfcInventoryTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcJunctionBoxTypeEnum] = new IfcEnumerationDescriptor(Type::IfcJunctionBoxTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("COMPACTFLUORESCENT"); + values.push_back("FLUORESCENT"); + values.push_back("HIGHPRESSUREMERCURY"); + values.push_back("HIGHPRESSURESODIUM"); + values.push_back("METALHALIDE"); + values.push_back("TUNGSTENFILAMENT"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcLampTypeEnum] = new IfcEnumerationDescriptor(Type::IfcLampTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("AXIS1"); + values.push_back("AXIS2"); + values.push_back("AXIS3"); + current_enum = enumeration_descriptor_map[Type::IfcLayerSetDirectionEnum] = new IfcEnumerationDescriptor(Type::IfcLayerSetDirectionEnum, values); + values.clear(); values.reserve(128); + values.push_back("TYPE_A"); + values.push_back("TYPE_B"); + values.push_back("TYPE_C"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcLightDistributionCurveEnum] = new IfcEnumerationDescriptor(Type::IfcLightDistributionCurveEnum, values); + values.clear(); values.reserve(128); + values.push_back("COMPACTFLUORESCENT"); + values.push_back("FLUORESCENT"); + values.push_back("HIGHPRESSUREMERCURY"); + values.push_back("HIGHPRESSURESODIUM"); + values.push_back("LIGHTEMITTINGDIODE"); + values.push_back("LOWPRESSURESODIUM"); + values.push_back("LOWVOLTAGEHALOGEN"); + values.push_back("MAINVOLTAGEHALOGEN"); + values.push_back("METALHALIDE"); + values.push_back("TUNGSTENFILAMENT"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcLightEmissionSourceEnum] = new IfcEnumerationDescriptor(Type::IfcLightEmissionSourceEnum, values); + values.clear(); values.reserve(128); + values.push_back("POINTSOURCE"); + values.push_back("DIRECTIONSOURCE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcLightFixtureTypeEnum] = new IfcEnumerationDescriptor(Type::IfcLightFixtureTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("LOAD_GROUP"); + values.push_back("LOAD_CASE"); + values.push_back("LOAD_COMBINATION_GROUP"); + values.push_back("LOAD_COMBINATION"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcLoadGroupTypeEnum] = new IfcEnumerationDescriptor(Type::IfcLoadGroupTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("LOGICALAND"); + values.push_back("LOGICALOR"); + current_enum = enumeration_descriptor_map[Type::IfcLogicalOperatorEnum] = new IfcEnumerationDescriptor(Type::IfcLogicalOperatorEnum, values); + values.clear(); values.reserve(128); + values.push_back("BRACE"); + values.push_back("CHORD"); + values.push_back("COLLAR"); + values.push_back("MEMBER"); + values.push_back("MULLION"); + values.push_back("PLATE"); + values.push_back("POST"); + values.push_back("PURLIN"); + values.push_back("RAFTER"); + values.push_back("STRINGER"); + values.push_back("STRUT"); + values.push_back("STUD"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcMemberTypeEnum] = new IfcEnumerationDescriptor(Type::IfcMemberTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("BELTDRIVE"); + values.push_back("COUPLING"); + values.push_back("DIRECTDRIVE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcMotorConnectionTypeEnum] = new IfcEnumerationDescriptor(Type::IfcMotorConnectionTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("NULL"); + current_enum = enumeration_descriptor_map[Type::IfcNullStyle] = new IfcEnumerationDescriptor(Type::IfcNullStyle, values); + values.clear(); values.reserve(128); + values.push_back("PRODUCT"); + values.push_back("PROCESS"); + values.push_back("CONTROL"); + values.push_back("RESOURCE"); + values.push_back("ACTOR"); + values.push_back("GROUP"); + values.push_back("PROJECT"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcObjectTypeEnum] = new IfcEnumerationDescriptor(Type::IfcObjectTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CODECOMPLIANCE"); + values.push_back("DESIGNINTENT"); + values.push_back("HEALTHANDSAFETY"); + values.push_back("REQUIREMENT"); + values.push_back("SPECIFICATION"); + values.push_back("TRIGGERCONDITION"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcObjectiveEnum] = new IfcEnumerationDescriptor(Type::IfcObjectiveEnum, values); + values.clear(); values.reserve(128); + values.push_back("ASSIGNEE"); + values.push_back("ASSIGNOR"); + values.push_back("LESSEE"); + values.push_back("LESSOR"); + values.push_back("LETTINGAGENT"); + values.push_back("OWNER"); + values.push_back("TENANT"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcOccupantTypeEnum] = new IfcEnumerationDescriptor(Type::IfcOccupantTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("AUDIOVISUALOUTLET"); + values.push_back("COMMUNICATIONSOUTLET"); + values.push_back("POWEROUTLET"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcOutletTypeEnum] = new IfcEnumerationDescriptor(Type::IfcOutletTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("GRILL"); + values.push_back("LOUVER"); + values.push_back("SCREEN"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcPermeableCoveringOperationEnum] = new IfcEnumerationDescriptor(Type::IfcPermeableCoveringOperationEnum, values); + values.clear(); values.reserve(128); + values.push_back("PHYSICAL"); + values.push_back("VIRTUAL"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcPhysicalOrVirtualEnum] = new IfcEnumerationDescriptor(Type::IfcPhysicalOrVirtualEnum, values); + values.clear(); values.reserve(128); + values.push_back("CAST_IN_PLACE"); + values.push_back("COMPOSITE"); + values.push_back("PRECAST_CONCRETE"); + values.push_back("PREFAB_STEEL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcPileConstructionEnum] = new IfcEnumerationDescriptor(Type::IfcPileConstructionEnum, values); + values.clear(); values.reserve(128); + values.push_back("COHESION"); + values.push_back("FRICTION"); + values.push_back("SUPPORT"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcPileTypeEnum] = new IfcEnumerationDescriptor(Type::IfcPileTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("BEND"); + values.push_back("CONNECTOR"); + values.push_back("ENTRY"); + values.push_back("EXIT"); + values.push_back("JUNCTION"); + values.push_back("OBSTRUCTION"); + values.push_back("TRANSITION"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcPipeFittingTypeEnum] = new IfcEnumerationDescriptor(Type::IfcPipeFittingTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("FLEXIBLESEGMENT"); + values.push_back("RIGIDSEGMENT"); + values.push_back("GUTTER"); + values.push_back("SPOOL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcPipeSegmentTypeEnum] = new IfcEnumerationDescriptor(Type::IfcPipeSegmentTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CURTAIN_PANEL"); + values.push_back("SHEET"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcPlateTypeEnum] = new IfcEnumerationDescriptor(Type::IfcPlateTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ADVICE_CAUTION"); + values.push_back("ADVICE_NOTE"); + values.push_back("ADVICE_WARNING"); + values.push_back("CALIBRATION"); + values.push_back("DIAGNOSTIC"); + values.push_back("SHUTDOWN"); + values.push_back("STARTUP"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcProcedureTypeEnum] = new IfcEnumerationDescriptor(Type::IfcProcedureTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CURVE"); + values.push_back("AREA"); + current_enum = enumeration_descriptor_map[Type::IfcProfileTypeEnum] = new IfcEnumerationDescriptor(Type::IfcProfileTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CHANGE"); + values.push_back("MAINTENANCE"); + values.push_back("MOVE"); + values.push_back("PURCHASE"); + values.push_back("WORK"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcProjectOrderRecordTypeEnum] = new IfcEnumerationDescriptor(Type::IfcProjectOrderRecordTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CHANGEORDER"); + values.push_back("MAINTENANCEWORKORDER"); + values.push_back("MOVEORDER"); + values.push_back("PURCHASEORDER"); + values.push_back("WORKORDER"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcProjectOrderTypeEnum] = new IfcEnumerationDescriptor(Type::IfcProjectOrderTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("PROJECTED_LENGTH"); + values.push_back("TRUE_LENGTH"); + current_enum = enumeration_descriptor_map[Type::IfcProjectedOrTrueLengthEnum] = new IfcEnumerationDescriptor(Type::IfcProjectedOrTrueLengthEnum, values); + values.clear(); values.reserve(128); + values.push_back("DESIGN"); + values.push_back("DESIGNMAXIMUM"); + values.push_back("DESIGNMINIMUM"); + values.push_back("SIMULATED"); + values.push_back("ASBUILT"); + values.push_back("COMMISSIONING"); + values.push_back("MEASURED"); + values.push_back("USERDEFINED"); + values.push_back("NOTKNOWN"); + current_enum = enumeration_descriptor_map[Type::IfcPropertySourceEnum] = new IfcEnumerationDescriptor(Type::IfcPropertySourceEnum, values); + values.clear(); values.reserve(128); + values.push_back("FUSEDISCONNECTOR"); + values.push_back("CIRCUITBREAKER"); + values.push_back("EARTHFAILUREDEVICE"); + values.push_back("RESIDUALCURRENTCIRCUITBREAKER"); + values.push_back("RESIDUALCURRENTSWITCH"); + values.push_back("VARISTOR"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcProtectiveDeviceTypeEnum] = new IfcEnumerationDescriptor(Type::IfcProtectiveDeviceTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CIRCULATOR"); + values.push_back("ENDSUCTION"); + values.push_back("SPLITCASE"); + values.push_back("VERTICALINLINE"); + values.push_back("VERTICALTURBINE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcPumpTypeEnum] = new IfcEnumerationDescriptor(Type::IfcPumpTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("HANDRAIL"); + values.push_back("GUARDRAIL"); + values.push_back("BALUSTRADE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcRailingTypeEnum] = new IfcEnumerationDescriptor(Type::IfcRailingTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("STRAIGHT"); + values.push_back("SPIRAL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcRampFlightTypeEnum] = new IfcEnumerationDescriptor(Type::IfcRampFlightTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("STRAIGHT_RUN_RAMP"); + values.push_back("TWO_STRAIGHT_RUN_RAMP"); + values.push_back("QUARTER_TURN_RAMP"); + values.push_back("TWO_QUARTER_TURN_RAMP"); + values.push_back("HALF_TURN_RAMP"); + values.push_back("SPIRAL_RAMP"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcRampTypeEnum] = new IfcEnumerationDescriptor(Type::IfcRampTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("BLINN"); + values.push_back("FLAT"); + values.push_back("GLASS"); + values.push_back("MATT"); + values.push_back("METAL"); + values.push_back("MIRROR"); + values.push_back("PHONG"); + values.push_back("PLASTIC"); + values.push_back("STRAUSS"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcReflectanceMethodEnum] = new IfcEnumerationDescriptor(Type::IfcReflectanceMethodEnum, values); + values.clear(); values.reserve(128); + values.push_back("MAIN"); + values.push_back("SHEAR"); + values.push_back("LIGATURE"); + values.push_back("STUD"); + values.push_back("PUNCHING"); + values.push_back("EDGE"); + values.push_back("RING"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcReinforcingBarRoleEnum] = new IfcEnumerationDescriptor(Type::IfcReinforcingBarRoleEnum, values); + values.clear(); values.reserve(128); + values.push_back("PLAIN"); + values.push_back("TEXTURED"); + current_enum = enumeration_descriptor_map[Type::IfcReinforcingBarSurfaceEnum] = new IfcEnumerationDescriptor(Type::IfcReinforcingBarSurfaceEnum, values); + values.clear(); values.reserve(128); + values.push_back("CONSUMED"); + values.push_back("PARTIALLYCONSUMED"); + values.push_back("NOTCONSUMED"); + values.push_back("OCCUPIED"); + values.push_back("PARTIALLYOCCUPIED"); + values.push_back("NOTOCCUPIED"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcResourceConsumptionEnum] = new IfcEnumerationDescriptor(Type::IfcResourceConsumptionEnum, values); + values.clear(); values.reserve(128); + values.push_back("DIRECTION_X"); + values.push_back("DIRECTION_Y"); + current_enum = enumeration_descriptor_map[Type::IfcRibPlateDirectionEnum] = new IfcEnumerationDescriptor(Type::IfcRibPlateDirectionEnum, values); + values.clear(); values.reserve(128); + values.push_back("SUPPLIER"); + values.push_back("MANUFACTURER"); + values.push_back("CONTRACTOR"); + values.push_back("SUBCONTRACTOR"); + values.push_back("ARCHITECT"); + values.push_back("STRUCTURALENGINEER"); + values.push_back("COSTENGINEER"); + values.push_back("CLIENT"); + values.push_back("BUILDINGOWNER"); + values.push_back("BUILDINGOPERATOR"); + values.push_back("MECHANICALENGINEER"); + values.push_back("ELECTRICALENGINEER"); + values.push_back("PROJECTMANAGER"); + values.push_back("FACILITIESMANAGER"); + values.push_back("CIVILENGINEER"); + values.push_back("COMISSIONINGENGINEER"); + values.push_back("ENGINEER"); + values.push_back("OWNER"); + values.push_back("CONSULTANT"); + values.push_back("CONSTRUCTIONMANAGER"); + values.push_back("FIELDCONSTRUCTIONMANAGER"); + values.push_back("RESELLER"); + values.push_back("USERDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcRoleEnum] = new IfcEnumerationDescriptor(Type::IfcRoleEnum, values); + values.clear(); values.reserve(128); + values.push_back("FLAT_ROOF"); + values.push_back("SHED_ROOF"); + values.push_back("GABLE_ROOF"); + values.push_back("HIP_ROOF"); + values.push_back("HIPPED_GABLE_ROOF"); + values.push_back("GAMBREL_ROOF"); + values.push_back("MANSARD_ROOF"); + values.push_back("BARREL_ROOF"); + values.push_back("RAINBOW_ROOF"); + values.push_back("BUTTERFLY_ROOF"); + values.push_back("PAVILION_ROOF"); + values.push_back("DOME_ROOF"); + values.push_back("FREEFORM"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcRoofTypeEnum] = new IfcEnumerationDescriptor(Type::IfcRoofTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("EXA"); + values.push_back("PETA"); + values.push_back("TERA"); + values.push_back("GIGA"); + values.push_back("MEGA"); + values.push_back("KILO"); + values.push_back("HECTO"); + values.push_back("DECA"); + values.push_back("DECI"); + values.push_back("CENTI"); + values.push_back("MILLI"); + values.push_back("MICRO"); + values.push_back("NANO"); + values.push_back("PICO"); + values.push_back("FEMTO"); + values.push_back("ATTO"); + current_enum = enumeration_descriptor_map[Type::IfcSIPrefix] = new IfcEnumerationDescriptor(Type::IfcSIPrefix, values); + values.clear(); values.reserve(128); + values.push_back("AMPERE"); + values.push_back("BECQUEREL"); + values.push_back("CANDELA"); + values.push_back("COULOMB"); + values.push_back("CUBIC_METRE"); + values.push_back("DEGREE_CELSIUS"); + values.push_back("FARAD"); + values.push_back("GRAM"); + values.push_back("GRAY"); + values.push_back("HENRY"); + values.push_back("HERTZ"); + values.push_back("JOULE"); + values.push_back("KELVIN"); + values.push_back("LUMEN"); + values.push_back("LUX"); + values.push_back("METRE"); + values.push_back("MOLE"); + values.push_back("NEWTON"); + values.push_back("OHM"); + values.push_back("PASCAL"); + values.push_back("RADIAN"); + values.push_back("SECOND"); + values.push_back("SIEMENS"); + values.push_back("SIEVERT"); + values.push_back("SQUARE_METRE"); + values.push_back("STERADIAN"); + values.push_back("TESLA"); + values.push_back("VOLT"); + values.push_back("WATT"); + values.push_back("WEBER"); + current_enum = enumeration_descriptor_map[Type::IfcSIUnitName] = new IfcEnumerationDescriptor(Type::IfcSIUnitName, values); + values.clear(); values.reserve(128); + values.push_back("BATH"); + values.push_back("BIDET"); + values.push_back("CISTERN"); + values.push_back("SHOWER"); + values.push_back("SINK"); + values.push_back("SANITARYFOUNTAIN"); + values.push_back("TOILETPAN"); + values.push_back("URINAL"); + values.push_back("WASHHANDBASIN"); + values.push_back("WCSEAT"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcSanitaryTerminalTypeEnum] = new IfcEnumerationDescriptor(Type::IfcSanitaryTerminalTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("UNIFORM"); + values.push_back("TAPERED"); + current_enum = enumeration_descriptor_map[Type::IfcSectionTypeEnum] = new IfcEnumerationDescriptor(Type::IfcSectionTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CO2SENSOR"); + values.push_back("FIRESENSOR"); + values.push_back("FLOWSENSOR"); + values.push_back("GASSENSOR"); + values.push_back("HEATSENSOR"); + values.push_back("HUMIDITYSENSOR"); + values.push_back("LIGHTSENSOR"); + values.push_back("MOISTURESENSOR"); + values.push_back("MOVEMENTSENSOR"); + values.push_back("PRESSURESENSOR"); + values.push_back("SMOKESENSOR"); + values.push_back("SOUNDSENSOR"); + values.push_back("TEMPERATURESENSOR"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcSensorTypeEnum] = new IfcEnumerationDescriptor(Type::IfcSensorTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("START_START"); + values.push_back("START_FINISH"); + values.push_back("FINISH_START"); + values.push_back("FINISH_FINISH"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcSequenceEnum] = new IfcEnumerationDescriptor(Type::IfcSequenceEnum, values); + values.clear(); values.reserve(128); + values.push_back("A_QUALITYOFCOMPONENTS"); + values.push_back("B_DESIGNLEVEL"); + values.push_back("C_WORKEXECUTIONLEVEL"); + values.push_back("D_INDOORENVIRONMENT"); + values.push_back("E_OUTDOORENVIRONMENT"); + values.push_back("F_INUSECONDITIONS"); + values.push_back("G_MAINTENANCELEVEL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcServiceLifeFactorTypeEnum] = new IfcEnumerationDescriptor(Type::IfcServiceLifeFactorTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ACTUALSERVICELIFE"); + values.push_back("EXPECTEDSERVICELIFE"); + values.push_back("OPTIMISTICREFERENCESERVICELIFE"); + values.push_back("PESSIMISTICREFERENCESERVICELIFE"); + values.push_back("REFERENCESERVICELIFE"); + current_enum = enumeration_descriptor_map[Type::IfcServiceLifeTypeEnum] = new IfcEnumerationDescriptor(Type::IfcServiceLifeTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("FLOOR"); + values.push_back("ROOF"); + values.push_back("LANDING"); + values.push_back("BASESLAB"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcSlabTypeEnum] = new IfcEnumerationDescriptor(Type::IfcSlabTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("DBA"); + values.push_back("DBB"); + values.push_back("DBC"); + values.push_back("NC"); + values.push_back("NR"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcSoundScaleEnum] = new IfcEnumerationDescriptor(Type::IfcSoundScaleEnum, values); + values.clear(); values.reserve(128); + values.push_back("SECTIONALRADIATOR"); + values.push_back("PANELRADIATOR"); + values.push_back("TUBULARRADIATOR"); + values.push_back("CONVECTOR"); + values.push_back("BASEBOARDHEATER"); + values.push_back("FINNEDTUBEUNIT"); + values.push_back("UNITHEATER"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcSpaceHeaterTypeEnum] = new IfcEnumerationDescriptor(Type::IfcSpaceHeaterTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcSpaceTypeEnum] = new IfcEnumerationDescriptor(Type::IfcSpaceTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("BIRDCAGE"); + values.push_back("COWL"); + values.push_back("RAINWATERHOPPER"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcStackTerminalTypeEnum] = new IfcEnumerationDescriptor(Type::IfcStackTerminalTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("STRAIGHT"); + values.push_back("WINDER"); + values.push_back("SPIRAL"); + values.push_back("CURVED"); + values.push_back("FREEFORM"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcStairFlightTypeEnum] = new IfcEnumerationDescriptor(Type::IfcStairFlightTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("STRAIGHT_RUN_STAIR"); + values.push_back("TWO_STRAIGHT_RUN_STAIR"); + values.push_back("QUARTER_WINDING_STAIR"); + values.push_back("QUARTER_TURN_STAIR"); + values.push_back("HALF_WINDING_STAIR"); + values.push_back("HALF_TURN_STAIR"); + values.push_back("TWO_QUARTER_WINDING_STAIR"); + values.push_back("TWO_QUARTER_TURN_STAIR"); + values.push_back("THREE_QUARTER_WINDING_STAIR"); + values.push_back("THREE_QUARTER_TURN_STAIR"); + values.push_back("SPIRAL_STAIR"); + values.push_back("DOUBLE_RETURN_STAIR"); + values.push_back("CURVED_RUN_STAIR"); + values.push_back("TWO_CURVED_RUN_STAIR"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcStairTypeEnum] = new IfcEnumerationDescriptor(Type::IfcStairTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("READWRITE"); + values.push_back("READONLY"); + values.push_back("LOCKED"); + values.push_back("READWRITELOCKED"); + values.push_back("READONLYLOCKED"); + current_enum = enumeration_descriptor_map[Type::IfcStateEnum] = new IfcEnumerationDescriptor(Type::IfcStateEnum, values); + values.clear(); values.reserve(128); + values.push_back("RIGID_JOINED_MEMBER"); + values.push_back("PIN_JOINED_MEMBER"); + values.push_back("CABLE"); + values.push_back("TENSION_MEMBER"); + values.push_back("COMPRESSION_MEMBER"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcStructuralCurveTypeEnum] = new IfcEnumerationDescriptor(Type::IfcStructuralCurveTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("BENDING_ELEMENT"); + values.push_back("MEMBRANE_ELEMENT"); + values.push_back("SHELL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcStructuralSurfaceTypeEnum] = new IfcEnumerationDescriptor(Type::IfcStructuralSurfaceTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("POSITIVE"); + values.push_back("NEGATIVE"); + values.push_back("BOTH"); + current_enum = enumeration_descriptor_map[Type::IfcSurfaceSide] = new IfcEnumerationDescriptor(Type::IfcSurfaceSide, values); + values.clear(); values.reserve(128); + values.push_back("BUMP"); + values.push_back("OPACITY"); + values.push_back("REFLECTION"); + values.push_back("SELFILLUMINATION"); + values.push_back("SHININESS"); + values.push_back("SPECULAR"); + values.push_back("TEXTURE"); + values.push_back("TRANSPARENCYMAP"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcSurfaceTextureEnum] = new IfcEnumerationDescriptor(Type::IfcSurfaceTextureEnum, values); + values.clear(); values.reserve(128); + values.push_back("CONTACTOR"); + values.push_back("EMERGENCYSTOP"); + values.push_back("STARTER"); + values.push_back("SWITCHDISCONNECTOR"); + values.push_back("TOGGLESWITCH"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcSwitchingDeviceTypeEnum] = new IfcEnumerationDescriptor(Type::IfcSwitchingDeviceTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("PREFORMED"); + values.push_back("SECTIONAL"); + values.push_back("EXPANSION"); + values.push_back("PRESSUREVESSEL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcTankTypeEnum] = new IfcEnumerationDescriptor(Type::IfcTankTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("STRAND"); + values.push_back("WIRE"); + values.push_back("BAR"); + values.push_back("COATED"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcTendonTypeEnum] = new IfcEnumerationDescriptor(Type::IfcTendonTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("LEFT"); + values.push_back("RIGHT"); + values.push_back("UP"); + values.push_back("DOWN"); + current_enum = enumeration_descriptor_map[Type::IfcTextPath] = new IfcEnumerationDescriptor(Type::IfcTextPath, values); + values.clear(); values.reserve(128); + values.push_back("PEOPLE"); + values.push_back("LIGHTING"); + values.push_back("EQUIPMENT"); + values.push_back("VENTILATIONINDOORAIR"); + values.push_back("VENTILATIONOUTSIDEAIR"); + values.push_back("RECIRCULATEDAIR"); + values.push_back("EXHAUSTAIR"); + values.push_back("AIREXCHANGERATE"); + values.push_back("DRYBULBTEMPERATURE"); + values.push_back("RELATIVEHUMIDITY"); + values.push_back("INFILTRATION"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcThermalLoadSourceEnum] = new IfcEnumerationDescriptor(Type::IfcThermalLoadSourceEnum, values); + values.clear(); values.reserve(128); + values.push_back("SENSIBLE"); + values.push_back("LATENT"); + values.push_back("RADIANT"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcThermalLoadTypeEnum] = new IfcEnumerationDescriptor(Type::IfcThermalLoadTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CONTINUOUS"); + values.push_back("DISCRETE"); + values.push_back("DISCRETEBINARY"); + values.push_back("PIECEWISEBINARY"); + values.push_back("PIECEWISECONSTANT"); + values.push_back("PIECEWISECONTINUOUS"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcTimeSeriesDataTypeEnum] = new IfcEnumerationDescriptor(Type::IfcTimeSeriesDataTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ANNUAL"); + values.push_back("MONTHLY"); + values.push_back("WEEKLY"); + values.push_back("DAILY"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcTimeSeriesScheduleTypeEnum] = new IfcEnumerationDescriptor(Type::IfcTimeSeriesScheduleTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CURRENT"); + values.push_back("FREQUENCY"); + values.push_back("VOLTAGE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcTransformerTypeEnum] = new IfcEnumerationDescriptor(Type::IfcTransformerTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("DISCONTINUOUS"); + values.push_back("CONTINUOUS"); + values.push_back("CONTSAMEGRADIENT"); + values.push_back("CONTSAMEGRADIENTSAMECURVATURE"); + current_enum = enumeration_descriptor_map[Type::IfcTransitionCode] = new IfcEnumerationDescriptor(Type::IfcTransitionCode, values); + values.clear(); values.reserve(128); + values.push_back("ELEVATOR"); + values.push_back("ESCALATOR"); + values.push_back("MOVINGWALKWAY"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcTransportElementTypeEnum] = new IfcEnumerationDescriptor(Type::IfcTransportElementTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CARTESIAN"); + values.push_back("PARAMETER"); + values.push_back("UNSPECIFIED"); + current_enum = enumeration_descriptor_map[Type::IfcTrimmingPreference] = new IfcEnumerationDescriptor(Type::IfcTrimmingPreference, values); + values.clear(); values.reserve(128); + values.push_back("FINNED"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcTubeBundleTypeEnum] = new IfcEnumerationDescriptor(Type::IfcTubeBundleTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ABSORBEDDOSEUNIT"); + values.push_back("AMOUNTOFSUBSTANCEUNIT"); + values.push_back("AREAUNIT"); + values.push_back("DOSEEQUIVALENTUNIT"); + values.push_back("ELECTRICCAPACITANCEUNIT"); + values.push_back("ELECTRICCHARGEUNIT"); + values.push_back("ELECTRICCONDUCTANCEUNIT"); + values.push_back("ELECTRICCURRENTUNIT"); + values.push_back("ELECTRICRESISTANCEUNIT"); + values.push_back("ELECTRICVOLTAGEUNIT"); + values.push_back("ENERGYUNIT"); + values.push_back("FORCEUNIT"); + values.push_back("FREQUENCYUNIT"); + values.push_back("ILLUMINANCEUNIT"); + values.push_back("INDUCTANCEUNIT"); + values.push_back("LENGTHUNIT"); + values.push_back("LUMINOUSFLUXUNIT"); + values.push_back("LUMINOUSINTENSITYUNIT"); + values.push_back("MAGNETICFLUXDENSITYUNIT"); + values.push_back("MAGNETICFLUXUNIT"); + values.push_back("MASSUNIT"); + values.push_back("PLANEANGLEUNIT"); + values.push_back("POWERUNIT"); + values.push_back("PRESSUREUNIT"); + values.push_back("RADIOACTIVITYUNIT"); + values.push_back("SOLIDANGLEUNIT"); + values.push_back("THERMODYNAMICTEMPERATUREUNIT"); + values.push_back("TIMEUNIT"); + values.push_back("VOLUMEUNIT"); + values.push_back("USERDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcUnitEnum] = new IfcEnumerationDescriptor(Type::IfcUnitEnum, values); + values.clear(); values.reserve(128); + values.push_back("AIRHANDLER"); + values.push_back("AIRCONDITIONINGUNIT"); + values.push_back("SPLITSYSTEM"); + values.push_back("ROOFTOPUNIT"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcUnitaryEquipmentTypeEnum] = new IfcEnumerationDescriptor(Type::IfcUnitaryEquipmentTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("AIRRELEASE"); + values.push_back("ANTIVACUUM"); + values.push_back("CHANGEOVER"); + values.push_back("CHECK"); + values.push_back("COMMISSIONING"); + values.push_back("DIVERTING"); + values.push_back("DRAWOFFCOCK"); + values.push_back("DOUBLECHECK"); + values.push_back("DOUBLEREGULATING"); + values.push_back("FAUCET"); + values.push_back("FLUSHING"); + values.push_back("GASCOCK"); + values.push_back("GASTAP"); + values.push_back("ISOLATING"); + values.push_back("MIXING"); + values.push_back("PRESSUREREDUCING"); + values.push_back("PRESSURERELIEF"); + values.push_back("REGULATING"); + values.push_back("SAFETYCUTOFF"); + values.push_back("STEAMTRAP"); + values.push_back("STOPCOCK"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcValveTypeEnum] = new IfcEnumerationDescriptor(Type::IfcValveTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("COMPRESSION"); + values.push_back("SPRING"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcVibrationIsolatorTypeEnum] = new IfcEnumerationDescriptor(Type::IfcVibrationIsolatorTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("STANDARD"); + values.push_back("POLYGONAL"); + values.push_back("SHEAR"); + values.push_back("ELEMENTEDWALL"); + values.push_back("PLUMBINGWALL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcWallTypeEnum] = new IfcEnumerationDescriptor(Type::IfcWallTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("FLOORTRAP"); + values.push_back("FLOORWASTE"); + values.push_back("GULLYSUMP"); + values.push_back("GULLYTRAP"); + values.push_back("GREASEINTERCEPTOR"); + values.push_back("OILINTERCEPTOR"); + values.push_back("PETROLINTERCEPTOR"); + values.push_back("ROOFDRAIN"); + values.push_back("WASTEDISPOSALUNIT"); + values.push_back("WASTETRAP"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcWasteTerminalTypeEnum] = new IfcEnumerationDescriptor(Type::IfcWasteTerminalTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("SIDEHUNGRIGHTHAND"); + values.push_back("SIDEHUNGLEFTHAND"); + values.push_back("TILTANDTURNRIGHTHAND"); + values.push_back("TILTANDTURNLEFTHAND"); + values.push_back("TOPHUNG"); + values.push_back("BOTTOMHUNG"); + values.push_back("PIVOTHORIZONTAL"); + values.push_back("PIVOTVERTICAL"); + values.push_back("SLIDINGHORIZONTAL"); + values.push_back("SLIDINGVERTICAL"); + values.push_back("REMOVABLECASEMENT"); + values.push_back("FIXEDCASEMENT"); + values.push_back("OTHEROPERATION"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcWindowPanelOperationEnum] = new IfcEnumerationDescriptor(Type::IfcWindowPanelOperationEnum, values); + values.clear(); values.reserve(128); + values.push_back("LEFT"); + values.push_back("MIDDLE"); + values.push_back("RIGHT"); + values.push_back("BOTTOM"); + values.push_back("TOP"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcWindowPanelPositionEnum] = new IfcEnumerationDescriptor(Type::IfcWindowPanelPositionEnum, values); + values.clear(); values.reserve(128); + values.push_back("ALUMINIUM"); + values.push_back("HIGH_GRADE_STEEL"); + values.push_back("STEEL"); + values.push_back("WOOD"); + values.push_back("ALUMINIUM_WOOD"); + values.push_back("PLASTIC"); + values.push_back("OTHER_CONSTRUCTION"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcWindowStyleConstructionEnum] = new IfcEnumerationDescriptor(Type::IfcWindowStyleConstructionEnum, values); + values.clear(); values.reserve(128); + values.push_back("SINGLE_PANEL"); + values.push_back("DOUBLE_PANEL_VERTICAL"); + values.push_back("DOUBLE_PANEL_HORIZONTAL"); + values.push_back("TRIPLE_PANEL_VERTICAL"); + values.push_back("TRIPLE_PANEL_BOTTOM"); + values.push_back("TRIPLE_PANEL_TOP"); + values.push_back("TRIPLE_PANEL_LEFT"); + values.push_back("TRIPLE_PANEL_RIGHT"); + values.push_back("TRIPLE_PANEL_HORIZONTAL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcWindowStyleOperationEnum] = new IfcEnumerationDescriptor(Type::IfcWindowStyleOperationEnum, values); + values.clear(); values.reserve(128); + values.push_back("ACTUAL"); + values.push_back("BASELINE"); + values.push_back("PLANNED"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcWorkControlTypeEnum] = new IfcEnumerationDescriptor(Type::IfcWorkControlTypeEnum, values); +} + +void InitInverseMap() { + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcActor, "IsActingUpon"), std::make_pair(Type::IfcRelAssignsToActor, 6))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcAddress, "OfPerson"), std::make_pair(Type::IfcPerson, 7))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcAddress, "OfOrganization"), std::make_pair(Type::IfcOrganization, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcAnnotation, "ContainedInStructure"), std::make_pair(Type::IfcRelContainedInSpatialStructure, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcAppliedValue, "ValuesReferenced"), std::make_pair(Type::IfcReferencesValueDocument, 1))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcAppliedValue, "ValueOfComponents"), std::make_pair(Type::IfcAppliedValueRelationship, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcAppliedValue, "IsComponentIn"), std::make_pair(Type::IfcAppliedValueRelationship, 1))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcApproval, "Actors"), std::make_pair(Type::IfcApprovalActorRelationship, 1))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcApproval, "IsRelatedWith"), std::make_pair(Type::IfcApprovalRelationship, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcApproval, "Relates"), std::make_pair(Type::IfcApprovalRelationship, 1))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcClassification, "Contains"), std::make_pair(Type::IfcClassificationItem, 1))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcClassificationItem, "IsClassifiedItemIn"), std::make_pair(Type::IfcClassificationItemRelationship, 1))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcClassificationItem, "IsClassifyingItemIn"), std::make_pair(Type::IfcClassificationItemRelationship, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcCompositeCurveSegment, "UsingCurves"), std::make_pair(Type::IfcCompositeCurve, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcConstraint, "ClassifiedAs"), std::make_pair(Type::IfcConstraintClassificationRelationship, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcConstraint, "RelatesConstraints"), std::make_pair(Type::IfcConstraintRelationship, 2))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcConstraint, "IsRelatedWith"), std::make_pair(Type::IfcConstraintRelationship, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcConstraint, "PropertiesForConstraint"), std::make_pair(Type::IfcPropertyConstraintRelationship, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcConstraint, "Aggregates"), std::make_pair(Type::IfcConstraintAggregationRelationship, 2))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcConstraint, "IsAggregatedIn"), std::make_pair(Type::IfcConstraintAggregationRelationship, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcControl, "Controls"), std::make_pair(Type::IfcRelAssignsToControl, 6))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcCovering, "CoversSpaces"), std::make_pair(Type::IfcRelCoversSpaces, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcCovering, "Covers"), std::make_pair(Type::IfcRelCoversBldgElements, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcDimensionCurve, "AnnotatedBySymbols"), std::make_pair(Type::IfcTerminatorSymbol, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcDistributionControlElement, "AssignedToFlowElement"), std::make_pair(Type::IfcRelFlowControlElements, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcDistributionFlowElement, "HasControlElements"), std::make_pair(Type::IfcRelFlowControlElements, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcDocumentInformation, "IsPointedTo"), std::make_pair(Type::IfcDocumentInformationRelationship, 1))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcDocumentInformation, "IsPointer"), std::make_pair(Type::IfcDocumentInformationRelationship, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcDocumentReference, "ReferenceToDocument"), std::make_pair(Type::IfcDocumentInformation, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcDraughtingCallout, "IsRelatedFromCallout"), std::make_pair(Type::IfcDraughtingCalloutRelationship, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcDraughtingCallout, "IsRelatedToCallout"), std::make_pair(Type::IfcDraughtingCalloutRelationship, 2))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcElement, "HasStructuralMember"), std::make_pair(Type::IfcRelConnectsStructuralElement, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcElement, "FillsVoids"), std::make_pair(Type::IfcRelFillsElement, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcElement, "ConnectedTo"), std::make_pair(Type::IfcRelConnectsElements, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcElement, "HasCoverings"), std::make_pair(Type::IfcRelCoversBldgElements, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcElement, "HasProjections"), std::make_pair(Type::IfcRelProjectsElement, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcElement, "ReferencedInStructures"), std::make_pair(Type::IfcRelReferencedInSpatialStructure, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcElement, "HasPorts"), std::make_pair(Type::IfcRelConnectsPortToElement, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcElement, "HasOpenings"), std::make_pair(Type::IfcRelVoidsElement, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcElement, "IsConnectionRealization"), std::make_pair(Type::IfcRelConnectsWithRealizingElements, 7))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcElement, "ProvidesBoundaries"), std::make_pair(Type::IfcRelSpaceBoundary, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcElement, "ConnectedFrom"), std::make_pair(Type::IfcRelConnectsElements, 6))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcElement, "ContainedInStructure"), std::make_pair(Type::IfcRelContainedInSpatialStructure, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcFeatureElementAddition, "ProjectsElements"), std::make_pair(Type::IfcRelProjectsElement, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcFeatureElementSubtraction, "VoidsElements"), std::make_pair(Type::IfcRelVoidsElement, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcGeometricRepresentationContext, "HasSubContexts"), std::make_pair(Type::IfcGeometricRepresentationSubContext, 6))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcGrid, "ContainedInStructure"), std::make_pair(Type::IfcRelContainedInSpatialStructure, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcGridAxis, "PartOfW"), std::make_pair(Type::IfcGrid, 9))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcGridAxis, "PartOfV"), std::make_pair(Type::IfcGrid, 8))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcGridAxis, "PartOfU"), std::make_pair(Type::IfcGrid, 7))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcGridAxis, "HasIntersections"), std::make_pair(Type::IfcVirtualGridIntersection, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcGroup, "IsGroupedBy"), std::make_pair(Type::IfcRelAssignsToGroup, 6))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcLibraryReference, "ReferenceIntoLibrary"), std::make_pair(Type::IfcLibraryInformation, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcMaterial, "HasRepresentation"), std::make_pair(Type::IfcMaterialDefinitionRepresentation, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcMaterial, "ClassifiedAs"), std::make_pair(Type::IfcMaterialClassificationRelationship, 1))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcMaterialLayer, "ToMaterialLayerSet"), std::make_pair(Type::IfcMaterialLayerSet, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcObject, "IsDefinedBy"), std::make_pair(Type::IfcRelDefines, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcObjectDefinition, "HasAssignments"), std::make_pair(Type::IfcRelAssigns, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcObjectDefinition, "IsDecomposedBy"), std::make_pair(Type::IfcRelDecomposes, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcObjectDefinition, "Decomposes"), std::make_pair(Type::IfcRelDecomposes, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcObjectDefinition, "HasAssociations"), std::make_pair(Type::IfcRelAssociates, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcObjectPlacement, "PlacesObject"), std::make_pair(Type::IfcProduct, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcObjectPlacement, "ReferencedByPlacements"), std::make_pair(Type::IfcLocalPlacement, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcOpeningElement, "HasFillings"), std::make_pair(Type::IfcRelFillsElement, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcOrganization, "IsRelatedBy"), std::make_pair(Type::IfcOrganizationRelationship, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcOrganization, "Relates"), std::make_pair(Type::IfcOrganizationRelationship, 2))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcOrganization, "Engages"), std::make_pair(Type::IfcPersonAndOrganization, 1))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcPerson, "EngagedIn"), std::make_pair(Type::IfcPersonAndOrganization, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcPhysicalQuantity, "PartOfComplex"), std::make_pair(Type::IfcPhysicalComplexQuantity, 2))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcPort, "ContainedIn"), std::make_pair(Type::IfcRelConnectsPortToElement, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcPort, "ConnectedFrom"), std::make_pair(Type::IfcRelConnectsPorts, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcPort, "ConnectedTo"), std::make_pair(Type::IfcRelConnectsPorts, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcProcess, "OperatesOn"), std::make_pair(Type::IfcRelAssignsToProcess, 6))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcProcess, "IsSuccessorFrom"), std::make_pair(Type::IfcRelSequence, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcProcess, "IsPredecessorTo"), std::make_pair(Type::IfcRelSequence, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcProduct, "ReferencedBy"), std::make_pair(Type::IfcRelAssignsToProduct, 6))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcProductDefinitionShape, "ShapeOfProduct"), std::make_pair(Type::IfcProduct, 6))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcProductDefinitionShape, "HasShapeAspects"), std::make_pair(Type::IfcShapeAspect, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcProperty, "PropertyForDependance"), std::make_pair(Type::IfcPropertyDependencyRelationship, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcProperty, "PropertyDependsOn"), std::make_pair(Type::IfcPropertyDependencyRelationship, 1))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcProperty, "PartOfComplex"), std::make_pair(Type::IfcComplexProperty, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcPropertyDefinition, "HasAssociations"), std::make_pair(Type::IfcRelAssociates, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcPropertySetDefinition, "PropertyDefinitionOf"), std::make_pair(Type::IfcRelDefinesByProperties, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcPropertySetDefinition, "DefinesType"), std::make_pair(Type::IfcTypeObject, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcRepresentation, "RepresentationMap"), std::make_pair(Type::IfcRepresentationMap, 1))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcRepresentation, "LayerAssignments"), std::make_pair(Type::IfcPresentationLayerAssignment, 2))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcRepresentation, "OfProductRepresentation"), std::make_pair(Type::IfcProductRepresentation, 2))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcRepresentationContext, "RepresentationsInContext"), std::make_pair(Type::IfcRepresentation, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcRepresentationItem, "LayerAssignments"), std::make_pair(Type::IfcPresentationLayerAssignment, 2))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcRepresentationItem, "StyledByItem"), std::make_pair(Type::IfcStyledItem, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcRepresentationMap, "MapUsage"), std::make_pair(Type::IfcMappedItem, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcResource, "ResourceOf"), std::make_pair(Type::IfcRelAssignsToResource, 6))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcScheduleTimeControl, "ScheduleTimeControlAssigned"), std::make_pair(Type::IfcRelAssignsTasks, 7))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcShapeModel, "OfShapeAspect"), std::make_pair(Type::IfcShapeAspect, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcSpace, "HasCoverings"), std::make_pair(Type::IfcRelCoversSpaces, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcSpace, "BoundedBy"), std::make_pair(Type::IfcRelSpaceBoundary, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcSpaceProgram, "HasInteractionReqsFrom"), std::make_pair(Type::IfcRelInteractionRequirements, 7))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcSpaceProgram, "HasInteractionReqsTo"), std::make_pair(Type::IfcRelInteractionRequirements, 8))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcSpatialStructureElement, "ReferencesElements"), std::make_pair(Type::IfcRelReferencedInSpatialStructure, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcSpatialStructureElement, "ServicedBySystems"), std::make_pair(Type::IfcRelServicesBuildings, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcSpatialStructureElement, "ContainsElements"), std::make_pair(Type::IfcRelContainedInSpatialStructure, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcStructuralActivity, "AssignedToStructuralItem"), std::make_pair(Type::IfcRelConnectsStructuralActivity, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcStructuralConnection, "ConnectsStructuralMembers"), std::make_pair(Type::IfcRelConnectsStructuralMember, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcStructuralItem, "AssignedStructuralActivity"), std::make_pair(Type::IfcRelConnectsStructuralActivity, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcStructuralLoadGroup, "SourceOfResultGroup"), std::make_pair(Type::IfcStructuralResultGroup, 6))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcStructuralLoadGroup, "LoadGroupFor"), std::make_pair(Type::IfcStructuralAnalysisModel, 7))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcStructuralMember, "ReferencesElement"), std::make_pair(Type::IfcRelConnectsStructuralElement, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcStructuralMember, "ConnectedBy"), std::make_pair(Type::IfcRelConnectsStructuralMember, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcStructuralReaction, "Causes"), std::make_pair(Type::IfcStructuralAction, 10))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcStructuralResultGroup, "ResultGroupFor"), std::make_pair(Type::IfcStructuralAnalysisModel, 8))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcSystem, "ServicesBuildings"), std::make_pair(Type::IfcRelServicesBuildings, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcTableRow, "OfTable"), std::make_pair(Type::IfcTable, 1))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcTextureCoordinate, "AnnotatedSurface"), std::make_pair(Type::IfcAnnotationSurface, 1))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcTimeSeries, "DocumentedBy"), std::make_pair(Type::IfcTimeSeriesReferenceRelationship, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcTypeObject, "ObjectTypeOf"), std::make_pair(Type::IfcRelDefinesByType, 5))); +} + +void InitDerivedMap() { + {std::set idxs; idxs.insert(2); idxs.insert(3); idxs.insert(4); idxs.insert(5); derived_map[Type::IfcGeometricRepresentationSubContext] = idxs;} + {std::set idxs; idxs.insert(0); idxs.insert(1); derived_map[Type::IfcOrientedEdge] = idxs;} + {std::set idxs; idxs.insert(0); derived_map[Type::IfcSIUnit] = idxs;} +} + +int Type::GetAttributeIndex(Enum t, const std::string& a) { + if (entity_descriptor_map.empty()) ::InitDescriptorMap(); + std::map::const_iterator i = entity_descriptor_map.find(t); + if ( i == entity_descriptor_map.end() ) throw IfcException("Type not found"); + else return i->second->getArgumentIndex(a); +} + +int Type::GetAttributeCount(Enum t) { + if (entity_descriptor_map.empty()) ::InitDescriptorMap(); + std::map::const_iterator i = entity_descriptor_map.find(t); + if ( i == entity_descriptor_map.end() ) throw IfcException("Type not found"); + else return i->second->getArgumentCount(); +} + +ArgumentType Type::GetAttributeType(Enum t, unsigned char a) { + if (entity_descriptor_map.empty()) ::InitDescriptorMap(); + std::map::const_iterator i = entity_descriptor_map.find(t); + if ( i == entity_descriptor_map.end() ) throw IfcException("Type not found"); + else return i->second->getArgumentType(a); +} + +const std::string& Type::GetAttributeName(Enum t, unsigned char a) { + if (entity_descriptor_map.empty()) ::InitDescriptorMap(); + std::map::const_iterator i = entity_descriptor_map.find(t); + if ( i == entity_descriptor_map.end() ) throw IfcException("Type not found"); + else return i->second->getArgumentName(a); +} + +bool Type::GetAttributeOptional(Enum t, unsigned char a) { + if (entity_descriptor_map.empty()) ::InitDescriptorMap(); + std::map::const_iterator i = entity_descriptor_map.find(t); + if ( i == entity_descriptor_map.end() ) throw IfcException("Type not found"); + else return i->second->getArgumentOptional(a); +} + +bool Type::GetAttributeDerived(Enum t, unsigned char a) { + if (derived_map.empty()) ::InitDerivedMap(); + std::map >::const_iterator i = derived_map.find(t); + return i != derived_map.end() && i->second.find(a) != i->second.end(); +} + +std::pair Type::GetEnumerationIndex(Enum t, const std::string& a) { + if (enumeration_descriptor_map.empty()) ::InitDescriptorMap(); + std::map::const_iterator i = enumeration_descriptor_map.find(t); + if ( i == enumeration_descriptor_map.end() ) throw IfcException("Value not found"); + else return i->second->getIndex(a); +} + +std::pair Type::GetInverseAttribute(Enum t, const std::string& a) { + if (inverse_map.empty()) ::InitInverseMap(); + std::map, std::pair >::const_iterator it; + std::pair key = std::make_pair(t, a); + while (true) { + it = inverse_map.find(key); + if (it != inverse_map.end()) return it->second; + if ((key.first = Parent(key.first)) == -1) break; + } + throw IfcException("Attribute not found"); +} + +Type::Enum Type::GetAttributeEnumerationClass(Enum t, unsigned char a) { + if (entity_descriptor_map.empty()) ::InitDescriptorMap(); + std::map::const_iterator i = entity_descriptor_map.find(t); + if ( i == entity_descriptor_map.end() ) throw IfcException("Type not found"); + else { + Type::Enum t = i->second->getArgumentEnumerationClass(a); + if ( t == Type::ALL ) throw IfcException("Not an enumeration"); + else return t; + } +} + +void Type::PopulateDerivedFields(IfcWrite::IfcWritableEntity* e) { + std::map >::const_iterator i = derived_map.find(e->type()); + if (i != derived_map.end()) { + for (std::set::const_iterator it = i->second.begin(); it != i->second.end(); ++it) { + e->setArgumentDerived(*it); + } + } +} diff --git a/src/ifcparse/Ifc2x3-latebound.h b/src/ifcparse/Ifc2x3-latebound.h new file mode 100644 index 0000000000..126a7f24d4 --- /dev/null +++ b/src/ifcparse/Ifc2x3-latebound.h @@ -0,0 +1,50 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +/******************************************************************************** + * * + * This file has been generated from IFC2X3_TC1.exp. Do not make modifications * + * but instead modify the python script that has been used to generate this. * + * * + ********************************************************************************/ + +#ifndef IFC2X3RT_H +#define IFC2X3RT_H + +#define IfcSchema Ifc2x3 + +#include "../ifcparse/IfcUtil.h" +#include "../ifcparse/IfcEntityDescriptor.h" +#include "../ifcparse/IfcWritableEntity.h" + +namespace Ifc2x3 { +namespace Type { + int GetAttributeCount(Enum t); + int GetAttributeIndex(Enum t, const std::string& a); + IfcUtil::ArgumentType GetAttributeType(Enum t, unsigned char a); + const std::string& GetAttributeName(Enum t, unsigned char a); + bool GetAttributeOptional(Enum t, unsigned char a); + bool GetAttributeDerived(Enum t, unsigned char a); + std::pair GetEnumerationIndex(Enum t, const std::string& a); + std::pair GetInverseAttribute(Enum t, const std::string& a); + Enum GetAttributeEnumerationClass(Enum t, unsigned char a); + void PopulateDerivedFields(IfcWrite::IfcWritableEntity* e); +}} + +#endif diff --git a/src/ifcparse/Ifc2x3.cpp b/src/ifcparse/Ifc2x3.cpp index f64949e22e..84965d47ac 100644 --- a/src/ifcparse/Ifc2x3.cpp +++ b/src/ifcparse/Ifc2x3.cpp @@ -37,112 +37,123 @@ using namespace IfcWrite; IfcUtil::IfcBaseClass* Ifc2x3::SchemaEntity(IfcAbstractEntity* e) { switch(e->type()) { - case Type::IfcAbsorbedDoseMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcAccelerationMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcAmountOfSubstanceMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcAngularVelocityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcAreaMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcBoolean: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcColour: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcComplexNumber: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcCompoundPlaneAngleMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcContextDependentMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcCountMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcCurvatureMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcCurveStyleFontSelect: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcDateTimeSelect: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcDerivedMeasureValue: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcDescriptiveMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcDoseEquivalentMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcDynamicViscosityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcElectricCapacitanceMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcElectricChargeMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcElectricConductanceMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcElectricCurrentMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcElectricResistanceMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcElectricVoltageMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcEnergyMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcForceMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcFrequencyMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcHeatFluxDensityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcHeatingValueMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcIdentifier: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcIlluminanceMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcInductanceMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcInteger: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcIntegerCountRateMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcIonConcentrationMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcIsothermalMoistureCapacityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcKinematicViscosityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcLabel: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcLengthMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcLinearForceMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcLinearMomentMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcLinearStiffnessMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcLinearVelocityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcLogical: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcLuminousFluxMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcLuminousIntensityDistributionMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcLuminousIntensityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcMagneticFluxDensityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcMagneticFluxMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcMassDensityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcMassFlowRateMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcMassMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcMassPerLengthMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcMeasureValue: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcModulusOfElasticityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcModulusOfLinearSubgradeReactionMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcModulusOfRotationalSubgradeReactionMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcModulusOfSubgradeReactionMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcMoistureDiffusivityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcMolecularWeightMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcMomentOfInertiaMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcMonetaryMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcNormalisedRatioMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcNullStyle: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcNumericMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcPHMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcParameterValue: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcPlanarForceMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcPlaneAngleMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcPositiveLengthMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcPositivePlaneAngleMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcPositiveRatioMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcPowerMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcPressureMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcRadioActivityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcRatioMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcReal: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcRotationalFrequencyMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcRotationalMassMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcRotationalStiffnessMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcSectionModulusMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcSectionalAreaIntegralMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcShearModulusMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcSimpleValue: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcSolidAngleMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcSoundPowerMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcSoundPressureMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcSpecificHeatCapacityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcSpecularExponent: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcSpecularRoughness: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcTemperatureGradientMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcText: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcThermalAdmittanceMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcThermalConductivityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcThermalExpansionCoefficientMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcThermalResistanceMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcThermalTransmittanceMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcThermodynamicTemperatureMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcTimeMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcTimeStamp: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcTorqueMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcVaporPermeabilityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcVolumeMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcVolumetricFlowRateMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcWarpingConstantMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcWarpingMomentMeasure: return new IfcUtil::IfcEntitySelect(e); break; + case Type::IfcAbsorbedDoseMeasure: return new IfcAbsorbedDoseMeasure(e); break; + case Type::IfcAccelerationMeasure: return new IfcAccelerationMeasure(e); break; + case Type::IfcAmountOfSubstanceMeasure: return new IfcAmountOfSubstanceMeasure(e); break; + case Type::IfcAngularVelocityMeasure: return new IfcAngularVelocityMeasure(e); break; + case Type::IfcAreaMeasure: return new IfcAreaMeasure(e); break; + case Type::IfcBoolean: return new IfcBoolean(e); break; + case Type::IfcBoxAlignment: return new IfcBoxAlignment(e); break; + case Type::IfcComplexNumber: return new IfcComplexNumber(e); break; + case Type::IfcCompoundPlaneAngleMeasure: return new IfcCompoundPlaneAngleMeasure(e); break; + case Type::IfcContextDependentMeasure: return new IfcContextDependentMeasure(e); break; + case Type::IfcCountMeasure: return new IfcCountMeasure(e); break; + case Type::IfcCurvatureMeasure: return new IfcCurvatureMeasure(e); break; + case Type::IfcDayInMonthNumber: return new IfcDayInMonthNumber(e); break; + case Type::IfcDaylightSavingHour: return new IfcDaylightSavingHour(e); break; + case Type::IfcDescriptiveMeasure: return new IfcDescriptiveMeasure(e); break; + case Type::IfcDimensionCount: return new IfcDimensionCount(e); break; + case Type::IfcDoseEquivalentMeasure: return new IfcDoseEquivalentMeasure(e); break; + case Type::IfcDynamicViscosityMeasure: return new IfcDynamicViscosityMeasure(e); break; + case Type::IfcElectricCapacitanceMeasure: return new IfcElectricCapacitanceMeasure(e); break; + case Type::IfcElectricChargeMeasure: return new IfcElectricChargeMeasure(e); break; + case Type::IfcElectricConductanceMeasure: return new IfcElectricConductanceMeasure(e); break; + case Type::IfcElectricCurrentMeasure: return new IfcElectricCurrentMeasure(e); break; + case Type::IfcElectricResistanceMeasure: return new IfcElectricResistanceMeasure(e); break; + case Type::IfcElectricVoltageMeasure: return new IfcElectricVoltageMeasure(e); break; + case Type::IfcEnergyMeasure: return new IfcEnergyMeasure(e); break; + case Type::IfcFontStyle: return new IfcFontStyle(e); break; + case Type::IfcFontVariant: return new IfcFontVariant(e); break; + case Type::IfcFontWeight: return new IfcFontWeight(e); break; + case Type::IfcForceMeasure: return new IfcForceMeasure(e); break; + case Type::IfcFrequencyMeasure: return new IfcFrequencyMeasure(e); break; + case Type::IfcGloballyUniqueId: return new IfcGloballyUniqueId(e); break; + case Type::IfcHeatFluxDensityMeasure: return new IfcHeatFluxDensityMeasure(e); break; + case Type::IfcHeatingValueMeasure: return new IfcHeatingValueMeasure(e); break; + case Type::IfcHourInDay: return new IfcHourInDay(e); break; + case Type::IfcIdentifier: return new IfcIdentifier(e); break; + case Type::IfcIlluminanceMeasure: return new IfcIlluminanceMeasure(e); break; + case Type::IfcInductanceMeasure: return new IfcInductanceMeasure(e); break; + case Type::IfcInteger: return new IfcInteger(e); break; + case Type::IfcIntegerCountRateMeasure: return new IfcIntegerCountRateMeasure(e); break; + case Type::IfcIonConcentrationMeasure: return new IfcIonConcentrationMeasure(e); break; + case Type::IfcIsothermalMoistureCapacityMeasure: return new IfcIsothermalMoistureCapacityMeasure(e); break; + case Type::IfcKinematicViscosityMeasure: return new IfcKinematicViscosityMeasure(e); break; + case Type::IfcLabel: return new IfcLabel(e); break; + case Type::IfcLengthMeasure: return new IfcLengthMeasure(e); break; + case Type::IfcLinearForceMeasure: return new IfcLinearForceMeasure(e); break; + case Type::IfcLinearMomentMeasure: return new IfcLinearMomentMeasure(e); break; + case Type::IfcLinearStiffnessMeasure: return new IfcLinearStiffnessMeasure(e); break; + case Type::IfcLinearVelocityMeasure: return new IfcLinearVelocityMeasure(e); break; + case Type::IfcLogical: return new IfcLogical(e); break; + case Type::IfcLuminousFluxMeasure: return new IfcLuminousFluxMeasure(e); break; + case Type::IfcLuminousIntensityDistributionMeasure: return new IfcLuminousIntensityDistributionMeasure(e); break; + case Type::IfcLuminousIntensityMeasure: return new IfcLuminousIntensityMeasure(e); break; + case Type::IfcMagneticFluxDensityMeasure: return new IfcMagneticFluxDensityMeasure(e); break; + case Type::IfcMagneticFluxMeasure: return new IfcMagneticFluxMeasure(e); break; + case Type::IfcMassDensityMeasure: return new IfcMassDensityMeasure(e); break; + case Type::IfcMassFlowRateMeasure: return new IfcMassFlowRateMeasure(e); break; + case Type::IfcMassMeasure: return new IfcMassMeasure(e); break; + case Type::IfcMassPerLengthMeasure: return new IfcMassPerLengthMeasure(e); break; + case Type::IfcMinuteInHour: return new IfcMinuteInHour(e); break; + case Type::IfcModulusOfElasticityMeasure: return new IfcModulusOfElasticityMeasure(e); break; + case Type::IfcModulusOfLinearSubgradeReactionMeasure: return new IfcModulusOfLinearSubgradeReactionMeasure(e); break; + case Type::IfcModulusOfRotationalSubgradeReactionMeasure: return new IfcModulusOfRotationalSubgradeReactionMeasure(e); break; + case Type::IfcModulusOfSubgradeReactionMeasure: return new IfcModulusOfSubgradeReactionMeasure(e); break; + case Type::IfcMoistureDiffusivityMeasure: return new IfcMoistureDiffusivityMeasure(e); break; + case Type::IfcMolecularWeightMeasure: return new IfcMolecularWeightMeasure(e); break; + case Type::IfcMomentOfInertiaMeasure: return new IfcMomentOfInertiaMeasure(e); break; + case Type::IfcMonetaryMeasure: return new IfcMonetaryMeasure(e); break; + case Type::IfcMonthInYearNumber: return new IfcMonthInYearNumber(e); break; + case Type::IfcNormalisedRatioMeasure: return new IfcNormalisedRatioMeasure(e); break; + case Type::IfcNumericMeasure: return new IfcNumericMeasure(e); break; + case Type::IfcPHMeasure: return new IfcPHMeasure(e); break; + case Type::IfcParameterValue: return new IfcParameterValue(e); break; + case Type::IfcPlanarForceMeasure: return new IfcPlanarForceMeasure(e); break; + case Type::IfcPlaneAngleMeasure: return new IfcPlaneAngleMeasure(e); break; + case Type::IfcPositiveLengthMeasure: return new IfcPositiveLengthMeasure(e); break; + case Type::IfcPositivePlaneAngleMeasure: return new IfcPositivePlaneAngleMeasure(e); break; + case Type::IfcPositiveRatioMeasure: return new IfcPositiveRatioMeasure(e); break; + case Type::IfcPowerMeasure: return new IfcPowerMeasure(e); break; + case Type::IfcPresentableText: return new IfcPresentableText(e); break; + case Type::IfcPressureMeasure: return new IfcPressureMeasure(e); break; + case Type::IfcRadioActivityMeasure: return new IfcRadioActivityMeasure(e); break; + case Type::IfcRatioMeasure: return new IfcRatioMeasure(e); break; + case Type::IfcReal: return new IfcReal(e); break; + case Type::IfcRotationalFrequencyMeasure: return new IfcRotationalFrequencyMeasure(e); break; + case Type::IfcRotationalMassMeasure: return new IfcRotationalMassMeasure(e); break; + case Type::IfcRotationalStiffnessMeasure: return new IfcRotationalStiffnessMeasure(e); break; + case Type::IfcSecondInMinute: return new IfcSecondInMinute(e); break; + case Type::IfcSectionModulusMeasure: return new IfcSectionModulusMeasure(e); break; + case Type::IfcSectionalAreaIntegralMeasure: return new IfcSectionalAreaIntegralMeasure(e); break; + case Type::IfcShearModulusMeasure: return new IfcShearModulusMeasure(e); break; + case Type::IfcSolidAngleMeasure: return new IfcSolidAngleMeasure(e); break; + case Type::IfcSoundPowerMeasure: return new IfcSoundPowerMeasure(e); break; + case Type::IfcSoundPressureMeasure: return new IfcSoundPressureMeasure(e); break; + case Type::IfcSpecificHeatCapacityMeasure: return new IfcSpecificHeatCapacityMeasure(e); break; + case Type::IfcSpecularExponent: return new IfcSpecularExponent(e); break; + case Type::IfcSpecularRoughness: return new IfcSpecularRoughness(e); break; + case Type::IfcTemperatureGradientMeasure: return new IfcTemperatureGradientMeasure(e); break; + case Type::IfcText: return new IfcText(e); break; + case Type::IfcTextAlignment: return new IfcTextAlignment(e); break; + case Type::IfcTextDecoration: return new IfcTextDecoration(e); break; + case Type::IfcTextFontName: return new IfcTextFontName(e); break; + case Type::IfcTextTransformation: return new IfcTextTransformation(e); break; + case Type::IfcThermalAdmittanceMeasure: return new IfcThermalAdmittanceMeasure(e); break; + case Type::IfcThermalConductivityMeasure: return new IfcThermalConductivityMeasure(e); break; + case Type::IfcThermalExpansionCoefficientMeasure: return new IfcThermalExpansionCoefficientMeasure(e); break; + case Type::IfcThermalResistanceMeasure: return new IfcThermalResistanceMeasure(e); break; + case Type::IfcThermalTransmittanceMeasure: return new IfcThermalTransmittanceMeasure(e); break; + case Type::IfcThermodynamicTemperatureMeasure: return new IfcThermodynamicTemperatureMeasure(e); break; + case Type::IfcTimeMeasure: return new IfcTimeMeasure(e); break; + case Type::IfcTimeStamp: return new IfcTimeStamp(e); break; + case Type::IfcTorqueMeasure: return new IfcTorqueMeasure(e); break; + case Type::IfcVaporPermeabilityMeasure: return new IfcVaporPermeabilityMeasure(e); break; + case Type::IfcVolumeMeasure: return new IfcVolumeMeasure(e); break; + case Type::IfcVolumetricFlowRateMeasure: return new IfcVolumetricFlowRateMeasure(e); break; + case Type::IfcWarpingConstantMeasure: return new IfcWarpingConstantMeasure(e); break; + case Type::IfcWarpingMomentMeasure: return new IfcWarpingMomentMeasure(e); break; + case Type::IfcYearNumber: return new IfcYearNumber(e); break; case Type::Ifc2DCompositeCurve: return new Ifc2DCompositeCurve(e); break; case Type::IfcActionRequest: return new IfcActionRequest(e); break; case Type::IfcActor: return new IfcActor(e); break; @@ -801,130 +812,40 @@ IfcUtil::IfcBaseClass* Ifc2x3::SchemaEntity(IfcAbstractEntity* e) { } std::string Type::ToString(Enum v) { - if (v < 0 || v >= 759) throw IfcException("Unable to find find keyword in schema"); - const char* names[] = { "IfcAbsorbedDoseMeasure", "IfcAccelerationMeasure", "IfcAmountOfSubstanceMeasure", "IfcAngularVelocityMeasure", "IfcAreaMeasure", "IfcBoolean", "IfcColour", "IfcComplexNumber", "IfcCompoundPlaneAngleMeasure", "IfcContextDependentMeasure", "IfcCountMeasure", "IfcCurvatureMeasure", "IfcCurveStyleFontSelect", "IfcDateTimeSelect", "IfcDerivedMeasureValue", "IfcDescriptiveMeasure", "IfcDoseEquivalentMeasure", "IfcDynamicViscosityMeasure", "IfcElectricCapacitanceMeasure", "IfcElectricChargeMeasure", "IfcElectricConductanceMeasure", "IfcElectricCurrentMeasure", "IfcElectricResistanceMeasure", "IfcElectricVoltageMeasure", "IfcEnergyMeasure", "IfcForceMeasure", "IfcFrequencyMeasure", "IfcHeatFluxDensityMeasure", "IfcHeatingValueMeasure", "IfcIdentifier", "IfcIlluminanceMeasure", "IfcInductanceMeasure", "IfcInteger", "IfcIntegerCountRateMeasure", "IfcIonConcentrationMeasure", "IfcIsothermalMoistureCapacityMeasure", "IfcKinematicViscosityMeasure", "IfcLabel", "IfcLengthMeasure", "IfcLinearForceMeasure", "IfcLinearMomentMeasure", "IfcLinearStiffnessMeasure", "IfcLinearVelocityMeasure", "IfcLogical", "IfcLuminousFluxMeasure", "IfcLuminousIntensityDistributionMeasure", "IfcLuminousIntensityMeasure", "IfcMagneticFluxDensityMeasure", "IfcMagneticFluxMeasure", "IfcMassDensityMeasure", "IfcMassFlowRateMeasure", "IfcMassMeasure", "IfcMassPerLengthMeasure", "IfcMeasureValue", "IfcModulusOfElasticityMeasure", "IfcModulusOfLinearSubgradeReactionMeasure", "IfcModulusOfRotationalSubgradeReactionMeasure", "IfcModulusOfSubgradeReactionMeasure", "IfcMoistureDiffusivityMeasure", "IfcMolecularWeightMeasure", "IfcMomentOfInertiaMeasure", "IfcMonetaryMeasure", "IfcNormalisedRatioMeasure", "IfcNullStyle", "IfcNumericMeasure", "IfcPHMeasure", "IfcParameterValue", "IfcPlanarForceMeasure", "IfcPlaneAngleMeasure", "IfcPositiveLengthMeasure", "IfcPositivePlaneAngleMeasure", "IfcPositiveRatioMeasure", "IfcPowerMeasure", "IfcPressureMeasure", "IfcRadioActivityMeasure", "IfcRatioMeasure", "IfcReal", "IfcRotationalFrequencyMeasure", "IfcRotationalMassMeasure", "IfcRotationalStiffnessMeasure", "IfcSectionModulusMeasure", "IfcSectionalAreaIntegralMeasure", "IfcShearModulusMeasure", "IfcSimpleValue", "IfcSolidAngleMeasure", "IfcSoundPowerMeasure", "IfcSoundPressureMeasure", "IfcSpecificHeatCapacityMeasure", "IfcSpecularExponent", "IfcSpecularRoughness", "IfcTemperatureGradientMeasure", "IfcText", "IfcThermalAdmittanceMeasure", "IfcThermalConductivityMeasure", "IfcThermalExpansionCoefficientMeasure", "IfcThermalResistanceMeasure", "IfcThermalTransmittanceMeasure", "IfcThermodynamicTemperatureMeasure", "IfcTimeMeasure", "IfcTimeStamp", "IfcTorqueMeasure", "IfcVaporPermeabilityMeasure", "IfcVolumeMeasure", "IfcVolumetricFlowRateMeasure", "IfcWarpingConstantMeasure", "IfcWarpingMomentMeasure", "Ifc2DCompositeCurve", "IfcActionRequest", "IfcActor", "IfcActorRole", "IfcActuatorType", "IfcAddress", "IfcAirTerminalBoxType", "IfcAirTerminalType", "IfcAirToAirHeatRecoveryType", "IfcAlarmType", "IfcAngularDimension", "IfcAnnotation", "IfcAnnotationCurveOccurrence", "IfcAnnotationFillArea", "IfcAnnotationFillAreaOccurrence", "IfcAnnotationOccurrence", "IfcAnnotationSurface", "IfcAnnotationSurfaceOccurrence", "IfcAnnotationSymbolOccurrence", "IfcAnnotationTextOccurrence", "IfcApplication", "IfcAppliedValue", "IfcAppliedValueRelationship", "IfcApproval", "IfcApprovalActorRelationship", "IfcApprovalPropertyRelationship", "IfcApprovalRelationship", "IfcArbitraryClosedProfileDef", "IfcArbitraryOpenProfileDef", "IfcArbitraryProfileDefWithVoids", "IfcAsset", "IfcAsymmetricIShapeProfileDef", "IfcAxis1Placement", "IfcAxis2Placement2D", "IfcAxis2Placement3D", "IfcBSplineCurve", "IfcBeam", "IfcBeamType", "IfcBezierCurve", "IfcBlobTexture", "IfcBlock", "IfcBoilerType", "IfcBooleanClippingResult", "IfcBooleanResult", "IfcBoundaryCondition", "IfcBoundaryEdgeCondition", "IfcBoundaryFaceCondition", "IfcBoundaryNodeCondition", "IfcBoundaryNodeConditionWarping", "IfcBoundedCurve", "IfcBoundedSurface", "IfcBoundingBox", "IfcBoxedHalfSpace", "IfcBuilding", "IfcBuildingElement", "IfcBuildingElementComponent", "IfcBuildingElementPart", "IfcBuildingElementProxy", "IfcBuildingElementProxyType", "IfcBuildingElementType", "IfcBuildingStorey", "IfcCShapeProfileDef", "IfcCableCarrierFittingType", "IfcCableCarrierSegmentType", "IfcCableSegmentType", "IfcCalendarDate", "IfcCartesianPoint", "IfcCartesianTransformationOperator", "IfcCartesianTransformationOperator2D", "IfcCartesianTransformationOperator2DnonUniform", "IfcCartesianTransformationOperator3D", "IfcCartesianTransformationOperator3DnonUniform", "IfcCenterLineProfileDef", "IfcChamferEdgeFeature", "IfcChillerType", "IfcCircle", "IfcCircleHollowProfileDef", "IfcCircleProfileDef", "IfcClassification", "IfcClassificationItem", "IfcClassificationItemRelationship", "IfcClassificationNotation", "IfcClassificationNotationFacet", "IfcClassificationReference", "IfcClosedShell", "IfcCoilType", "IfcColourRgb", "IfcColourSpecification", "IfcColumn", "IfcColumnType", "IfcComplexProperty", "IfcCompositeCurve", "IfcCompositeCurveSegment", "IfcCompositeProfileDef", "IfcCompressorType", "IfcCondenserType", "IfcCondition", "IfcConditionCriterion", "IfcConic", "IfcConnectedFaceSet", "IfcConnectionCurveGeometry", "IfcConnectionGeometry", "IfcConnectionPointEccentricity", "IfcConnectionPointGeometry", "IfcConnectionPortGeometry", "IfcConnectionSurfaceGeometry", "IfcConstraint", "IfcConstraintAggregationRelationship", "IfcConstraintClassificationRelationship", "IfcConstraintRelationship", "IfcConstructionEquipmentResource", "IfcConstructionMaterialResource", "IfcConstructionProductResource", "IfcConstructionResource", "IfcContextDependentUnit", "IfcControl", "IfcControllerType", "IfcConversionBasedUnit", "IfcCooledBeamType", "IfcCoolingTowerType", "IfcCoordinatedUniversalTimeOffset", "IfcCostItem", "IfcCostSchedule", "IfcCostValue", "IfcCovering", "IfcCoveringType", "IfcCraneRailAShapeProfileDef", "IfcCraneRailFShapeProfileDef", "IfcCrewResource", "IfcCsgPrimitive3D", "IfcCsgSolid", "IfcCurrencyRelationship", "IfcCurtainWall", "IfcCurtainWallType", "IfcCurve", "IfcCurveBoundedPlane", "IfcCurveStyle", "IfcCurveStyleFont", "IfcCurveStyleFontAndScaling", "IfcCurveStyleFontPattern", "IfcDamperType", "IfcDateAndTime", "IfcDefinedSymbol", "IfcDerivedProfileDef", "IfcDerivedUnit", "IfcDerivedUnitElement", "IfcDiameterDimension", "IfcDimensionCalloutRelationship", "IfcDimensionCurve", "IfcDimensionCurveDirectedCallout", "IfcDimensionCurveTerminator", "IfcDimensionPair", "IfcDimensionalExponents", "IfcDirection", "IfcDiscreteAccessory", "IfcDiscreteAccessoryType", "IfcDistributionChamberElement", "IfcDistributionChamberElementType", "IfcDistributionControlElement", "IfcDistributionControlElementType", "IfcDistributionElement", "IfcDistributionElementType", "IfcDistributionFlowElement", "IfcDistributionFlowElementType", "IfcDistributionPort", "IfcDocumentElectronicFormat", "IfcDocumentInformation", "IfcDocumentInformationRelationship", "IfcDocumentReference", "IfcDoor", "IfcDoorLiningProperties", "IfcDoorPanelProperties", "IfcDoorStyle", "IfcDraughtingCallout", "IfcDraughtingCalloutRelationship", "IfcDraughtingPreDefinedColour", "IfcDraughtingPreDefinedCurveFont", "IfcDraughtingPreDefinedTextFont", "IfcDuctFittingType", "IfcDuctSegmentType", "IfcDuctSilencerType", "IfcEdge", "IfcEdgeCurve", "IfcEdgeFeature", "IfcEdgeLoop", "IfcElectricApplianceType", "IfcElectricDistributionPoint", "IfcElectricFlowStorageDeviceType", "IfcElectricGeneratorType", "IfcElectricHeaterType", "IfcElectricMotorType", "IfcElectricTimeControlType", "IfcElectricalBaseProperties", "IfcElectricalCircuit", "IfcElectricalElement", "IfcElement", "IfcElementAssembly", "IfcElementComponent", "IfcElementComponentType", "IfcElementQuantity", "IfcElementType", "IfcElementarySurface", "IfcEllipse", "IfcEllipseProfileDef", "IfcEnergyConversionDevice", "IfcEnergyConversionDeviceType", "IfcEnergyProperties", "IfcEnvironmentalImpactValue", "IfcEquipmentElement", "IfcEquipmentStandard", "IfcEvaporativeCoolerType", "IfcEvaporatorType", "IfcExtendedMaterialProperties", "IfcExternalReference", "IfcExternallyDefinedHatchStyle", "IfcExternallyDefinedSurfaceStyle", "IfcExternallyDefinedSymbol", "IfcExternallyDefinedTextFont", "IfcExtrudedAreaSolid", "IfcFace", "IfcFaceBasedSurfaceModel", "IfcFaceBound", "IfcFaceOuterBound", "IfcFaceSurface", "IfcFacetedBrep", "IfcFacetedBrepWithVoids", "IfcFailureConnectionCondition", "IfcFanType", "IfcFastener", "IfcFastenerType", "IfcFeatureElement", "IfcFeatureElementAddition", "IfcFeatureElementSubtraction", "IfcFillAreaStyle", "IfcFillAreaStyleHatching", "IfcFillAreaStyleTileSymbolWithStyle", "IfcFillAreaStyleTiles", "IfcFilterType", "IfcFireSuppressionTerminalType", "IfcFlowController", "IfcFlowControllerType", "IfcFlowFitting", "IfcFlowFittingType", "IfcFlowInstrumentType", "IfcFlowMeterType", "IfcFlowMovingDevice", "IfcFlowMovingDeviceType", "IfcFlowSegment", "IfcFlowSegmentType", "IfcFlowStorageDevice", "IfcFlowStorageDeviceType", "IfcFlowTerminal", "IfcFlowTerminalType", "IfcFlowTreatmentDevice", "IfcFlowTreatmentDeviceType", "IfcFluidFlowProperties", "IfcFooting", "IfcFuelProperties", "IfcFurnishingElement", "IfcFurnishingElementType", "IfcFurnitureStandard", "IfcFurnitureType", "IfcGasTerminalType", "IfcGeneralMaterialProperties", "IfcGeneralProfileProperties", "IfcGeometricCurveSet", "IfcGeometricRepresentationContext", "IfcGeometricRepresentationItem", "IfcGeometricRepresentationSubContext", "IfcGeometricSet", "IfcGrid", "IfcGridAxis", "IfcGridPlacement", "IfcGroup", "IfcHalfSpaceSolid", "IfcHeatExchangerType", "IfcHumidifierType", "IfcHygroscopicMaterialProperties", "IfcIShapeProfileDef", "IfcImageTexture", "IfcInventory", "IfcIrregularTimeSeries", "IfcIrregularTimeSeriesValue", "IfcJunctionBoxType", "IfcLShapeProfileDef", "IfcLaborResource", "IfcLampType", "IfcLibraryInformation", "IfcLibraryReference", "IfcLightDistributionData", "IfcLightFixtureType", "IfcLightIntensityDistribution", "IfcLightSource", "IfcLightSourceAmbient", "IfcLightSourceDirectional", "IfcLightSourceGoniometric", "IfcLightSourcePositional", "IfcLightSourceSpot", "IfcLine", "IfcLinearDimension", "IfcLocalPlacement", "IfcLocalTime", "IfcLoop", "IfcManifoldSolidBrep", "IfcMappedItem", "IfcMaterial", "IfcMaterialClassificationRelationship", "IfcMaterialDefinitionRepresentation", "IfcMaterialLayer", "IfcMaterialLayerSet", "IfcMaterialLayerSetUsage", "IfcMaterialList", "IfcMaterialProperties", "IfcMeasureWithUnit", "IfcMechanicalConcreteMaterialProperties", "IfcMechanicalFastener", "IfcMechanicalFastenerType", "IfcMechanicalMaterialProperties", "IfcMechanicalSteelMaterialProperties", "IfcMember", "IfcMemberType", "IfcMetric", "IfcMonetaryUnit", "IfcMotorConnectionType", "IfcMove", "IfcNamedUnit", "IfcObject", "IfcObjectDefinition", "IfcObjectPlacement", "IfcObjective", "IfcOccupant", "IfcOffsetCurve2D", "IfcOffsetCurve3D", "IfcOneDirectionRepeatFactor", "IfcOpenShell", "IfcOpeningElement", "IfcOpticalMaterialProperties", "IfcOrderAction", "IfcOrganization", "IfcOrganizationRelationship", "IfcOrientedEdge", "IfcOutletType", "IfcOwnerHistory", "IfcParameterizedProfileDef", "IfcPath", "IfcPerformanceHistory", "IfcPermeableCoveringProperties", "IfcPermit", "IfcPerson", "IfcPersonAndOrganization", "IfcPhysicalComplexQuantity", "IfcPhysicalQuantity", "IfcPhysicalSimpleQuantity", "IfcPile", "IfcPipeFittingType", "IfcPipeSegmentType", "IfcPixelTexture", "IfcPlacement", "IfcPlanarBox", "IfcPlanarExtent", "IfcPlane", "IfcPlate", "IfcPlateType", "IfcPoint", "IfcPointOnCurve", "IfcPointOnSurface", "IfcPolyLoop", "IfcPolygonalBoundedHalfSpace", "IfcPolyline", "IfcPort", "IfcPostalAddress", "IfcPreDefinedColour", "IfcPreDefinedCurveFont", "IfcPreDefinedDimensionSymbol", "IfcPreDefinedItem", "IfcPreDefinedPointMarkerSymbol", "IfcPreDefinedSymbol", "IfcPreDefinedTerminatorSymbol", "IfcPreDefinedTextFont", "IfcPresentationLayerAssignment", "IfcPresentationLayerWithStyle", "IfcPresentationStyle", "IfcPresentationStyleAssignment", "IfcProcedure", "IfcProcess", "IfcProduct", "IfcProductDefinitionShape", "IfcProductRepresentation", "IfcProductsOfCombustionProperties", "IfcProfileDef", "IfcProfileProperties", "IfcProject", "IfcProjectOrder", "IfcProjectOrderRecord", "IfcProjectionCurve", "IfcProjectionElement", "IfcProperty", "IfcPropertyBoundedValue", "IfcPropertyConstraintRelationship", "IfcPropertyDefinition", "IfcPropertyDependencyRelationship", "IfcPropertyEnumeratedValue", "IfcPropertyEnumeration", "IfcPropertyListValue", "IfcPropertyReferenceValue", "IfcPropertySet", "IfcPropertySetDefinition", "IfcPropertySingleValue", "IfcPropertyTableValue", "IfcProtectiveDeviceType", "IfcProxy", "IfcPumpType", "IfcQuantityArea", "IfcQuantityCount", "IfcQuantityLength", "IfcQuantityTime", "IfcQuantityVolume", "IfcQuantityWeight", "IfcRadiusDimension", "IfcRailing", "IfcRailingType", "IfcRamp", "IfcRampFlight", "IfcRampFlightType", "IfcRationalBezierCurve", "IfcRectangleHollowProfileDef", "IfcRectangleProfileDef", "IfcRectangularPyramid", "IfcRectangularTrimmedSurface", "IfcReferencesValueDocument", "IfcRegularTimeSeries", "IfcReinforcementBarProperties", "IfcReinforcementDefinitionProperties", "IfcReinforcingBar", "IfcReinforcingElement", "IfcReinforcingMesh", "IfcRelAggregates", "IfcRelAssigns", "IfcRelAssignsTasks", "IfcRelAssignsToActor", "IfcRelAssignsToControl", "IfcRelAssignsToGroup", "IfcRelAssignsToProcess", "IfcRelAssignsToProduct", "IfcRelAssignsToProjectOrder", "IfcRelAssignsToResource", "IfcRelAssociates", "IfcRelAssociatesAppliedValue", "IfcRelAssociatesApproval", "IfcRelAssociatesClassification", "IfcRelAssociatesConstraint", "IfcRelAssociatesDocument", "IfcRelAssociatesLibrary", "IfcRelAssociatesMaterial", "IfcRelAssociatesProfileProperties", "IfcRelConnects", "IfcRelConnectsElements", "IfcRelConnectsPathElements", "IfcRelConnectsPortToElement", "IfcRelConnectsPorts", "IfcRelConnectsStructuralActivity", "IfcRelConnectsStructuralElement", "IfcRelConnectsStructuralMember", "IfcRelConnectsWithEccentricity", "IfcRelConnectsWithRealizingElements", "IfcRelContainedInSpatialStructure", "IfcRelCoversBldgElements", "IfcRelCoversSpaces", "IfcRelDecomposes", "IfcRelDefines", "IfcRelDefinesByProperties", "IfcRelDefinesByType", "IfcRelFillsElement", "IfcRelFlowControlElements", "IfcRelInteractionRequirements", "IfcRelNests", "IfcRelOccupiesSpaces", "IfcRelOverridesProperties", "IfcRelProjectsElement", "IfcRelReferencedInSpatialStructure", "IfcRelSchedulesCostItems", "IfcRelSequence", "IfcRelServicesBuildings", "IfcRelSpaceBoundary", "IfcRelVoidsElement", "IfcRelationship", "IfcRelaxation", "IfcRepresentation", "IfcRepresentationContext", "IfcRepresentationItem", "IfcRepresentationMap", "IfcResource", "IfcRevolvedAreaSolid", "IfcRibPlateProfileProperties", "IfcRightCircularCone", "IfcRightCircularCylinder", "IfcRoof", "IfcRoot", "IfcRoundedEdgeFeature", "IfcRoundedRectangleProfileDef", "IfcSIUnit", "IfcSanitaryTerminalType", "IfcScheduleTimeControl", "IfcSectionProperties", "IfcSectionReinforcementProperties", "IfcSectionedSpine", "IfcSensorType", "IfcServiceLife", "IfcServiceLifeFactor", "IfcShapeAspect", "IfcShapeModel", "IfcShapeRepresentation", "IfcShellBasedSurfaceModel", "IfcSimpleProperty", "IfcSite", "IfcSlab", "IfcSlabType", "IfcSlippageConnectionCondition", "IfcSolidModel", "IfcSoundProperties", "IfcSoundValue", "IfcSpace", "IfcSpaceHeaterType", "IfcSpaceProgram", "IfcSpaceThermalLoadProperties", "IfcSpaceType", "IfcSpatialStructureElement", "IfcSpatialStructureElementType", "IfcSphere", "IfcStackTerminalType", "IfcStair", "IfcStairFlight", "IfcStairFlightType", "IfcStructuralAction", "IfcStructuralActivity", "IfcStructuralAnalysisModel", "IfcStructuralConnection", "IfcStructuralConnectionCondition", "IfcStructuralCurveConnection", "IfcStructuralCurveMember", "IfcStructuralCurveMemberVarying", "IfcStructuralItem", "IfcStructuralLinearAction", "IfcStructuralLinearActionVarying", "IfcStructuralLoad", "IfcStructuralLoadGroup", "IfcStructuralLoadLinearForce", "IfcStructuralLoadPlanarForce", "IfcStructuralLoadSingleDisplacement", "IfcStructuralLoadSingleDisplacementDistortion", "IfcStructuralLoadSingleForce", "IfcStructuralLoadSingleForceWarping", "IfcStructuralLoadStatic", "IfcStructuralLoadTemperature", "IfcStructuralMember", "IfcStructuralPlanarAction", "IfcStructuralPlanarActionVarying", "IfcStructuralPointAction", "IfcStructuralPointConnection", "IfcStructuralPointReaction", "IfcStructuralProfileProperties", "IfcStructuralReaction", "IfcStructuralResultGroup", "IfcStructuralSteelProfileProperties", "IfcStructuralSurfaceConnection", "IfcStructuralSurfaceMember", "IfcStructuralSurfaceMemberVarying", "IfcStructuredDimensionCallout", "IfcStyleModel", "IfcStyledItem", "IfcStyledRepresentation", "IfcSubContractResource", "IfcSubedge", "IfcSurface", "IfcSurfaceCurveSweptAreaSolid", "IfcSurfaceOfLinearExtrusion", "IfcSurfaceOfRevolution", "IfcSurfaceStyle", "IfcSurfaceStyleLighting", "IfcSurfaceStyleRefraction", "IfcSurfaceStyleRendering", "IfcSurfaceStyleShading", "IfcSurfaceStyleWithTextures", "IfcSurfaceTexture", "IfcSweptAreaSolid", "IfcSweptDiskSolid", "IfcSweptSurface", "IfcSwitchingDeviceType", "IfcSymbolStyle", "IfcSystem", "IfcSystemFurnitureElementType", "IfcTShapeProfileDef", "IfcTable", "IfcTableRow", "IfcTankType", "IfcTask", "IfcTelecomAddress", "IfcTendon", "IfcTendonAnchor", "IfcTerminatorSymbol", "IfcTextLiteral", "IfcTextLiteralWithExtent", "IfcTextStyle", "IfcTextStyleFontModel", "IfcTextStyleForDefinedFont", "IfcTextStyleTextModel", "IfcTextStyleWithBoxCharacteristics", "IfcTextureCoordinate", "IfcTextureCoordinateGenerator", "IfcTextureMap", "IfcTextureVertex", "IfcThermalMaterialProperties", "IfcTimeSeries", "IfcTimeSeriesReferenceRelationship", "IfcTimeSeriesSchedule", "IfcTimeSeriesValue", "IfcTopologicalRepresentationItem", "IfcTopologyRepresentation", "IfcTransformerType", "IfcTransportElement", "IfcTransportElementType", "IfcTrapeziumProfileDef", "IfcTrimmedCurve", "IfcTubeBundleType", "IfcTwoDirectionRepeatFactor", "IfcTypeObject", "IfcTypeProduct", "IfcUShapeProfileDef", "IfcUnitAssignment", "IfcUnitaryEquipmentType", "IfcValveType", "IfcVector", "IfcVertex", "IfcVertexBasedTextureMap", "IfcVertexLoop", "IfcVertexPoint", "IfcVibrationIsolatorType", "IfcVirtualElement", "IfcVirtualGridIntersection", "IfcWall", "IfcWallStandardCase", "IfcWallType", "IfcWasteTerminalType", "IfcWaterProperties", "IfcWindow", "IfcWindowLiningProperties", "IfcWindowPanelProperties", "IfcWindowStyle", "IfcWorkControl", "IfcWorkPlan", "IfcWorkSchedule", "IfcZShapeProfileDef", "IfcZone" }; + if (v < 0 || v >= 980) throw IfcException("Unable to find find keyword in schema"); + const char* names[] = { "Ifc2DCompositeCurve", "IfcAbsorbedDoseMeasure", "IfcAccelerationMeasure", "IfcActionRequest", "IfcActionSourceTypeEnum", "IfcActionTypeEnum", "IfcActor", "IfcActorRole", "IfcActorSelect", "IfcActuatorType", "IfcActuatorTypeEnum", "IfcAddress", "IfcAddressTypeEnum", "IfcAheadOrBehind", "IfcAirTerminalBoxType", "IfcAirTerminalBoxTypeEnum", "IfcAirTerminalType", "IfcAirTerminalTypeEnum", "IfcAirToAirHeatRecoveryType", "IfcAirToAirHeatRecoveryTypeEnum", "IfcAlarmType", "IfcAlarmTypeEnum", "IfcAmountOfSubstanceMeasure", "IfcAnalysisModelTypeEnum", "IfcAnalysisTheoryTypeEnum", "IfcAngularDimension", "IfcAngularVelocityMeasure", "IfcAnnotation", "IfcAnnotationCurveOccurrence", "IfcAnnotationFillArea", "IfcAnnotationFillAreaOccurrence", "IfcAnnotationOccurrence", "IfcAnnotationSurface", "IfcAnnotationSurfaceOccurrence", "IfcAnnotationSymbolOccurrence", "IfcAnnotationTextOccurrence", "IfcApplication", "IfcAppliedValue", "IfcAppliedValueRelationship", "IfcAppliedValueSelect", "IfcApproval", "IfcApprovalActorRelationship", "IfcApprovalPropertyRelationship", "IfcApprovalRelationship", "IfcArbitraryClosedProfileDef", "IfcArbitraryOpenProfileDef", "IfcArbitraryProfileDefWithVoids", "IfcAreaMeasure", "IfcArithmeticOperatorEnum", "IfcAssemblyPlaceEnum", "IfcAsset", "IfcAsymmetricIShapeProfileDef", "IfcAxis1Placement", "IfcAxis2Placement", "IfcAxis2Placement2D", "IfcAxis2Placement3D", "IfcBSplineCurve", "IfcBSplineCurveForm", "IfcBeam", "IfcBeamType", "IfcBeamTypeEnum", "IfcBenchmarkEnum", "IfcBezierCurve", "IfcBlobTexture", "IfcBlock", "IfcBoilerType", "IfcBoilerTypeEnum", "IfcBoolean", "IfcBooleanClippingResult", "IfcBooleanOperand", "IfcBooleanOperator", "IfcBooleanResult", "IfcBoundaryCondition", "IfcBoundaryEdgeCondition", "IfcBoundaryFaceCondition", "IfcBoundaryNodeCondition", "IfcBoundaryNodeConditionWarping", "IfcBoundedCurve", "IfcBoundedSurface", "IfcBoundingBox", "IfcBoxAlignment", "IfcBoxedHalfSpace", "IfcBuilding", "IfcBuildingElement", "IfcBuildingElementComponent", "IfcBuildingElementPart", "IfcBuildingElementProxy", "IfcBuildingElementProxyType", "IfcBuildingElementProxyTypeEnum", "IfcBuildingElementType", "IfcBuildingStorey", "IfcCShapeProfileDef", "IfcCableCarrierFittingType", "IfcCableCarrierFittingTypeEnum", "IfcCableCarrierSegmentType", "IfcCableCarrierSegmentTypeEnum", "IfcCableSegmentType", "IfcCableSegmentTypeEnum", "IfcCalendarDate", "IfcCartesianPoint", "IfcCartesianTransformationOperator", "IfcCartesianTransformationOperator2D", "IfcCartesianTransformationOperator2DnonUniform", "IfcCartesianTransformationOperator3D", "IfcCartesianTransformationOperator3DnonUniform", "IfcCenterLineProfileDef", "IfcChamferEdgeFeature", "IfcChangeActionEnum", "IfcCharacterStyleSelect", "IfcChillerType", "IfcChillerTypeEnum", "IfcCircle", "IfcCircleHollowProfileDef", "IfcCircleProfileDef", "IfcClassification", "IfcClassificationItem", "IfcClassificationItemRelationship", "IfcClassificationNotation", "IfcClassificationNotationFacet", "IfcClassificationNotationSelect", "IfcClassificationReference", "IfcClosedShell", "IfcCoilType", "IfcCoilTypeEnum", "IfcColour", "IfcColourOrFactor", "IfcColourRgb", "IfcColourSpecification", "IfcColumn", "IfcColumnType", "IfcColumnTypeEnum", "IfcComplexNumber", "IfcComplexProperty", "IfcCompositeCurve", "IfcCompositeCurveSegment", "IfcCompositeProfileDef", "IfcCompoundPlaneAngleMeasure", "IfcCompressorType", "IfcCompressorTypeEnum", "IfcCondenserType", "IfcCondenserTypeEnum", "IfcCondition", "IfcConditionCriterion", "IfcConditionCriterionSelect", "IfcConic", "IfcConnectedFaceSet", "IfcConnectionCurveGeometry", "IfcConnectionGeometry", "IfcConnectionPointEccentricity", "IfcConnectionPointGeometry", "IfcConnectionPortGeometry", "IfcConnectionSurfaceGeometry", "IfcConnectionTypeEnum", "IfcConstraint", "IfcConstraintAggregationRelationship", "IfcConstraintClassificationRelationship", "IfcConstraintEnum", "IfcConstraintRelationship", "IfcConstructionEquipmentResource", "IfcConstructionMaterialResource", "IfcConstructionProductResource", "IfcConstructionResource", "IfcContextDependentMeasure", "IfcContextDependentUnit", "IfcControl", "IfcControllerType", "IfcControllerTypeEnum", "IfcConversionBasedUnit", "IfcCooledBeamType", "IfcCooledBeamTypeEnum", "IfcCoolingTowerType", "IfcCoolingTowerTypeEnum", "IfcCoordinatedUniversalTimeOffset", "IfcCostItem", "IfcCostSchedule", "IfcCostScheduleTypeEnum", "IfcCostValue", "IfcCountMeasure", "IfcCovering", "IfcCoveringType", "IfcCoveringTypeEnum", "IfcCraneRailAShapeProfileDef", "IfcCraneRailFShapeProfileDef", "IfcCrewResource", "IfcCsgPrimitive3D", "IfcCsgSelect", "IfcCsgSolid", "IfcCurrencyEnum", "IfcCurrencyRelationship", "IfcCurtainWall", "IfcCurtainWallType", "IfcCurtainWallTypeEnum", "IfcCurvatureMeasure", "IfcCurve", "IfcCurveBoundedPlane", "IfcCurveFontOrScaledCurveFontSelect", "IfcCurveOrEdgeCurve", "IfcCurveStyle", "IfcCurveStyleFont", "IfcCurveStyleFontAndScaling", "IfcCurveStyleFontPattern", "IfcCurveStyleFontSelect", "IfcDamperType", "IfcDamperTypeEnum", "IfcDataOriginEnum", "IfcDateAndTime", "IfcDateTimeSelect", "IfcDayInMonthNumber", "IfcDaylightSavingHour", "IfcDefinedSymbol", "IfcDefinedSymbolSelect", "IfcDerivedMeasureValue", "IfcDerivedProfileDef", "IfcDerivedUnit", "IfcDerivedUnitElement", "IfcDerivedUnitEnum", "IfcDescriptiveMeasure", "IfcDiameterDimension", "IfcDimensionCalloutRelationship", "IfcDimensionCount", "IfcDimensionCurve", "IfcDimensionCurveDirectedCallout", "IfcDimensionCurveTerminator", "IfcDimensionExtentUsage", "IfcDimensionPair", "IfcDimensionalExponents", "IfcDirection", "IfcDirectionSenseEnum", "IfcDiscreteAccessory", "IfcDiscreteAccessoryType", "IfcDistributionChamberElement", "IfcDistributionChamberElementType", "IfcDistributionChamberElementTypeEnum", "IfcDistributionControlElement", "IfcDistributionControlElementType", "IfcDistributionElement", "IfcDistributionElementType", "IfcDistributionFlowElement", "IfcDistributionFlowElementType", "IfcDistributionPort", "IfcDocumentConfidentialityEnum", "IfcDocumentElectronicFormat", "IfcDocumentInformation", "IfcDocumentInformationRelationship", "IfcDocumentReference", "IfcDocumentSelect", "IfcDocumentStatusEnum", "IfcDoor", "IfcDoorLiningProperties", "IfcDoorPanelOperationEnum", "IfcDoorPanelPositionEnum", "IfcDoorPanelProperties", "IfcDoorStyle", "IfcDoorStyleConstructionEnum", "IfcDoorStyleOperationEnum", "IfcDoseEquivalentMeasure", "IfcDraughtingCallout", "IfcDraughtingCalloutElement", "IfcDraughtingCalloutRelationship", "IfcDraughtingPreDefinedColour", "IfcDraughtingPreDefinedCurveFont", "IfcDraughtingPreDefinedTextFont", "IfcDuctFittingType", "IfcDuctFittingTypeEnum", "IfcDuctSegmentType", "IfcDuctSegmentTypeEnum", "IfcDuctSilencerType", "IfcDuctSilencerTypeEnum", "IfcDynamicViscosityMeasure", "IfcEdge", "IfcEdgeCurve", "IfcEdgeFeature", "IfcEdgeLoop", "IfcElectricApplianceType", "IfcElectricApplianceTypeEnum", "IfcElectricCapacitanceMeasure", "IfcElectricChargeMeasure", "IfcElectricConductanceMeasure", "IfcElectricCurrentEnum", "IfcElectricCurrentMeasure", "IfcElectricDistributionPoint", "IfcElectricDistributionPointFunctionEnum", "IfcElectricFlowStorageDeviceType", "IfcElectricFlowStorageDeviceTypeEnum", "IfcElectricGeneratorType", "IfcElectricGeneratorTypeEnum", "IfcElectricHeaterType", "IfcElectricHeaterTypeEnum", "IfcElectricMotorType", "IfcElectricMotorTypeEnum", "IfcElectricResistanceMeasure", "IfcElectricTimeControlType", "IfcElectricTimeControlTypeEnum", "IfcElectricVoltageMeasure", "IfcElectricalBaseProperties", "IfcElectricalCircuit", "IfcElectricalElement", "IfcElement", "IfcElementAssembly", "IfcElementAssemblyTypeEnum", "IfcElementComponent", "IfcElementComponentType", "IfcElementCompositionEnum", "IfcElementQuantity", "IfcElementType", "IfcElementarySurface", "IfcEllipse", "IfcEllipseProfileDef", "IfcEnergyConversionDevice", "IfcEnergyConversionDeviceType", "IfcEnergyMeasure", "IfcEnergyProperties", "IfcEnergySequenceEnum", "IfcEnvironmentalImpactCategoryEnum", "IfcEnvironmentalImpactValue", "IfcEquipmentElement", "IfcEquipmentStandard", "IfcEvaporativeCoolerType", "IfcEvaporativeCoolerTypeEnum", "IfcEvaporatorType", "IfcEvaporatorTypeEnum", "IfcExtendedMaterialProperties", "IfcExternalReference", "IfcExternallyDefinedHatchStyle", "IfcExternallyDefinedSurfaceStyle", "IfcExternallyDefinedSymbol", "IfcExternallyDefinedTextFont", "IfcExtrudedAreaSolid", "IfcFace", "IfcFaceBasedSurfaceModel", "IfcFaceBound", "IfcFaceOuterBound", "IfcFaceSurface", "IfcFacetedBrep", "IfcFacetedBrepWithVoids", "IfcFailureConnectionCondition", "IfcFanType", "IfcFanTypeEnum", "IfcFastener", "IfcFastenerType", "IfcFeatureElement", "IfcFeatureElementAddition", "IfcFeatureElementSubtraction", "IfcFillAreaStyle", "IfcFillAreaStyleHatching", "IfcFillAreaStyleTileShapeSelect", "IfcFillAreaStyleTileSymbolWithStyle", "IfcFillAreaStyleTiles", "IfcFillStyleSelect", "IfcFilterType", "IfcFilterTypeEnum", "IfcFireSuppressionTerminalType", "IfcFireSuppressionTerminalTypeEnum", "IfcFlowController", "IfcFlowControllerType", "IfcFlowDirectionEnum", "IfcFlowFitting", "IfcFlowFittingType", "IfcFlowInstrumentType", "IfcFlowInstrumentTypeEnum", "IfcFlowMeterType", "IfcFlowMeterTypeEnum", "IfcFlowMovingDevice", "IfcFlowMovingDeviceType", "IfcFlowSegment", "IfcFlowSegmentType", "IfcFlowStorageDevice", "IfcFlowStorageDeviceType", "IfcFlowTerminal", "IfcFlowTerminalType", "IfcFlowTreatmentDevice", "IfcFlowTreatmentDeviceType", "IfcFluidFlowProperties", "IfcFontStyle", "IfcFontVariant", "IfcFontWeight", "IfcFooting", "IfcFootingTypeEnum", "IfcForceMeasure", "IfcFrequencyMeasure", "IfcFuelProperties", "IfcFurnishingElement", "IfcFurnishingElementType", "IfcFurnitureStandard", "IfcFurnitureType", "IfcGasTerminalType", "IfcGasTerminalTypeEnum", "IfcGeneralMaterialProperties", "IfcGeneralProfileProperties", "IfcGeometricCurveSet", "IfcGeometricProjectionEnum", "IfcGeometricRepresentationContext", "IfcGeometricRepresentationItem", "IfcGeometricRepresentationSubContext", "IfcGeometricSet", "IfcGeometricSetSelect", "IfcGlobalOrLocalEnum", "IfcGloballyUniqueId", "IfcGrid", "IfcGridAxis", "IfcGridPlacement", "IfcGroup", "IfcHalfSpaceSolid", "IfcHatchLineDistanceSelect", "IfcHeatExchangerType", "IfcHeatExchangerTypeEnum", "IfcHeatFluxDensityMeasure", "IfcHeatingValueMeasure", "IfcHourInDay", "IfcHumidifierType", "IfcHumidifierTypeEnum", "IfcHygroscopicMaterialProperties", "IfcIShapeProfileDef", "IfcIdentifier", "IfcIlluminanceMeasure", "IfcImageTexture", "IfcInductanceMeasure", "IfcInteger", "IfcIntegerCountRateMeasure", "IfcInternalOrExternalEnum", "IfcInventory", "IfcInventoryTypeEnum", "IfcIonConcentrationMeasure", "IfcIrregularTimeSeries", "IfcIrregularTimeSeriesValue", "IfcIsothermalMoistureCapacityMeasure", "IfcJunctionBoxType", "IfcJunctionBoxTypeEnum", "IfcKinematicViscosityMeasure", "IfcLShapeProfileDef", "IfcLabel", "IfcLaborResource", "IfcLampType", "IfcLampTypeEnum", "IfcLayerSetDirectionEnum", "IfcLayeredItem", "IfcLengthMeasure", "IfcLibraryInformation", "IfcLibraryReference", "IfcLibrarySelect", "IfcLightDistributionCurveEnum", "IfcLightDistributionData", "IfcLightDistributionDataSourceSelect", "IfcLightEmissionSourceEnum", "IfcLightFixtureType", "IfcLightFixtureTypeEnum", "IfcLightIntensityDistribution", "IfcLightSource", "IfcLightSourceAmbient", "IfcLightSourceDirectional", "IfcLightSourceGoniometric", "IfcLightSourcePositional", "IfcLightSourceSpot", "IfcLine", "IfcLinearDimension", "IfcLinearForceMeasure", "IfcLinearMomentMeasure", "IfcLinearStiffnessMeasure", "IfcLinearVelocityMeasure", "IfcLoadGroupTypeEnum", "IfcLocalPlacement", "IfcLocalTime", "IfcLogical", "IfcLogicalOperatorEnum", "IfcLoop", "IfcLuminousFluxMeasure", "IfcLuminousIntensityDistributionMeasure", "IfcLuminousIntensityMeasure", "IfcMagneticFluxDensityMeasure", "IfcMagneticFluxMeasure", "IfcManifoldSolidBrep", "IfcMappedItem", "IfcMassDensityMeasure", "IfcMassFlowRateMeasure", "IfcMassMeasure", "IfcMassPerLengthMeasure", "IfcMaterial", "IfcMaterialClassificationRelationship", "IfcMaterialDefinitionRepresentation", "IfcMaterialLayer", "IfcMaterialLayerSet", "IfcMaterialLayerSetUsage", "IfcMaterialList", "IfcMaterialProperties", "IfcMaterialSelect", "IfcMeasureValue", "IfcMeasureWithUnit", "IfcMechanicalConcreteMaterialProperties", "IfcMechanicalFastener", "IfcMechanicalFastenerType", "IfcMechanicalMaterialProperties", "IfcMechanicalSteelMaterialProperties", "IfcMember", "IfcMemberType", "IfcMemberTypeEnum", "IfcMetric", "IfcMetricValueSelect", "IfcMinuteInHour", "IfcModulusOfElasticityMeasure", "IfcModulusOfLinearSubgradeReactionMeasure", "IfcModulusOfRotationalSubgradeReactionMeasure", "IfcModulusOfSubgradeReactionMeasure", "IfcMoistureDiffusivityMeasure", "IfcMolecularWeightMeasure", "IfcMomentOfInertiaMeasure", "IfcMonetaryMeasure", "IfcMonetaryUnit", "IfcMonthInYearNumber", "IfcMotorConnectionType", "IfcMotorConnectionTypeEnum", "IfcMove", "IfcNamedUnit", "IfcNormalisedRatioMeasure", "IfcNullStyle", "IfcNumericMeasure", "IfcObject", "IfcObjectDefinition", "IfcObjectPlacement", "IfcObjectReferenceSelect", "IfcObjectTypeEnum", "IfcObjective", "IfcObjectiveEnum", "IfcOccupant", "IfcOccupantTypeEnum", "IfcOffsetCurve2D", "IfcOffsetCurve3D", "IfcOneDirectionRepeatFactor", "IfcOpenShell", "IfcOpeningElement", "IfcOpticalMaterialProperties", "IfcOrderAction", "IfcOrganization", "IfcOrganizationRelationship", "IfcOrientationSelect", "IfcOrientedEdge", "IfcOutletType", "IfcOutletTypeEnum", "IfcOwnerHistory", "IfcPHMeasure", "IfcParameterValue", "IfcParameterizedProfileDef", "IfcPath", "IfcPerformanceHistory", "IfcPermeableCoveringOperationEnum", "IfcPermeableCoveringProperties", "IfcPermit", "IfcPerson", "IfcPersonAndOrganization", "IfcPhysicalComplexQuantity", "IfcPhysicalOrVirtualEnum", "IfcPhysicalQuantity", "IfcPhysicalSimpleQuantity", "IfcPile", "IfcPileConstructionEnum", "IfcPileTypeEnum", "IfcPipeFittingType", "IfcPipeFittingTypeEnum", "IfcPipeSegmentType", "IfcPipeSegmentTypeEnum", "IfcPixelTexture", "IfcPlacement", "IfcPlanarBox", "IfcPlanarExtent", "IfcPlanarForceMeasure", "IfcPlane", "IfcPlaneAngleMeasure", "IfcPlate", "IfcPlateType", "IfcPlateTypeEnum", "IfcPoint", "IfcPointOnCurve", "IfcPointOnSurface", "IfcPointOrVertexPoint", "IfcPolyLoop", "IfcPolygonalBoundedHalfSpace", "IfcPolyline", "IfcPort", "IfcPositiveLengthMeasure", "IfcPositivePlaneAngleMeasure", "IfcPositiveRatioMeasure", "IfcPostalAddress", "IfcPowerMeasure", "IfcPreDefinedColour", "IfcPreDefinedCurveFont", "IfcPreDefinedDimensionSymbol", "IfcPreDefinedItem", "IfcPreDefinedPointMarkerSymbol", "IfcPreDefinedSymbol", "IfcPreDefinedTerminatorSymbol", "IfcPreDefinedTextFont", "IfcPresentableText", "IfcPresentationLayerAssignment", "IfcPresentationLayerWithStyle", "IfcPresentationStyle", "IfcPresentationStyleAssignment", "IfcPresentationStyleSelect", "IfcPressureMeasure", "IfcProcedure", "IfcProcedureTypeEnum", "IfcProcess", "IfcProduct", "IfcProductDefinitionShape", "IfcProductRepresentation", "IfcProductsOfCombustionProperties", "IfcProfileDef", "IfcProfileProperties", "IfcProfileTypeEnum", "IfcProject", "IfcProjectOrder", "IfcProjectOrderRecord", "IfcProjectOrderRecordTypeEnum", "IfcProjectOrderTypeEnum", "IfcProjectedOrTrueLengthEnum", "IfcProjectionCurve", "IfcProjectionElement", "IfcProperty", "IfcPropertyBoundedValue", "IfcPropertyConstraintRelationship", "IfcPropertyDefinition", "IfcPropertyDependencyRelationship", "IfcPropertyEnumeratedValue", "IfcPropertyEnumeration", "IfcPropertyListValue", "IfcPropertyReferenceValue", "IfcPropertySet", "IfcPropertySetDefinition", "IfcPropertySingleValue", "IfcPropertySourceEnum", "IfcPropertyTableValue", "IfcProtectiveDeviceType", "IfcProtectiveDeviceTypeEnum", "IfcProxy", "IfcPumpType", "IfcPumpTypeEnum", "IfcQuantityArea", "IfcQuantityCount", "IfcQuantityLength", "IfcQuantityTime", "IfcQuantityVolume", "IfcQuantityWeight", "IfcRadioActivityMeasure", "IfcRadiusDimension", "IfcRailing", "IfcRailingType", "IfcRailingTypeEnum", "IfcRamp", "IfcRampFlight", "IfcRampFlightType", "IfcRampFlightTypeEnum", "IfcRampTypeEnum", "IfcRatioMeasure", "IfcRationalBezierCurve", "IfcReal", "IfcRectangleHollowProfileDef", "IfcRectangleProfileDef", "IfcRectangularPyramid", "IfcRectangularTrimmedSurface", "IfcReferencesValueDocument", "IfcReflectanceMethodEnum", "IfcRegularTimeSeries", "IfcReinforcementBarProperties", "IfcReinforcementDefinitionProperties", "IfcReinforcingBar", "IfcReinforcingBarRoleEnum", "IfcReinforcingBarSurfaceEnum", "IfcReinforcingElement", "IfcReinforcingMesh", "IfcRelAggregates", "IfcRelAssigns", "IfcRelAssignsTasks", "IfcRelAssignsToActor", "IfcRelAssignsToControl", "IfcRelAssignsToGroup", "IfcRelAssignsToProcess", "IfcRelAssignsToProduct", "IfcRelAssignsToProjectOrder", "IfcRelAssignsToResource", "IfcRelAssociates", "IfcRelAssociatesAppliedValue", "IfcRelAssociatesApproval", "IfcRelAssociatesClassification", "IfcRelAssociatesConstraint", "IfcRelAssociatesDocument", "IfcRelAssociatesLibrary", "IfcRelAssociatesMaterial", "IfcRelAssociatesProfileProperties", "IfcRelConnects", "IfcRelConnectsElements", "IfcRelConnectsPathElements", "IfcRelConnectsPortToElement", "IfcRelConnectsPorts", "IfcRelConnectsStructuralActivity", "IfcRelConnectsStructuralElement", "IfcRelConnectsStructuralMember", "IfcRelConnectsWithEccentricity", "IfcRelConnectsWithRealizingElements", "IfcRelContainedInSpatialStructure", "IfcRelCoversBldgElements", "IfcRelCoversSpaces", "IfcRelDecomposes", "IfcRelDefines", "IfcRelDefinesByProperties", "IfcRelDefinesByType", "IfcRelFillsElement", "IfcRelFlowControlElements", "IfcRelInteractionRequirements", "IfcRelNests", "IfcRelOccupiesSpaces", "IfcRelOverridesProperties", "IfcRelProjectsElement", "IfcRelReferencedInSpatialStructure", "IfcRelSchedulesCostItems", "IfcRelSequence", "IfcRelServicesBuildings", "IfcRelSpaceBoundary", "IfcRelVoidsElement", "IfcRelationship", "IfcRelaxation", "IfcRepresentation", "IfcRepresentationContext", "IfcRepresentationItem", "IfcRepresentationMap", "IfcResource", "IfcResourceConsumptionEnum", "IfcRevolvedAreaSolid", "IfcRibPlateDirectionEnum", "IfcRibPlateProfileProperties", "IfcRightCircularCone", "IfcRightCircularCylinder", "IfcRoleEnum", "IfcRoof", "IfcRoofTypeEnum", "IfcRoot", "IfcRotationalFrequencyMeasure", "IfcRotationalMassMeasure", "IfcRotationalStiffnessMeasure", "IfcRoundedEdgeFeature", "IfcRoundedRectangleProfileDef", "IfcSIPrefix", "IfcSIUnit", "IfcSIUnitName", "IfcSanitaryTerminalType", "IfcSanitaryTerminalTypeEnum", "IfcScheduleTimeControl", "IfcSecondInMinute", "IfcSectionModulusMeasure", "IfcSectionProperties", "IfcSectionReinforcementProperties", "IfcSectionTypeEnum", "IfcSectionalAreaIntegralMeasure", "IfcSectionedSpine", "IfcSensorType", "IfcSensorTypeEnum", "IfcSequenceEnum", "IfcServiceLife", "IfcServiceLifeFactor", "IfcServiceLifeFactorTypeEnum", "IfcServiceLifeTypeEnum", "IfcShapeAspect", "IfcShapeModel", "IfcShapeRepresentation", "IfcShearModulusMeasure", "IfcShell", "IfcShellBasedSurfaceModel", "IfcSimpleProperty", "IfcSimpleValue", "IfcSite", "IfcSizeSelect", "IfcSlab", "IfcSlabType", "IfcSlabTypeEnum", "IfcSlippageConnectionCondition", "IfcSolidAngleMeasure", "IfcSolidModel", "IfcSoundPowerMeasure", "IfcSoundPressureMeasure", "IfcSoundProperties", "IfcSoundScaleEnum", "IfcSoundValue", "IfcSpace", "IfcSpaceHeaterType", "IfcSpaceHeaterTypeEnum", "IfcSpaceProgram", "IfcSpaceThermalLoadProperties", "IfcSpaceType", "IfcSpaceTypeEnum", "IfcSpatialStructureElement", "IfcSpatialStructureElementType", "IfcSpecificHeatCapacityMeasure", "IfcSpecularExponent", "IfcSpecularHighlightSelect", "IfcSpecularRoughness", "IfcSphere", "IfcStackTerminalType", "IfcStackTerminalTypeEnum", "IfcStair", "IfcStairFlight", "IfcStairFlightType", "IfcStairFlightTypeEnum", "IfcStairTypeEnum", "IfcStateEnum", "IfcStructuralAction", "IfcStructuralActivity", "IfcStructuralActivityAssignmentSelect", "IfcStructuralAnalysisModel", "IfcStructuralConnection", "IfcStructuralConnectionCondition", "IfcStructuralCurveConnection", "IfcStructuralCurveMember", "IfcStructuralCurveMemberVarying", "IfcStructuralCurveTypeEnum", "IfcStructuralItem", "IfcStructuralLinearAction", "IfcStructuralLinearActionVarying", "IfcStructuralLoad", "IfcStructuralLoadGroup", "IfcStructuralLoadLinearForce", "IfcStructuralLoadPlanarForce", "IfcStructuralLoadSingleDisplacement", "IfcStructuralLoadSingleDisplacementDistortion", "IfcStructuralLoadSingleForce", "IfcStructuralLoadSingleForceWarping", "IfcStructuralLoadStatic", "IfcStructuralLoadTemperature", "IfcStructuralMember", "IfcStructuralPlanarAction", "IfcStructuralPlanarActionVarying", "IfcStructuralPointAction", "IfcStructuralPointConnection", "IfcStructuralPointReaction", "IfcStructuralProfileProperties", "IfcStructuralReaction", "IfcStructuralResultGroup", "IfcStructuralSteelProfileProperties", "IfcStructuralSurfaceConnection", "IfcStructuralSurfaceMember", "IfcStructuralSurfaceMemberVarying", "IfcStructuralSurfaceTypeEnum", "IfcStructuredDimensionCallout", "IfcStyleModel", "IfcStyledItem", "IfcStyledRepresentation", "IfcSubContractResource", "IfcSubedge", "IfcSurface", "IfcSurfaceCurveSweptAreaSolid", "IfcSurfaceOfLinearExtrusion", "IfcSurfaceOfRevolution", "IfcSurfaceOrFaceSurface", "IfcSurfaceSide", "IfcSurfaceStyle", "IfcSurfaceStyleElementSelect", "IfcSurfaceStyleLighting", "IfcSurfaceStyleRefraction", "IfcSurfaceStyleRendering", "IfcSurfaceStyleShading", "IfcSurfaceStyleWithTextures", "IfcSurfaceTexture", "IfcSurfaceTextureEnum", "IfcSweptAreaSolid", "IfcSweptDiskSolid", "IfcSweptSurface", "IfcSwitchingDeviceType", "IfcSwitchingDeviceTypeEnum", "IfcSymbolStyle", "IfcSymbolStyleSelect", "IfcSystem", "IfcSystemFurnitureElementType", "IfcTShapeProfileDef", "IfcTable", "IfcTableRow", "IfcTankType", "IfcTankTypeEnum", "IfcTask", "IfcTelecomAddress", "IfcTemperatureGradientMeasure", "IfcTendon", "IfcTendonAnchor", "IfcTendonTypeEnum", "IfcTerminatorSymbol", "IfcText", "IfcTextAlignment", "IfcTextDecoration", "IfcTextFontName", "IfcTextFontSelect", "IfcTextLiteral", "IfcTextLiteralWithExtent", "IfcTextPath", "IfcTextStyle", "IfcTextStyleFontModel", "IfcTextStyleForDefinedFont", "IfcTextStyleSelect", "IfcTextStyleTextModel", "IfcTextStyleWithBoxCharacteristics", "IfcTextTransformation", "IfcTextureCoordinate", "IfcTextureCoordinateGenerator", "IfcTextureMap", "IfcTextureVertex", "IfcThermalAdmittanceMeasure", "IfcThermalConductivityMeasure", "IfcThermalExpansionCoefficientMeasure", "IfcThermalLoadSourceEnum", "IfcThermalLoadTypeEnum", "IfcThermalMaterialProperties", "IfcThermalResistanceMeasure", "IfcThermalTransmittanceMeasure", "IfcThermodynamicTemperatureMeasure", "IfcTimeMeasure", "IfcTimeSeries", "IfcTimeSeriesDataTypeEnum", "IfcTimeSeriesReferenceRelationship", "IfcTimeSeriesSchedule", "IfcTimeSeriesScheduleTypeEnum", "IfcTimeSeriesValue", "IfcTimeStamp", "IfcTopologicalRepresentationItem", "IfcTopologyRepresentation", "IfcTorqueMeasure", "IfcTransformerType", "IfcTransformerTypeEnum", "IfcTransitionCode", "IfcTransportElement", "IfcTransportElementType", "IfcTransportElementTypeEnum", "IfcTrapeziumProfileDef", "IfcTrimmedCurve", "IfcTrimmingPreference", "IfcTrimmingSelect", "IfcTubeBundleType", "IfcTubeBundleTypeEnum", "IfcTwoDirectionRepeatFactor", "IfcTypeObject", "IfcTypeProduct", "IfcUShapeProfileDef", "IfcUnit", "IfcUnitAssignment", "IfcUnitEnum", "IfcUnitaryEquipmentType", "IfcUnitaryEquipmentTypeEnum", "IfcValue", "IfcValveType", "IfcValveTypeEnum", "IfcVaporPermeabilityMeasure", "IfcVector", "IfcVectorOrDirection", "IfcVertex", "IfcVertexBasedTextureMap", "IfcVertexLoop", "IfcVertexPoint", "IfcVibrationIsolatorType", "IfcVibrationIsolatorTypeEnum", "IfcVirtualElement", "IfcVirtualGridIntersection", "IfcVolumeMeasure", "IfcVolumetricFlowRateMeasure", "IfcWall", "IfcWallStandardCase", "IfcWallType", "IfcWallTypeEnum", "IfcWarpingConstantMeasure", "IfcWarpingMomentMeasure", "IfcWasteTerminalType", "IfcWasteTerminalTypeEnum", "IfcWaterProperties", "IfcWindow", "IfcWindowLiningProperties", "IfcWindowPanelOperationEnum", "IfcWindowPanelPositionEnum", "IfcWindowPanelProperties", "IfcWindowStyle", "IfcWindowStyleConstructionEnum", "IfcWindowStyleOperationEnum", "IfcWorkControl", "IfcWorkControlTypeEnum", "IfcWorkPlan", "IfcWorkSchedule", "IfcYearNumber", "IfcZShapeProfileDef", "IfcZone" }; return names[v]; } static std::map string_map; void Ifc2x3::InitStringMap() { + string_map["IFC2DCOMPOSITECURVE" ] = Type::Ifc2DCompositeCurve; string_map["IFCABSORBEDDOSEMEASURE" ] = Type::IfcAbsorbedDoseMeasure; string_map["IFCACCELERATIONMEASURE" ] = Type::IfcAccelerationMeasure; - string_map["IFCAMOUNTOFSUBSTANCEMEASURE" ] = Type::IfcAmountOfSubstanceMeasure; - string_map["IFCANGULARVELOCITYMEASURE" ] = Type::IfcAngularVelocityMeasure; - string_map["IFCAREAMEASURE" ] = Type::IfcAreaMeasure; - string_map["IFCBOOLEAN" ] = Type::IfcBoolean; - string_map["IFCCOLOUR" ] = Type::IfcColour; - string_map["IFCCOMPLEXNUMBER" ] = Type::IfcComplexNumber; - string_map["IFCCOMPOUNDPLANEANGLEMEASURE" ] = Type::IfcCompoundPlaneAngleMeasure; - string_map["IFCCONTEXTDEPENDENTMEASURE" ] = Type::IfcContextDependentMeasure; - string_map["IFCCOUNTMEASURE" ] = Type::IfcCountMeasure; - string_map["IFCCURVATUREMEASURE" ] = Type::IfcCurvatureMeasure; - string_map["IFCCURVESTYLEFONTSELECT" ] = Type::IfcCurveStyleFontSelect; - string_map["IFCDATETIMESELECT" ] = Type::IfcDateTimeSelect; - string_map["IFCDERIVEDMEASUREVALUE" ] = Type::IfcDerivedMeasureValue; - string_map["IFCDESCRIPTIVEMEASURE" ] = Type::IfcDescriptiveMeasure; - string_map["IFCDOSEEQUIVALENTMEASURE" ] = Type::IfcDoseEquivalentMeasure; - string_map["IFCDYNAMICVISCOSITYMEASURE" ] = Type::IfcDynamicViscosityMeasure; - string_map["IFCELECTRICCAPACITANCEMEASURE" ] = Type::IfcElectricCapacitanceMeasure; - string_map["IFCELECTRICCHARGEMEASURE" ] = Type::IfcElectricChargeMeasure; - string_map["IFCELECTRICCONDUCTANCEMEASURE" ] = Type::IfcElectricConductanceMeasure; - string_map["IFCELECTRICCURRENTMEASURE" ] = Type::IfcElectricCurrentMeasure; - string_map["IFCELECTRICRESISTANCEMEASURE" ] = Type::IfcElectricResistanceMeasure; - string_map["IFCELECTRICVOLTAGEMEASURE" ] = Type::IfcElectricVoltageMeasure; - string_map["IFCENERGYMEASURE" ] = Type::IfcEnergyMeasure; - string_map["IFCFORCEMEASURE" ] = Type::IfcForceMeasure; - string_map["IFCFREQUENCYMEASURE" ] = Type::IfcFrequencyMeasure; - string_map["IFCHEATFLUXDENSITYMEASURE" ] = Type::IfcHeatFluxDensityMeasure; - string_map["IFCHEATINGVALUEMEASURE" ] = Type::IfcHeatingValueMeasure; - string_map["IFCIDENTIFIER" ] = Type::IfcIdentifier; - string_map["IFCILLUMINANCEMEASURE" ] = Type::IfcIlluminanceMeasure; - string_map["IFCINDUCTANCEMEASURE" ] = Type::IfcInductanceMeasure; - string_map["IFCINTEGER" ] = Type::IfcInteger; - string_map["IFCINTEGERCOUNTRATEMEASURE" ] = Type::IfcIntegerCountRateMeasure; - string_map["IFCIONCONCENTRATIONMEASURE" ] = Type::IfcIonConcentrationMeasure; - string_map["IFCISOTHERMALMOISTURECAPACITYMEASURE" ] = Type::IfcIsothermalMoistureCapacityMeasure; - string_map["IFCKINEMATICVISCOSITYMEASURE" ] = Type::IfcKinematicViscosityMeasure; - string_map["IFCLABEL" ] = Type::IfcLabel; - string_map["IFCLENGTHMEASURE" ] = Type::IfcLengthMeasure; - string_map["IFCLINEARFORCEMEASURE" ] = Type::IfcLinearForceMeasure; - string_map["IFCLINEARMOMENTMEASURE" ] = Type::IfcLinearMomentMeasure; - string_map["IFCLINEARSTIFFNESSMEASURE" ] = Type::IfcLinearStiffnessMeasure; - string_map["IFCLINEARVELOCITYMEASURE" ] = Type::IfcLinearVelocityMeasure; - string_map["IFCLOGICAL" ] = Type::IfcLogical; - string_map["IFCLUMINOUSFLUXMEASURE" ] = Type::IfcLuminousFluxMeasure; - string_map["IFCLUMINOUSINTENSITYDISTRIBUTIONMEASURE" ] = Type::IfcLuminousIntensityDistributionMeasure; - string_map["IFCLUMINOUSINTENSITYMEASURE" ] = Type::IfcLuminousIntensityMeasure; - string_map["IFCMAGNETICFLUXDENSITYMEASURE" ] = Type::IfcMagneticFluxDensityMeasure; - string_map["IFCMAGNETICFLUXMEASURE" ] = Type::IfcMagneticFluxMeasure; - string_map["IFCMASSDENSITYMEASURE" ] = Type::IfcMassDensityMeasure; - string_map["IFCMASSFLOWRATEMEASURE" ] = Type::IfcMassFlowRateMeasure; - string_map["IFCMASSMEASURE" ] = Type::IfcMassMeasure; - string_map["IFCMASSPERLENGTHMEASURE" ] = Type::IfcMassPerLengthMeasure; - string_map["IFCMEASUREVALUE" ] = Type::IfcMeasureValue; - string_map["IFCMODULUSOFELASTICITYMEASURE" ] = Type::IfcModulusOfElasticityMeasure; - string_map["IFCMODULUSOFLINEARSUBGRADEREACTIONMEASURE" ] = Type::IfcModulusOfLinearSubgradeReactionMeasure; - string_map["IFCMODULUSOFROTATIONALSUBGRADEREACTIONMEASURE" ] = Type::IfcModulusOfRotationalSubgradeReactionMeasure; - string_map["IFCMODULUSOFSUBGRADEREACTIONMEASURE" ] = Type::IfcModulusOfSubgradeReactionMeasure; - string_map["IFCMOISTUREDIFFUSIVITYMEASURE" ] = Type::IfcMoistureDiffusivityMeasure; - string_map["IFCMOLECULARWEIGHTMEASURE" ] = Type::IfcMolecularWeightMeasure; - string_map["IFCMOMENTOFINERTIAMEASURE" ] = Type::IfcMomentOfInertiaMeasure; - string_map["IFCMONETARYMEASURE" ] = Type::IfcMonetaryMeasure; - string_map["IFCNORMALISEDRATIOMEASURE" ] = Type::IfcNormalisedRatioMeasure; - string_map["IFCNULLSTYLE" ] = Type::IfcNullStyle; - string_map["IFCNUMERICMEASURE" ] = Type::IfcNumericMeasure; - string_map["IFCPHMEASURE" ] = Type::IfcPHMeasure; - string_map["IFCPARAMETERVALUE" ] = Type::IfcParameterValue; - string_map["IFCPLANARFORCEMEASURE" ] = Type::IfcPlanarForceMeasure; - string_map["IFCPLANEANGLEMEASURE" ] = Type::IfcPlaneAngleMeasure; - string_map["IFCPOSITIVELENGTHMEASURE" ] = Type::IfcPositiveLengthMeasure; - string_map["IFCPOSITIVEPLANEANGLEMEASURE" ] = Type::IfcPositivePlaneAngleMeasure; - string_map["IFCPOSITIVERATIOMEASURE" ] = Type::IfcPositiveRatioMeasure; - string_map["IFCPOWERMEASURE" ] = Type::IfcPowerMeasure; - string_map["IFCPRESSUREMEASURE" ] = Type::IfcPressureMeasure; - string_map["IFCRADIOACTIVITYMEASURE" ] = Type::IfcRadioActivityMeasure; - string_map["IFCRATIOMEASURE" ] = Type::IfcRatioMeasure; - string_map["IFCREAL" ] = Type::IfcReal; - string_map["IFCROTATIONALFREQUENCYMEASURE" ] = Type::IfcRotationalFrequencyMeasure; - string_map["IFCROTATIONALMASSMEASURE" ] = Type::IfcRotationalMassMeasure; - string_map["IFCROTATIONALSTIFFNESSMEASURE" ] = Type::IfcRotationalStiffnessMeasure; - string_map["IFCSECTIONMODULUSMEASURE" ] = Type::IfcSectionModulusMeasure; - string_map["IFCSECTIONALAREAINTEGRALMEASURE" ] = Type::IfcSectionalAreaIntegralMeasure; - string_map["IFCSHEARMODULUSMEASURE" ] = Type::IfcShearModulusMeasure; - string_map["IFCSIMPLEVALUE" ] = Type::IfcSimpleValue; - string_map["IFCSOLIDANGLEMEASURE" ] = Type::IfcSolidAngleMeasure; - string_map["IFCSOUNDPOWERMEASURE" ] = Type::IfcSoundPowerMeasure; - string_map["IFCSOUNDPRESSUREMEASURE" ] = Type::IfcSoundPressureMeasure; - string_map["IFCSPECIFICHEATCAPACITYMEASURE" ] = Type::IfcSpecificHeatCapacityMeasure; - string_map["IFCSPECULAREXPONENT" ] = Type::IfcSpecularExponent; - string_map["IFCSPECULARROUGHNESS" ] = Type::IfcSpecularRoughness; - string_map["IFCTEMPERATUREGRADIENTMEASURE" ] = Type::IfcTemperatureGradientMeasure; - string_map["IFCTEXT" ] = Type::IfcText; - string_map["IFCTHERMALADMITTANCEMEASURE" ] = Type::IfcThermalAdmittanceMeasure; - string_map["IFCTHERMALCONDUCTIVITYMEASURE" ] = Type::IfcThermalConductivityMeasure; - string_map["IFCTHERMALEXPANSIONCOEFFICIENTMEASURE" ] = Type::IfcThermalExpansionCoefficientMeasure; - string_map["IFCTHERMALRESISTANCEMEASURE" ] = Type::IfcThermalResistanceMeasure; - string_map["IFCTHERMALTRANSMITTANCEMEASURE" ] = Type::IfcThermalTransmittanceMeasure; - string_map["IFCTHERMODYNAMICTEMPERATUREMEASURE" ] = Type::IfcThermodynamicTemperatureMeasure; - string_map["IFCTIMEMEASURE" ] = Type::IfcTimeMeasure; - string_map["IFCTIMESTAMP" ] = Type::IfcTimeStamp; - string_map["IFCTORQUEMEASURE" ] = Type::IfcTorqueMeasure; - string_map["IFCVAPORPERMEABILITYMEASURE" ] = Type::IfcVaporPermeabilityMeasure; - string_map["IFCVOLUMEMEASURE" ] = Type::IfcVolumeMeasure; - string_map["IFCVOLUMETRICFLOWRATEMEASURE" ] = Type::IfcVolumetricFlowRateMeasure; - string_map["IFCWARPINGCONSTANTMEASURE" ] = Type::IfcWarpingConstantMeasure; - string_map["IFCWARPINGMOMENTMEASURE" ] = Type::IfcWarpingMomentMeasure; - string_map["IFC2DCOMPOSITECURVE" ] = Type::Ifc2DCompositeCurve; string_map["IFCACTIONREQUEST" ] = Type::IfcActionRequest; + string_map["IFCACTIONSOURCETYPEENUM" ] = Type::IfcActionSourceTypeEnum; + string_map["IFCACTIONTYPEENUM" ] = Type::IfcActionTypeEnum; string_map["IFCACTOR" ] = Type::IfcActor; string_map["IFCACTORROLE" ] = Type::IfcActorRole; + string_map["IFCACTORSELECT" ] = Type::IfcActorSelect; string_map["IFCACTUATORTYPE" ] = Type::IfcActuatorType; + string_map["IFCACTUATORTYPEENUM" ] = Type::IfcActuatorTypeEnum; string_map["IFCADDRESS" ] = Type::IfcAddress; + string_map["IFCADDRESSTYPEENUM" ] = Type::IfcAddressTypeEnum; + string_map["IFCAHEADORBEHIND" ] = Type::IfcAheadOrBehind; string_map["IFCAIRTERMINALBOXTYPE" ] = Type::IfcAirTerminalBoxType; + string_map["IFCAIRTERMINALBOXTYPEENUM" ] = Type::IfcAirTerminalBoxTypeEnum; string_map["IFCAIRTERMINALTYPE" ] = Type::IfcAirTerminalType; + string_map["IFCAIRTERMINALTYPEENUM" ] = Type::IfcAirTerminalTypeEnum; string_map["IFCAIRTOAIRHEATRECOVERYTYPE" ] = Type::IfcAirToAirHeatRecoveryType; + string_map["IFCAIRTOAIRHEATRECOVERYTYPEENUM" ] = Type::IfcAirToAirHeatRecoveryTypeEnum; string_map["IFCALARMTYPE" ] = Type::IfcAlarmType; + string_map["IFCALARMTYPEENUM" ] = Type::IfcAlarmTypeEnum; + string_map["IFCAMOUNTOFSUBSTANCEMEASURE" ] = Type::IfcAmountOfSubstanceMeasure; + string_map["IFCANALYSISMODELTYPEENUM" ] = Type::IfcAnalysisModelTypeEnum; + string_map["IFCANALYSISTHEORYTYPEENUM" ] = Type::IfcAnalysisTheoryTypeEnum; string_map["IFCANGULARDIMENSION" ] = Type::IfcAngularDimension; + string_map["IFCANGULARVELOCITYMEASURE" ] = Type::IfcAngularVelocityMeasure; string_map["IFCANNOTATION" ] = Type::IfcAnnotation; string_map["IFCANNOTATIONCURVEOCCURRENCE" ] = Type::IfcAnnotationCurveOccurrence; string_map["IFCANNOTATIONFILLAREA" ] = Type::IfcAnnotationFillArea; @@ -937,6 +858,7 @@ void Ifc2x3::InitStringMap() { string_map["IFCAPPLICATION" ] = Type::IfcApplication; string_map["IFCAPPLIEDVALUE" ] = Type::IfcAppliedValue; string_map["IFCAPPLIEDVALUERELATIONSHIP" ] = Type::IfcAppliedValueRelationship; + string_map["IFCAPPLIEDVALUESELECT" ] = Type::IfcAppliedValueSelect; string_map["IFCAPPROVAL" ] = Type::IfcApproval; string_map["IFCAPPROVALACTORRELATIONSHIP" ] = Type::IfcApprovalActorRelationship; string_map["IFCAPPROVALPROPERTYRELATIONSHIP" ] = Type::IfcApprovalPropertyRelationship; @@ -944,19 +866,30 @@ void Ifc2x3::InitStringMap() { string_map["IFCARBITRARYCLOSEDPROFILEDEF" ] = Type::IfcArbitraryClosedProfileDef; string_map["IFCARBITRARYOPENPROFILEDEF" ] = Type::IfcArbitraryOpenProfileDef; string_map["IFCARBITRARYPROFILEDEFWITHVOIDS" ] = Type::IfcArbitraryProfileDefWithVoids; + string_map["IFCAREAMEASURE" ] = Type::IfcAreaMeasure; + string_map["IFCARITHMETICOPERATORENUM" ] = Type::IfcArithmeticOperatorEnum; + string_map["IFCASSEMBLYPLACEENUM" ] = Type::IfcAssemblyPlaceEnum; string_map["IFCASSET" ] = Type::IfcAsset; string_map["IFCASYMMETRICISHAPEPROFILEDEF" ] = Type::IfcAsymmetricIShapeProfileDef; string_map["IFCAXIS1PLACEMENT" ] = Type::IfcAxis1Placement; + string_map["IFCAXIS2PLACEMENT" ] = Type::IfcAxis2Placement; string_map["IFCAXIS2PLACEMENT2D" ] = Type::IfcAxis2Placement2D; string_map["IFCAXIS2PLACEMENT3D" ] = Type::IfcAxis2Placement3D; string_map["IFCBSPLINECURVE" ] = Type::IfcBSplineCurve; + string_map["IFCBSPLINECURVEFORM" ] = Type::IfcBSplineCurveForm; string_map["IFCBEAM" ] = Type::IfcBeam; string_map["IFCBEAMTYPE" ] = Type::IfcBeamType; + string_map["IFCBEAMTYPEENUM" ] = Type::IfcBeamTypeEnum; + string_map["IFCBENCHMARKENUM" ] = Type::IfcBenchmarkEnum; string_map["IFCBEZIERCURVE" ] = Type::IfcBezierCurve; string_map["IFCBLOBTEXTURE" ] = Type::IfcBlobTexture; string_map["IFCBLOCK" ] = Type::IfcBlock; string_map["IFCBOILERTYPE" ] = Type::IfcBoilerType; + string_map["IFCBOILERTYPEENUM" ] = Type::IfcBoilerTypeEnum; + string_map["IFCBOOLEAN" ] = Type::IfcBoolean; string_map["IFCBOOLEANCLIPPINGRESULT" ] = Type::IfcBooleanClippingResult; + string_map["IFCBOOLEANOPERAND" ] = Type::IfcBooleanOperand; + string_map["IFCBOOLEANOPERATOR" ] = Type::IfcBooleanOperator; string_map["IFCBOOLEANRESULT" ] = Type::IfcBooleanResult; string_map["IFCBOUNDARYCONDITION" ] = Type::IfcBoundaryCondition; string_map["IFCBOUNDARYEDGECONDITION" ] = Type::IfcBoundaryEdgeCondition; @@ -966,6 +899,7 @@ void Ifc2x3::InitStringMap() { string_map["IFCBOUNDEDCURVE" ] = Type::IfcBoundedCurve; string_map["IFCBOUNDEDSURFACE" ] = Type::IfcBoundedSurface; string_map["IFCBOUNDINGBOX" ] = Type::IfcBoundingBox; + string_map["IFCBOXALIGNMENT" ] = Type::IfcBoxAlignment; string_map["IFCBOXEDHALFSPACE" ] = Type::IfcBoxedHalfSpace; string_map["IFCBUILDING" ] = Type::IfcBuilding; string_map["IFCBUILDINGELEMENT" ] = Type::IfcBuildingElement; @@ -973,12 +907,16 @@ void Ifc2x3::InitStringMap() { string_map["IFCBUILDINGELEMENTPART" ] = Type::IfcBuildingElementPart; string_map["IFCBUILDINGELEMENTPROXY" ] = Type::IfcBuildingElementProxy; string_map["IFCBUILDINGELEMENTPROXYTYPE" ] = Type::IfcBuildingElementProxyType; + string_map["IFCBUILDINGELEMENTPROXYTYPEENUM" ] = Type::IfcBuildingElementProxyTypeEnum; string_map["IFCBUILDINGELEMENTTYPE" ] = Type::IfcBuildingElementType; string_map["IFCBUILDINGSTOREY" ] = Type::IfcBuildingStorey; string_map["IFCCSHAPEPROFILEDEF" ] = Type::IfcCShapeProfileDef; string_map["IFCCABLECARRIERFITTINGTYPE" ] = Type::IfcCableCarrierFittingType; + string_map["IFCCABLECARRIERFITTINGTYPEENUM" ] = Type::IfcCableCarrierFittingTypeEnum; string_map["IFCCABLECARRIERSEGMENTTYPE" ] = Type::IfcCableCarrierSegmentType; + string_map["IFCCABLECARRIERSEGMENTTYPEENUM" ] = Type::IfcCableCarrierSegmentTypeEnum; string_map["IFCCABLESEGMENTTYPE" ] = Type::IfcCableSegmentType; + string_map["IFCCABLESEGMENTTYPEENUM" ] = Type::IfcCableSegmentTypeEnum; string_map["IFCCALENDARDATE" ] = Type::IfcCalendarDate; string_map["IFCCARTESIANPOINT" ] = Type::IfcCartesianPoint; string_map["IFCCARTESIANTRANSFORMATIONOPERATOR" ] = Type::IfcCartesianTransformationOperator; @@ -988,7 +926,10 @@ void Ifc2x3::InitStringMap() { string_map["IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM"] = Type::IfcCartesianTransformationOperator3DnonUniform; string_map["IFCCENTERLINEPROFILEDEF" ] = Type::IfcCenterLineProfileDef; string_map["IFCCHAMFEREDGEFEATURE" ] = Type::IfcChamferEdgeFeature; + string_map["IFCCHANGEACTIONENUM" ] = Type::IfcChangeActionEnum; + string_map["IFCCHARACTERSTYLESELECT" ] = Type::IfcCharacterStyleSelect; string_map["IFCCHILLERTYPE" ] = Type::IfcChillerType; + string_map["IFCCHILLERTYPEENUM" ] = Type::IfcChillerTypeEnum; string_map["IFCCIRCLE" ] = Type::IfcCircle; string_map["IFCCIRCLEHOLLOWPROFILEDEF" ] = Type::IfcCircleHollowProfileDef; string_map["IFCCIRCLEPROFILEDEF" ] = Type::IfcCircleProfileDef; @@ -997,21 +938,31 @@ void Ifc2x3::InitStringMap() { string_map["IFCCLASSIFICATIONITEMRELATIONSHIP" ] = Type::IfcClassificationItemRelationship; string_map["IFCCLASSIFICATIONNOTATION" ] = Type::IfcClassificationNotation; string_map["IFCCLASSIFICATIONNOTATIONFACET" ] = Type::IfcClassificationNotationFacet; + string_map["IFCCLASSIFICATIONNOTATIONSELECT" ] = Type::IfcClassificationNotationSelect; string_map["IFCCLASSIFICATIONREFERENCE" ] = Type::IfcClassificationReference; string_map["IFCCLOSEDSHELL" ] = Type::IfcClosedShell; string_map["IFCCOILTYPE" ] = Type::IfcCoilType; + string_map["IFCCOILTYPEENUM" ] = Type::IfcCoilTypeEnum; + string_map["IFCCOLOUR" ] = Type::IfcColour; + string_map["IFCCOLOURORFACTOR" ] = Type::IfcColourOrFactor; string_map["IFCCOLOURRGB" ] = Type::IfcColourRgb; string_map["IFCCOLOURSPECIFICATION" ] = Type::IfcColourSpecification; string_map["IFCCOLUMN" ] = Type::IfcColumn; string_map["IFCCOLUMNTYPE" ] = Type::IfcColumnType; + string_map["IFCCOLUMNTYPEENUM" ] = Type::IfcColumnTypeEnum; + string_map["IFCCOMPLEXNUMBER" ] = Type::IfcComplexNumber; string_map["IFCCOMPLEXPROPERTY" ] = Type::IfcComplexProperty; string_map["IFCCOMPOSITECURVE" ] = Type::IfcCompositeCurve; string_map["IFCCOMPOSITECURVESEGMENT" ] = Type::IfcCompositeCurveSegment; string_map["IFCCOMPOSITEPROFILEDEF" ] = Type::IfcCompositeProfileDef; + string_map["IFCCOMPOUNDPLANEANGLEMEASURE" ] = Type::IfcCompoundPlaneAngleMeasure; string_map["IFCCOMPRESSORTYPE" ] = Type::IfcCompressorType; + string_map["IFCCOMPRESSORTYPEENUM" ] = Type::IfcCompressorTypeEnum; string_map["IFCCONDENSERTYPE" ] = Type::IfcCondenserType; + string_map["IFCCONDENSERTYPEENUM" ] = Type::IfcCondenserTypeEnum; string_map["IFCCONDITION" ] = Type::IfcCondition; string_map["IFCCONDITIONCRITERION" ] = Type::IfcConditionCriterion; + string_map["IFCCONDITIONCRITERIONSELECT" ] = Type::IfcConditionCriterionSelect; string_map["IFCCONIC" ] = Type::IfcConic; string_map["IFCCONNECTEDFACESET" ] = Type::IfcConnectedFaceSet; string_map["IFCCONNECTIONCURVEGEOMETRY" ] = Type::IfcConnectionCurveGeometry; @@ -1020,58 +971,87 @@ void Ifc2x3::InitStringMap() { string_map["IFCCONNECTIONPOINTGEOMETRY" ] = Type::IfcConnectionPointGeometry; string_map["IFCCONNECTIONPORTGEOMETRY" ] = Type::IfcConnectionPortGeometry; string_map["IFCCONNECTIONSURFACEGEOMETRY" ] = Type::IfcConnectionSurfaceGeometry; + string_map["IFCCONNECTIONTYPEENUM" ] = Type::IfcConnectionTypeEnum; string_map["IFCCONSTRAINT" ] = Type::IfcConstraint; string_map["IFCCONSTRAINTAGGREGATIONRELATIONSHIP" ] = Type::IfcConstraintAggregationRelationship; string_map["IFCCONSTRAINTCLASSIFICATIONRELATIONSHIP" ] = Type::IfcConstraintClassificationRelationship; + string_map["IFCCONSTRAINTENUM" ] = Type::IfcConstraintEnum; string_map["IFCCONSTRAINTRELATIONSHIP" ] = Type::IfcConstraintRelationship; string_map["IFCCONSTRUCTIONEQUIPMENTRESOURCE" ] = Type::IfcConstructionEquipmentResource; string_map["IFCCONSTRUCTIONMATERIALRESOURCE" ] = Type::IfcConstructionMaterialResource; string_map["IFCCONSTRUCTIONPRODUCTRESOURCE" ] = Type::IfcConstructionProductResource; string_map["IFCCONSTRUCTIONRESOURCE" ] = Type::IfcConstructionResource; + string_map["IFCCONTEXTDEPENDENTMEASURE" ] = Type::IfcContextDependentMeasure; string_map["IFCCONTEXTDEPENDENTUNIT" ] = Type::IfcContextDependentUnit; string_map["IFCCONTROL" ] = Type::IfcControl; string_map["IFCCONTROLLERTYPE" ] = Type::IfcControllerType; + string_map["IFCCONTROLLERTYPEENUM" ] = Type::IfcControllerTypeEnum; string_map["IFCCONVERSIONBASEDUNIT" ] = Type::IfcConversionBasedUnit; string_map["IFCCOOLEDBEAMTYPE" ] = Type::IfcCooledBeamType; + string_map["IFCCOOLEDBEAMTYPEENUM" ] = Type::IfcCooledBeamTypeEnum; string_map["IFCCOOLINGTOWERTYPE" ] = Type::IfcCoolingTowerType; + string_map["IFCCOOLINGTOWERTYPEENUM" ] = Type::IfcCoolingTowerTypeEnum; string_map["IFCCOORDINATEDUNIVERSALTIMEOFFSET" ] = Type::IfcCoordinatedUniversalTimeOffset; string_map["IFCCOSTITEM" ] = Type::IfcCostItem; string_map["IFCCOSTSCHEDULE" ] = Type::IfcCostSchedule; + string_map["IFCCOSTSCHEDULETYPEENUM" ] = Type::IfcCostScheduleTypeEnum; string_map["IFCCOSTVALUE" ] = Type::IfcCostValue; + string_map["IFCCOUNTMEASURE" ] = Type::IfcCountMeasure; string_map["IFCCOVERING" ] = Type::IfcCovering; string_map["IFCCOVERINGTYPE" ] = Type::IfcCoveringType; + string_map["IFCCOVERINGTYPEENUM" ] = Type::IfcCoveringTypeEnum; string_map["IFCCRANERAILASHAPEPROFILEDEF" ] = Type::IfcCraneRailAShapeProfileDef; string_map["IFCCRANERAILFSHAPEPROFILEDEF" ] = Type::IfcCraneRailFShapeProfileDef; string_map["IFCCREWRESOURCE" ] = Type::IfcCrewResource; string_map["IFCCSGPRIMITIVE3D" ] = Type::IfcCsgPrimitive3D; + string_map["IFCCSGSELECT" ] = Type::IfcCsgSelect; string_map["IFCCSGSOLID" ] = Type::IfcCsgSolid; + string_map["IFCCURRENCYENUM" ] = Type::IfcCurrencyEnum; string_map["IFCCURRENCYRELATIONSHIP" ] = Type::IfcCurrencyRelationship; string_map["IFCCURTAINWALL" ] = Type::IfcCurtainWall; string_map["IFCCURTAINWALLTYPE" ] = Type::IfcCurtainWallType; + string_map["IFCCURTAINWALLTYPEENUM" ] = Type::IfcCurtainWallTypeEnum; + string_map["IFCCURVATUREMEASURE" ] = Type::IfcCurvatureMeasure; string_map["IFCCURVE" ] = Type::IfcCurve; string_map["IFCCURVEBOUNDEDPLANE" ] = Type::IfcCurveBoundedPlane; + string_map["IFCCURVEFONTORSCALEDCURVEFONTSELECT" ] = Type::IfcCurveFontOrScaledCurveFontSelect; + string_map["IFCCURVEOREDGECURVE" ] = Type::IfcCurveOrEdgeCurve; string_map["IFCCURVESTYLE" ] = Type::IfcCurveStyle; string_map["IFCCURVESTYLEFONT" ] = Type::IfcCurveStyleFont; string_map["IFCCURVESTYLEFONTANDSCALING" ] = Type::IfcCurveStyleFontAndScaling; string_map["IFCCURVESTYLEFONTPATTERN" ] = Type::IfcCurveStyleFontPattern; + string_map["IFCCURVESTYLEFONTSELECT" ] = Type::IfcCurveStyleFontSelect; string_map["IFCDAMPERTYPE" ] = Type::IfcDamperType; + string_map["IFCDAMPERTYPEENUM" ] = Type::IfcDamperTypeEnum; + string_map["IFCDATAORIGINENUM" ] = Type::IfcDataOriginEnum; string_map["IFCDATEANDTIME" ] = Type::IfcDateAndTime; + string_map["IFCDATETIMESELECT" ] = Type::IfcDateTimeSelect; + string_map["IFCDAYINMONTHNUMBER" ] = Type::IfcDayInMonthNumber; + string_map["IFCDAYLIGHTSAVINGHOUR" ] = Type::IfcDaylightSavingHour; string_map["IFCDEFINEDSYMBOL" ] = Type::IfcDefinedSymbol; + string_map["IFCDEFINEDSYMBOLSELECT" ] = Type::IfcDefinedSymbolSelect; + string_map["IFCDERIVEDMEASUREVALUE" ] = Type::IfcDerivedMeasureValue; string_map["IFCDERIVEDPROFILEDEF" ] = Type::IfcDerivedProfileDef; string_map["IFCDERIVEDUNIT" ] = Type::IfcDerivedUnit; string_map["IFCDERIVEDUNITELEMENT" ] = Type::IfcDerivedUnitElement; + string_map["IFCDERIVEDUNITENUM" ] = Type::IfcDerivedUnitEnum; + string_map["IFCDESCRIPTIVEMEASURE" ] = Type::IfcDescriptiveMeasure; string_map["IFCDIAMETERDIMENSION" ] = Type::IfcDiameterDimension; string_map["IFCDIMENSIONCALLOUTRELATIONSHIP" ] = Type::IfcDimensionCalloutRelationship; + string_map["IFCDIMENSIONCOUNT" ] = Type::IfcDimensionCount; string_map["IFCDIMENSIONCURVE" ] = Type::IfcDimensionCurve; string_map["IFCDIMENSIONCURVEDIRECTEDCALLOUT" ] = Type::IfcDimensionCurveDirectedCallout; string_map["IFCDIMENSIONCURVETERMINATOR" ] = Type::IfcDimensionCurveTerminator; + string_map["IFCDIMENSIONEXTENTUSAGE" ] = Type::IfcDimensionExtentUsage; string_map["IFCDIMENSIONPAIR" ] = Type::IfcDimensionPair; string_map["IFCDIMENSIONALEXPONENTS" ] = Type::IfcDimensionalExponents; string_map["IFCDIRECTION" ] = Type::IfcDirection; + string_map["IFCDIRECTIONSENSEENUM" ] = Type::IfcDirectionSenseEnum; string_map["IFCDISCRETEACCESSORY" ] = Type::IfcDiscreteAccessory; string_map["IFCDISCRETEACCESSORYTYPE" ] = Type::IfcDiscreteAccessoryType; string_map["IFCDISTRIBUTIONCHAMBERELEMENT" ] = Type::IfcDistributionChamberElement; string_map["IFCDISTRIBUTIONCHAMBERELEMENTTYPE" ] = Type::IfcDistributionChamberElementType; + string_map["IFCDISTRIBUTIONCHAMBERELEMENTTYPEENUM" ] = Type::IfcDistributionChamberElementTypeEnum; string_map["IFCDISTRIBUTIONCONTROLELEMENT" ] = Type::IfcDistributionControlElement; string_map["IFCDISTRIBUTIONCONTROLELEMENTTYPE" ] = Type::IfcDistributionControlElementType; string_map["IFCDISTRIBUTIONELEMENT" ] = Type::IfcDistributionElement; @@ -1079,40 +1059,69 @@ void Ifc2x3::InitStringMap() { string_map["IFCDISTRIBUTIONFLOWELEMENT" ] = Type::IfcDistributionFlowElement; string_map["IFCDISTRIBUTIONFLOWELEMENTTYPE" ] = Type::IfcDistributionFlowElementType; string_map["IFCDISTRIBUTIONPORT" ] = Type::IfcDistributionPort; + string_map["IFCDOCUMENTCONFIDENTIALITYENUM" ] = Type::IfcDocumentConfidentialityEnum; string_map["IFCDOCUMENTELECTRONICFORMAT" ] = Type::IfcDocumentElectronicFormat; string_map["IFCDOCUMENTINFORMATION" ] = Type::IfcDocumentInformation; string_map["IFCDOCUMENTINFORMATIONRELATIONSHIP" ] = Type::IfcDocumentInformationRelationship; string_map["IFCDOCUMENTREFERENCE" ] = Type::IfcDocumentReference; + string_map["IFCDOCUMENTSELECT" ] = Type::IfcDocumentSelect; + string_map["IFCDOCUMENTSTATUSENUM" ] = Type::IfcDocumentStatusEnum; string_map["IFCDOOR" ] = Type::IfcDoor; string_map["IFCDOORLININGPROPERTIES" ] = Type::IfcDoorLiningProperties; + string_map["IFCDOORPANELOPERATIONENUM" ] = Type::IfcDoorPanelOperationEnum; + string_map["IFCDOORPANELPOSITIONENUM" ] = Type::IfcDoorPanelPositionEnum; string_map["IFCDOORPANELPROPERTIES" ] = Type::IfcDoorPanelProperties; string_map["IFCDOORSTYLE" ] = Type::IfcDoorStyle; + string_map["IFCDOORSTYLECONSTRUCTIONENUM" ] = Type::IfcDoorStyleConstructionEnum; + string_map["IFCDOORSTYLEOPERATIONENUM" ] = Type::IfcDoorStyleOperationEnum; + string_map["IFCDOSEEQUIVALENTMEASURE" ] = Type::IfcDoseEquivalentMeasure; string_map["IFCDRAUGHTINGCALLOUT" ] = Type::IfcDraughtingCallout; + string_map["IFCDRAUGHTINGCALLOUTELEMENT" ] = Type::IfcDraughtingCalloutElement; string_map["IFCDRAUGHTINGCALLOUTRELATIONSHIP" ] = Type::IfcDraughtingCalloutRelationship; string_map["IFCDRAUGHTINGPREDEFINEDCOLOUR" ] = Type::IfcDraughtingPreDefinedColour; string_map["IFCDRAUGHTINGPREDEFINEDCURVEFONT" ] = Type::IfcDraughtingPreDefinedCurveFont; string_map["IFCDRAUGHTINGPREDEFINEDTEXTFONT" ] = Type::IfcDraughtingPreDefinedTextFont; string_map["IFCDUCTFITTINGTYPE" ] = Type::IfcDuctFittingType; + string_map["IFCDUCTFITTINGTYPEENUM" ] = Type::IfcDuctFittingTypeEnum; string_map["IFCDUCTSEGMENTTYPE" ] = Type::IfcDuctSegmentType; + string_map["IFCDUCTSEGMENTTYPEENUM" ] = Type::IfcDuctSegmentTypeEnum; string_map["IFCDUCTSILENCERTYPE" ] = Type::IfcDuctSilencerType; + string_map["IFCDUCTSILENCERTYPEENUM" ] = Type::IfcDuctSilencerTypeEnum; + string_map["IFCDYNAMICVISCOSITYMEASURE" ] = Type::IfcDynamicViscosityMeasure; string_map["IFCEDGE" ] = Type::IfcEdge; string_map["IFCEDGECURVE" ] = Type::IfcEdgeCurve; string_map["IFCEDGEFEATURE" ] = Type::IfcEdgeFeature; string_map["IFCEDGELOOP" ] = Type::IfcEdgeLoop; string_map["IFCELECTRICAPPLIANCETYPE" ] = Type::IfcElectricApplianceType; + string_map["IFCELECTRICAPPLIANCETYPEENUM" ] = Type::IfcElectricApplianceTypeEnum; + string_map["IFCELECTRICCAPACITANCEMEASURE" ] = Type::IfcElectricCapacitanceMeasure; + string_map["IFCELECTRICCHARGEMEASURE" ] = Type::IfcElectricChargeMeasure; + string_map["IFCELECTRICCONDUCTANCEMEASURE" ] = Type::IfcElectricConductanceMeasure; + string_map["IFCELECTRICCURRENTENUM" ] = Type::IfcElectricCurrentEnum; + string_map["IFCELECTRICCURRENTMEASURE" ] = Type::IfcElectricCurrentMeasure; string_map["IFCELECTRICDISTRIBUTIONPOINT" ] = Type::IfcElectricDistributionPoint; + string_map["IFCELECTRICDISTRIBUTIONPOINTFUNCTIONENUM" ] = Type::IfcElectricDistributionPointFunctionEnum; string_map["IFCELECTRICFLOWSTORAGEDEVICETYPE" ] = Type::IfcElectricFlowStorageDeviceType; + string_map["IFCELECTRICFLOWSTORAGEDEVICETYPEENUM" ] = Type::IfcElectricFlowStorageDeviceTypeEnum; string_map["IFCELECTRICGENERATORTYPE" ] = Type::IfcElectricGeneratorType; + string_map["IFCELECTRICGENERATORTYPEENUM" ] = Type::IfcElectricGeneratorTypeEnum; string_map["IFCELECTRICHEATERTYPE" ] = Type::IfcElectricHeaterType; + string_map["IFCELECTRICHEATERTYPEENUM" ] = Type::IfcElectricHeaterTypeEnum; string_map["IFCELECTRICMOTORTYPE" ] = Type::IfcElectricMotorType; + string_map["IFCELECTRICMOTORTYPEENUM" ] = Type::IfcElectricMotorTypeEnum; + string_map["IFCELECTRICRESISTANCEMEASURE" ] = Type::IfcElectricResistanceMeasure; string_map["IFCELECTRICTIMECONTROLTYPE" ] = Type::IfcElectricTimeControlType; + string_map["IFCELECTRICTIMECONTROLTYPEENUM" ] = Type::IfcElectricTimeControlTypeEnum; + string_map["IFCELECTRICVOLTAGEMEASURE" ] = Type::IfcElectricVoltageMeasure; string_map["IFCELECTRICALBASEPROPERTIES" ] = Type::IfcElectricalBaseProperties; string_map["IFCELECTRICALCIRCUIT" ] = Type::IfcElectricalCircuit; string_map["IFCELECTRICALELEMENT" ] = Type::IfcElectricalElement; string_map["IFCELEMENT" ] = Type::IfcElement; string_map["IFCELEMENTASSEMBLY" ] = Type::IfcElementAssembly; + string_map["IFCELEMENTASSEMBLYTYPEENUM" ] = Type::IfcElementAssemblyTypeEnum; string_map["IFCELEMENTCOMPONENT" ] = Type::IfcElementComponent; string_map["IFCELEMENTCOMPONENTTYPE" ] = Type::IfcElementComponentType; + string_map["IFCELEMENTCOMPOSITIONENUM" ] = Type::IfcElementCompositionEnum; string_map["IFCELEMENTQUANTITY" ] = Type::IfcElementQuantity; string_map["IFCELEMENTTYPE" ] = Type::IfcElementType; string_map["IFCELEMENTARYSURFACE" ] = Type::IfcElementarySurface; @@ -1120,12 +1129,17 @@ void Ifc2x3::InitStringMap() { string_map["IFCELLIPSEPROFILEDEF" ] = Type::IfcEllipseProfileDef; string_map["IFCENERGYCONVERSIONDEVICE" ] = Type::IfcEnergyConversionDevice; string_map["IFCENERGYCONVERSIONDEVICETYPE" ] = Type::IfcEnergyConversionDeviceType; + string_map["IFCENERGYMEASURE" ] = Type::IfcEnergyMeasure; string_map["IFCENERGYPROPERTIES" ] = Type::IfcEnergyProperties; + string_map["IFCENERGYSEQUENCEENUM" ] = Type::IfcEnergySequenceEnum; + string_map["IFCENVIRONMENTALIMPACTCATEGORYENUM" ] = Type::IfcEnvironmentalImpactCategoryEnum; string_map["IFCENVIRONMENTALIMPACTVALUE" ] = Type::IfcEnvironmentalImpactValue; string_map["IFCEQUIPMENTELEMENT" ] = Type::IfcEquipmentElement; string_map["IFCEQUIPMENTSTANDARD" ] = Type::IfcEquipmentStandard; string_map["IFCEVAPORATIVECOOLERTYPE" ] = Type::IfcEvaporativeCoolerType; + string_map["IFCEVAPORATIVECOOLERTYPEENUM" ] = Type::IfcEvaporativeCoolerTypeEnum; string_map["IFCEVAPORATORTYPE" ] = Type::IfcEvaporatorType; + string_map["IFCEVAPORATORTYPEENUM" ] = Type::IfcEvaporatorTypeEnum; string_map["IFCEXTENDEDMATERIALPROPERTIES" ] = Type::IfcExtendedMaterialProperties; string_map["IFCEXTERNALREFERENCE" ] = Type::IfcExternalReference; string_map["IFCEXTERNALLYDEFINEDHATCHSTYLE" ] = Type::IfcExternallyDefinedHatchStyle; @@ -1142,6 +1156,7 @@ void Ifc2x3::InitStringMap() { string_map["IFCFACETEDBREPWITHVOIDS" ] = Type::IfcFacetedBrepWithVoids; string_map["IFCFAILURECONNECTIONCONDITION" ] = Type::IfcFailureConnectionCondition; string_map["IFCFANTYPE" ] = Type::IfcFanType; + string_map["IFCFANTYPEENUM" ] = Type::IfcFanTypeEnum; string_map["IFCFASTENER" ] = Type::IfcFastener; string_map["IFCFASTENERTYPE" ] = Type::IfcFastenerType; string_map["IFCFEATUREELEMENT" ] = Type::IfcFeatureElement; @@ -1149,16 +1164,23 @@ void Ifc2x3::InitStringMap() { string_map["IFCFEATUREELEMENTSUBTRACTION" ] = Type::IfcFeatureElementSubtraction; string_map["IFCFILLAREASTYLE" ] = Type::IfcFillAreaStyle; string_map["IFCFILLAREASTYLEHATCHING" ] = Type::IfcFillAreaStyleHatching; + string_map["IFCFILLAREASTYLETILESHAPESELECT" ] = Type::IfcFillAreaStyleTileShapeSelect; string_map["IFCFILLAREASTYLETILESYMBOLWITHSTYLE" ] = Type::IfcFillAreaStyleTileSymbolWithStyle; string_map["IFCFILLAREASTYLETILES" ] = Type::IfcFillAreaStyleTiles; + string_map["IFCFILLSTYLESELECT" ] = Type::IfcFillStyleSelect; string_map["IFCFILTERTYPE" ] = Type::IfcFilterType; + string_map["IFCFILTERTYPEENUM" ] = Type::IfcFilterTypeEnum; string_map["IFCFIRESUPPRESSIONTERMINALTYPE" ] = Type::IfcFireSuppressionTerminalType; + string_map["IFCFIRESUPPRESSIONTERMINALTYPEENUM" ] = Type::IfcFireSuppressionTerminalTypeEnum; string_map["IFCFLOWCONTROLLER" ] = Type::IfcFlowController; string_map["IFCFLOWCONTROLLERTYPE" ] = Type::IfcFlowControllerType; + string_map["IFCFLOWDIRECTIONENUM" ] = Type::IfcFlowDirectionEnum; string_map["IFCFLOWFITTING" ] = Type::IfcFlowFitting; string_map["IFCFLOWFITTINGTYPE" ] = Type::IfcFlowFittingType; string_map["IFCFLOWINSTRUMENTTYPE" ] = Type::IfcFlowInstrumentType; + string_map["IFCFLOWINSTRUMENTTYPEENUM" ] = Type::IfcFlowInstrumentTypeEnum; string_map["IFCFLOWMETERTYPE" ] = Type::IfcFlowMeterType; + string_map["IFCFLOWMETERTYPEENUM" ] = Type::IfcFlowMeterTypeEnum; string_map["IFCFLOWMOVINGDEVICE" ] = Type::IfcFlowMovingDevice; string_map["IFCFLOWMOVINGDEVICETYPE" ] = Type::IfcFlowMovingDeviceType; string_map["IFCFLOWSEGMENT" ] = Type::IfcFlowSegment; @@ -1170,41 +1192,79 @@ void Ifc2x3::InitStringMap() { string_map["IFCFLOWTREATMENTDEVICE" ] = Type::IfcFlowTreatmentDevice; string_map["IFCFLOWTREATMENTDEVICETYPE" ] = Type::IfcFlowTreatmentDeviceType; string_map["IFCFLUIDFLOWPROPERTIES" ] = Type::IfcFluidFlowProperties; + string_map["IFCFONTSTYLE" ] = Type::IfcFontStyle; + string_map["IFCFONTVARIANT" ] = Type::IfcFontVariant; + string_map["IFCFONTWEIGHT" ] = Type::IfcFontWeight; string_map["IFCFOOTING" ] = Type::IfcFooting; + string_map["IFCFOOTINGTYPEENUM" ] = Type::IfcFootingTypeEnum; + string_map["IFCFORCEMEASURE" ] = Type::IfcForceMeasure; + string_map["IFCFREQUENCYMEASURE" ] = Type::IfcFrequencyMeasure; string_map["IFCFUELPROPERTIES" ] = Type::IfcFuelProperties; string_map["IFCFURNISHINGELEMENT" ] = Type::IfcFurnishingElement; string_map["IFCFURNISHINGELEMENTTYPE" ] = Type::IfcFurnishingElementType; string_map["IFCFURNITURESTANDARD" ] = Type::IfcFurnitureStandard; string_map["IFCFURNITURETYPE" ] = Type::IfcFurnitureType; string_map["IFCGASTERMINALTYPE" ] = Type::IfcGasTerminalType; + string_map["IFCGASTERMINALTYPEENUM" ] = Type::IfcGasTerminalTypeEnum; string_map["IFCGENERALMATERIALPROPERTIES" ] = Type::IfcGeneralMaterialProperties; string_map["IFCGENERALPROFILEPROPERTIES" ] = Type::IfcGeneralProfileProperties; string_map["IFCGEOMETRICCURVESET" ] = Type::IfcGeometricCurveSet; + string_map["IFCGEOMETRICPROJECTIONENUM" ] = Type::IfcGeometricProjectionEnum; string_map["IFCGEOMETRICREPRESENTATIONCONTEXT" ] = Type::IfcGeometricRepresentationContext; string_map["IFCGEOMETRICREPRESENTATIONITEM" ] = Type::IfcGeometricRepresentationItem; string_map["IFCGEOMETRICREPRESENTATIONSUBCONTEXT" ] = Type::IfcGeometricRepresentationSubContext; string_map["IFCGEOMETRICSET" ] = Type::IfcGeometricSet; + string_map["IFCGEOMETRICSETSELECT" ] = Type::IfcGeometricSetSelect; + string_map["IFCGLOBALORLOCALENUM" ] = Type::IfcGlobalOrLocalEnum; + string_map["IFCGLOBALLYUNIQUEID" ] = Type::IfcGloballyUniqueId; string_map["IFCGRID" ] = Type::IfcGrid; string_map["IFCGRIDAXIS" ] = Type::IfcGridAxis; string_map["IFCGRIDPLACEMENT" ] = Type::IfcGridPlacement; string_map["IFCGROUP" ] = Type::IfcGroup; string_map["IFCHALFSPACESOLID" ] = Type::IfcHalfSpaceSolid; + string_map["IFCHATCHLINEDISTANCESELECT" ] = Type::IfcHatchLineDistanceSelect; string_map["IFCHEATEXCHANGERTYPE" ] = Type::IfcHeatExchangerType; + string_map["IFCHEATEXCHANGERTYPEENUM" ] = Type::IfcHeatExchangerTypeEnum; + string_map["IFCHEATFLUXDENSITYMEASURE" ] = Type::IfcHeatFluxDensityMeasure; + string_map["IFCHEATINGVALUEMEASURE" ] = Type::IfcHeatingValueMeasure; + string_map["IFCHOURINDAY" ] = Type::IfcHourInDay; string_map["IFCHUMIDIFIERTYPE" ] = Type::IfcHumidifierType; + string_map["IFCHUMIDIFIERTYPEENUM" ] = Type::IfcHumidifierTypeEnum; string_map["IFCHYGROSCOPICMATERIALPROPERTIES" ] = Type::IfcHygroscopicMaterialProperties; string_map["IFCISHAPEPROFILEDEF" ] = Type::IfcIShapeProfileDef; + string_map["IFCIDENTIFIER" ] = Type::IfcIdentifier; + string_map["IFCILLUMINANCEMEASURE" ] = Type::IfcIlluminanceMeasure; string_map["IFCIMAGETEXTURE" ] = Type::IfcImageTexture; + string_map["IFCINDUCTANCEMEASURE" ] = Type::IfcInductanceMeasure; + string_map["IFCINTEGER" ] = Type::IfcInteger; + string_map["IFCINTEGERCOUNTRATEMEASURE" ] = Type::IfcIntegerCountRateMeasure; + string_map["IFCINTERNALOREXTERNALENUM" ] = Type::IfcInternalOrExternalEnum; string_map["IFCINVENTORY" ] = Type::IfcInventory; + string_map["IFCINVENTORYTYPEENUM" ] = Type::IfcInventoryTypeEnum; + string_map["IFCIONCONCENTRATIONMEASURE" ] = Type::IfcIonConcentrationMeasure; string_map["IFCIRREGULARTIMESERIES" ] = Type::IfcIrregularTimeSeries; string_map["IFCIRREGULARTIMESERIESVALUE" ] = Type::IfcIrregularTimeSeriesValue; + string_map["IFCISOTHERMALMOISTURECAPACITYMEASURE" ] = Type::IfcIsothermalMoistureCapacityMeasure; string_map["IFCJUNCTIONBOXTYPE" ] = Type::IfcJunctionBoxType; + string_map["IFCJUNCTIONBOXTYPEENUM" ] = Type::IfcJunctionBoxTypeEnum; + string_map["IFCKINEMATICVISCOSITYMEASURE" ] = Type::IfcKinematicViscosityMeasure; string_map["IFCLSHAPEPROFILEDEF" ] = Type::IfcLShapeProfileDef; + string_map["IFCLABEL" ] = Type::IfcLabel; string_map["IFCLABORRESOURCE" ] = Type::IfcLaborResource; string_map["IFCLAMPTYPE" ] = Type::IfcLampType; + string_map["IFCLAMPTYPEENUM" ] = Type::IfcLampTypeEnum; + string_map["IFCLAYERSETDIRECTIONENUM" ] = Type::IfcLayerSetDirectionEnum; + string_map["IFCLAYEREDITEM" ] = Type::IfcLayeredItem; + string_map["IFCLENGTHMEASURE" ] = Type::IfcLengthMeasure; string_map["IFCLIBRARYINFORMATION" ] = Type::IfcLibraryInformation; string_map["IFCLIBRARYREFERENCE" ] = Type::IfcLibraryReference; + string_map["IFCLIBRARYSELECT" ] = Type::IfcLibrarySelect; + string_map["IFCLIGHTDISTRIBUTIONCURVEENUM" ] = Type::IfcLightDistributionCurveEnum; string_map["IFCLIGHTDISTRIBUTIONDATA" ] = Type::IfcLightDistributionData; + string_map["IFCLIGHTDISTRIBUTIONDATASOURCESELECT" ] = Type::IfcLightDistributionDataSourceSelect; + string_map["IFCLIGHTEMISSIONSOURCEENUM" ] = Type::IfcLightEmissionSourceEnum; string_map["IFCLIGHTFIXTURETYPE" ] = Type::IfcLightFixtureType; + string_map["IFCLIGHTFIXTURETYPEENUM" ] = Type::IfcLightFixtureTypeEnum; string_map["IFCLIGHTINTENSITYDISTRIBUTION" ] = Type::IfcLightIntensityDistribution; string_map["IFCLIGHTSOURCE" ] = Type::IfcLightSource; string_map["IFCLIGHTSOURCEAMBIENT" ] = Type::IfcLightSourceAmbient; @@ -1214,11 +1274,27 @@ void Ifc2x3::InitStringMap() { string_map["IFCLIGHTSOURCESPOT" ] = Type::IfcLightSourceSpot; string_map["IFCLINE" ] = Type::IfcLine; string_map["IFCLINEARDIMENSION" ] = Type::IfcLinearDimension; + string_map["IFCLINEARFORCEMEASURE" ] = Type::IfcLinearForceMeasure; + string_map["IFCLINEARMOMENTMEASURE" ] = Type::IfcLinearMomentMeasure; + string_map["IFCLINEARSTIFFNESSMEASURE" ] = Type::IfcLinearStiffnessMeasure; + string_map["IFCLINEARVELOCITYMEASURE" ] = Type::IfcLinearVelocityMeasure; + string_map["IFCLOADGROUPTYPEENUM" ] = Type::IfcLoadGroupTypeEnum; string_map["IFCLOCALPLACEMENT" ] = Type::IfcLocalPlacement; string_map["IFCLOCALTIME" ] = Type::IfcLocalTime; + string_map["IFCLOGICAL" ] = Type::IfcLogical; + string_map["IFCLOGICALOPERATORENUM" ] = Type::IfcLogicalOperatorEnum; string_map["IFCLOOP" ] = Type::IfcLoop; + string_map["IFCLUMINOUSFLUXMEASURE" ] = Type::IfcLuminousFluxMeasure; + string_map["IFCLUMINOUSINTENSITYDISTRIBUTIONMEASURE" ] = Type::IfcLuminousIntensityDistributionMeasure; + string_map["IFCLUMINOUSINTENSITYMEASURE" ] = Type::IfcLuminousIntensityMeasure; + string_map["IFCMAGNETICFLUXDENSITYMEASURE" ] = Type::IfcMagneticFluxDensityMeasure; + string_map["IFCMAGNETICFLUXMEASURE" ] = Type::IfcMagneticFluxMeasure; string_map["IFCMANIFOLDSOLIDBREP" ] = Type::IfcManifoldSolidBrep; string_map["IFCMAPPEDITEM" ] = Type::IfcMappedItem; + string_map["IFCMASSDENSITYMEASURE" ] = Type::IfcMassDensityMeasure; + string_map["IFCMASSFLOWRATEMEASURE" ] = Type::IfcMassFlowRateMeasure; + string_map["IFCMASSMEASURE" ] = Type::IfcMassMeasure; + string_map["IFCMASSPERLENGTHMEASURE" ] = Type::IfcMassPerLengthMeasure; string_map["IFCMATERIAL" ] = Type::IfcMaterial; string_map["IFCMATERIALCLASSIFICATIONRELATIONSHIP" ] = Type::IfcMaterialClassificationRelationship; string_map["IFCMATERIALDEFINITIONREPRESENTATION" ] = Type::IfcMaterialDefinitionRepresentation; @@ -1227,6 +1303,8 @@ void Ifc2x3::InitStringMap() { string_map["IFCMATERIALLAYERSETUSAGE" ] = Type::IfcMaterialLayerSetUsage; string_map["IFCMATERIALLIST" ] = Type::IfcMaterialList; string_map["IFCMATERIALPROPERTIES" ] = Type::IfcMaterialProperties; + string_map["IFCMATERIALSELECT" ] = Type::IfcMaterialSelect; + string_map["IFCMEASUREVALUE" ] = Type::IfcMeasureValue; string_map["IFCMEASUREWITHUNIT" ] = Type::IfcMeasureWithUnit; string_map["IFCMECHANICALCONCRETEMATERIALPROPERTIES" ] = Type::IfcMechanicalConcreteMaterialProperties; string_map["IFCMECHANICALFASTENER" ] = Type::IfcMechanicalFastener; @@ -1235,16 +1313,36 @@ void Ifc2x3::InitStringMap() { string_map["IFCMECHANICALSTEELMATERIALPROPERTIES" ] = Type::IfcMechanicalSteelMaterialProperties; string_map["IFCMEMBER" ] = Type::IfcMember; string_map["IFCMEMBERTYPE" ] = Type::IfcMemberType; + string_map["IFCMEMBERTYPEENUM" ] = Type::IfcMemberTypeEnum; string_map["IFCMETRIC" ] = Type::IfcMetric; + string_map["IFCMETRICVALUESELECT" ] = Type::IfcMetricValueSelect; + string_map["IFCMINUTEINHOUR" ] = Type::IfcMinuteInHour; + string_map["IFCMODULUSOFELASTICITYMEASURE" ] = Type::IfcModulusOfElasticityMeasure; + string_map["IFCMODULUSOFLINEARSUBGRADEREACTIONMEASURE" ] = Type::IfcModulusOfLinearSubgradeReactionMeasure; + string_map["IFCMODULUSOFROTATIONALSUBGRADEREACTIONMEASURE" ] = Type::IfcModulusOfRotationalSubgradeReactionMeasure; + string_map["IFCMODULUSOFSUBGRADEREACTIONMEASURE" ] = Type::IfcModulusOfSubgradeReactionMeasure; + string_map["IFCMOISTUREDIFFUSIVITYMEASURE" ] = Type::IfcMoistureDiffusivityMeasure; + string_map["IFCMOLECULARWEIGHTMEASURE" ] = Type::IfcMolecularWeightMeasure; + string_map["IFCMOMENTOFINERTIAMEASURE" ] = Type::IfcMomentOfInertiaMeasure; + string_map["IFCMONETARYMEASURE" ] = Type::IfcMonetaryMeasure; string_map["IFCMONETARYUNIT" ] = Type::IfcMonetaryUnit; + string_map["IFCMONTHINYEARNUMBER" ] = Type::IfcMonthInYearNumber; string_map["IFCMOTORCONNECTIONTYPE" ] = Type::IfcMotorConnectionType; + string_map["IFCMOTORCONNECTIONTYPEENUM" ] = Type::IfcMotorConnectionTypeEnum; string_map["IFCMOVE" ] = Type::IfcMove; string_map["IFCNAMEDUNIT" ] = Type::IfcNamedUnit; + string_map["IFCNORMALISEDRATIOMEASURE" ] = Type::IfcNormalisedRatioMeasure; + string_map["IFCNULLSTYLE" ] = Type::IfcNullStyle; + string_map["IFCNUMERICMEASURE" ] = Type::IfcNumericMeasure; string_map["IFCOBJECT" ] = Type::IfcObject; string_map["IFCOBJECTDEFINITION" ] = Type::IfcObjectDefinition; string_map["IFCOBJECTPLACEMENT" ] = Type::IfcObjectPlacement; + string_map["IFCOBJECTREFERENCESELECT" ] = Type::IfcObjectReferenceSelect; + string_map["IFCOBJECTTYPEENUM" ] = Type::IfcObjectTypeEnum; string_map["IFCOBJECTIVE" ] = Type::IfcObjective; + string_map["IFCOBJECTIVEENUM" ] = Type::IfcObjectiveEnum; string_map["IFCOCCUPANT" ] = Type::IfcOccupant; + string_map["IFCOCCUPANTTYPEENUM" ] = Type::IfcOccupantTypeEnum; string_map["IFCOFFSETCURVE2D" ] = Type::IfcOffsetCurve2D; string_map["IFCOFFSETCURVE3D" ] = Type::IfcOffsetCurve3D; string_map["IFCONEDIRECTIONREPEATFACTOR" ] = Type::IfcOneDirectionRepeatFactor; @@ -1254,37 +1352,55 @@ void Ifc2x3::InitStringMap() { string_map["IFCORDERACTION" ] = Type::IfcOrderAction; string_map["IFCORGANIZATION" ] = Type::IfcOrganization; string_map["IFCORGANIZATIONRELATIONSHIP" ] = Type::IfcOrganizationRelationship; + string_map["IFCORIENTATIONSELECT" ] = Type::IfcOrientationSelect; string_map["IFCORIENTEDEDGE" ] = Type::IfcOrientedEdge; string_map["IFCOUTLETTYPE" ] = Type::IfcOutletType; + string_map["IFCOUTLETTYPEENUM" ] = Type::IfcOutletTypeEnum; string_map["IFCOWNERHISTORY" ] = Type::IfcOwnerHistory; + string_map["IFCPHMEASURE" ] = Type::IfcPHMeasure; + string_map["IFCPARAMETERVALUE" ] = Type::IfcParameterValue; string_map["IFCPARAMETERIZEDPROFILEDEF" ] = Type::IfcParameterizedProfileDef; string_map["IFCPATH" ] = Type::IfcPath; string_map["IFCPERFORMANCEHISTORY" ] = Type::IfcPerformanceHistory; + string_map["IFCPERMEABLECOVERINGOPERATIONENUM" ] = Type::IfcPermeableCoveringOperationEnum; string_map["IFCPERMEABLECOVERINGPROPERTIES" ] = Type::IfcPermeableCoveringProperties; string_map["IFCPERMIT" ] = Type::IfcPermit; string_map["IFCPERSON" ] = Type::IfcPerson; string_map["IFCPERSONANDORGANIZATION" ] = Type::IfcPersonAndOrganization; string_map["IFCPHYSICALCOMPLEXQUANTITY" ] = Type::IfcPhysicalComplexQuantity; + string_map["IFCPHYSICALORVIRTUALENUM" ] = Type::IfcPhysicalOrVirtualEnum; string_map["IFCPHYSICALQUANTITY" ] = Type::IfcPhysicalQuantity; string_map["IFCPHYSICALSIMPLEQUANTITY" ] = Type::IfcPhysicalSimpleQuantity; string_map["IFCPILE" ] = Type::IfcPile; + string_map["IFCPILECONSTRUCTIONENUM" ] = Type::IfcPileConstructionEnum; + string_map["IFCPILETYPEENUM" ] = Type::IfcPileTypeEnum; string_map["IFCPIPEFITTINGTYPE" ] = Type::IfcPipeFittingType; + string_map["IFCPIPEFITTINGTYPEENUM" ] = Type::IfcPipeFittingTypeEnum; string_map["IFCPIPESEGMENTTYPE" ] = Type::IfcPipeSegmentType; + string_map["IFCPIPESEGMENTTYPEENUM" ] = Type::IfcPipeSegmentTypeEnum; string_map["IFCPIXELTEXTURE" ] = Type::IfcPixelTexture; string_map["IFCPLACEMENT" ] = Type::IfcPlacement; string_map["IFCPLANARBOX" ] = Type::IfcPlanarBox; string_map["IFCPLANAREXTENT" ] = Type::IfcPlanarExtent; + string_map["IFCPLANARFORCEMEASURE" ] = Type::IfcPlanarForceMeasure; string_map["IFCPLANE" ] = Type::IfcPlane; + string_map["IFCPLANEANGLEMEASURE" ] = Type::IfcPlaneAngleMeasure; string_map["IFCPLATE" ] = Type::IfcPlate; string_map["IFCPLATETYPE" ] = Type::IfcPlateType; + string_map["IFCPLATETYPEENUM" ] = Type::IfcPlateTypeEnum; string_map["IFCPOINT" ] = Type::IfcPoint; string_map["IFCPOINTONCURVE" ] = Type::IfcPointOnCurve; string_map["IFCPOINTONSURFACE" ] = Type::IfcPointOnSurface; + string_map["IFCPOINTORVERTEXPOINT" ] = Type::IfcPointOrVertexPoint; string_map["IFCPOLYLOOP" ] = Type::IfcPolyLoop; string_map["IFCPOLYGONALBOUNDEDHALFSPACE" ] = Type::IfcPolygonalBoundedHalfSpace; string_map["IFCPOLYLINE" ] = Type::IfcPolyline; string_map["IFCPORT" ] = Type::IfcPort; + string_map["IFCPOSITIVELENGTHMEASURE" ] = Type::IfcPositiveLengthMeasure; + string_map["IFCPOSITIVEPLANEANGLEMEASURE" ] = Type::IfcPositivePlaneAngleMeasure; + string_map["IFCPOSITIVERATIOMEASURE" ] = Type::IfcPositiveRatioMeasure; string_map["IFCPOSTALADDRESS" ] = Type::IfcPostalAddress; + string_map["IFCPOWERMEASURE" ] = Type::IfcPowerMeasure; string_map["IFCPREDEFINEDCOLOUR" ] = Type::IfcPreDefinedColour; string_map["IFCPREDEFINEDCURVEFONT" ] = Type::IfcPreDefinedCurveFont; string_map["IFCPREDEFINEDDIMENSIONSYMBOL" ] = Type::IfcPreDefinedDimensionSymbol; @@ -1293,11 +1409,15 @@ void Ifc2x3::InitStringMap() { string_map["IFCPREDEFINEDSYMBOL" ] = Type::IfcPreDefinedSymbol; string_map["IFCPREDEFINEDTERMINATORSYMBOL" ] = Type::IfcPreDefinedTerminatorSymbol; string_map["IFCPREDEFINEDTEXTFONT" ] = Type::IfcPreDefinedTextFont; + string_map["IFCPRESENTABLETEXT" ] = Type::IfcPresentableText; string_map["IFCPRESENTATIONLAYERASSIGNMENT" ] = Type::IfcPresentationLayerAssignment; string_map["IFCPRESENTATIONLAYERWITHSTYLE" ] = Type::IfcPresentationLayerWithStyle; string_map["IFCPRESENTATIONSTYLE" ] = Type::IfcPresentationStyle; string_map["IFCPRESENTATIONSTYLEASSIGNMENT" ] = Type::IfcPresentationStyleAssignment; + string_map["IFCPRESENTATIONSTYLESELECT" ] = Type::IfcPresentationStyleSelect; + string_map["IFCPRESSUREMEASURE" ] = Type::IfcPressureMeasure; string_map["IFCPROCEDURE" ] = Type::IfcProcedure; + string_map["IFCPROCEDURETYPEENUM" ] = Type::IfcProcedureTypeEnum; string_map["IFCPROCESS" ] = Type::IfcProcess; string_map["IFCPRODUCT" ] = Type::IfcProduct; string_map["IFCPRODUCTDEFINITIONSHAPE" ] = Type::IfcProductDefinitionShape; @@ -1305,9 +1425,13 @@ void Ifc2x3::InitStringMap() { string_map["IFCPRODUCTSOFCOMBUSTIONPROPERTIES" ] = Type::IfcProductsOfCombustionProperties; string_map["IFCPROFILEDEF" ] = Type::IfcProfileDef; string_map["IFCPROFILEPROPERTIES" ] = Type::IfcProfileProperties; + string_map["IFCPROFILETYPEENUM" ] = Type::IfcProfileTypeEnum; string_map["IFCPROJECT" ] = Type::IfcProject; string_map["IFCPROJECTORDER" ] = Type::IfcProjectOrder; string_map["IFCPROJECTORDERRECORD" ] = Type::IfcProjectOrderRecord; + string_map["IFCPROJECTORDERRECORDTYPEENUM" ] = Type::IfcProjectOrderRecordTypeEnum; + string_map["IFCPROJECTORDERTYPEENUM" ] = Type::IfcProjectOrderTypeEnum; + string_map["IFCPROJECTEDORTRUELENGTHENUM" ] = Type::IfcProjectedOrTrueLengthEnum; string_map["IFCPROJECTIONCURVE" ] = Type::IfcProjectionCurve; string_map["IFCPROJECTIONELEMENT" ] = Type::IfcProjectionElement; string_map["IFCPROPERTY" ] = Type::IfcProperty; @@ -1322,32 +1446,44 @@ void Ifc2x3::InitStringMap() { string_map["IFCPROPERTYSET" ] = Type::IfcPropertySet; string_map["IFCPROPERTYSETDEFINITION" ] = Type::IfcPropertySetDefinition; string_map["IFCPROPERTYSINGLEVALUE" ] = Type::IfcPropertySingleValue; + string_map["IFCPROPERTYSOURCEENUM" ] = Type::IfcPropertySourceEnum; string_map["IFCPROPERTYTABLEVALUE" ] = Type::IfcPropertyTableValue; string_map["IFCPROTECTIVEDEVICETYPE" ] = Type::IfcProtectiveDeviceType; + string_map["IFCPROTECTIVEDEVICETYPEENUM" ] = Type::IfcProtectiveDeviceTypeEnum; string_map["IFCPROXY" ] = Type::IfcProxy; string_map["IFCPUMPTYPE" ] = Type::IfcPumpType; + string_map["IFCPUMPTYPEENUM" ] = Type::IfcPumpTypeEnum; string_map["IFCQUANTITYAREA" ] = Type::IfcQuantityArea; string_map["IFCQUANTITYCOUNT" ] = Type::IfcQuantityCount; string_map["IFCQUANTITYLENGTH" ] = Type::IfcQuantityLength; string_map["IFCQUANTITYTIME" ] = Type::IfcQuantityTime; string_map["IFCQUANTITYVOLUME" ] = Type::IfcQuantityVolume; string_map["IFCQUANTITYWEIGHT" ] = Type::IfcQuantityWeight; + string_map["IFCRADIOACTIVITYMEASURE" ] = Type::IfcRadioActivityMeasure; string_map["IFCRADIUSDIMENSION" ] = Type::IfcRadiusDimension; string_map["IFCRAILING" ] = Type::IfcRailing; string_map["IFCRAILINGTYPE" ] = Type::IfcRailingType; + string_map["IFCRAILINGTYPEENUM" ] = Type::IfcRailingTypeEnum; string_map["IFCRAMP" ] = Type::IfcRamp; string_map["IFCRAMPFLIGHT" ] = Type::IfcRampFlight; string_map["IFCRAMPFLIGHTTYPE" ] = Type::IfcRampFlightType; + string_map["IFCRAMPFLIGHTTYPEENUM" ] = Type::IfcRampFlightTypeEnum; + string_map["IFCRAMPTYPEENUM" ] = Type::IfcRampTypeEnum; + string_map["IFCRATIOMEASURE" ] = Type::IfcRatioMeasure; string_map["IFCRATIONALBEZIERCURVE" ] = Type::IfcRationalBezierCurve; + string_map["IFCREAL" ] = Type::IfcReal; string_map["IFCRECTANGLEHOLLOWPROFILEDEF" ] = Type::IfcRectangleHollowProfileDef; string_map["IFCRECTANGLEPROFILEDEF" ] = Type::IfcRectangleProfileDef; string_map["IFCRECTANGULARPYRAMID" ] = Type::IfcRectangularPyramid; string_map["IFCRECTANGULARTRIMMEDSURFACE" ] = Type::IfcRectangularTrimmedSurface; string_map["IFCREFERENCESVALUEDOCUMENT" ] = Type::IfcReferencesValueDocument; + string_map["IFCREFLECTANCEMETHODENUM" ] = Type::IfcReflectanceMethodEnum; string_map["IFCREGULARTIMESERIES" ] = Type::IfcRegularTimeSeries; string_map["IFCREINFORCEMENTBARPROPERTIES" ] = Type::IfcReinforcementBarProperties; string_map["IFCREINFORCEMENTDEFINITIONPROPERTIES" ] = Type::IfcReinforcementDefinitionProperties; string_map["IFCREINFORCINGBAR" ] = Type::IfcReinforcingBar; + string_map["IFCREINFORCINGBARROLEENUM" ] = Type::IfcReinforcingBarRoleEnum; + string_map["IFCREINFORCINGBARSURFACEENUM" ] = Type::IfcReinforcingBarSurfaceEnum; string_map["IFCREINFORCINGELEMENT" ] = Type::IfcReinforcingElement; string_map["IFCREINFORCINGMESH" ] = Type::IfcReinforcingMesh; string_map["IFCRELAGGREGATES" ] = Type::IfcRelAggregates; @@ -1406,55 +1542,94 @@ void Ifc2x3::InitStringMap() { string_map["IFCREPRESENTATIONITEM" ] = Type::IfcRepresentationItem; string_map["IFCREPRESENTATIONMAP" ] = Type::IfcRepresentationMap; string_map["IFCRESOURCE" ] = Type::IfcResource; + string_map["IFCRESOURCECONSUMPTIONENUM" ] = Type::IfcResourceConsumptionEnum; string_map["IFCREVOLVEDAREASOLID" ] = Type::IfcRevolvedAreaSolid; + string_map["IFCRIBPLATEDIRECTIONENUM" ] = Type::IfcRibPlateDirectionEnum; string_map["IFCRIBPLATEPROFILEPROPERTIES" ] = Type::IfcRibPlateProfileProperties; string_map["IFCRIGHTCIRCULARCONE" ] = Type::IfcRightCircularCone; string_map["IFCRIGHTCIRCULARCYLINDER" ] = Type::IfcRightCircularCylinder; + string_map["IFCROLEENUM" ] = Type::IfcRoleEnum; string_map["IFCROOF" ] = Type::IfcRoof; + string_map["IFCROOFTYPEENUM" ] = Type::IfcRoofTypeEnum; string_map["IFCROOT" ] = Type::IfcRoot; + string_map["IFCROTATIONALFREQUENCYMEASURE" ] = Type::IfcRotationalFrequencyMeasure; + string_map["IFCROTATIONALMASSMEASURE" ] = Type::IfcRotationalMassMeasure; + string_map["IFCROTATIONALSTIFFNESSMEASURE" ] = Type::IfcRotationalStiffnessMeasure; string_map["IFCROUNDEDEDGEFEATURE" ] = Type::IfcRoundedEdgeFeature; string_map["IFCROUNDEDRECTANGLEPROFILEDEF" ] = Type::IfcRoundedRectangleProfileDef; + string_map["IFCSIPREFIX" ] = Type::IfcSIPrefix; string_map["IFCSIUNIT" ] = Type::IfcSIUnit; + string_map["IFCSIUNITNAME" ] = Type::IfcSIUnitName; string_map["IFCSANITARYTERMINALTYPE" ] = Type::IfcSanitaryTerminalType; + string_map["IFCSANITARYTERMINALTYPEENUM" ] = Type::IfcSanitaryTerminalTypeEnum; string_map["IFCSCHEDULETIMECONTROL" ] = Type::IfcScheduleTimeControl; + string_map["IFCSECONDINMINUTE" ] = Type::IfcSecondInMinute; + string_map["IFCSECTIONMODULUSMEASURE" ] = Type::IfcSectionModulusMeasure; string_map["IFCSECTIONPROPERTIES" ] = Type::IfcSectionProperties; string_map["IFCSECTIONREINFORCEMENTPROPERTIES" ] = Type::IfcSectionReinforcementProperties; + string_map["IFCSECTIONTYPEENUM" ] = Type::IfcSectionTypeEnum; + string_map["IFCSECTIONALAREAINTEGRALMEASURE" ] = Type::IfcSectionalAreaIntegralMeasure; string_map["IFCSECTIONEDSPINE" ] = Type::IfcSectionedSpine; string_map["IFCSENSORTYPE" ] = Type::IfcSensorType; + string_map["IFCSENSORTYPEENUM" ] = Type::IfcSensorTypeEnum; + string_map["IFCSEQUENCEENUM" ] = Type::IfcSequenceEnum; string_map["IFCSERVICELIFE" ] = Type::IfcServiceLife; string_map["IFCSERVICELIFEFACTOR" ] = Type::IfcServiceLifeFactor; + string_map["IFCSERVICELIFEFACTORTYPEENUM" ] = Type::IfcServiceLifeFactorTypeEnum; + string_map["IFCSERVICELIFETYPEENUM" ] = Type::IfcServiceLifeTypeEnum; string_map["IFCSHAPEASPECT" ] = Type::IfcShapeAspect; string_map["IFCSHAPEMODEL" ] = Type::IfcShapeModel; string_map["IFCSHAPEREPRESENTATION" ] = Type::IfcShapeRepresentation; + string_map["IFCSHEARMODULUSMEASURE" ] = Type::IfcShearModulusMeasure; + string_map["IFCSHELL" ] = Type::IfcShell; string_map["IFCSHELLBASEDSURFACEMODEL" ] = Type::IfcShellBasedSurfaceModel; string_map["IFCSIMPLEPROPERTY" ] = Type::IfcSimpleProperty; + string_map["IFCSIMPLEVALUE" ] = Type::IfcSimpleValue; string_map["IFCSITE" ] = Type::IfcSite; + string_map["IFCSIZESELECT" ] = Type::IfcSizeSelect; string_map["IFCSLAB" ] = Type::IfcSlab; string_map["IFCSLABTYPE" ] = Type::IfcSlabType; + string_map["IFCSLABTYPEENUM" ] = Type::IfcSlabTypeEnum; string_map["IFCSLIPPAGECONNECTIONCONDITION" ] = Type::IfcSlippageConnectionCondition; + string_map["IFCSOLIDANGLEMEASURE" ] = Type::IfcSolidAngleMeasure; string_map["IFCSOLIDMODEL" ] = Type::IfcSolidModel; + string_map["IFCSOUNDPOWERMEASURE" ] = Type::IfcSoundPowerMeasure; + string_map["IFCSOUNDPRESSUREMEASURE" ] = Type::IfcSoundPressureMeasure; string_map["IFCSOUNDPROPERTIES" ] = Type::IfcSoundProperties; + string_map["IFCSOUNDSCALEENUM" ] = Type::IfcSoundScaleEnum; string_map["IFCSOUNDVALUE" ] = Type::IfcSoundValue; string_map["IFCSPACE" ] = Type::IfcSpace; string_map["IFCSPACEHEATERTYPE" ] = Type::IfcSpaceHeaterType; + string_map["IFCSPACEHEATERTYPEENUM" ] = Type::IfcSpaceHeaterTypeEnum; string_map["IFCSPACEPROGRAM" ] = Type::IfcSpaceProgram; string_map["IFCSPACETHERMALLOADPROPERTIES" ] = Type::IfcSpaceThermalLoadProperties; string_map["IFCSPACETYPE" ] = Type::IfcSpaceType; + string_map["IFCSPACETYPEENUM" ] = Type::IfcSpaceTypeEnum; string_map["IFCSPATIALSTRUCTUREELEMENT" ] = Type::IfcSpatialStructureElement; string_map["IFCSPATIALSTRUCTUREELEMENTTYPE" ] = Type::IfcSpatialStructureElementType; + string_map["IFCSPECIFICHEATCAPACITYMEASURE" ] = Type::IfcSpecificHeatCapacityMeasure; + string_map["IFCSPECULAREXPONENT" ] = Type::IfcSpecularExponent; + string_map["IFCSPECULARHIGHLIGHTSELECT" ] = Type::IfcSpecularHighlightSelect; + string_map["IFCSPECULARROUGHNESS" ] = Type::IfcSpecularRoughness; string_map["IFCSPHERE" ] = Type::IfcSphere; string_map["IFCSTACKTERMINALTYPE" ] = Type::IfcStackTerminalType; + string_map["IFCSTACKTERMINALTYPEENUM" ] = Type::IfcStackTerminalTypeEnum; string_map["IFCSTAIR" ] = Type::IfcStair; string_map["IFCSTAIRFLIGHT" ] = Type::IfcStairFlight; string_map["IFCSTAIRFLIGHTTYPE" ] = Type::IfcStairFlightType; + string_map["IFCSTAIRFLIGHTTYPEENUM" ] = Type::IfcStairFlightTypeEnum; + string_map["IFCSTAIRTYPEENUM" ] = Type::IfcStairTypeEnum; + string_map["IFCSTATEENUM" ] = Type::IfcStateEnum; string_map["IFCSTRUCTURALACTION" ] = Type::IfcStructuralAction; string_map["IFCSTRUCTURALACTIVITY" ] = Type::IfcStructuralActivity; + string_map["IFCSTRUCTURALACTIVITYASSIGNMENTSELECT" ] = Type::IfcStructuralActivityAssignmentSelect; string_map["IFCSTRUCTURALANALYSISMODEL" ] = Type::IfcStructuralAnalysisModel; string_map["IFCSTRUCTURALCONNECTION" ] = Type::IfcStructuralConnection; string_map["IFCSTRUCTURALCONNECTIONCONDITION" ] = Type::IfcStructuralConnectionCondition; string_map["IFCSTRUCTURALCURVECONNECTION" ] = Type::IfcStructuralCurveConnection; string_map["IFCSTRUCTURALCURVEMEMBER" ] = Type::IfcStructuralCurveMember; string_map["IFCSTRUCTURALCURVEMEMBERVARYING" ] = Type::IfcStructuralCurveMemberVarying; + string_map["IFCSTRUCTURALCURVETYPEENUM" ] = Type::IfcStructuralCurveTypeEnum; string_map["IFCSTRUCTURALITEM" ] = Type::IfcStructuralItem; string_map["IFCSTRUCTURALLINEARACTION" ] = Type::IfcStructuralLinearAction; string_map["IFCSTRUCTURALLINEARACTIONVARYING" ] = Type::IfcStructuralLinearActionVarying; @@ -1481,6 +1656,7 @@ void Ifc2x3::InitStringMap() { string_map["IFCSTRUCTURALSURFACECONNECTION" ] = Type::IfcStructuralSurfaceConnection; string_map["IFCSTRUCTURALSURFACEMEMBER" ] = Type::IfcStructuralSurfaceMember; string_map["IFCSTRUCTURALSURFACEMEMBERVARYING" ] = Type::IfcStructuralSurfaceMemberVarying; + string_map["IFCSTRUCTURALSURFACETYPEENUM" ] = Type::IfcStructuralSurfaceTypeEnum; string_map["IFCSTRUCTUREDDIMENSIONCALLOUT" ] = Type::IfcStructuredDimensionCallout; string_map["IFCSTYLEMODEL" ] = Type::IfcStyleModel; string_map["IFCSTYLEDITEM" ] = Type::IfcStyledItem; @@ -1491,92 +1667,149 @@ void Ifc2x3::InitStringMap() { string_map["IFCSURFACECURVESWEPTAREASOLID" ] = Type::IfcSurfaceCurveSweptAreaSolid; string_map["IFCSURFACEOFLINEAREXTRUSION" ] = Type::IfcSurfaceOfLinearExtrusion; string_map["IFCSURFACEOFREVOLUTION" ] = Type::IfcSurfaceOfRevolution; + string_map["IFCSURFACEORFACESURFACE" ] = Type::IfcSurfaceOrFaceSurface; + string_map["IFCSURFACESIDE" ] = Type::IfcSurfaceSide; string_map["IFCSURFACESTYLE" ] = Type::IfcSurfaceStyle; + string_map["IFCSURFACESTYLEELEMENTSELECT" ] = Type::IfcSurfaceStyleElementSelect; string_map["IFCSURFACESTYLELIGHTING" ] = Type::IfcSurfaceStyleLighting; string_map["IFCSURFACESTYLEREFRACTION" ] = Type::IfcSurfaceStyleRefraction; string_map["IFCSURFACESTYLERENDERING" ] = Type::IfcSurfaceStyleRendering; string_map["IFCSURFACESTYLESHADING" ] = Type::IfcSurfaceStyleShading; string_map["IFCSURFACESTYLEWITHTEXTURES" ] = Type::IfcSurfaceStyleWithTextures; string_map["IFCSURFACETEXTURE" ] = Type::IfcSurfaceTexture; + string_map["IFCSURFACETEXTUREENUM" ] = Type::IfcSurfaceTextureEnum; string_map["IFCSWEPTAREASOLID" ] = Type::IfcSweptAreaSolid; string_map["IFCSWEPTDISKSOLID" ] = Type::IfcSweptDiskSolid; string_map["IFCSWEPTSURFACE" ] = Type::IfcSweptSurface; string_map["IFCSWITCHINGDEVICETYPE" ] = Type::IfcSwitchingDeviceType; + string_map["IFCSWITCHINGDEVICETYPEENUM" ] = Type::IfcSwitchingDeviceTypeEnum; string_map["IFCSYMBOLSTYLE" ] = Type::IfcSymbolStyle; + string_map["IFCSYMBOLSTYLESELECT" ] = Type::IfcSymbolStyleSelect; string_map["IFCSYSTEM" ] = Type::IfcSystem; string_map["IFCSYSTEMFURNITUREELEMENTTYPE" ] = Type::IfcSystemFurnitureElementType; string_map["IFCTSHAPEPROFILEDEF" ] = Type::IfcTShapeProfileDef; string_map["IFCTABLE" ] = Type::IfcTable; string_map["IFCTABLEROW" ] = Type::IfcTableRow; string_map["IFCTANKTYPE" ] = Type::IfcTankType; + string_map["IFCTANKTYPEENUM" ] = Type::IfcTankTypeEnum; string_map["IFCTASK" ] = Type::IfcTask; string_map["IFCTELECOMADDRESS" ] = Type::IfcTelecomAddress; + string_map["IFCTEMPERATUREGRADIENTMEASURE" ] = Type::IfcTemperatureGradientMeasure; string_map["IFCTENDON" ] = Type::IfcTendon; string_map["IFCTENDONANCHOR" ] = Type::IfcTendonAnchor; + string_map["IFCTENDONTYPEENUM" ] = Type::IfcTendonTypeEnum; string_map["IFCTERMINATORSYMBOL" ] = Type::IfcTerminatorSymbol; + string_map["IFCTEXT" ] = Type::IfcText; + string_map["IFCTEXTALIGNMENT" ] = Type::IfcTextAlignment; + string_map["IFCTEXTDECORATION" ] = Type::IfcTextDecoration; + string_map["IFCTEXTFONTNAME" ] = Type::IfcTextFontName; + string_map["IFCTEXTFONTSELECT" ] = Type::IfcTextFontSelect; string_map["IFCTEXTLITERAL" ] = Type::IfcTextLiteral; string_map["IFCTEXTLITERALWITHEXTENT" ] = Type::IfcTextLiteralWithExtent; + string_map["IFCTEXTPATH" ] = Type::IfcTextPath; string_map["IFCTEXTSTYLE" ] = Type::IfcTextStyle; string_map["IFCTEXTSTYLEFONTMODEL" ] = Type::IfcTextStyleFontModel; string_map["IFCTEXTSTYLEFORDEFINEDFONT" ] = Type::IfcTextStyleForDefinedFont; + string_map["IFCTEXTSTYLESELECT" ] = Type::IfcTextStyleSelect; string_map["IFCTEXTSTYLETEXTMODEL" ] = Type::IfcTextStyleTextModel; string_map["IFCTEXTSTYLEWITHBOXCHARACTERISTICS" ] = Type::IfcTextStyleWithBoxCharacteristics; + string_map["IFCTEXTTRANSFORMATION" ] = Type::IfcTextTransformation; string_map["IFCTEXTURECOORDINATE" ] = Type::IfcTextureCoordinate; string_map["IFCTEXTURECOORDINATEGENERATOR" ] = Type::IfcTextureCoordinateGenerator; string_map["IFCTEXTUREMAP" ] = Type::IfcTextureMap; string_map["IFCTEXTUREVERTEX" ] = Type::IfcTextureVertex; + string_map["IFCTHERMALADMITTANCEMEASURE" ] = Type::IfcThermalAdmittanceMeasure; + string_map["IFCTHERMALCONDUCTIVITYMEASURE" ] = Type::IfcThermalConductivityMeasure; + string_map["IFCTHERMALEXPANSIONCOEFFICIENTMEASURE" ] = Type::IfcThermalExpansionCoefficientMeasure; + string_map["IFCTHERMALLOADSOURCEENUM" ] = Type::IfcThermalLoadSourceEnum; + string_map["IFCTHERMALLOADTYPEENUM" ] = Type::IfcThermalLoadTypeEnum; string_map["IFCTHERMALMATERIALPROPERTIES" ] = Type::IfcThermalMaterialProperties; + string_map["IFCTHERMALRESISTANCEMEASURE" ] = Type::IfcThermalResistanceMeasure; + string_map["IFCTHERMALTRANSMITTANCEMEASURE" ] = Type::IfcThermalTransmittanceMeasure; + string_map["IFCTHERMODYNAMICTEMPERATUREMEASURE" ] = Type::IfcThermodynamicTemperatureMeasure; + string_map["IFCTIMEMEASURE" ] = Type::IfcTimeMeasure; string_map["IFCTIMESERIES" ] = Type::IfcTimeSeries; + string_map["IFCTIMESERIESDATATYPEENUM" ] = Type::IfcTimeSeriesDataTypeEnum; string_map["IFCTIMESERIESREFERENCERELATIONSHIP" ] = Type::IfcTimeSeriesReferenceRelationship; string_map["IFCTIMESERIESSCHEDULE" ] = Type::IfcTimeSeriesSchedule; + string_map["IFCTIMESERIESSCHEDULETYPEENUM" ] = Type::IfcTimeSeriesScheduleTypeEnum; string_map["IFCTIMESERIESVALUE" ] = Type::IfcTimeSeriesValue; + string_map["IFCTIMESTAMP" ] = Type::IfcTimeStamp; string_map["IFCTOPOLOGICALREPRESENTATIONITEM" ] = Type::IfcTopologicalRepresentationItem; string_map["IFCTOPOLOGYREPRESENTATION" ] = Type::IfcTopologyRepresentation; + string_map["IFCTORQUEMEASURE" ] = Type::IfcTorqueMeasure; string_map["IFCTRANSFORMERTYPE" ] = Type::IfcTransformerType; + string_map["IFCTRANSFORMERTYPEENUM" ] = Type::IfcTransformerTypeEnum; + string_map["IFCTRANSITIONCODE" ] = Type::IfcTransitionCode; string_map["IFCTRANSPORTELEMENT" ] = Type::IfcTransportElement; string_map["IFCTRANSPORTELEMENTTYPE" ] = Type::IfcTransportElementType; + string_map["IFCTRANSPORTELEMENTTYPEENUM" ] = Type::IfcTransportElementTypeEnum; string_map["IFCTRAPEZIUMPROFILEDEF" ] = Type::IfcTrapeziumProfileDef; string_map["IFCTRIMMEDCURVE" ] = Type::IfcTrimmedCurve; + string_map["IFCTRIMMINGPREFERENCE" ] = Type::IfcTrimmingPreference; + string_map["IFCTRIMMINGSELECT" ] = Type::IfcTrimmingSelect; string_map["IFCTUBEBUNDLETYPE" ] = Type::IfcTubeBundleType; + string_map["IFCTUBEBUNDLETYPEENUM" ] = Type::IfcTubeBundleTypeEnum; string_map["IFCTWODIRECTIONREPEATFACTOR" ] = Type::IfcTwoDirectionRepeatFactor; string_map["IFCTYPEOBJECT" ] = Type::IfcTypeObject; string_map["IFCTYPEPRODUCT" ] = Type::IfcTypeProduct; string_map["IFCUSHAPEPROFILEDEF" ] = Type::IfcUShapeProfileDef; + string_map["IFCUNIT" ] = Type::IfcUnit; string_map["IFCUNITASSIGNMENT" ] = Type::IfcUnitAssignment; + string_map["IFCUNITENUM" ] = Type::IfcUnitEnum; string_map["IFCUNITARYEQUIPMENTTYPE" ] = Type::IfcUnitaryEquipmentType; + string_map["IFCUNITARYEQUIPMENTTYPEENUM" ] = Type::IfcUnitaryEquipmentTypeEnum; + string_map["IFCVALUE" ] = Type::IfcValue; string_map["IFCVALVETYPE" ] = Type::IfcValveType; + string_map["IFCVALVETYPEENUM" ] = Type::IfcValveTypeEnum; + string_map["IFCVAPORPERMEABILITYMEASURE" ] = Type::IfcVaporPermeabilityMeasure; string_map["IFCVECTOR" ] = Type::IfcVector; + string_map["IFCVECTORORDIRECTION" ] = Type::IfcVectorOrDirection; string_map["IFCVERTEX" ] = Type::IfcVertex; string_map["IFCVERTEXBASEDTEXTUREMAP" ] = Type::IfcVertexBasedTextureMap; string_map["IFCVERTEXLOOP" ] = Type::IfcVertexLoop; string_map["IFCVERTEXPOINT" ] = Type::IfcVertexPoint; string_map["IFCVIBRATIONISOLATORTYPE" ] = Type::IfcVibrationIsolatorType; + string_map["IFCVIBRATIONISOLATORTYPEENUM" ] = Type::IfcVibrationIsolatorTypeEnum; string_map["IFCVIRTUALELEMENT" ] = Type::IfcVirtualElement; string_map["IFCVIRTUALGRIDINTERSECTION" ] = Type::IfcVirtualGridIntersection; + string_map["IFCVOLUMEMEASURE" ] = Type::IfcVolumeMeasure; + string_map["IFCVOLUMETRICFLOWRATEMEASURE" ] = Type::IfcVolumetricFlowRateMeasure; string_map["IFCWALL" ] = Type::IfcWall; string_map["IFCWALLSTANDARDCASE" ] = Type::IfcWallStandardCase; string_map["IFCWALLTYPE" ] = Type::IfcWallType; + string_map["IFCWALLTYPEENUM" ] = Type::IfcWallTypeEnum; + string_map["IFCWARPINGCONSTANTMEASURE" ] = Type::IfcWarpingConstantMeasure; + string_map["IFCWARPINGMOMENTMEASURE" ] = Type::IfcWarpingMomentMeasure; string_map["IFCWASTETERMINALTYPE" ] = Type::IfcWasteTerminalType; + string_map["IFCWASTETERMINALTYPEENUM" ] = Type::IfcWasteTerminalTypeEnum; string_map["IFCWATERPROPERTIES" ] = Type::IfcWaterProperties; string_map["IFCWINDOW" ] = Type::IfcWindow; string_map["IFCWINDOWLININGPROPERTIES" ] = Type::IfcWindowLiningProperties; + string_map["IFCWINDOWPANELOPERATIONENUM" ] = Type::IfcWindowPanelOperationEnum; + string_map["IFCWINDOWPANELPOSITIONENUM" ] = Type::IfcWindowPanelPositionEnum; string_map["IFCWINDOWPANELPROPERTIES" ] = Type::IfcWindowPanelProperties; string_map["IFCWINDOWSTYLE" ] = Type::IfcWindowStyle; + string_map["IFCWINDOWSTYLECONSTRUCTIONENUM" ] = Type::IfcWindowStyleConstructionEnum; + string_map["IFCWINDOWSTYLEOPERATIONENUM" ] = Type::IfcWindowStyleOperationEnum; string_map["IFCWORKCONTROL" ] = Type::IfcWorkControl; + string_map["IFCWORKCONTROLTYPEENUM" ] = Type::IfcWorkControlTypeEnum; string_map["IFCWORKPLAN" ] = Type::IfcWorkPlan; string_map["IFCWORKSCHEDULE" ] = Type::IfcWorkSchedule; + string_map["IFCYEARNUMBER" ] = Type::IfcYearNumber; string_map["IFCZSHAPEPROFILEDEF" ] = Type::IfcZShapeProfileDef; string_map["IFCZONE" ] = Type::IfcZone; } Type::Enum Type::FromString(const std::string& s) { + if (string_map.empty()) InitStringMap(); std::map::const_iterator it = string_map.find(s); if ( it == string_map.end() ) throw IfcException("Unable to find find keyword in schema"); else return it->second; } Type::Enum Type::Parent(Enum v){ - if (v < 0 || v >= 759) return (Enum)-1; + if (v < 0 || v >= 980) return (Enum)-1; if(v==Ifc2DCompositeCurve ) { return IfcCompositeCurve; } if(v==IfcActionRequest ) { return IfcControl; } if(v==IfcActor ) { return IfcObject; } @@ -5088,6 +5321,1177 @@ IfcWorkControlTypeEnum::IfcWorkControlTypeEnum IfcWorkControlTypeEnum::FromStrin } +// Function implementations for IfcAbsorbedDoseMeasure +IfcUtil::ArgumentType IfcAbsorbedDoseMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcAbsorbedDoseMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcAbsorbedDoseMeasure::is(Type::Enum v) const { return v == IfcAbsorbedDoseMeasure::Class(); } +Type::Enum IfcAbsorbedDoseMeasure::type() const { return Type::IfcAbsorbedDoseMeasure; } +Type::Enum IfcAbsorbedDoseMeasure::Class() { return Type::IfcAbsorbedDoseMeasure; } +IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(IfcAbstractEntity* e) { entity = e; } +IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcAbsorbedDoseMeasure); e->setArgument(0, v); entity = e; } +IfcAbsorbedDoseMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcAccelerationMeasure +IfcUtil::ArgumentType IfcAccelerationMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcAccelerationMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcAccelerationMeasure::is(Type::Enum v) const { return v == IfcAccelerationMeasure::Class(); } +Type::Enum IfcAccelerationMeasure::type() const { return Type::IfcAccelerationMeasure; } +Type::Enum IfcAccelerationMeasure::Class() { return Type::IfcAccelerationMeasure; } +IfcAccelerationMeasure::IfcAccelerationMeasure(IfcAbstractEntity* e) { entity = e; } +IfcAccelerationMeasure::IfcAccelerationMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcAccelerationMeasure); e->setArgument(0, v); entity = e; } +IfcAccelerationMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcAmountOfSubstanceMeasure +IfcUtil::ArgumentType IfcAmountOfSubstanceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcAmountOfSubstanceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcAmountOfSubstanceMeasure::is(Type::Enum v) const { return v == IfcAmountOfSubstanceMeasure::Class(); } +Type::Enum IfcAmountOfSubstanceMeasure::type() const { return Type::IfcAmountOfSubstanceMeasure; } +Type::Enum IfcAmountOfSubstanceMeasure::Class() { return Type::IfcAmountOfSubstanceMeasure; } +IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(IfcAbstractEntity* e) { entity = e; } +IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcAmountOfSubstanceMeasure); e->setArgument(0, v); entity = e; } +IfcAmountOfSubstanceMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcAngularVelocityMeasure +IfcUtil::ArgumentType IfcAngularVelocityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcAngularVelocityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcAngularVelocityMeasure::is(Type::Enum v) const { return v == IfcAngularVelocityMeasure::Class(); } +Type::Enum IfcAngularVelocityMeasure::type() const { return Type::IfcAngularVelocityMeasure; } +Type::Enum IfcAngularVelocityMeasure::Class() { return Type::IfcAngularVelocityMeasure; } +IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcAngularVelocityMeasure); e->setArgument(0, v); entity = e; } +IfcAngularVelocityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcAreaMeasure +IfcUtil::ArgumentType IfcAreaMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcAreaMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcAreaMeasure::is(Type::Enum v) const { return v == IfcAreaMeasure::Class(); } +Type::Enum IfcAreaMeasure::type() const { return Type::IfcAreaMeasure; } +Type::Enum IfcAreaMeasure::Class() { return Type::IfcAreaMeasure; } +IfcAreaMeasure::IfcAreaMeasure(IfcAbstractEntity* e) { entity = e; } +IfcAreaMeasure::IfcAreaMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcAreaMeasure); e->setArgument(0, v); entity = e; } +IfcAreaMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcBoolean +IfcUtil::ArgumentType IfcBoolean::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_BOOL; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcBoolean::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcBoolean::is(Type::Enum v) const { return v == IfcBoolean::Class(); } +Type::Enum IfcBoolean::type() const { return Type::IfcBoolean; } +Type::Enum IfcBoolean::Class() { return Type::IfcBoolean; } +IfcBoolean::IfcBoolean(IfcAbstractEntity* e) { entity = e; } +IfcBoolean::IfcBoolean(bool v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcBoolean); e->setArgument(0, v); entity = e; } +IfcBoolean::operator bool() const { return *entity->getArgument(0); } + +// Function implementations for IfcBoxAlignment +IfcUtil::ArgumentType IfcBoxAlignment::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcBoxAlignment::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcBoxAlignment::is(Type::Enum v) const { return v == Type::IfcBoxAlignment || IfcLabel::is(v); } +Type::Enum IfcBoxAlignment::type() const { return Type::IfcBoxAlignment; } +Type::Enum IfcBoxAlignment::Class() { return Type::IfcBoxAlignment; } +IfcBoxAlignment::IfcBoxAlignment(IfcAbstractEntity* e) : IfcLabel((IfcAbstractEntity*)0) { entity = e; } +IfcBoxAlignment::IfcBoxAlignment(std::string v) : IfcLabel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcBoxAlignment); e->setArgument(0, v); entity = e; } +IfcBoxAlignment::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcComplexNumber +IfcUtil::ArgumentType IfcComplexNumber::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcComplexNumber::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcComplexNumber::is(Type::Enum v) const { return v == IfcComplexNumber::Class(); } +Type::Enum IfcComplexNumber::type() const { return Type::IfcComplexNumber; } +Type::Enum IfcComplexNumber::Class() { return Type::IfcComplexNumber; } +IfcComplexNumber::IfcComplexNumber(IfcAbstractEntity* e) { entity = e; } +IfcComplexNumber::IfcComplexNumber(std::vector< double > /*[1:2]*/ v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcComplexNumber); e->setArgument(0, v); entity = e; } +IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return *entity->getArgument(0); } + +// Function implementations for IfcCompoundPlaneAngleMeasure +IfcUtil::ArgumentType IfcCompoundPlaneAngleMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcCompoundPlaneAngleMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcCompoundPlaneAngleMeasure::is(Type::Enum v) const { return v == IfcCompoundPlaneAngleMeasure::Class(); } +Type::Enum IfcCompoundPlaneAngleMeasure::type() const { return Type::IfcCompoundPlaneAngleMeasure; } +Type::Enum IfcCompoundPlaneAngleMeasure::Class() { return Type::IfcCompoundPlaneAngleMeasure; } +IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(IfcAbstractEntity* e) { entity = e; } +IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(std::vector< int > /*[3:4]*/ v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcCompoundPlaneAngleMeasure); e->setArgument(0, v); entity = e; } +IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return *entity->getArgument(0); } + +// Function implementations for IfcContextDependentMeasure +IfcUtil::ArgumentType IfcContextDependentMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcContextDependentMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcContextDependentMeasure::is(Type::Enum v) const { return v == IfcContextDependentMeasure::Class(); } +Type::Enum IfcContextDependentMeasure::type() const { return Type::IfcContextDependentMeasure; } +Type::Enum IfcContextDependentMeasure::Class() { return Type::IfcContextDependentMeasure; } +IfcContextDependentMeasure::IfcContextDependentMeasure(IfcAbstractEntity* e) { entity = e; } +IfcContextDependentMeasure::IfcContextDependentMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcContextDependentMeasure); e->setArgument(0, v); entity = e; } +IfcContextDependentMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcCountMeasure +IfcUtil::ArgumentType IfcCountMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcCountMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcCountMeasure::is(Type::Enum v) const { return v == IfcCountMeasure::Class(); } +Type::Enum IfcCountMeasure::type() const { return Type::IfcCountMeasure; } +Type::Enum IfcCountMeasure::Class() { return Type::IfcCountMeasure; } +IfcCountMeasure::IfcCountMeasure(IfcAbstractEntity* e) { entity = e; } +IfcCountMeasure::IfcCountMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcCountMeasure); e->setArgument(0, v); entity = e; } +IfcCountMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcCurvatureMeasure +IfcUtil::ArgumentType IfcCurvatureMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcCurvatureMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcCurvatureMeasure::is(Type::Enum v) const { return v == IfcCurvatureMeasure::Class(); } +Type::Enum IfcCurvatureMeasure::type() const { return Type::IfcCurvatureMeasure; } +Type::Enum IfcCurvatureMeasure::Class() { return Type::IfcCurvatureMeasure; } +IfcCurvatureMeasure::IfcCurvatureMeasure(IfcAbstractEntity* e) { entity = e; } +IfcCurvatureMeasure::IfcCurvatureMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcCurvatureMeasure); e->setArgument(0, v); entity = e; } +IfcCurvatureMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcDayInMonthNumber +IfcUtil::ArgumentType IfcDayInMonthNumber::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcDayInMonthNumber::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcDayInMonthNumber::is(Type::Enum v) const { return v == IfcDayInMonthNumber::Class(); } +Type::Enum IfcDayInMonthNumber::type() const { return Type::IfcDayInMonthNumber; } +Type::Enum IfcDayInMonthNumber::Class() { return Type::IfcDayInMonthNumber; } +IfcDayInMonthNumber::IfcDayInMonthNumber(IfcAbstractEntity* e) { entity = e; } +IfcDayInMonthNumber::IfcDayInMonthNumber(int v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcDayInMonthNumber); e->setArgument(0, v); entity = e; } +IfcDayInMonthNumber::operator int() const { return *entity->getArgument(0); } + +// Function implementations for IfcDaylightSavingHour +IfcUtil::ArgumentType IfcDaylightSavingHour::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcDaylightSavingHour::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcDaylightSavingHour::is(Type::Enum v) const { return v == IfcDaylightSavingHour::Class(); } +Type::Enum IfcDaylightSavingHour::type() const { return Type::IfcDaylightSavingHour; } +Type::Enum IfcDaylightSavingHour::Class() { return Type::IfcDaylightSavingHour; } +IfcDaylightSavingHour::IfcDaylightSavingHour(IfcAbstractEntity* e) { entity = e; } +IfcDaylightSavingHour::IfcDaylightSavingHour(int v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcDaylightSavingHour); e->setArgument(0, v); entity = e; } +IfcDaylightSavingHour::operator int() const { return *entity->getArgument(0); } + +// Function implementations for IfcDescriptiveMeasure +IfcUtil::ArgumentType IfcDescriptiveMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcDescriptiveMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcDescriptiveMeasure::is(Type::Enum v) const { return v == IfcDescriptiveMeasure::Class(); } +Type::Enum IfcDescriptiveMeasure::type() const { return Type::IfcDescriptiveMeasure; } +Type::Enum IfcDescriptiveMeasure::Class() { return Type::IfcDescriptiveMeasure; } +IfcDescriptiveMeasure::IfcDescriptiveMeasure(IfcAbstractEntity* e) { entity = e; } +IfcDescriptiveMeasure::IfcDescriptiveMeasure(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcDescriptiveMeasure); e->setArgument(0, v); entity = e; } +IfcDescriptiveMeasure::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcDimensionCount +IfcUtil::ArgumentType IfcDimensionCount::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcDimensionCount::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcDimensionCount::is(Type::Enum v) const { return v == IfcDimensionCount::Class(); } +Type::Enum IfcDimensionCount::type() const { return Type::IfcDimensionCount; } +Type::Enum IfcDimensionCount::Class() { return Type::IfcDimensionCount; } +IfcDimensionCount::IfcDimensionCount(IfcAbstractEntity* e) { entity = e; } +IfcDimensionCount::IfcDimensionCount(int v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcDimensionCount); e->setArgument(0, v); entity = e; } +IfcDimensionCount::operator int() const { return *entity->getArgument(0); } + +// Function implementations for IfcDoseEquivalentMeasure +IfcUtil::ArgumentType IfcDoseEquivalentMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcDoseEquivalentMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcDoseEquivalentMeasure::is(Type::Enum v) const { return v == IfcDoseEquivalentMeasure::Class(); } +Type::Enum IfcDoseEquivalentMeasure::type() const { return Type::IfcDoseEquivalentMeasure; } +Type::Enum IfcDoseEquivalentMeasure::Class() { return Type::IfcDoseEquivalentMeasure; } +IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(IfcAbstractEntity* e) { entity = e; } +IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcDoseEquivalentMeasure); e->setArgument(0, v); entity = e; } +IfcDoseEquivalentMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcDynamicViscosityMeasure +IfcUtil::ArgumentType IfcDynamicViscosityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcDynamicViscosityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcDynamicViscosityMeasure::is(Type::Enum v) const { return v == IfcDynamicViscosityMeasure::Class(); } +Type::Enum IfcDynamicViscosityMeasure::type() const { return Type::IfcDynamicViscosityMeasure; } +Type::Enum IfcDynamicViscosityMeasure::Class() { return Type::IfcDynamicViscosityMeasure; } +IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcDynamicViscosityMeasure); e->setArgument(0, v); entity = e; } +IfcDynamicViscosityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcElectricCapacitanceMeasure +IfcUtil::ArgumentType IfcElectricCapacitanceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcElectricCapacitanceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcElectricCapacitanceMeasure::is(Type::Enum v) const { return v == IfcElectricCapacitanceMeasure::Class(); } +Type::Enum IfcElectricCapacitanceMeasure::type() const { return Type::IfcElectricCapacitanceMeasure; } +Type::Enum IfcElectricCapacitanceMeasure::Class() { return Type::IfcElectricCapacitanceMeasure; } +IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(IfcAbstractEntity* e) { entity = e; } +IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcElectricCapacitanceMeasure); e->setArgument(0, v); entity = e; } +IfcElectricCapacitanceMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcElectricChargeMeasure +IfcUtil::ArgumentType IfcElectricChargeMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcElectricChargeMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcElectricChargeMeasure::is(Type::Enum v) const { return v == IfcElectricChargeMeasure::Class(); } +Type::Enum IfcElectricChargeMeasure::type() const { return Type::IfcElectricChargeMeasure; } +Type::Enum IfcElectricChargeMeasure::Class() { return Type::IfcElectricChargeMeasure; } +IfcElectricChargeMeasure::IfcElectricChargeMeasure(IfcAbstractEntity* e) { entity = e; } +IfcElectricChargeMeasure::IfcElectricChargeMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcElectricChargeMeasure); e->setArgument(0, v); entity = e; } +IfcElectricChargeMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcElectricConductanceMeasure +IfcUtil::ArgumentType IfcElectricConductanceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcElectricConductanceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcElectricConductanceMeasure::is(Type::Enum v) const { return v == IfcElectricConductanceMeasure::Class(); } +Type::Enum IfcElectricConductanceMeasure::type() const { return Type::IfcElectricConductanceMeasure; } +Type::Enum IfcElectricConductanceMeasure::Class() { return Type::IfcElectricConductanceMeasure; } +IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(IfcAbstractEntity* e) { entity = e; } +IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcElectricConductanceMeasure); e->setArgument(0, v); entity = e; } +IfcElectricConductanceMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcElectricCurrentMeasure +IfcUtil::ArgumentType IfcElectricCurrentMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcElectricCurrentMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcElectricCurrentMeasure::is(Type::Enum v) const { return v == IfcElectricCurrentMeasure::Class(); } +Type::Enum IfcElectricCurrentMeasure::type() const { return Type::IfcElectricCurrentMeasure; } +Type::Enum IfcElectricCurrentMeasure::Class() { return Type::IfcElectricCurrentMeasure; } +IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(IfcAbstractEntity* e) { entity = e; } +IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcElectricCurrentMeasure); e->setArgument(0, v); entity = e; } +IfcElectricCurrentMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcElectricResistanceMeasure +IfcUtil::ArgumentType IfcElectricResistanceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcElectricResistanceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcElectricResistanceMeasure::is(Type::Enum v) const { return v == IfcElectricResistanceMeasure::Class(); } +Type::Enum IfcElectricResistanceMeasure::type() const { return Type::IfcElectricResistanceMeasure; } +Type::Enum IfcElectricResistanceMeasure::Class() { return Type::IfcElectricResistanceMeasure; } +IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(IfcAbstractEntity* e) { entity = e; } +IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcElectricResistanceMeasure); e->setArgument(0, v); entity = e; } +IfcElectricResistanceMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcElectricVoltageMeasure +IfcUtil::ArgumentType IfcElectricVoltageMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcElectricVoltageMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcElectricVoltageMeasure::is(Type::Enum v) const { return v == IfcElectricVoltageMeasure::Class(); } +Type::Enum IfcElectricVoltageMeasure::type() const { return Type::IfcElectricVoltageMeasure; } +Type::Enum IfcElectricVoltageMeasure::Class() { return Type::IfcElectricVoltageMeasure; } +IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(IfcAbstractEntity* e) { entity = e; } +IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcElectricVoltageMeasure); e->setArgument(0, v); entity = e; } +IfcElectricVoltageMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcEnergyMeasure +IfcUtil::ArgumentType IfcEnergyMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcEnergyMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcEnergyMeasure::is(Type::Enum v) const { return v == IfcEnergyMeasure::Class(); } +Type::Enum IfcEnergyMeasure::type() const { return Type::IfcEnergyMeasure; } +Type::Enum IfcEnergyMeasure::Class() { return Type::IfcEnergyMeasure; } +IfcEnergyMeasure::IfcEnergyMeasure(IfcAbstractEntity* e) { entity = e; } +IfcEnergyMeasure::IfcEnergyMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcEnergyMeasure); e->setArgument(0, v); entity = e; } +IfcEnergyMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcFontStyle +IfcUtil::ArgumentType IfcFontStyle::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcFontStyle::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcFontStyle::is(Type::Enum v) const { return v == IfcFontStyle::Class(); } +Type::Enum IfcFontStyle::type() const { return Type::IfcFontStyle; } +Type::Enum IfcFontStyle::Class() { return Type::IfcFontStyle; } +IfcFontStyle::IfcFontStyle(IfcAbstractEntity* e) { entity = e; } +IfcFontStyle::IfcFontStyle(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcFontStyle); e->setArgument(0, v); entity = e; } +IfcFontStyle::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcFontVariant +IfcUtil::ArgumentType IfcFontVariant::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcFontVariant::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcFontVariant::is(Type::Enum v) const { return v == IfcFontVariant::Class(); } +Type::Enum IfcFontVariant::type() const { return Type::IfcFontVariant; } +Type::Enum IfcFontVariant::Class() { return Type::IfcFontVariant; } +IfcFontVariant::IfcFontVariant(IfcAbstractEntity* e) { entity = e; } +IfcFontVariant::IfcFontVariant(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcFontVariant); e->setArgument(0, v); entity = e; } +IfcFontVariant::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcFontWeight +IfcUtil::ArgumentType IfcFontWeight::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcFontWeight::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcFontWeight::is(Type::Enum v) const { return v == IfcFontWeight::Class(); } +Type::Enum IfcFontWeight::type() const { return Type::IfcFontWeight; } +Type::Enum IfcFontWeight::Class() { return Type::IfcFontWeight; } +IfcFontWeight::IfcFontWeight(IfcAbstractEntity* e) { entity = e; } +IfcFontWeight::IfcFontWeight(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcFontWeight); e->setArgument(0, v); entity = e; } +IfcFontWeight::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcForceMeasure +IfcUtil::ArgumentType IfcForceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcForceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcForceMeasure::is(Type::Enum v) const { return v == IfcForceMeasure::Class(); } +Type::Enum IfcForceMeasure::type() const { return Type::IfcForceMeasure; } +Type::Enum IfcForceMeasure::Class() { return Type::IfcForceMeasure; } +IfcForceMeasure::IfcForceMeasure(IfcAbstractEntity* e) { entity = e; } +IfcForceMeasure::IfcForceMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcForceMeasure); e->setArgument(0, v); entity = e; } +IfcForceMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcFrequencyMeasure +IfcUtil::ArgumentType IfcFrequencyMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcFrequencyMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcFrequencyMeasure::is(Type::Enum v) const { return v == IfcFrequencyMeasure::Class(); } +Type::Enum IfcFrequencyMeasure::type() const { return Type::IfcFrequencyMeasure; } +Type::Enum IfcFrequencyMeasure::Class() { return Type::IfcFrequencyMeasure; } +IfcFrequencyMeasure::IfcFrequencyMeasure(IfcAbstractEntity* e) { entity = e; } +IfcFrequencyMeasure::IfcFrequencyMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcFrequencyMeasure); e->setArgument(0, v); entity = e; } +IfcFrequencyMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcGloballyUniqueId +IfcUtil::ArgumentType IfcGloballyUniqueId::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcGloballyUniqueId::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcGloballyUniqueId::is(Type::Enum v) const { return v == IfcGloballyUniqueId::Class(); } +Type::Enum IfcGloballyUniqueId::type() const { return Type::IfcGloballyUniqueId; } +Type::Enum IfcGloballyUniqueId::Class() { return Type::IfcGloballyUniqueId; } +IfcGloballyUniqueId::IfcGloballyUniqueId(IfcAbstractEntity* e) { entity = e; } +IfcGloballyUniqueId::IfcGloballyUniqueId(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcGloballyUniqueId); e->setArgument(0, v); entity = e; } +IfcGloballyUniqueId::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcHeatFluxDensityMeasure +IfcUtil::ArgumentType IfcHeatFluxDensityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcHeatFluxDensityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcHeatFluxDensityMeasure::is(Type::Enum v) const { return v == IfcHeatFluxDensityMeasure::Class(); } +Type::Enum IfcHeatFluxDensityMeasure::type() const { return Type::IfcHeatFluxDensityMeasure; } +Type::Enum IfcHeatFluxDensityMeasure::Class() { return Type::IfcHeatFluxDensityMeasure; } +IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcHeatFluxDensityMeasure); e->setArgument(0, v); entity = e; } +IfcHeatFluxDensityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcHeatingValueMeasure +IfcUtil::ArgumentType IfcHeatingValueMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcHeatingValueMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcHeatingValueMeasure::is(Type::Enum v) const { return v == IfcHeatingValueMeasure::Class(); } +Type::Enum IfcHeatingValueMeasure::type() const { return Type::IfcHeatingValueMeasure; } +Type::Enum IfcHeatingValueMeasure::Class() { return Type::IfcHeatingValueMeasure; } +IfcHeatingValueMeasure::IfcHeatingValueMeasure(IfcAbstractEntity* e) { entity = e; } +IfcHeatingValueMeasure::IfcHeatingValueMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcHeatingValueMeasure); e->setArgument(0, v); entity = e; } +IfcHeatingValueMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcHourInDay +IfcUtil::ArgumentType IfcHourInDay::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcHourInDay::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcHourInDay::is(Type::Enum v) const { return v == IfcHourInDay::Class(); } +Type::Enum IfcHourInDay::type() const { return Type::IfcHourInDay; } +Type::Enum IfcHourInDay::Class() { return Type::IfcHourInDay; } +IfcHourInDay::IfcHourInDay(IfcAbstractEntity* e) { entity = e; } +IfcHourInDay::IfcHourInDay(int v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcHourInDay); e->setArgument(0, v); entity = e; } +IfcHourInDay::operator int() const { return *entity->getArgument(0); } + +// Function implementations for IfcIdentifier +IfcUtil::ArgumentType IfcIdentifier::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcIdentifier::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcIdentifier::is(Type::Enum v) const { return v == IfcIdentifier::Class(); } +Type::Enum IfcIdentifier::type() const { return Type::IfcIdentifier; } +Type::Enum IfcIdentifier::Class() { return Type::IfcIdentifier; } +IfcIdentifier::IfcIdentifier(IfcAbstractEntity* e) { entity = e; } +IfcIdentifier::IfcIdentifier(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcIdentifier); e->setArgument(0, v); entity = e; } +IfcIdentifier::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcIlluminanceMeasure +IfcUtil::ArgumentType IfcIlluminanceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcIlluminanceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcIlluminanceMeasure::is(Type::Enum v) const { return v == IfcIlluminanceMeasure::Class(); } +Type::Enum IfcIlluminanceMeasure::type() const { return Type::IfcIlluminanceMeasure; } +Type::Enum IfcIlluminanceMeasure::Class() { return Type::IfcIlluminanceMeasure; } +IfcIlluminanceMeasure::IfcIlluminanceMeasure(IfcAbstractEntity* e) { entity = e; } +IfcIlluminanceMeasure::IfcIlluminanceMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcIlluminanceMeasure); e->setArgument(0, v); entity = e; } +IfcIlluminanceMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcInductanceMeasure +IfcUtil::ArgumentType IfcInductanceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcInductanceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcInductanceMeasure::is(Type::Enum v) const { return v == IfcInductanceMeasure::Class(); } +Type::Enum IfcInductanceMeasure::type() const { return Type::IfcInductanceMeasure; } +Type::Enum IfcInductanceMeasure::Class() { return Type::IfcInductanceMeasure; } +IfcInductanceMeasure::IfcInductanceMeasure(IfcAbstractEntity* e) { entity = e; } +IfcInductanceMeasure::IfcInductanceMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcInductanceMeasure); e->setArgument(0, v); entity = e; } +IfcInductanceMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcInteger +IfcUtil::ArgumentType IfcInteger::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcInteger::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcInteger::is(Type::Enum v) const { return v == IfcInteger::Class(); } +Type::Enum IfcInteger::type() const { return Type::IfcInteger; } +Type::Enum IfcInteger::Class() { return Type::IfcInteger; } +IfcInteger::IfcInteger(IfcAbstractEntity* e) { entity = e; } +IfcInteger::IfcInteger(int v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcInteger); e->setArgument(0, v); entity = e; } +IfcInteger::operator int() const { return *entity->getArgument(0); } + +// Function implementations for IfcIntegerCountRateMeasure +IfcUtil::ArgumentType IfcIntegerCountRateMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcIntegerCountRateMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcIntegerCountRateMeasure::is(Type::Enum v) const { return v == IfcIntegerCountRateMeasure::Class(); } +Type::Enum IfcIntegerCountRateMeasure::type() const { return Type::IfcIntegerCountRateMeasure; } +Type::Enum IfcIntegerCountRateMeasure::Class() { return Type::IfcIntegerCountRateMeasure; } +IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(IfcAbstractEntity* e) { entity = e; } +IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(int v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcIntegerCountRateMeasure); e->setArgument(0, v); entity = e; } +IfcIntegerCountRateMeasure::operator int() const { return *entity->getArgument(0); } + +// Function implementations for IfcIonConcentrationMeasure +IfcUtil::ArgumentType IfcIonConcentrationMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcIonConcentrationMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcIonConcentrationMeasure::is(Type::Enum v) const { return v == IfcIonConcentrationMeasure::Class(); } +Type::Enum IfcIonConcentrationMeasure::type() const { return Type::IfcIonConcentrationMeasure; } +Type::Enum IfcIonConcentrationMeasure::Class() { return Type::IfcIonConcentrationMeasure; } +IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(IfcAbstractEntity* e) { entity = e; } +IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcIonConcentrationMeasure); e->setArgument(0, v); entity = e; } +IfcIonConcentrationMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcIsothermalMoistureCapacityMeasure +IfcUtil::ArgumentType IfcIsothermalMoistureCapacityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcIsothermalMoistureCapacityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcIsothermalMoistureCapacityMeasure::is(Type::Enum v) const { return v == IfcIsothermalMoistureCapacityMeasure::Class(); } +Type::Enum IfcIsothermalMoistureCapacityMeasure::type() const { return Type::IfcIsothermalMoistureCapacityMeasure; } +Type::Enum IfcIsothermalMoistureCapacityMeasure::Class() { return Type::IfcIsothermalMoistureCapacityMeasure; } +IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcIsothermalMoistureCapacityMeasure); e->setArgument(0, v); entity = e; } +IfcIsothermalMoistureCapacityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcKinematicViscosityMeasure +IfcUtil::ArgumentType IfcKinematicViscosityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcKinematicViscosityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcKinematicViscosityMeasure::is(Type::Enum v) const { return v == IfcKinematicViscosityMeasure::Class(); } +Type::Enum IfcKinematicViscosityMeasure::type() const { return Type::IfcKinematicViscosityMeasure; } +Type::Enum IfcKinematicViscosityMeasure::Class() { return Type::IfcKinematicViscosityMeasure; } +IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcKinematicViscosityMeasure); e->setArgument(0, v); entity = e; } +IfcKinematicViscosityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcLabel +IfcUtil::ArgumentType IfcLabel::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcLabel::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcLabel::is(Type::Enum v) const { return v == IfcLabel::Class(); } +Type::Enum IfcLabel::type() const { return Type::IfcLabel; } +Type::Enum IfcLabel::Class() { return Type::IfcLabel; } +IfcLabel::IfcLabel(IfcAbstractEntity* e) { entity = e; } +IfcLabel::IfcLabel(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcLabel); e->setArgument(0, v); entity = e; } +IfcLabel::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcLengthMeasure +IfcUtil::ArgumentType IfcLengthMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcLengthMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcLengthMeasure::is(Type::Enum v) const { return v == IfcLengthMeasure::Class(); } +Type::Enum IfcLengthMeasure::type() const { return Type::IfcLengthMeasure; } +Type::Enum IfcLengthMeasure::Class() { return Type::IfcLengthMeasure; } +IfcLengthMeasure::IfcLengthMeasure(IfcAbstractEntity* e) { entity = e; } +IfcLengthMeasure::IfcLengthMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcLengthMeasure); e->setArgument(0, v); entity = e; } +IfcLengthMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcLinearForceMeasure +IfcUtil::ArgumentType IfcLinearForceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcLinearForceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcLinearForceMeasure::is(Type::Enum v) const { return v == IfcLinearForceMeasure::Class(); } +Type::Enum IfcLinearForceMeasure::type() const { return Type::IfcLinearForceMeasure; } +Type::Enum IfcLinearForceMeasure::Class() { return Type::IfcLinearForceMeasure; } +IfcLinearForceMeasure::IfcLinearForceMeasure(IfcAbstractEntity* e) { entity = e; } +IfcLinearForceMeasure::IfcLinearForceMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcLinearForceMeasure); e->setArgument(0, v); entity = e; } +IfcLinearForceMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcLinearMomentMeasure +IfcUtil::ArgumentType IfcLinearMomentMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcLinearMomentMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcLinearMomentMeasure::is(Type::Enum v) const { return v == IfcLinearMomentMeasure::Class(); } +Type::Enum IfcLinearMomentMeasure::type() const { return Type::IfcLinearMomentMeasure; } +Type::Enum IfcLinearMomentMeasure::Class() { return Type::IfcLinearMomentMeasure; } +IfcLinearMomentMeasure::IfcLinearMomentMeasure(IfcAbstractEntity* e) { entity = e; } +IfcLinearMomentMeasure::IfcLinearMomentMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcLinearMomentMeasure); e->setArgument(0, v); entity = e; } +IfcLinearMomentMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcLinearStiffnessMeasure +IfcUtil::ArgumentType IfcLinearStiffnessMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcLinearStiffnessMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcLinearStiffnessMeasure::is(Type::Enum v) const { return v == IfcLinearStiffnessMeasure::Class(); } +Type::Enum IfcLinearStiffnessMeasure::type() const { return Type::IfcLinearStiffnessMeasure; } +Type::Enum IfcLinearStiffnessMeasure::Class() { return Type::IfcLinearStiffnessMeasure; } +IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(IfcAbstractEntity* e) { entity = e; } +IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcLinearStiffnessMeasure); e->setArgument(0, v); entity = e; } +IfcLinearStiffnessMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcLinearVelocityMeasure +IfcUtil::ArgumentType IfcLinearVelocityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcLinearVelocityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcLinearVelocityMeasure::is(Type::Enum v) const { return v == IfcLinearVelocityMeasure::Class(); } +Type::Enum IfcLinearVelocityMeasure::type() const { return Type::IfcLinearVelocityMeasure; } +Type::Enum IfcLinearVelocityMeasure::Class() { return Type::IfcLinearVelocityMeasure; } +IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcLinearVelocityMeasure); e->setArgument(0, v); entity = e; } +IfcLinearVelocityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcLogical +IfcUtil::ArgumentType IfcLogical::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_BOOL; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcLogical::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcLogical::is(Type::Enum v) const { return v == IfcLogical::Class(); } +Type::Enum IfcLogical::type() const { return Type::IfcLogical; } +Type::Enum IfcLogical::Class() { return Type::IfcLogical; } +IfcLogical::IfcLogical(IfcAbstractEntity* e) { entity = e; } +IfcLogical::IfcLogical(bool v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcLogical); e->setArgument(0, v); entity = e; } +IfcLogical::operator bool() const { return *entity->getArgument(0); } + +// Function implementations for IfcLuminousFluxMeasure +IfcUtil::ArgumentType IfcLuminousFluxMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcLuminousFluxMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcLuminousFluxMeasure::is(Type::Enum v) const { return v == IfcLuminousFluxMeasure::Class(); } +Type::Enum IfcLuminousFluxMeasure::type() const { return Type::IfcLuminousFluxMeasure; } +Type::Enum IfcLuminousFluxMeasure::Class() { return Type::IfcLuminousFluxMeasure; } +IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(IfcAbstractEntity* e) { entity = e; } +IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcLuminousFluxMeasure); e->setArgument(0, v); entity = e; } +IfcLuminousFluxMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcLuminousIntensityDistributionMeasure +IfcUtil::ArgumentType IfcLuminousIntensityDistributionMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcLuminousIntensityDistributionMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcLuminousIntensityDistributionMeasure::is(Type::Enum v) const { return v == IfcLuminousIntensityDistributionMeasure::Class(); } +Type::Enum IfcLuminousIntensityDistributionMeasure::type() const { return Type::IfcLuminousIntensityDistributionMeasure; } +Type::Enum IfcLuminousIntensityDistributionMeasure::Class() { return Type::IfcLuminousIntensityDistributionMeasure; } +IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(IfcAbstractEntity* e) { entity = e; } +IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcLuminousIntensityDistributionMeasure); e->setArgument(0, v); entity = e; } +IfcLuminousIntensityDistributionMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcLuminousIntensityMeasure +IfcUtil::ArgumentType IfcLuminousIntensityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcLuminousIntensityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcLuminousIntensityMeasure::is(Type::Enum v) const { return v == IfcLuminousIntensityMeasure::Class(); } +Type::Enum IfcLuminousIntensityMeasure::type() const { return Type::IfcLuminousIntensityMeasure; } +Type::Enum IfcLuminousIntensityMeasure::Class() { return Type::IfcLuminousIntensityMeasure; } +IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcLuminousIntensityMeasure); e->setArgument(0, v); entity = e; } +IfcLuminousIntensityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcMagneticFluxDensityMeasure +IfcUtil::ArgumentType IfcMagneticFluxDensityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcMagneticFluxDensityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcMagneticFluxDensityMeasure::is(Type::Enum v) const { return v == IfcMagneticFluxDensityMeasure::Class(); } +Type::Enum IfcMagneticFluxDensityMeasure::type() const { return Type::IfcMagneticFluxDensityMeasure; } +Type::Enum IfcMagneticFluxDensityMeasure::Class() { return Type::IfcMagneticFluxDensityMeasure; } +IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcMagneticFluxDensityMeasure); e->setArgument(0, v); entity = e; } +IfcMagneticFluxDensityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcMagneticFluxMeasure +IfcUtil::ArgumentType IfcMagneticFluxMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcMagneticFluxMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcMagneticFluxMeasure::is(Type::Enum v) const { return v == IfcMagneticFluxMeasure::Class(); } +Type::Enum IfcMagneticFluxMeasure::type() const { return Type::IfcMagneticFluxMeasure; } +Type::Enum IfcMagneticFluxMeasure::Class() { return Type::IfcMagneticFluxMeasure; } +IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(IfcAbstractEntity* e) { entity = e; } +IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcMagneticFluxMeasure); e->setArgument(0, v); entity = e; } +IfcMagneticFluxMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcMassDensityMeasure +IfcUtil::ArgumentType IfcMassDensityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcMassDensityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcMassDensityMeasure::is(Type::Enum v) const { return v == IfcMassDensityMeasure::Class(); } +Type::Enum IfcMassDensityMeasure::type() const { return Type::IfcMassDensityMeasure; } +Type::Enum IfcMassDensityMeasure::Class() { return Type::IfcMassDensityMeasure; } +IfcMassDensityMeasure::IfcMassDensityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcMassDensityMeasure::IfcMassDensityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcMassDensityMeasure); e->setArgument(0, v); entity = e; } +IfcMassDensityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcMassFlowRateMeasure +IfcUtil::ArgumentType IfcMassFlowRateMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcMassFlowRateMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcMassFlowRateMeasure::is(Type::Enum v) const { return v == IfcMassFlowRateMeasure::Class(); } +Type::Enum IfcMassFlowRateMeasure::type() const { return Type::IfcMassFlowRateMeasure; } +Type::Enum IfcMassFlowRateMeasure::Class() { return Type::IfcMassFlowRateMeasure; } +IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(IfcAbstractEntity* e) { entity = e; } +IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcMassFlowRateMeasure); e->setArgument(0, v); entity = e; } +IfcMassFlowRateMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcMassMeasure +IfcUtil::ArgumentType IfcMassMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcMassMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcMassMeasure::is(Type::Enum v) const { return v == IfcMassMeasure::Class(); } +Type::Enum IfcMassMeasure::type() const { return Type::IfcMassMeasure; } +Type::Enum IfcMassMeasure::Class() { return Type::IfcMassMeasure; } +IfcMassMeasure::IfcMassMeasure(IfcAbstractEntity* e) { entity = e; } +IfcMassMeasure::IfcMassMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcMassMeasure); e->setArgument(0, v); entity = e; } +IfcMassMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcMassPerLengthMeasure +IfcUtil::ArgumentType IfcMassPerLengthMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcMassPerLengthMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcMassPerLengthMeasure::is(Type::Enum v) const { return v == IfcMassPerLengthMeasure::Class(); } +Type::Enum IfcMassPerLengthMeasure::type() const { return Type::IfcMassPerLengthMeasure; } +Type::Enum IfcMassPerLengthMeasure::Class() { return Type::IfcMassPerLengthMeasure; } +IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(IfcAbstractEntity* e) { entity = e; } +IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcMassPerLengthMeasure); e->setArgument(0, v); entity = e; } +IfcMassPerLengthMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcMinuteInHour +IfcUtil::ArgumentType IfcMinuteInHour::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcMinuteInHour::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcMinuteInHour::is(Type::Enum v) const { return v == IfcMinuteInHour::Class(); } +Type::Enum IfcMinuteInHour::type() const { return Type::IfcMinuteInHour; } +Type::Enum IfcMinuteInHour::Class() { return Type::IfcMinuteInHour; } +IfcMinuteInHour::IfcMinuteInHour(IfcAbstractEntity* e) { entity = e; } +IfcMinuteInHour::IfcMinuteInHour(int v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcMinuteInHour); e->setArgument(0, v); entity = e; } +IfcMinuteInHour::operator int() const { return *entity->getArgument(0); } + +// Function implementations for IfcModulusOfElasticityMeasure +IfcUtil::ArgumentType IfcModulusOfElasticityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcModulusOfElasticityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcModulusOfElasticityMeasure::is(Type::Enum v) const { return v == IfcModulusOfElasticityMeasure::Class(); } +Type::Enum IfcModulusOfElasticityMeasure::type() const { return Type::IfcModulusOfElasticityMeasure; } +Type::Enum IfcModulusOfElasticityMeasure::Class() { return Type::IfcModulusOfElasticityMeasure; } +IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcModulusOfElasticityMeasure); e->setArgument(0, v); entity = e; } +IfcModulusOfElasticityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcModulusOfLinearSubgradeReactionMeasure +IfcUtil::ArgumentType IfcModulusOfLinearSubgradeReactionMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcModulusOfLinearSubgradeReactionMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcModulusOfLinearSubgradeReactionMeasure::is(Type::Enum v) const { return v == IfcModulusOfLinearSubgradeReactionMeasure::Class(); } +Type::Enum IfcModulusOfLinearSubgradeReactionMeasure::type() const { return Type::IfcModulusOfLinearSubgradeReactionMeasure; } +Type::Enum IfcModulusOfLinearSubgradeReactionMeasure::Class() { return Type::IfcModulusOfLinearSubgradeReactionMeasure; } +IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(IfcAbstractEntity* e) { entity = e; } +IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcModulusOfLinearSubgradeReactionMeasure); e->setArgument(0, v); entity = e; } +IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure +IfcUtil::ArgumentType IfcModulusOfRotationalSubgradeReactionMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcModulusOfRotationalSubgradeReactionMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcModulusOfRotationalSubgradeReactionMeasure::is(Type::Enum v) const { return v == IfcModulusOfRotationalSubgradeReactionMeasure::Class(); } +Type::Enum IfcModulusOfRotationalSubgradeReactionMeasure::type() const { return Type::IfcModulusOfRotationalSubgradeReactionMeasure; } +Type::Enum IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return Type::IfcModulusOfRotationalSubgradeReactionMeasure; } +IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(IfcAbstractEntity* e) { entity = e; } +IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcModulusOfRotationalSubgradeReactionMeasure); e->setArgument(0, v); entity = e; } +IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcModulusOfSubgradeReactionMeasure +IfcUtil::ArgumentType IfcModulusOfSubgradeReactionMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcModulusOfSubgradeReactionMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcModulusOfSubgradeReactionMeasure::is(Type::Enum v) const { return v == IfcModulusOfSubgradeReactionMeasure::Class(); } +Type::Enum IfcModulusOfSubgradeReactionMeasure::type() const { return Type::IfcModulusOfSubgradeReactionMeasure; } +Type::Enum IfcModulusOfSubgradeReactionMeasure::Class() { return Type::IfcModulusOfSubgradeReactionMeasure; } +IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(IfcAbstractEntity* e) { entity = e; } +IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcModulusOfSubgradeReactionMeasure); e->setArgument(0, v); entity = e; } +IfcModulusOfSubgradeReactionMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcMoistureDiffusivityMeasure +IfcUtil::ArgumentType IfcMoistureDiffusivityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcMoistureDiffusivityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcMoistureDiffusivityMeasure::is(Type::Enum v) const { return v == IfcMoistureDiffusivityMeasure::Class(); } +Type::Enum IfcMoistureDiffusivityMeasure::type() const { return Type::IfcMoistureDiffusivityMeasure; } +Type::Enum IfcMoistureDiffusivityMeasure::Class() { return Type::IfcMoistureDiffusivityMeasure; } +IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcMoistureDiffusivityMeasure); e->setArgument(0, v); entity = e; } +IfcMoistureDiffusivityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcMolecularWeightMeasure +IfcUtil::ArgumentType IfcMolecularWeightMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcMolecularWeightMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcMolecularWeightMeasure::is(Type::Enum v) const { return v == IfcMolecularWeightMeasure::Class(); } +Type::Enum IfcMolecularWeightMeasure::type() const { return Type::IfcMolecularWeightMeasure; } +Type::Enum IfcMolecularWeightMeasure::Class() { return Type::IfcMolecularWeightMeasure; } +IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(IfcAbstractEntity* e) { entity = e; } +IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcMolecularWeightMeasure); e->setArgument(0, v); entity = e; } +IfcMolecularWeightMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcMomentOfInertiaMeasure +IfcUtil::ArgumentType IfcMomentOfInertiaMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcMomentOfInertiaMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcMomentOfInertiaMeasure::is(Type::Enum v) const { return v == IfcMomentOfInertiaMeasure::Class(); } +Type::Enum IfcMomentOfInertiaMeasure::type() const { return Type::IfcMomentOfInertiaMeasure; } +Type::Enum IfcMomentOfInertiaMeasure::Class() { return Type::IfcMomentOfInertiaMeasure; } +IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(IfcAbstractEntity* e) { entity = e; } +IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcMomentOfInertiaMeasure); e->setArgument(0, v); entity = e; } +IfcMomentOfInertiaMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcMonetaryMeasure +IfcUtil::ArgumentType IfcMonetaryMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcMonetaryMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcMonetaryMeasure::is(Type::Enum v) const { return v == IfcMonetaryMeasure::Class(); } +Type::Enum IfcMonetaryMeasure::type() const { return Type::IfcMonetaryMeasure; } +Type::Enum IfcMonetaryMeasure::Class() { return Type::IfcMonetaryMeasure; } +IfcMonetaryMeasure::IfcMonetaryMeasure(IfcAbstractEntity* e) { entity = e; } +IfcMonetaryMeasure::IfcMonetaryMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcMonetaryMeasure); e->setArgument(0, v); entity = e; } +IfcMonetaryMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcMonthInYearNumber +IfcUtil::ArgumentType IfcMonthInYearNumber::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcMonthInYearNumber::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcMonthInYearNumber::is(Type::Enum v) const { return v == IfcMonthInYearNumber::Class(); } +Type::Enum IfcMonthInYearNumber::type() const { return Type::IfcMonthInYearNumber; } +Type::Enum IfcMonthInYearNumber::Class() { return Type::IfcMonthInYearNumber; } +IfcMonthInYearNumber::IfcMonthInYearNumber(IfcAbstractEntity* e) { entity = e; } +IfcMonthInYearNumber::IfcMonthInYearNumber(int v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcMonthInYearNumber); e->setArgument(0, v); entity = e; } +IfcMonthInYearNumber::operator int() const { return *entity->getArgument(0); } + +// Function implementations for IfcNormalisedRatioMeasure +IfcUtil::ArgumentType IfcNormalisedRatioMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcNormalisedRatioMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcNormalisedRatioMeasure::is(Type::Enum v) const { return v == Type::IfcNormalisedRatioMeasure || IfcRatioMeasure::is(v); } +Type::Enum IfcNormalisedRatioMeasure::type() const { return Type::IfcNormalisedRatioMeasure; } +Type::Enum IfcNormalisedRatioMeasure::Class() { return Type::IfcNormalisedRatioMeasure; } +IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(IfcAbstractEntity* e) : IfcRatioMeasure((IfcAbstractEntity*)0) { entity = e; } +IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(double v) : IfcRatioMeasure((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcNormalisedRatioMeasure); e->setArgument(0, v); entity = e; } +IfcNormalisedRatioMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcNumericMeasure +IfcUtil::ArgumentType IfcNumericMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcNumericMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcNumericMeasure::is(Type::Enum v) const { return v == IfcNumericMeasure::Class(); } +Type::Enum IfcNumericMeasure::type() const { return Type::IfcNumericMeasure; } +Type::Enum IfcNumericMeasure::Class() { return Type::IfcNumericMeasure; } +IfcNumericMeasure::IfcNumericMeasure(IfcAbstractEntity* e) { entity = e; } +IfcNumericMeasure::IfcNumericMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcNumericMeasure); e->setArgument(0, v); entity = e; } +IfcNumericMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcPHMeasure +IfcUtil::ArgumentType IfcPHMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcPHMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcPHMeasure::is(Type::Enum v) const { return v == IfcPHMeasure::Class(); } +Type::Enum IfcPHMeasure::type() const { return Type::IfcPHMeasure; } +Type::Enum IfcPHMeasure::Class() { return Type::IfcPHMeasure; } +IfcPHMeasure::IfcPHMeasure(IfcAbstractEntity* e) { entity = e; } +IfcPHMeasure::IfcPHMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcPHMeasure); e->setArgument(0, v); entity = e; } +IfcPHMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcParameterValue +IfcUtil::ArgumentType IfcParameterValue::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcParameterValue::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcParameterValue::is(Type::Enum v) const { return v == IfcParameterValue::Class(); } +Type::Enum IfcParameterValue::type() const { return Type::IfcParameterValue; } +Type::Enum IfcParameterValue::Class() { return Type::IfcParameterValue; } +IfcParameterValue::IfcParameterValue(IfcAbstractEntity* e) { entity = e; } +IfcParameterValue::IfcParameterValue(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcParameterValue); e->setArgument(0, v); entity = e; } +IfcParameterValue::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcPlanarForceMeasure +IfcUtil::ArgumentType IfcPlanarForceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcPlanarForceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcPlanarForceMeasure::is(Type::Enum v) const { return v == IfcPlanarForceMeasure::Class(); } +Type::Enum IfcPlanarForceMeasure::type() const { return Type::IfcPlanarForceMeasure; } +Type::Enum IfcPlanarForceMeasure::Class() { return Type::IfcPlanarForceMeasure; } +IfcPlanarForceMeasure::IfcPlanarForceMeasure(IfcAbstractEntity* e) { entity = e; } +IfcPlanarForceMeasure::IfcPlanarForceMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcPlanarForceMeasure); e->setArgument(0, v); entity = e; } +IfcPlanarForceMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcPlaneAngleMeasure +IfcUtil::ArgumentType IfcPlaneAngleMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcPlaneAngleMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcPlaneAngleMeasure::is(Type::Enum v) const { return v == IfcPlaneAngleMeasure::Class(); } +Type::Enum IfcPlaneAngleMeasure::type() const { return Type::IfcPlaneAngleMeasure; } +Type::Enum IfcPlaneAngleMeasure::Class() { return Type::IfcPlaneAngleMeasure; } +IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(IfcAbstractEntity* e) { entity = e; } +IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcPlaneAngleMeasure); e->setArgument(0, v); entity = e; } +IfcPlaneAngleMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcPositiveLengthMeasure +IfcUtil::ArgumentType IfcPositiveLengthMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcPositiveLengthMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcPositiveLengthMeasure::is(Type::Enum v) const { return v == Type::IfcPositiveLengthMeasure || IfcLengthMeasure::is(v); } +Type::Enum IfcPositiveLengthMeasure::type() const { return Type::IfcPositiveLengthMeasure; } +Type::Enum IfcPositiveLengthMeasure::Class() { return Type::IfcPositiveLengthMeasure; } +IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(IfcAbstractEntity* e) : IfcLengthMeasure((IfcAbstractEntity*)0) { entity = e; } +IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(double v) : IfcLengthMeasure((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcPositiveLengthMeasure); e->setArgument(0, v); entity = e; } +IfcPositiveLengthMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcPositivePlaneAngleMeasure +IfcUtil::ArgumentType IfcPositivePlaneAngleMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcPositivePlaneAngleMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcPositivePlaneAngleMeasure::is(Type::Enum v) const { return v == Type::IfcPositivePlaneAngleMeasure || IfcPlaneAngleMeasure::is(v); } +Type::Enum IfcPositivePlaneAngleMeasure::type() const { return Type::IfcPositivePlaneAngleMeasure; } +Type::Enum IfcPositivePlaneAngleMeasure::Class() { return Type::IfcPositivePlaneAngleMeasure; } +IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(IfcAbstractEntity* e) : IfcPlaneAngleMeasure((IfcAbstractEntity*)0) { entity = e; } +IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(double v) : IfcPlaneAngleMeasure((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcPositivePlaneAngleMeasure); e->setArgument(0, v); entity = e; } +IfcPositivePlaneAngleMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcPositiveRatioMeasure +IfcUtil::ArgumentType IfcPositiveRatioMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcPositiveRatioMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcPositiveRatioMeasure::is(Type::Enum v) const { return v == Type::IfcPositiveRatioMeasure || IfcRatioMeasure::is(v); } +Type::Enum IfcPositiveRatioMeasure::type() const { return Type::IfcPositiveRatioMeasure; } +Type::Enum IfcPositiveRatioMeasure::Class() { return Type::IfcPositiveRatioMeasure; } +IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(IfcAbstractEntity* e) : IfcRatioMeasure((IfcAbstractEntity*)0) { entity = e; } +IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(double v) : IfcRatioMeasure((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcPositiveRatioMeasure); e->setArgument(0, v); entity = e; } +IfcPositiveRatioMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcPowerMeasure +IfcUtil::ArgumentType IfcPowerMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcPowerMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcPowerMeasure::is(Type::Enum v) const { return v == IfcPowerMeasure::Class(); } +Type::Enum IfcPowerMeasure::type() const { return Type::IfcPowerMeasure; } +Type::Enum IfcPowerMeasure::Class() { return Type::IfcPowerMeasure; } +IfcPowerMeasure::IfcPowerMeasure(IfcAbstractEntity* e) { entity = e; } +IfcPowerMeasure::IfcPowerMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcPowerMeasure); e->setArgument(0, v); entity = e; } +IfcPowerMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcPresentableText +IfcUtil::ArgumentType IfcPresentableText::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcPresentableText::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcPresentableText::is(Type::Enum v) const { return v == IfcPresentableText::Class(); } +Type::Enum IfcPresentableText::type() const { return Type::IfcPresentableText; } +Type::Enum IfcPresentableText::Class() { return Type::IfcPresentableText; } +IfcPresentableText::IfcPresentableText(IfcAbstractEntity* e) { entity = e; } +IfcPresentableText::IfcPresentableText(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcPresentableText); e->setArgument(0, v); entity = e; } +IfcPresentableText::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcPressureMeasure +IfcUtil::ArgumentType IfcPressureMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcPressureMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcPressureMeasure::is(Type::Enum v) const { return v == IfcPressureMeasure::Class(); } +Type::Enum IfcPressureMeasure::type() const { return Type::IfcPressureMeasure; } +Type::Enum IfcPressureMeasure::Class() { return Type::IfcPressureMeasure; } +IfcPressureMeasure::IfcPressureMeasure(IfcAbstractEntity* e) { entity = e; } +IfcPressureMeasure::IfcPressureMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcPressureMeasure); e->setArgument(0, v); entity = e; } +IfcPressureMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcRadioActivityMeasure +IfcUtil::ArgumentType IfcRadioActivityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcRadioActivityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcRadioActivityMeasure::is(Type::Enum v) const { return v == IfcRadioActivityMeasure::Class(); } +Type::Enum IfcRadioActivityMeasure::type() const { return Type::IfcRadioActivityMeasure; } +Type::Enum IfcRadioActivityMeasure::Class() { return Type::IfcRadioActivityMeasure; } +IfcRadioActivityMeasure::IfcRadioActivityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcRadioActivityMeasure::IfcRadioActivityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcRadioActivityMeasure); e->setArgument(0, v); entity = e; } +IfcRadioActivityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcRatioMeasure +IfcUtil::ArgumentType IfcRatioMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcRatioMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcRatioMeasure::is(Type::Enum v) const { return v == IfcRatioMeasure::Class(); } +Type::Enum IfcRatioMeasure::type() const { return Type::IfcRatioMeasure; } +Type::Enum IfcRatioMeasure::Class() { return Type::IfcRatioMeasure; } +IfcRatioMeasure::IfcRatioMeasure(IfcAbstractEntity* e) { entity = e; } +IfcRatioMeasure::IfcRatioMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcRatioMeasure); e->setArgument(0, v); entity = e; } +IfcRatioMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcReal +IfcUtil::ArgumentType IfcReal::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcReal::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcReal::is(Type::Enum v) const { return v == IfcReal::Class(); } +Type::Enum IfcReal::type() const { return Type::IfcReal; } +Type::Enum IfcReal::Class() { return Type::IfcReal; } +IfcReal::IfcReal(IfcAbstractEntity* e) { entity = e; } +IfcReal::IfcReal(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcReal); e->setArgument(0, v); entity = e; } +IfcReal::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcRotationalFrequencyMeasure +IfcUtil::ArgumentType IfcRotationalFrequencyMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcRotationalFrequencyMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcRotationalFrequencyMeasure::is(Type::Enum v) const { return v == IfcRotationalFrequencyMeasure::Class(); } +Type::Enum IfcRotationalFrequencyMeasure::type() const { return Type::IfcRotationalFrequencyMeasure; } +Type::Enum IfcRotationalFrequencyMeasure::Class() { return Type::IfcRotationalFrequencyMeasure; } +IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(IfcAbstractEntity* e) { entity = e; } +IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcRotationalFrequencyMeasure); e->setArgument(0, v); entity = e; } +IfcRotationalFrequencyMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcRotationalMassMeasure +IfcUtil::ArgumentType IfcRotationalMassMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcRotationalMassMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcRotationalMassMeasure::is(Type::Enum v) const { return v == IfcRotationalMassMeasure::Class(); } +Type::Enum IfcRotationalMassMeasure::type() const { return Type::IfcRotationalMassMeasure; } +Type::Enum IfcRotationalMassMeasure::Class() { return Type::IfcRotationalMassMeasure; } +IfcRotationalMassMeasure::IfcRotationalMassMeasure(IfcAbstractEntity* e) { entity = e; } +IfcRotationalMassMeasure::IfcRotationalMassMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcRotationalMassMeasure); e->setArgument(0, v); entity = e; } +IfcRotationalMassMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcRotationalStiffnessMeasure +IfcUtil::ArgumentType IfcRotationalStiffnessMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcRotationalStiffnessMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcRotationalStiffnessMeasure::is(Type::Enum v) const { return v == IfcRotationalStiffnessMeasure::Class(); } +Type::Enum IfcRotationalStiffnessMeasure::type() const { return Type::IfcRotationalStiffnessMeasure; } +Type::Enum IfcRotationalStiffnessMeasure::Class() { return Type::IfcRotationalStiffnessMeasure; } +IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(IfcAbstractEntity* e) { entity = e; } +IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcRotationalStiffnessMeasure); e->setArgument(0, v); entity = e; } +IfcRotationalStiffnessMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcSecondInMinute +IfcUtil::ArgumentType IfcSecondInMinute::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcSecondInMinute::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcSecondInMinute::is(Type::Enum v) const { return v == IfcSecondInMinute::Class(); } +Type::Enum IfcSecondInMinute::type() const { return Type::IfcSecondInMinute; } +Type::Enum IfcSecondInMinute::Class() { return Type::IfcSecondInMinute; } +IfcSecondInMinute::IfcSecondInMinute(IfcAbstractEntity* e) { entity = e; } +IfcSecondInMinute::IfcSecondInMinute(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcSecondInMinute); e->setArgument(0, v); entity = e; } +IfcSecondInMinute::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcSectionModulusMeasure +IfcUtil::ArgumentType IfcSectionModulusMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcSectionModulusMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcSectionModulusMeasure::is(Type::Enum v) const { return v == IfcSectionModulusMeasure::Class(); } +Type::Enum IfcSectionModulusMeasure::type() const { return Type::IfcSectionModulusMeasure; } +Type::Enum IfcSectionModulusMeasure::Class() { return Type::IfcSectionModulusMeasure; } +IfcSectionModulusMeasure::IfcSectionModulusMeasure(IfcAbstractEntity* e) { entity = e; } +IfcSectionModulusMeasure::IfcSectionModulusMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcSectionModulusMeasure); e->setArgument(0, v); entity = e; } +IfcSectionModulusMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcSectionalAreaIntegralMeasure +IfcUtil::ArgumentType IfcSectionalAreaIntegralMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcSectionalAreaIntegralMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcSectionalAreaIntegralMeasure::is(Type::Enum v) const { return v == IfcSectionalAreaIntegralMeasure::Class(); } +Type::Enum IfcSectionalAreaIntegralMeasure::type() const { return Type::IfcSectionalAreaIntegralMeasure; } +Type::Enum IfcSectionalAreaIntegralMeasure::Class() { return Type::IfcSectionalAreaIntegralMeasure; } +IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(IfcAbstractEntity* e) { entity = e; } +IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcSectionalAreaIntegralMeasure); e->setArgument(0, v); entity = e; } +IfcSectionalAreaIntegralMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcShearModulusMeasure +IfcUtil::ArgumentType IfcShearModulusMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcShearModulusMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcShearModulusMeasure::is(Type::Enum v) const { return v == IfcShearModulusMeasure::Class(); } +Type::Enum IfcShearModulusMeasure::type() const { return Type::IfcShearModulusMeasure; } +Type::Enum IfcShearModulusMeasure::Class() { return Type::IfcShearModulusMeasure; } +IfcShearModulusMeasure::IfcShearModulusMeasure(IfcAbstractEntity* e) { entity = e; } +IfcShearModulusMeasure::IfcShearModulusMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcShearModulusMeasure); e->setArgument(0, v); entity = e; } +IfcShearModulusMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcSolidAngleMeasure +IfcUtil::ArgumentType IfcSolidAngleMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcSolidAngleMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcSolidAngleMeasure::is(Type::Enum v) const { return v == IfcSolidAngleMeasure::Class(); } +Type::Enum IfcSolidAngleMeasure::type() const { return Type::IfcSolidAngleMeasure; } +Type::Enum IfcSolidAngleMeasure::Class() { return Type::IfcSolidAngleMeasure; } +IfcSolidAngleMeasure::IfcSolidAngleMeasure(IfcAbstractEntity* e) { entity = e; } +IfcSolidAngleMeasure::IfcSolidAngleMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcSolidAngleMeasure); e->setArgument(0, v); entity = e; } +IfcSolidAngleMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcSoundPowerMeasure +IfcUtil::ArgumentType IfcSoundPowerMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcSoundPowerMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcSoundPowerMeasure::is(Type::Enum v) const { return v == IfcSoundPowerMeasure::Class(); } +Type::Enum IfcSoundPowerMeasure::type() const { return Type::IfcSoundPowerMeasure; } +Type::Enum IfcSoundPowerMeasure::Class() { return Type::IfcSoundPowerMeasure; } +IfcSoundPowerMeasure::IfcSoundPowerMeasure(IfcAbstractEntity* e) { entity = e; } +IfcSoundPowerMeasure::IfcSoundPowerMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcSoundPowerMeasure); e->setArgument(0, v); entity = e; } +IfcSoundPowerMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcSoundPressureMeasure +IfcUtil::ArgumentType IfcSoundPressureMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcSoundPressureMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcSoundPressureMeasure::is(Type::Enum v) const { return v == IfcSoundPressureMeasure::Class(); } +Type::Enum IfcSoundPressureMeasure::type() const { return Type::IfcSoundPressureMeasure; } +Type::Enum IfcSoundPressureMeasure::Class() { return Type::IfcSoundPressureMeasure; } +IfcSoundPressureMeasure::IfcSoundPressureMeasure(IfcAbstractEntity* e) { entity = e; } +IfcSoundPressureMeasure::IfcSoundPressureMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcSoundPressureMeasure); e->setArgument(0, v); entity = e; } +IfcSoundPressureMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcSpecificHeatCapacityMeasure +IfcUtil::ArgumentType IfcSpecificHeatCapacityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcSpecificHeatCapacityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcSpecificHeatCapacityMeasure::is(Type::Enum v) const { return v == IfcSpecificHeatCapacityMeasure::Class(); } +Type::Enum IfcSpecificHeatCapacityMeasure::type() const { return Type::IfcSpecificHeatCapacityMeasure; } +Type::Enum IfcSpecificHeatCapacityMeasure::Class() { return Type::IfcSpecificHeatCapacityMeasure; } +IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcSpecificHeatCapacityMeasure); e->setArgument(0, v); entity = e; } +IfcSpecificHeatCapacityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcSpecularExponent +IfcUtil::ArgumentType IfcSpecularExponent::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcSpecularExponent::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcSpecularExponent::is(Type::Enum v) const { return v == IfcSpecularExponent::Class(); } +Type::Enum IfcSpecularExponent::type() const { return Type::IfcSpecularExponent; } +Type::Enum IfcSpecularExponent::Class() { return Type::IfcSpecularExponent; } +IfcSpecularExponent::IfcSpecularExponent(IfcAbstractEntity* e) { entity = e; } +IfcSpecularExponent::IfcSpecularExponent(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcSpecularExponent); e->setArgument(0, v); entity = e; } +IfcSpecularExponent::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcSpecularRoughness +IfcUtil::ArgumentType IfcSpecularRoughness::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcSpecularRoughness::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcSpecularRoughness::is(Type::Enum v) const { return v == IfcSpecularRoughness::Class(); } +Type::Enum IfcSpecularRoughness::type() const { return Type::IfcSpecularRoughness; } +Type::Enum IfcSpecularRoughness::Class() { return Type::IfcSpecularRoughness; } +IfcSpecularRoughness::IfcSpecularRoughness(IfcAbstractEntity* e) { entity = e; } +IfcSpecularRoughness::IfcSpecularRoughness(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcSpecularRoughness); e->setArgument(0, v); entity = e; } +IfcSpecularRoughness::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcTemperatureGradientMeasure +IfcUtil::ArgumentType IfcTemperatureGradientMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcTemperatureGradientMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcTemperatureGradientMeasure::is(Type::Enum v) const { return v == IfcTemperatureGradientMeasure::Class(); } +Type::Enum IfcTemperatureGradientMeasure::type() const { return Type::IfcTemperatureGradientMeasure; } +Type::Enum IfcTemperatureGradientMeasure::Class() { return Type::IfcTemperatureGradientMeasure; } +IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(IfcAbstractEntity* e) { entity = e; } +IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcTemperatureGradientMeasure); e->setArgument(0, v); entity = e; } +IfcTemperatureGradientMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcText +IfcUtil::ArgumentType IfcText::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcText::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcText::is(Type::Enum v) const { return v == IfcText::Class(); } +Type::Enum IfcText::type() const { return Type::IfcText; } +Type::Enum IfcText::Class() { return Type::IfcText; } +IfcText::IfcText(IfcAbstractEntity* e) { entity = e; } +IfcText::IfcText(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcText); e->setArgument(0, v); entity = e; } +IfcText::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcTextAlignment +IfcUtil::ArgumentType IfcTextAlignment::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcTextAlignment::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcTextAlignment::is(Type::Enum v) const { return v == IfcTextAlignment::Class(); } +Type::Enum IfcTextAlignment::type() const { return Type::IfcTextAlignment; } +Type::Enum IfcTextAlignment::Class() { return Type::IfcTextAlignment; } +IfcTextAlignment::IfcTextAlignment(IfcAbstractEntity* e) { entity = e; } +IfcTextAlignment::IfcTextAlignment(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcTextAlignment); e->setArgument(0, v); entity = e; } +IfcTextAlignment::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcTextDecoration +IfcUtil::ArgumentType IfcTextDecoration::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcTextDecoration::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcTextDecoration::is(Type::Enum v) const { return v == IfcTextDecoration::Class(); } +Type::Enum IfcTextDecoration::type() const { return Type::IfcTextDecoration; } +Type::Enum IfcTextDecoration::Class() { return Type::IfcTextDecoration; } +IfcTextDecoration::IfcTextDecoration(IfcAbstractEntity* e) { entity = e; } +IfcTextDecoration::IfcTextDecoration(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcTextDecoration); e->setArgument(0, v); entity = e; } +IfcTextDecoration::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcTextFontName +IfcUtil::ArgumentType IfcTextFontName::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcTextFontName::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcTextFontName::is(Type::Enum v) const { return v == IfcTextFontName::Class(); } +Type::Enum IfcTextFontName::type() const { return Type::IfcTextFontName; } +Type::Enum IfcTextFontName::Class() { return Type::IfcTextFontName; } +IfcTextFontName::IfcTextFontName(IfcAbstractEntity* e) { entity = e; } +IfcTextFontName::IfcTextFontName(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcTextFontName); e->setArgument(0, v); entity = e; } +IfcTextFontName::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcTextTransformation +IfcUtil::ArgumentType IfcTextTransformation::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcTextTransformation::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcTextTransformation::is(Type::Enum v) const { return v == IfcTextTransformation::Class(); } +Type::Enum IfcTextTransformation::type() const { return Type::IfcTextTransformation; } +Type::Enum IfcTextTransformation::Class() { return Type::IfcTextTransformation; } +IfcTextTransformation::IfcTextTransformation(IfcAbstractEntity* e) { entity = e; } +IfcTextTransformation::IfcTextTransformation(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcTextTransformation); e->setArgument(0, v); entity = e; } +IfcTextTransformation::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcThermalAdmittanceMeasure +IfcUtil::ArgumentType IfcThermalAdmittanceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcThermalAdmittanceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcThermalAdmittanceMeasure::is(Type::Enum v) const { return v == IfcThermalAdmittanceMeasure::Class(); } +Type::Enum IfcThermalAdmittanceMeasure::type() const { return Type::IfcThermalAdmittanceMeasure; } +Type::Enum IfcThermalAdmittanceMeasure::Class() { return Type::IfcThermalAdmittanceMeasure; } +IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(IfcAbstractEntity* e) { entity = e; } +IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcThermalAdmittanceMeasure); e->setArgument(0, v); entity = e; } +IfcThermalAdmittanceMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcThermalConductivityMeasure +IfcUtil::ArgumentType IfcThermalConductivityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcThermalConductivityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcThermalConductivityMeasure::is(Type::Enum v) const { return v == IfcThermalConductivityMeasure::Class(); } +Type::Enum IfcThermalConductivityMeasure::type() const { return Type::IfcThermalConductivityMeasure; } +Type::Enum IfcThermalConductivityMeasure::Class() { return Type::IfcThermalConductivityMeasure; } +IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcThermalConductivityMeasure); e->setArgument(0, v); entity = e; } +IfcThermalConductivityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcThermalExpansionCoefficientMeasure +IfcUtil::ArgumentType IfcThermalExpansionCoefficientMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcThermalExpansionCoefficientMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcThermalExpansionCoefficientMeasure::is(Type::Enum v) const { return v == IfcThermalExpansionCoefficientMeasure::Class(); } +Type::Enum IfcThermalExpansionCoefficientMeasure::type() const { return Type::IfcThermalExpansionCoefficientMeasure; } +Type::Enum IfcThermalExpansionCoefficientMeasure::Class() { return Type::IfcThermalExpansionCoefficientMeasure; } +IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(IfcAbstractEntity* e) { entity = e; } +IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcThermalExpansionCoefficientMeasure); e->setArgument(0, v); entity = e; } +IfcThermalExpansionCoefficientMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcThermalResistanceMeasure +IfcUtil::ArgumentType IfcThermalResistanceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcThermalResistanceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcThermalResistanceMeasure::is(Type::Enum v) const { return v == IfcThermalResistanceMeasure::Class(); } +Type::Enum IfcThermalResistanceMeasure::type() const { return Type::IfcThermalResistanceMeasure; } +Type::Enum IfcThermalResistanceMeasure::Class() { return Type::IfcThermalResistanceMeasure; } +IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(IfcAbstractEntity* e) { entity = e; } +IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcThermalResistanceMeasure); e->setArgument(0, v); entity = e; } +IfcThermalResistanceMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcThermalTransmittanceMeasure +IfcUtil::ArgumentType IfcThermalTransmittanceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcThermalTransmittanceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcThermalTransmittanceMeasure::is(Type::Enum v) const { return v == IfcThermalTransmittanceMeasure::Class(); } +Type::Enum IfcThermalTransmittanceMeasure::type() const { return Type::IfcThermalTransmittanceMeasure; } +Type::Enum IfcThermalTransmittanceMeasure::Class() { return Type::IfcThermalTransmittanceMeasure; } +IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(IfcAbstractEntity* e) { entity = e; } +IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcThermalTransmittanceMeasure); e->setArgument(0, v); entity = e; } +IfcThermalTransmittanceMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcThermodynamicTemperatureMeasure +IfcUtil::ArgumentType IfcThermodynamicTemperatureMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcThermodynamicTemperatureMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcThermodynamicTemperatureMeasure::is(Type::Enum v) const { return v == IfcThermodynamicTemperatureMeasure::Class(); } +Type::Enum IfcThermodynamicTemperatureMeasure::type() const { return Type::IfcThermodynamicTemperatureMeasure; } +Type::Enum IfcThermodynamicTemperatureMeasure::Class() { return Type::IfcThermodynamicTemperatureMeasure; } +IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(IfcAbstractEntity* e) { entity = e; } +IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcThermodynamicTemperatureMeasure); e->setArgument(0, v); entity = e; } +IfcThermodynamicTemperatureMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcTimeMeasure +IfcUtil::ArgumentType IfcTimeMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcTimeMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcTimeMeasure::is(Type::Enum v) const { return v == IfcTimeMeasure::Class(); } +Type::Enum IfcTimeMeasure::type() const { return Type::IfcTimeMeasure; } +Type::Enum IfcTimeMeasure::Class() { return Type::IfcTimeMeasure; } +IfcTimeMeasure::IfcTimeMeasure(IfcAbstractEntity* e) { entity = e; } +IfcTimeMeasure::IfcTimeMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcTimeMeasure); e->setArgument(0, v); entity = e; } +IfcTimeMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcTimeStamp +IfcUtil::ArgumentType IfcTimeStamp::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcTimeStamp::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcTimeStamp::is(Type::Enum v) const { return v == IfcTimeStamp::Class(); } +Type::Enum IfcTimeStamp::type() const { return Type::IfcTimeStamp; } +Type::Enum IfcTimeStamp::Class() { return Type::IfcTimeStamp; } +IfcTimeStamp::IfcTimeStamp(IfcAbstractEntity* e) { entity = e; } +IfcTimeStamp::IfcTimeStamp(int v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcTimeStamp); e->setArgument(0, v); entity = e; } +IfcTimeStamp::operator int() const { return *entity->getArgument(0); } + +// Function implementations for IfcTorqueMeasure +IfcUtil::ArgumentType IfcTorqueMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcTorqueMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcTorqueMeasure::is(Type::Enum v) const { return v == IfcTorqueMeasure::Class(); } +Type::Enum IfcTorqueMeasure::type() const { return Type::IfcTorqueMeasure; } +Type::Enum IfcTorqueMeasure::Class() { return Type::IfcTorqueMeasure; } +IfcTorqueMeasure::IfcTorqueMeasure(IfcAbstractEntity* e) { entity = e; } +IfcTorqueMeasure::IfcTorqueMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcTorqueMeasure); e->setArgument(0, v); entity = e; } +IfcTorqueMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcVaporPermeabilityMeasure +IfcUtil::ArgumentType IfcVaporPermeabilityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcVaporPermeabilityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcVaporPermeabilityMeasure::is(Type::Enum v) const { return v == IfcVaporPermeabilityMeasure::Class(); } +Type::Enum IfcVaporPermeabilityMeasure::type() const { return Type::IfcVaporPermeabilityMeasure; } +Type::Enum IfcVaporPermeabilityMeasure::Class() { return Type::IfcVaporPermeabilityMeasure; } +IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcVaporPermeabilityMeasure); e->setArgument(0, v); entity = e; } +IfcVaporPermeabilityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcVolumeMeasure +IfcUtil::ArgumentType IfcVolumeMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcVolumeMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcVolumeMeasure::is(Type::Enum v) const { return v == IfcVolumeMeasure::Class(); } +Type::Enum IfcVolumeMeasure::type() const { return Type::IfcVolumeMeasure; } +Type::Enum IfcVolumeMeasure::Class() { return Type::IfcVolumeMeasure; } +IfcVolumeMeasure::IfcVolumeMeasure(IfcAbstractEntity* e) { entity = e; } +IfcVolumeMeasure::IfcVolumeMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcVolumeMeasure); e->setArgument(0, v); entity = e; } +IfcVolumeMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcVolumetricFlowRateMeasure +IfcUtil::ArgumentType IfcVolumetricFlowRateMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcVolumetricFlowRateMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcVolumetricFlowRateMeasure::is(Type::Enum v) const { return v == IfcVolumetricFlowRateMeasure::Class(); } +Type::Enum IfcVolumetricFlowRateMeasure::type() const { return Type::IfcVolumetricFlowRateMeasure; } +Type::Enum IfcVolumetricFlowRateMeasure::Class() { return Type::IfcVolumetricFlowRateMeasure; } +IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(IfcAbstractEntity* e) { entity = e; } +IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcVolumetricFlowRateMeasure); e->setArgument(0, v); entity = e; } +IfcVolumetricFlowRateMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcWarpingConstantMeasure +IfcUtil::ArgumentType IfcWarpingConstantMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcWarpingConstantMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcWarpingConstantMeasure::is(Type::Enum v) const { return v == IfcWarpingConstantMeasure::Class(); } +Type::Enum IfcWarpingConstantMeasure::type() const { return Type::IfcWarpingConstantMeasure; } +Type::Enum IfcWarpingConstantMeasure::Class() { return Type::IfcWarpingConstantMeasure; } +IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(IfcAbstractEntity* e) { entity = e; } +IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcWarpingConstantMeasure); e->setArgument(0, v); entity = e; } +IfcWarpingConstantMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcWarpingMomentMeasure +IfcUtil::ArgumentType IfcWarpingMomentMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcWarpingMomentMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcWarpingMomentMeasure::is(Type::Enum v) const { return v == IfcWarpingMomentMeasure::Class(); } +Type::Enum IfcWarpingMomentMeasure::type() const { return Type::IfcWarpingMomentMeasure; } +Type::Enum IfcWarpingMomentMeasure::Class() { return Type::IfcWarpingMomentMeasure; } +IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(IfcAbstractEntity* e) { entity = e; } +IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcWarpingMomentMeasure); e->setArgument(0, v); entity = e; } +IfcWarpingMomentMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcYearNumber +IfcUtil::ArgumentType IfcYearNumber::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcYearNumber::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcYearNumber::is(Type::Enum v) const { return v == IfcYearNumber::Class(); } +Type::Enum IfcYearNumber::type() const { return Type::IfcYearNumber; } +Type::Enum IfcYearNumber::Class() { return Type::IfcYearNumber; } +IfcYearNumber::IfcYearNumber(IfcAbstractEntity* e) { entity = e; } +IfcYearNumber::IfcYearNumber(int v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcYearNumber); e->setArgument(0, v); entity = e; } +IfcYearNumber::operator int() const { return *entity->getArgument(0); } + + // Function implementations for Ifc2DCompositeCurve bool Ifc2DCompositeCurve::is(Type::Enum v) const { return v == Type::Ifc2DCompositeCurve || IfcCompositeCurve::is(v); } Type::Enum Ifc2DCompositeCurve::type() const { return Type::Ifc2DCompositeCurve; } @@ -5096,38 +6500,38 @@ Ifc2DCompositeCurve::Ifc2DCompositeCurve(IfcAbstractEntity* e) : IfcCompositeCur Ifc2DCompositeCurve::Ifc2DCompositeCurve(IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr v1_Segments, bool v2_SelfIntersect) : IfcCompositeCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Segments)->generalize()); e->setArgument(1,(v2_SelfIntersect)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcActionRequest -IfcIdentifier IfcActionRequest::RequestID() const { return *entity->getArgument(5); } -void IfcActionRequest::setRequestID(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcActionRequest::RequestID() const { return *entity->getArgument(5); } +void IfcActionRequest::setRequestID(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcActionRequest::is(Type::Enum v) const { return v == Type::IfcActionRequest || IfcControl::is(v); } Type::Enum IfcActionRequest::type() const { return Type::IfcActionRequest; } Type::Enum IfcActionRequest::Class() { return Type::IfcActionRequest; } IfcActionRequest::IfcActionRequest(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcActionRequest)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcActionRequest::IfcActionRequest(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_RequestID) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_RequestID)); entity = e; EntityBuffer::Add(this); } +IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_RequestID) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_RequestID)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcActor -IfcActorSelect IfcActor::TheActor() const { return *entity->getArgument(5); } -void IfcActor::setTheActor(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +IfcActorSelect* IfcActor::TheActor() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcActor::setTheActor(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } IfcRelAssignsToActor::list::ptr IfcActor::IsActingUpon() const { return entity->getInverse(Type::IfcRelAssignsToActor)->as(); } bool IfcActor::is(Type::Enum v) const { return v == Type::IfcActor || IfcObject::is(v); } Type::Enum IfcActor::type() const { return Type::IfcActor; } Type::Enum IfcActor::Class() { return Type::IfcActor; } IfcActor::IfcActor(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcActor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcActor::IfcActor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcActorSelect v6_TheActor) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TheActor)); entity = e; EntityBuffer::Add(this); } +IfcActor::IfcActor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcActorSelect* v6_TheActor) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TheActor)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcActorRole IfcRoleEnum::IfcRoleEnum IfcActorRole::Role() const { return IfcRoleEnum::FromString(*entity->getArgument(0)); } void IfcActorRole::setRole(IfcRoleEnum::IfcRoleEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcRoleEnum::ToString(v)); } bool IfcActorRole::hasUserDefinedRole() const { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcActorRole::UserDefinedRole() const { return *entity->getArgument(1); } -void IfcActorRole::setUserDefinedRole(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcActorRole::UserDefinedRole() const { return *entity->getArgument(1); } +void IfcActorRole::setUserDefinedRole(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcActorRole::hasDescription() const { return !entity->getArgument(2)->isNull(); } -IfcText IfcActorRole::Description() const { return *entity->getArgument(2); } -void IfcActorRole::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcActorRole::Description() const { return *entity->getArgument(2); } +void IfcActorRole::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcActorRole::is(Type::Enum v) const { return v == Type::IfcActorRole; } Type::Enum IfcActorRole::type() const { return Type::IfcActorRole; } Type::Enum IfcActorRole::Class() { return Type::IfcActorRole; } IfcActorRole::IfcActorRole(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcActorRole)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcActorRole::IfcActorRole(IfcRoleEnum::IfcRoleEnum v1_Role, boost::optional< IfcLabel > v2_UserDefinedRole, boost::optional< IfcText > v3_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Role,IfcRoleEnum::ToString(v1_Role)); if (v2_UserDefinedRole) { e->setArgument(1,(*v2_UserDefinedRole)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcActorRole::IfcActorRole(IfcRoleEnum::IfcRoleEnum v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Role,IfcRoleEnum::ToString(v1_Role)); if (v2_UserDefinedRole) { e->setArgument(1,(*v2_UserDefinedRole)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcActuatorType IfcActuatorTypeEnum::IfcActuatorTypeEnum IfcActuatorType::PredefinedType() const { return IfcActuatorTypeEnum::FromString(*entity->getArgument(9)); } @@ -5136,25 +6540,25 @@ bool IfcActuatorType::is(Type::Enum v) const { return v == Type::IfcActuatorType Type::Enum IfcActuatorType::type() const { return Type::IfcActuatorType; } Type::Enum IfcActuatorType::Class() { return Type::IfcActuatorType; } IfcActuatorType::IfcActuatorType(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcActuatorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcActuatorType::IfcActuatorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcActuatorTypeEnum::IfcActuatorTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcActuatorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcActuatorTypeEnum::IfcActuatorTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcActuatorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAddress bool IfcAddress::hasPurpose() const { return !entity->getArgument(0)->isNull(); } IfcAddressTypeEnum::IfcAddressTypeEnum IfcAddress::Purpose() const { return IfcAddressTypeEnum::FromString(*entity->getArgument(0)); } void IfcAddress::setPurpose(IfcAddressTypeEnum::IfcAddressTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcAddressTypeEnum::ToString(v)); } bool IfcAddress::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcAddress::Description() const { return *entity->getArgument(1); } -void IfcAddress::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcAddress::Description() const { return *entity->getArgument(1); } +void IfcAddress::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcAddress::hasUserDefinedPurpose() const { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcAddress::UserDefinedPurpose() const { return *entity->getArgument(2); } -void IfcAddress::setUserDefinedPurpose(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcAddress::UserDefinedPurpose() const { return *entity->getArgument(2); } +void IfcAddress::setUserDefinedPurpose(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcPerson::list::ptr IfcAddress::OfPerson() const { return entity->getInverse(Type::IfcPerson)->as(); } IfcOrganization::list::ptr IfcAddress::OfOrganization() const { return entity->getInverse(Type::IfcOrganization)->as(); } bool IfcAddress::is(Type::Enum v) const { return v == Type::IfcAddress; } Type::Enum IfcAddress::type() const { return Type::IfcAddress; } Type::Enum IfcAddress::Class() { return Type::IfcAddress; } IfcAddress::IfcAddress(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcAddress)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAddress::IfcAddress(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Purpose) { e->setArgument(0,*v1_Purpose,IfcAddressTypeEnum::ToString(*v1_Purpose)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UserDefinedPurpose) { e->setArgument(2,(*v3_UserDefinedPurpose)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcAddress::IfcAddress(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Purpose) { e->setArgument(0,*v1_Purpose,IfcAddressTypeEnum::ToString(*v1_Purpose)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UserDefinedPurpose) { e->setArgument(2,(*v3_UserDefinedPurpose)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAirTerminalBoxType IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum IfcAirTerminalBoxType::PredefinedType() const { return IfcAirTerminalBoxTypeEnum::FromString(*entity->getArgument(9)); } @@ -5163,7 +6567,7 @@ bool IfcAirTerminalBoxType::is(Type::Enum v) const { return v == Type::IfcAirTer Type::Enum IfcAirTerminalBoxType::type() const { return Type::IfcAirTerminalBoxType; } Type::Enum IfcAirTerminalBoxType::Class() { return Type::IfcAirTerminalBoxType; } IfcAirTerminalBoxType::IfcAirTerminalBoxType(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAirTerminalBoxType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAirTerminalBoxType::IfcAirTerminalBoxType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAirTerminalBoxTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAirTerminalBoxTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAirTerminalType IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum IfcAirTerminalType::PredefinedType() const { return IfcAirTerminalTypeEnum::FromString(*entity->getArgument(9)); } @@ -5172,7 +6576,7 @@ bool IfcAirTerminalType::is(Type::Enum v) const { return v == Type::IfcAirTermin Type::Enum IfcAirTerminalType::type() const { return Type::IfcAirTerminalType; } Type::Enum IfcAirTerminalType::Class() { return Type::IfcAirTerminalType; } IfcAirTerminalType::IfcAirTerminalType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAirTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAirTerminalType::IfcAirTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAirTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAirTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAirToAirHeatRecoveryType IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum IfcAirToAirHeatRecoveryType::PredefinedType() const { return IfcAirToAirHeatRecoveryTypeEnum::FromString(*entity->getArgument(9)); } @@ -5181,7 +6585,7 @@ bool IfcAirToAirHeatRecoveryType::is(Type::Enum v) const { return v == Type::Ifc Type::Enum IfcAirToAirHeatRecoveryType::type() const { return Type::IfcAirToAirHeatRecoveryType; } Type::Enum IfcAirToAirHeatRecoveryType::Class() { return Type::IfcAirToAirHeatRecoveryType; } IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAirToAirHeatRecoveryType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAirToAirHeatRecoveryTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAirToAirHeatRecoveryTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAlarmType IfcAlarmTypeEnum::IfcAlarmTypeEnum IfcAlarmType::PredefinedType() const { return IfcAlarmTypeEnum::FromString(*entity->getArgument(9)); } @@ -5190,7 +6594,7 @@ bool IfcAlarmType::is(Type::Enum v) const { return v == Type::IfcAlarmType || If Type::Enum IfcAlarmType::type() const { return Type::IfcAlarmType; } Type::Enum IfcAlarmType::Class() { return Type::IfcAlarmType; } IfcAlarmType::IfcAlarmType(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAlarmType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAlarmType::IfcAlarmType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAlarmTypeEnum::IfcAlarmTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAlarmTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAlarmTypeEnum::IfcAlarmTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAlarmTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAngularDimension bool IfcAngularDimension::is(Type::Enum v) const { return v == Type::IfcAngularDimension || IfcDimensionCurveDirectedCallout::is(v); } @@ -5205,14 +6609,14 @@ bool IfcAnnotation::is(Type::Enum v) const { return v == Type::IfcAnnotation || Type::Enum IfcAnnotation::type() const { return Type::IfcAnnotation; } Type::Enum IfcAnnotation::Class() { return Type::IfcAnnotation; } IfcAnnotation::IfcAnnotation(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAnnotation::IfcAnnotation(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } +IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAnnotationCurveOccurrence bool IfcAnnotationCurveOccurrence::is(Type::Enum v) const { return v == Type::IfcAnnotationCurveOccurrence || IfcAnnotationOccurrence::is(v); } Type::Enum IfcAnnotationCurveOccurrence::type() const { return Type::IfcAnnotationCurveOccurrence; } Type::Enum IfcAnnotationCurveOccurrence::Class() { return Type::IfcAnnotationCurveOccurrence; } IfcAnnotationCurveOccurrence::IfcAnnotationCurveOccurrence(IfcAbstractEntity* e) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotationCurveOccurrence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAnnotationCurveOccurrence::IfcAnnotationCurveOccurrence(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcAnnotationCurveOccurrence::IfcAnnotationCurveOccurrence(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAnnotationFillArea IfcCurve* IfcAnnotationFillArea::OuterBoundary() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -5237,14 +6641,14 @@ bool IfcAnnotationFillAreaOccurrence::is(Type::Enum v) const { return v == Type: Type::Enum IfcAnnotationFillAreaOccurrence::type() const { return Type::IfcAnnotationFillAreaOccurrence; } Type::Enum IfcAnnotationFillAreaOccurrence::Class() { return Type::IfcAnnotationFillAreaOccurrence; } IfcAnnotationFillAreaOccurrence::IfcAnnotationFillAreaOccurrence(IfcAbstractEntity* e) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotationFillAreaOccurrence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAnnotationFillAreaOccurrence::IfcAnnotationFillAreaOccurrence(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name, IfcPoint* v4_FillStyleTarget, boost::optional< IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum > v5_GlobalOrLocal) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } e->setArgument(3,(v4_FillStyleTarget)); if (v5_GlobalOrLocal) { e->setArgument(4,*v5_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(*v5_GlobalOrLocal)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcAnnotationFillAreaOccurrence::IfcAnnotationFillAreaOccurrence(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name, IfcPoint* v4_FillStyleTarget, boost::optional< IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum > v5_GlobalOrLocal) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } e->setArgument(3,(v4_FillStyleTarget)); if (v5_GlobalOrLocal) { e->setArgument(4,*v5_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(*v5_GlobalOrLocal)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAnnotationOccurrence bool IfcAnnotationOccurrence::is(Type::Enum v) const { return v == Type::IfcAnnotationOccurrence || IfcStyledItem::is(v); } Type::Enum IfcAnnotationOccurrence::type() const { return Type::IfcAnnotationOccurrence; } Type::Enum IfcAnnotationOccurrence::Class() { return Type::IfcAnnotationOccurrence; } IfcAnnotationOccurrence::IfcAnnotationOccurrence(IfcAbstractEntity* e) : IfcStyledItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotationOccurrence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAnnotationOccurrence::IfcAnnotationOccurrence(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcStyledItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcAnnotationOccurrence::IfcAnnotationOccurrence(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcStyledItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAnnotationSurface IfcGeometricRepresentationItem* IfcAnnotationSurface::Item() const { return (IfcGeometricRepresentationItem*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -5263,56 +6667,56 @@ bool IfcAnnotationSurfaceOccurrence::is(Type::Enum v) const { return v == Type:: Type::Enum IfcAnnotationSurfaceOccurrence::type() const { return Type::IfcAnnotationSurfaceOccurrence; } Type::Enum IfcAnnotationSurfaceOccurrence::Class() { return Type::IfcAnnotationSurfaceOccurrence; } IfcAnnotationSurfaceOccurrence::IfcAnnotationSurfaceOccurrence(IfcAbstractEntity* e) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotationSurfaceOccurrence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAnnotationSurfaceOccurrence::IfcAnnotationSurfaceOccurrence(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcAnnotationSurfaceOccurrence::IfcAnnotationSurfaceOccurrence(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAnnotationSymbolOccurrence bool IfcAnnotationSymbolOccurrence::is(Type::Enum v) const { return v == Type::IfcAnnotationSymbolOccurrence || IfcAnnotationOccurrence::is(v); } Type::Enum IfcAnnotationSymbolOccurrence::type() const { return Type::IfcAnnotationSymbolOccurrence; } Type::Enum IfcAnnotationSymbolOccurrence::Class() { return Type::IfcAnnotationSymbolOccurrence; } IfcAnnotationSymbolOccurrence::IfcAnnotationSymbolOccurrence(IfcAbstractEntity* e) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotationSymbolOccurrence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAnnotationSymbolOccurrence::IfcAnnotationSymbolOccurrence(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcAnnotationSymbolOccurrence::IfcAnnotationSymbolOccurrence(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAnnotationTextOccurrence bool IfcAnnotationTextOccurrence::is(Type::Enum v) const { return v == Type::IfcAnnotationTextOccurrence || IfcAnnotationOccurrence::is(v); } Type::Enum IfcAnnotationTextOccurrence::type() const { return Type::IfcAnnotationTextOccurrence; } Type::Enum IfcAnnotationTextOccurrence::Class() { return Type::IfcAnnotationTextOccurrence; } IfcAnnotationTextOccurrence::IfcAnnotationTextOccurrence(IfcAbstractEntity* e) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotationTextOccurrence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAnnotationTextOccurrence::IfcAnnotationTextOccurrence(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcAnnotationTextOccurrence::IfcAnnotationTextOccurrence(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcApplication IfcOrganization* IfcApplication::ApplicationDeveloper() const { return (IfcOrganization*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcApplication::setApplicationDeveloper(IfcOrganization* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLabel IfcApplication::Version() const { return *entity->getArgument(1); } -void IfcApplication::setVersion(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcLabel IfcApplication::ApplicationFullName() const { return *entity->getArgument(2); } -void IfcApplication::setApplicationFullName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcIdentifier IfcApplication::ApplicationIdentifier() const { return *entity->getArgument(3); } -void IfcApplication::setApplicationIdentifier(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcApplication::Version() const { return *entity->getArgument(1); } +void IfcApplication::setVersion(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcApplication::ApplicationFullName() const { return *entity->getArgument(2); } +void IfcApplication::setApplicationFullName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcApplication::ApplicationIdentifier() const { return *entity->getArgument(3); } +void IfcApplication::setApplicationIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcApplication::is(Type::Enum v) const { return v == Type::IfcApplication; } Type::Enum IfcApplication::type() const { return Type::IfcApplication; } Type::Enum IfcApplication::Class() { return Type::IfcApplication; } IfcApplication::IfcApplication(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcApplication)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcApplication::IfcApplication(IfcOrganization* v1_ApplicationDeveloper, IfcLabel v2_Version, IfcLabel v3_ApplicationFullName, IfcIdentifier v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ApplicationDeveloper)); e->setArgument(1,(v2_Version)); e->setArgument(2,(v3_ApplicationFullName)); e->setArgument(3,(v4_ApplicationIdentifier)); entity = e; EntityBuffer::Add(this); } +IfcApplication::IfcApplication(IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ApplicationDeveloper)); e->setArgument(1,(v2_Version)); e->setArgument(2,(v3_ApplicationFullName)); e->setArgument(3,(v4_ApplicationIdentifier)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAppliedValue bool IfcAppliedValue::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcAppliedValue::Name() const { return *entity->getArgument(0); } -void IfcAppliedValue::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcAppliedValue::Name() const { return *entity->getArgument(0); } +void IfcAppliedValue::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcAppliedValue::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcAppliedValue::Description() const { return *entity->getArgument(1); } -void IfcAppliedValue::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcAppliedValue::Description() const { return *entity->getArgument(1); } +void IfcAppliedValue::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcAppliedValue::hasAppliedValue() const { return !entity->getArgument(2)->isNull(); } -IfcAppliedValueSelect IfcAppliedValue::AppliedValue() const { return *entity->getArgument(2); } -void IfcAppliedValue::setAppliedValue(IfcAppliedValueSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +IfcAppliedValueSelect* IfcAppliedValue::AppliedValue() const { return (IfcAppliedValueSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } +void IfcAppliedValue::setAppliedValue(IfcAppliedValueSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcAppliedValue::hasUnitBasis() const { return !entity->getArgument(3)->isNull(); } IfcMeasureWithUnit* IfcAppliedValue::UnitBasis() const { return (IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcAppliedValue::setUnitBasis(IfcMeasureWithUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcAppliedValue::hasApplicableDate() const { return !entity->getArgument(4)->isNull(); } -IfcDateTimeSelect IfcAppliedValue::ApplicableDate() const { return *entity->getArgument(4); } -void IfcAppliedValue::setApplicableDate(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +IfcDateTimeSelect* IfcAppliedValue::ApplicableDate() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } +void IfcAppliedValue::setApplicableDate(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcAppliedValue::hasFixedUntilDate() const { return !entity->getArgument(5)->isNull(); } -IfcDateTimeSelect IfcAppliedValue::FixedUntilDate() const { return *entity->getArgument(5); } -void IfcAppliedValue::setFixedUntilDate(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +IfcDateTimeSelect* IfcAppliedValue::FixedUntilDate() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcAppliedValue::setFixedUntilDate(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } IfcReferencesValueDocument::list::ptr IfcAppliedValue::ValuesReferenced() const { return entity->getInverse(Type::IfcReferencesValueDocument)->as(); } IfcAppliedValueRelationship::list::ptr IfcAppliedValue::ValueOfComponents() const { return entity->getInverse(Type::IfcAppliedValueRelationship)->as(); } IfcAppliedValueRelationship::list::ptr IfcAppliedValue::IsComponentIn() const { return entity->getInverse(Type::IfcAppliedValueRelationship)->as(); } @@ -5320,7 +6724,7 @@ bool IfcAppliedValue::is(Type::Enum v) const { return v == Type::IfcAppliedValue Type::Enum IfcAppliedValue::type() const { return Type::IfcAppliedValue; } Type::Enum IfcAppliedValue::Class() { return Type::IfcAppliedValue; } IfcAppliedValue::IfcAppliedValue(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcAppliedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAppliedValue::IfcAppliedValue(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDateTimeSelect > v5_ApplicableDate, boost::optional< IfcDateTimeSelect > v6_FixedUntilDate) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_AppliedValue) { e->setArgument(2,(*v3_AppliedValue)); } else { e->setArgument(2); } e->setArgument(3,(v4_UnitBasis)); if (v5_ApplicableDate) { e->setArgument(4,(*v5_ApplicableDate)); } else { e->setArgument(4); } if (v6_FixedUntilDate) { e->setArgument(5,(*v6_FixedUntilDate)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcAppliedValueSelect* v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, IfcDateTimeSelect* v5_ApplicableDate, IfcDateTimeSelect* v6_FixedUntilDate) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AppliedValue)); e->setArgument(3,(v4_UnitBasis)); e->setArgument(4,(v5_ApplicableDate)); e->setArgument(5,(v6_FixedUntilDate)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAppliedValueRelationship IfcAppliedValue* IfcAppliedValueRelationship::ComponentOfTotal() const { return (IfcAppliedValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -5330,36 +6734,36 @@ void IfcAppliedValueRelationship::setComponents(IfcTemplatedEntityList< IfcAppli IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum IfcAppliedValueRelationship::ArithmeticOperator() const { return IfcArithmeticOperatorEnum::FromString(*entity->getArgument(2)); } void IfcAppliedValueRelationship::setArithmeticOperator(IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcArithmeticOperatorEnum::ToString(v)); } bool IfcAppliedValueRelationship::hasName() const { return !entity->getArgument(3)->isNull(); } -IfcLabel IfcAppliedValueRelationship::Name() const { return *entity->getArgument(3); } -void IfcAppliedValueRelationship::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcAppliedValueRelationship::Name() const { return *entity->getArgument(3); } +void IfcAppliedValueRelationship::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcAppliedValueRelationship::hasDescription() const { return !entity->getArgument(4)->isNull(); } -IfcText IfcAppliedValueRelationship::Description() const { return *entity->getArgument(4); } -void IfcAppliedValueRelationship::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcAppliedValueRelationship::Description() const { return *entity->getArgument(4); } +void IfcAppliedValueRelationship::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcAppliedValueRelationship::is(Type::Enum v) const { return v == Type::IfcAppliedValueRelationship; } Type::Enum IfcAppliedValueRelationship::type() const { return Type::IfcAppliedValueRelationship; } Type::Enum IfcAppliedValueRelationship::Class() { return Type::IfcAppliedValueRelationship; } IfcAppliedValueRelationship::IfcAppliedValueRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcAppliedValueRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAppliedValueRelationship::IfcAppliedValueRelationship(IfcAppliedValue* v1_ComponentOfTotal, IfcTemplatedEntityList< IfcAppliedValue >::ptr v2_Components, IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum v3_ArithmeticOperator, boost::optional< IfcLabel > v4_Name, boost::optional< IfcText > v5_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ComponentOfTotal)); e->setArgument(1,(v2_Components)->generalize()); e->setArgument(2,v3_ArithmeticOperator,IfcArithmeticOperatorEnum::ToString(v3_ArithmeticOperator)); if (v4_Name) { e->setArgument(3,(*v4_Name)); } else { e->setArgument(3); } if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcAppliedValueRelationship::IfcAppliedValueRelationship(IfcAppliedValue* v1_ComponentOfTotal, IfcTemplatedEntityList< IfcAppliedValue >::ptr v2_Components, IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum v3_ArithmeticOperator, boost::optional< std::string > v4_Name, boost::optional< std::string > v5_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ComponentOfTotal)); e->setArgument(1,(v2_Components)->generalize()); e->setArgument(2,v3_ArithmeticOperator,IfcArithmeticOperatorEnum::ToString(v3_ArithmeticOperator)); if (v4_Name) { e->setArgument(3,(*v4_Name)); } else { e->setArgument(3); } if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcApproval bool IfcApproval::hasDescription() const { return !entity->getArgument(0)->isNull(); } -IfcText IfcApproval::Description() const { return *entity->getArgument(0); } -void IfcApproval::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcDateTimeSelect IfcApproval::ApprovalDateTime() const { return *entity->getArgument(1); } -void IfcApproval::setApprovalDateTime(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcApproval::Description() const { return *entity->getArgument(0); } +void IfcApproval::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcDateTimeSelect* IfcApproval::ApprovalDateTime() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcApproval::setApprovalDateTime(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcApproval::hasApprovalStatus() const { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcApproval::ApprovalStatus() const { return *entity->getArgument(2); } -void IfcApproval::setApprovalStatus(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcApproval::ApprovalStatus() const { return *entity->getArgument(2); } +void IfcApproval::setApprovalStatus(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcApproval::hasApprovalLevel() const { return !entity->getArgument(3)->isNull(); } -IfcLabel IfcApproval::ApprovalLevel() const { return *entity->getArgument(3); } -void IfcApproval::setApprovalLevel(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcApproval::ApprovalLevel() const { return *entity->getArgument(3); } +void IfcApproval::setApprovalLevel(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcApproval::hasApprovalQualifier() const { return !entity->getArgument(4)->isNull(); } -IfcText IfcApproval::ApprovalQualifier() const { return *entity->getArgument(4); } -void IfcApproval::setApprovalQualifier(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcLabel IfcApproval::Name() const { return *entity->getArgument(5); } -void IfcApproval::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcIdentifier IfcApproval::Identifier() const { return *entity->getArgument(6); } -void IfcApproval::setIdentifier(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcApproval::ApprovalQualifier() const { return *entity->getArgument(4); } +void IfcApproval::setApprovalQualifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcApproval::Name() const { return *entity->getArgument(5); } +void IfcApproval::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcApproval::Identifier() const { return *entity->getArgument(6); } +void IfcApproval::setIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } IfcApprovalActorRelationship::list::ptr IfcApproval::Actors() const { return entity->getInverse(Type::IfcApprovalActorRelationship)->as(); } IfcApprovalRelationship::list::ptr IfcApproval::IsRelatedWith() const { return entity->getInverse(Type::IfcApprovalRelationship)->as(); } IfcApprovalRelationship::list::ptr IfcApproval::Relates() const { return entity->getInverse(Type::IfcApprovalRelationship)->as(); } @@ -5367,11 +6771,11 @@ bool IfcApproval::is(Type::Enum v) const { return v == Type::IfcApproval; } Type::Enum IfcApproval::type() const { return Type::IfcApproval; } Type::Enum IfcApproval::Class() { return Type::IfcApproval; } IfcApproval::IfcApproval(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcApproval)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcApproval::IfcApproval(boost::optional< IfcText > v1_Description, IfcDateTimeSelect v2_ApprovalDateTime, boost::optional< IfcLabel > v3_ApprovalStatus, boost::optional< IfcLabel > v4_ApprovalLevel, boost::optional< IfcText > v5_ApprovalQualifier, IfcLabel v6_Name, IfcIdentifier v7_Identifier) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Description) { e->setArgument(0,(*v1_Description)); } else { e->setArgument(0); } e->setArgument(1,(v2_ApprovalDateTime)); if (v3_ApprovalStatus) { e->setArgument(2,(*v3_ApprovalStatus)); } else { e->setArgument(2); } if (v4_ApprovalLevel) { e->setArgument(3,(*v4_ApprovalLevel)); } else { e->setArgument(3); } if (v5_ApprovalQualifier) { e->setArgument(4,(*v5_ApprovalQualifier)); } else { e->setArgument(4); } e->setArgument(5,(v6_Name)); e->setArgument(6,(v7_Identifier)); entity = e; EntityBuffer::Add(this); } +IfcApproval::IfcApproval(boost::optional< std::string > v1_Description, IfcDateTimeSelect* v2_ApprovalDateTime, boost::optional< std::string > v3_ApprovalStatus, boost::optional< std::string > v4_ApprovalLevel, boost::optional< std::string > v5_ApprovalQualifier, std::string v6_Name, std::string v7_Identifier) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Description) { e->setArgument(0,(*v1_Description)); } else { e->setArgument(0); } e->setArgument(1,(v2_ApprovalDateTime)); if (v3_ApprovalStatus) { e->setArgument(2,(*v3_ApprovalStatus)); } else { e->setArgument(2); } if (v4_ApprovalLevel) { e->setArgument(3,(*v4_ApprovalLevel)); } else { e->setArgument(3); } if (v5_ApprovalQualifier) { e->setArgument(4,(*v5_ApprovalQualifier)); } else { e->setArgument(4); } e->setArgument(5,(v6_Name)); e->setArgument(6,(v7_Identifier)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcApprovalActorRelationship -IfcActorSelect IfcApprovalActorRelationship::Actor() const { return *entity->getArgument(0); } -void IfcApprovalActorRelationship::setActor(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcActorSelect* IfcApprovalActorRelationship::Actor() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcApprovalActorRelationship::setActor(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } IfcApproval* IfcApprovalActorRelationship::Approval() const { return (IfcApproval*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcApprovalActorRelationship::setApproval(IfcApproval* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcActorRole* IfcApprovalActorRelationship::Role() const { return (IfcActorRole*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } @@ -5380,7 +6784,7 @@ bool IfcApprovalActorRelationship::is(Type::Enum v) const { return v == Type::If Type::Enum IfcApprovalActorRelationship::type() const { return Type::IfcApprovalActorRelationship; } Type::Enum IfcApprovalActorRelationship::Class() { return Type::IfcApprovalActorRelationship; } IfcApprovalActorRelationship::IfcApprovalActorRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcApprovalActorRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcApprovalActorRelationship::IfcApprovalActorRelationship(IfcActorSelect v1_Actor, IfcApproval* v2_Approval, IfcActorRole* v3_Role) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Actor)); e->setArgument(1,(v2_Approval)); e->setArgument(2,(v3_Role)); entity = e; EntityBuffer::Add(this); } +IfcApprovalActorRelationship::IfcApprovalActorRelationship(IfcActorSelect* v1_Actor, IfcApproval* v2_Approval, IfcActorRole* v3_Role) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Actor)); e->setArgument(1,(v2_Approval)); e->setArgument(2,(v3_Role)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcApprovalPropertyRelationship IfcTemplatedEntityList< IfcProperty >::ptr IfcApprovalPropertyRelationship::ApprovedProperties() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } @@ -5399,15 +6803,15 @@ void IfcApprovalRelationship::setRelatedApproval(IfcApproval* v) { if ( ! entity IfcApproval* IfcApprovalRelationship::RelatingApproval() const { return (IfcApproval*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcApprovalRelationship::setRelatingApproval(IfcApproval* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcApprovalRelationship::hasDescription() const { return !entity->getArgument(2)->isNull(); } -IfcText IfcApprovalRelationship::Description() const { return *entity->getArgument(2); } -void IfcApprovalRelationship::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcLabel IfcApprovalRelationship::Name() const { return *entity->getArgument(3); } -void IfcApprovalRelationship::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcApprovalRelationship::Description() const { return *entity->getArgument(2); } +void IfcApprovalRelationship::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcApprovalRelationship::Name() const { return *entity->getArgument(3); } +void IfcApprovalRelationship::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcApprovalRelationship::is(Type::Enum v) const { return v == Type::IfcApprovalRelationship; } Type::Enum IfcApprovalRelationship::type() const { return Type::IfcApprovalRelationship; } Type::Enum IfcApprovalRelationship::Class() { return Type::IfcApprovalRelationship; } IfcApprovalRelationship::IfcApprovalRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcApprovalRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcApprovalRelationship::IfcApprovalRelationship(IfcApproval* v1_RelatedApproval, IfcApproval* v2_RelatingApproval, boost::optional< IfcText > v3_Description, IfcLabel v4_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RelatedApproval)); e->setArgument(1,(v2_RelatingApproval)); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } e->setArgument(3,(v4_Name)); entity = e; EntityBuffer::Add(this); } +IfcApprovalRelationship::IfcApprovalRelationship(IfcApproval* v1_RelatedApproval, IfcApproval* v2_RelatingApproval, boost::optional< std::string > v3_Description, std::string v4_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RelatedApproval)); e->setArgument(1,(v2_RelatingApproval)); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } e->setArgument(3,(v4_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcArbitraryClosedProfileDef IfcCurve* IfcArbitraryClosedProfileDef::OuterCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } @@ -5416,7 +6820,7 @@ bool IfcArbitraryClosedProfileDef::is(Type::Enum v) const { return v == Type::If Type::Enum IfcArbitraryClosedProfileDef::type() const { return Type::IfcArbitraryClosedProfileDef; } Type::Enum IfcArbitraryClosedProfileDef::Class() { return Type::IfcArbitraryClosedProfileDef; } IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcAbstractEntity* e) : IfcProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcArbitraryClosedProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcCurve* v3_OuterCurve) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_OuterCurve)); entity = e; EntityBuffer::Add(this); } +IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcCurve* v3_OuterCurve) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_OuterCurve)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcArbitraryOpenProfileDef IfcBoundedCurve* IfcArbitraryOpenProfileDef::Curve() const { return (IfcBoundedCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } @@ -5425,7 +6829,7 @@ bool IfcArbitraryOpenProfileDef::is(Type::Enum v) const { return v == Type::IfcA Type::Enum IfcArbitraryOpenProfileDef::type() const { return Type::IfcArbitraryOpenProfileDef; } Type::Enum IfcArbitraryOpenProfileDef::Class() { return Type::IfcArbitraryOpenProfileDef; } IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcAbstractEntity* e) : IfcProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcArbitraryOpenProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcBoundedCurve* v3_Curve) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Curve)); entity = e; EntityBuffer::Add(this); } +IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcBoundedCurve* v3_Curve) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Curve)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcArbitraryProfileDefWithVoids IfcTemplatedEntityList< IfcCurve >::ptr IfcArbitraryProfileDefWithVoids::InnerCurves() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } @@ -5434,21 +6838,21 @@ bool IfcArbitraryProfileDefWithVoids::is(Type::Enum v) const { return v == Type: Type::Enum IfcArbitraryProfileDefWithVoids::type() const { return Type::IfcArbitraryProfileDefWithVoids; } Type::Enum IfcArbitraryProfileDefWithVoids::Class() { return Type::IfcArbitraryProfileDefWithVoids; } IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcAbstractEntity* e) : IfcArbitraryClosedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcArbitraryProfileDefWithVoids)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcCurve* v3_OuterCurve, IfcTemplatedEntityList< IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_OuterCurve)); e->setArgument(3,(v4_InnerCurves)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcCurve* v3_OuterCurve, IfcTemplatedEntityList< IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_OuterCurve)); e->setArgument(3,(v4_InnerCurves)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAsset -IfcIdentifier IfcAsset::AssetID() const { return *entity->getArgument(5); } -void IfcAsset::setAssetID(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcAsset::AssetID() const { return *entity->getArgument(5); } +void IfcAsset::setAssetID(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } IfcCostValue* IfcAsset::OriginalValue() const { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } void IfcAsset::setOriginalValue(IfcCostValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } IfcCostValue* IfcAsset::CurrentValue() const { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } void IfcAsset::setCurrentValue(IfcCostValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } IfcCostValue* IfcAsset::TotalReplacementCost() const { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } void IfcAsset::setTotalReplacementCost(IfcCostValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -IfcActorSelect IfcAsset::Owner() const { return *entity->getArgument(9); } -void IfcAsset::setOwner(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -IfcActorSelect IfcAsset::User() const { return *entity->getArgument(10); } -void IfcAsset::setUser(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +IfcActorSelect* IfcAsset::Owner() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } +void IfcAsset::setOwner(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +IfcActorSelect* IfcAsset::User() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } +void IfcAsset::setUser(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } IfcPerson* IfcAsset::ResponsiblePerson() const { return (IfcPerson*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(11))); } void IfcAsset::setResponsiblePerson(IfcPerson* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } IfcCalendarDate* IfcAsset::IncorporationDate() const { return (IfcCalendarDate*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(12))); } @@ -5459,25 +6863,25 @@ bool IfcAsset::is(Type::Enum v) const { return v == Type::IfcAsset || IfcGroup:: Type::Enum IfcAsset::type() const { return Type::IfcAsset; } Type::Enum IfcAsset::Class() { return Type::IfcAsset; } IfcAsset::IfcAsset(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAsset)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAsset::IfcAsset(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_AssetID, IfcCostValue* v7_OriginalValue, IfcCostValue* v8_CurrentValue, IfcCostValue* v9_TotalReplacementCost, IfcActorSelect v10_Owner, IfcActorSelect v11_User, IfcPerson* v12_ResponsiblePerson, IfcCalendarDate* v13_IncorporationDate, IfcCostValue* v14_DepreciatedValue) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_AssetID)); e->setArgument(6,(v7_OriginalValue)); e->setArgument(7,(v8_CurrentValue)); e->setArgument(8,(v9_TotalReplacementCost)); e->setArgument(9,(v10_Owner)); e->setArgument(10,(v11_User)); e->setArgument(11,(v12_ResponsiblePerson)); e->setArgument(12,(v13_IncorporationDate)); e->setArgument(13,(v14_DepreciatedValue)); entity = e; EntityBuffer::Add(this); } +IfcAsset::IfcAsset(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_AssetID, IfcCostValue* v7_OriginalValue, IfcCostValue* v8_CurrentValue, IfcCostValue* v9_TotalReplacementCost, IfcActorSelect* v10_Owner, IfcActorSelect* v11_User, IfcPerson* v12_ResponsiblePerson, IfcCalendarDate* v13_IncorporationDate, IfcCostValue* v14_DepreciatedValue) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_AssetID)); e->setArgument(6,(v7_OriginalValue)); e->setArgument(7,(v8_CurrentValue)); e->setArgument(8,(v9_TotalReplacementCost)); e->setArgument(9,(v10_Owner)); e->setArgument(10,(v11_User)); e->setArgument(11,(v12_ResponsiblePerson)); e->setArgument(12,(v13_IncorporationDate)); e->setArgument(13,(v14_DepreciatedValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAsymmetricIShapeProfileDef -IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { return *entity->getArgument(8); } -void IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { return *entity->getArgument(8); } +void IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcAsymmetricIShapeProfileDef::hasTopFlangeThickness() const { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { return *entity->getArgument(9); } -void IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { return *entity->getArgument(9); } +void IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcAsymmetricIShapeProfileDef::hasTopFlangeFilletRadius() const { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { return *entity->getArgument(10); } -void IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { return *entity->getArgument(10); } +void IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcAsymmetricIShapeProfileDef::hasCentreOfGravityInY() const { return !entity->getArgument(11)->isNull(); } -IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::CentreOfGravityInY() const { return *entity->getArgument(11); } -void IfcAsymmetricIShapeProfileDef::setCentreOfGravityInY(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcAsymmetricIShapeProfileDef::CentreOfGravityInY() const { return *entity->getArgument(11); } +void IfcAsymmetricIShapeProfileDef::setCentreOfGravityInY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcAsymmetricIShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcAsymmetricIShapeProfileDef || IfcIShapeProfileDef::is(v); } Type::Enum IfcAsymmetricIShapeProfileDef::type() const { return Type::IfcAsymmetricIShapeProfileDef; } Type::Enum IfcAsymmetricIShapeProfileDef::Class() { return Type::IfcAsymmetricIShapeProfileDef; } IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcAbstractEntity* e) : IfcIShapeProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAsymmetricIShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_OverallWidth, IfcPositiveLengthMeasure v5_OverallDepth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcPositiveLengthMeasure > v8_FilletRadius, IfcPositiveLengthMeasure v9_TopFlangeWidth, boost::optional< IfcPositiveLengthMeasure > v10_TopFlangeThickness, boost::optional< IfcPositiveLengthMeasure > v11_TopFlangeFilletRadius, boost::optional< IfcPositiveLengthMeasure > v12_CentreOfGravityInY) : IfcIShapeProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_OverallWidth)); e->setArgument(4,(v5_OverallDepth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } e->setArgument(8,(v9_TopFlangeWidth)); if (v10_TopFlangeThickness) { e->setArgument(9,(*v10_TopFlangeThickness)); } else { e->setArgument(9); } if (v11_TopFlangeFilletRadius) { e->setArgument(10,(*v11_TopFlangeFilletRadius)); } else { e->setArgument(10); } if (v12_CentreOfGravityInY) { e->setArgument(11,(*v12_CentreOfGravityInY)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } +IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, double v9_TopFlangeWidth, boost::optional< double > v10_TopFlangeThickness, boost::optional< double > v11_TopFlangeFilletRadius, boost::optional< double > v12_CentreOfGravityInY) : IfcIShapeProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_OverallWidth)); e->setArgument(4,(v5_OverallDepth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } e->setArgument(8,(v9_TopFlangeWidth)); if (v10_TopFlangeThickness) { e->setArgument(9,(*v10_TopFlangeThickness)); } else { e->setArgument(9); } if (v11_TopFlangeFilletRadius) { e->setArgument(10,(*v11_TopFlangeFilletRadius)); } else { e->setArgument(10); } if (v12_CentreOfGravityInY) { e->setArgument(11,(*v12_CentreOfGravityInY)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAxis1Placement bool IfcAxis1Placement::hasAxis() const { return !entity->getArgument(1)->isNull(); } @@ -5534,7 +6938,7 @@ bool IfcBeam::is(Type::Enum v) const { return v == Type::IfcBeam || IfcBuildingE Type::Enum IfcBeam::type() const { return Type::IfcBeam; } Type::Enum IfcBeam::Class() { return Type::IfcBeam; } IfcBeam::IfcBeam(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBeam)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBeam::IfcBeam(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcBeam::IfcBeam(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBeamType IfcBeamTypeEnum::IfcBeamTypeEnum IfcBeamType::PredefinedType() const { return IfcBeamTypeEnum::FromString(*entity->getArgument(9)); } @@ -5543,7 +6947,7 @@ bool IfcBeamType::is(Type::Enum v) const { return v == Type::IfcBeamType || IfcB Type::Enum IfcBeamType::type() const { return Type::IfcBeamType; } Type::Enum IfcBeamType::Class() { return Type::IfcBeamType; } IfcBeamType::IfcBeamType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBeamType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBeamType::IfcBeamType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBeamTypeEnum::IfcBeamTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBeamTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcBeamType::IfcBeamType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBeamTypeEnum::IfcBeamTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBeamTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBezierCurve bool IfcBezierCurve::is(Type::Enum v) const { return v == Type::IfcBezierCurve || IfcBSplineCurve::is(v); } @@ -5553,28 +6957,28 @@ IfcBezierCurve::IfcBezierCurve(IfcAbstractEntity* e) : IfcBSplineCurve((IfcAbstr IfcBezierCurve::IfcBezierCurve(int v1_Degree, IfcTemplatedEntityList< IfcCartesianPoint >::ptr v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect) : IfcBSplineCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Degree)); e->setArgument(1,(v2_ControlPointsList)->generalize()); e->setArgument(2,v3_CurveForm,IfcBSplineCurveForm::ToString(v3_CurveForm)); e->setArgument(3,(v4_ClosedCurve)); e->setArgument(4,(v5_SelfIntersect)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBlobTexture -IfcIdentifier IfcBlobTexture::RasterFormat() const { return *entity->getArgument(4); } -void IfcBlobTexture::setRasterFormat(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcBlobTexture::RasterFormat() const { return *entity->getArgument(4); } +void IfcBlobTexture::setRasterFormat(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcBlobTexture::RasterCode() const { return *entity->getArgument(5); } void IfcBlobTexture::setRasterCode(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcBlobTexture::is(Type::Enum v) const { return v == Type::IfcBlobTexture || IfcSurfaceTexture::is(v); } Type::Enum IfcBlobTexture::type() const { return Type::IfcBlobTexture; } Type::Enum IfcBlobTexture::Class() { return Type::IfcBlobTexture; } IfcBlobTexture::IfcBlobTexture(IfcAbstractEntity* e) : IfcSurfaceTexture((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBlobTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, IfcIdentifier v5_RasterFormat, bool v6_RasterCode) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); e->setArgument(2,v3_TextureType,IfcSurfaceTextureEnum::ToString(v3_TextureType)); e->setArgument(3,(v4_TextureTransform)); e->setArgument(4,(v5_RasterFormat)); e->setArgument(5,(v6_RasterCode)); entity = e; EntityBuffer::Add(this); } +IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, std::string v5_RasterFormat, bool v6_RasterCode) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); e->setArgument(2,v3_TextureType,IfcSurfaceTextureEnum::ToString(v3_TextureType)); e->setArgument(3,(v4_TextureTransform)); e->setArgument(4,(v5_RasterFormat)); e->setArgument(5,(v6_RasterCode)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBlock -IfcPositiveLengthMeasure IfcBlock::XLength() const { return *entity->getArgument(1); } -void IfcBlock::setXLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveLengthMeasure IfcBlock::YLength() const { return *entity->getArgument(2); } -void IfcBlock::setYLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcPositiveLengthMeasure IfcBlock::ZLength() const { return *entity->getArgument(3); } -void IfcBlock::setZLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcBlock::XLength() const { return *entity->getArgument(1); } +void IfcBlock::setXLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcBlock::YLength() const { return *entity->getArgument(2); } +void IfcBlock::setYLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcBlock::ZLength() const { return *entity->getArgument(3); } +void IfcBlock::setZLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcBlock::is(Type::Enum v) const { return v == Type::IfcBlock || IfcCsgPrimitive3D::is(v); } Type::Enum IfcBlock::type() const { return Type::IfcBlock; } Type::Enum IfcBlock::Class() { return Type::IfcBlock; } IfcBlock::IfcBlock(IfcAbstractEntity* e) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBlock)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBlock::IfcBlock(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_XLength, IfcPositiveLengthMeasure v3_YLength, IfcPositiveLengthMeasure v4_ZLength) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_XLength)); e->setArgument(2,(v3_YLength)); e->setArgument(3,(v4_ZLength)); entity = e; EntityBuffer::Add(this); } +IfcBlock::IfcBlock(IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_XLength)); e->setArgument(2,(v3_YLength)); e->setArgument(3,(v4_ZLength)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoilerType IfcBoilerTypeEnum::IfcBoilerTypeEnum IfcBoilerType::PredefinedType() const { return IfcBoilerTypeEnum::FromString(*entity->getArgument(9)); } @@ -5583,113 +6987,113 @@ bool IfcBoilerType::is(Type::Enum v) const { return v == Type::IfcBoilerType || Type::Enum IfcBoilerType::type() const { return Type::IfcBoilerType; } Type::Enum IfcBoilerType::Class() { return Type::IfcBoilerType; } IfcBoilerType::IfcBoilerType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoilerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoilerType::IfcBoilerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBoilerTypeEnum::IfcBoilerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBoilerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBoilerTypeEnum::IfcBoilerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBoilerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBooleanClippingResult bool IfcBooleanClippingResult::is(Type::Enum v) const { return v == Type::IfcBooleanClippingResult || IfcBooleanResult::is(v); } Type::Enum IfcBooleanClippingResult::type() const { return Type::IfcBooleanClippingResult; } Type::Enum IfcBooleanClippingResult::Class() { return Type::IfcBooleanClippingResult; } IfcBooleanClippingResult::IfcBooleanClippingResult(IfcAbstractEntity* e) : IfcBooleanResult((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBooleanClippingResult)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBooleanClippingResult::IfcBooleanClippingResult(IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand v2_FirstOperand, IfcBooleanOperand v3_SecondOperand) : IfcBooleanResult((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Operator,IfcBooleanOperator::ToString(v1_Operator)); e->setArgument(1,(v2_FirstOperand)); e->setArgument(2,(v3_SecondOperand)); entity = e; EntityBuffer::Add(this); } +IfcBooleanClippingResult::IfcBooleanClippingResult(IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand* v2_FirstOperand, IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Operator,IfcBooleanOperator::ToString(v1_Operator)); e->setArgument(1,(v2_FirstOperand)); e->setArgument(2,(v3_SecondOperand)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBooleanResult IfcBooleanOperator::IfcBooleanOperator IfcBooleanResult::Operator() const { return IfcBooleanOperator::FromString(*entity->getArgument(0)); } void IfcBooleanResult::setOperator(IfcBooleanOperator::IfcBooleanOperator v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcBooleanOperator::ToString(v)); } -IfcBooleanOperand IfcBooleanResult::FirstOperand() const { return *entity->getArgument(1); } -void IfcBooleanResult::setFirstOperand(IfcBooleanOperand v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcBooleanOperand IfcBooleanResult::SecondOperand() const { return *entity->getArgument(2); } -void IfcBooleanResult::setSecondOperand(IfcBooleanOperand v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +IfcBooleanOperand* IfcBooleanResult::FirstOperand() const { return (IfcBooleanOperand*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcBooleanResult::setFirstOperand(IfcBooleanOperand* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcBooleanOperand* IfcBooleanResult::SecondOperand() const { return (IfcBooleanOperand*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } +void IfcBooleanResult::setSecondOperand(IfcBooleanOperand* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcBooleanResult::is(Type::Enum v) const { return v == Type::IfcBooleanResult || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcBooleanResult::type() const { return Type::IfcBooleanResult; } Type::Enum IfcBooleanResult::Class() { return Type::IfcBooleanResult; } IfcBooleanResult::IfcBooleanResult(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBooleanResult)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBooleanResult::IfcBooleanResult(IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand v2_FirstOperand, IfcBooleanOperand v3_SecondOperand) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Operator,IfcBooleanOperator::ToString(v1_Operator)); e->setArgument(1,(v2_FirstOperand)); e->setArgument(2,(v3_SecondOperand)); entity = e; EntityBuffer::Add(this); } +IfcBooleanResult::IfcBooleanResult(IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand* v2_FirstOperand, IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Operator,IfcBooleanOperator::ToString(v1_Operator)); e->setArgument(1,(v2_FirstOperand)); e->setArgument(2,(v3_SecondOperand)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryCondition bool IfcBoundaryCondition::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcBoundaryCondition::Name() const { return *entity->getArgument(0); } -void IfcBoundaryCondition::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcBoundaryCondition::Name() const { return *entity->getArgument(0); } +void IfcBoundaryCondition::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcBoundaryCondition::is(Type::Enum v) const { return v == Type::IfcBoundaryCondition; } Type::Enum IfcBoundaryCondition::type() const { return Type::IfcBoundaryCondition; } Type::Enum IfcBoundaryCondition::Class() { return Type::IfcBoundaryCondition; } IfcBoundaryCondition::IfcBoundaryCondition(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcBoundaryCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< IfcLabel > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } +IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryEdgeCondition bool IfcBoundaryEdgeCondition::hasLinearStiffnessByLengthX() const { return !entity->getArgument(1)->isNull(); } -IfcModulusOfLinearSubgradeReactionMeasure IfcBoundaryEdgeCondition::LinearStiffnessByLengthX() const { return *entity->getArgument(1); } -void IfcBoundaryEdgeCondition::setLinearStiffnessByLengthX(IfcModulusOfLinearSubgradeReactionMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcBoundaryEdgeCondition::LinearStiffnessByLengthX() const { return *entity->getArgument(1); } +void IfcBoundaryEdgeCondition::setLinearStiffnessByLengthX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcBoundaryEdgeCondition::hasLinearStiffnessByLengthY() const { return !entity->getArgument(2)->isNull(); } -IfcModulusOfLinearSubgradeReactionMeasure IfcBoundaryEdgeCondition::LinearStiffnessByLengthY() const { return *entity->getArgument(2); } -void IfcBoundaryEdgeCondition::setLinearStiffnessByLengthY(IfcModulusOfLinearSubgradeReactionMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcBoundaryEdgeCondition::LinearStiffnessByLengthY() const { return *entity->getArgument(2); } +void IfcBoundaryEdgeCondition::setLinearStiffnessByLengthY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcBoundaryEdgeCondition::hasLinearStiffnessByLengthZ() const { return !entity->getArgument(3)->isNull(); } -IfcModulusOfLinearSubgradeReactionMeasure IfcBoundaryEdgeCondition::LinearStiffnessByLengthZ() const { return *entity->getArgument(3); } -void IfcBoundaryEdgeCondition::setLinearStiffnessByLengthZ(IfcModulusOfLinearSubgradeReactionMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcBoundaryEdgeCondition::LinearStiffnessByLengthZ() const { return *entity->getArgument(3); } +void IfcBoundaryEdgeCondition::setLinearStiffnessByLengthZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthX() const { return !entity->getArgument(4)->isNull(); } -IfcModulusOfRotationalSubgradeReactionMeasure IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { return *entity->getArgument(4); } -void IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(IfcModulusOfRotationalSubgradeReactionMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { return *entity->getArgument(4); } +void IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthY() const { return !entity->getArgument(5)->isNull(); } -IfcModulusOfRotationalSubgradeReactionMeasure IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { return *entity->getArgument(5); } -void IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(IfcModulusOfRotationalSubgradeReactionMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { return *entity->getArgument(5); } +void IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthZ() const { return !entity->getArgument(6)->isNull(); } -IfcModulusOfRotationalSubgradeReactionMeasure IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { return *entity->getArgument(6); } -void IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(IfcModulusOfRotationalSubgradeReactionMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { return *entity->getArgument(6); } +void IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcBoundaryEdgeCondition::is(Type::Enum v) const { return v == Type::IfcBoundaryEdgeCondition || IfcBoundaryCondition::is(v); } Type::Enum IfcBoundaryEdgeCondition::type() const { return Type::IfcBoundaryEdgeCondition; } Type::Enum IfcBoundaryEdgeCondition::Class() { return Type::IfcBoundaryEdgeCondition; } IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcAbstractEntity* e) : IfcBoundaryCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundaryEdgeCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcModulusOfLinearSubgradeReactionMeasure > v2_LinearStiffnessByLengthX, boost::optional< IfcModulusOfLinearSubgradeReactionMeasure > v3_LinearStiffnessByLengthY, boost::optional< IfcModulusOfLinearSubgradeReactionMeasure > v4_LinearStiffnessByLengthZ, boost::optional< IfcModulusOfRotationalSubgradeReactionMeasure > v5_RotationalStiffnessByLengthX, boost::optional< IfcModulusOfRotationalSubgradeReactionMeasure > v6_RotationalStiffnessByLengthY, boost::optional< IfcModulusOfRotationalSubgradeReactionMeasure > v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearStiffnessByLengthX) { e->setArgument(1,(*v2_LinearStiffnessByLengthX)); } else { e->setArgument(1); } if (v3_LinearStiffnessByLengthY) { e->setArgument(2,(*v3_LinearStiffnessByLengthY)); } else { e->setArgument(2); } if (v4_LinearStiffnessByLengthZ) { e->setArgument(3,(*v4_LinearStiffnessByLengthZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessByLengthX) { e->setArgument(4,(*v5_RotationalStiffnessByLengthX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessByLengthY) { e->setArgument(5,(*v6_RotationalStiffnessByLengthY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessByLengthZ) { e->setArgument(6,(*v7_RotationalStiffnessByLengthZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, boost::optional< double > v2_LinearStiffnessByLengthX, boost::optional< double > v3_LinearStiffnessByLengthY, boost::optional< double > v4_LinearStiffnessByLengthZ, boost::optional< double > v5_RotationalStiffnessByLengthX, boost::optional< double > v6_RotationalStiffnessByLengthY, boost::optional< double > v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearStiffnessByLengthX) { e->setArgument(1,(*v2_LinearStiffnessByLengthX)); } else { e->setArgument(1); } if (v3_LinearStiffnessByLengthY) { e->setArgument(2,(*v3_LinearStiffnessByLengthY)); } else { e->setArgument(2); } if (v4_LinearStiffnessByLengthZ) { e->setArgument(3,(*v4_LinearStiffnessByLengthZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessByLengthX) { e->setArgument(4,(*v5_RotationalStiffnessByLengthX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessByLengthY) { e->setArgument(5,(*v6_RotationalStiffnessByLengthY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessByLengthZ) { e->setArgument(6,(*v7_RotationalStiffnessByLengthZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryFaceCondition bool IfcBoundaryFaceCondition::hasLinearStiffnessByAreaX() const { return !entity->getArgument(1)->isNull(); } -IfcModulusOfSubgradeReactionMeasure IfcBoundaryFaceCondition::LinearStiffnessByAreaX() const { return *entity->getArgument(1); } -void IfcBoundaryFaceCondition::setLinearStiffnessByAreaX(IfcModulusOfSubgradeReactionMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcBoundaryFaceCondition::LinearStiffnessByAreaX() const { return *entity->getArgument(1); } +void IfcBoundaryFaceCondition::setLinearStiffnessByAreaX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcBoundaryFaceCondition::hasLinearStiffnessByAreaY() const { return !entity->getArgument(2)->isNull(); } -IfcModulusOfSubgradeReactionMeasure IfcBoundaryFaceCondition::LinearStiffnessByAreaY() const { return *entity->getArgument(2); } -void IfcBoundaryFaceCondition::setLinearStiffnessByAreaY(IfcModulusOfSubgradeReactionMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcBoundaryFaceCondition::LinearStiffnessByAreaY() const { return *entity->getArgument(2); } +void IfcBoundaryFaceCondition::setLinearStiffnessByAreaY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcBoundaryFaceCondition::hasLinearStiffnessByAreaZ() const { return !entity->getArgument(3)->isNull(); } -IfcModulusOfSubgradeReactionMeasure IfcBoundaryFaceCondition::LinearStiffnessByAreaZ() const { return *entity->getArgument(3); } -void IfcBoundaryFaceCondition::setLinearStiffnessByAreaZ(IfcModulusOfSubgradeReactionMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcBoundaryFaceCondition::LinearStiffnessByAreaZ() const { return *entity->getArgument(3); } +void IfcBoundaryFaceCondition::setLinearStiffnessByAreaZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcBoundaryFaceCondition::is(Type::Enum v) const { return v == Type::IfcBoundaryFaceCondition || IfcBoundaryCondition::is(v); } Type::Enum IfcBoundaryFaceCondition::type() const { return Type::IfcBoundaryFaceCondition; } Type::Enum IfcBoundaryFaceCondition::Class() { return Type::IfcBoundaryFaceCondition; } IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcAbstractEntity* e) : IfcBoundaryCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundaryFaceCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcModulusOfSubgradeReactionMeasure > v2_LinearStiffnessByAreaX, boost::optional< IfcModulusOfSubgradeReactionMeasure > v3_LinearStiffnessByAreaY, boost::optional< IfcModulusOfSubgradeReactionMeasure > v4_LinearStiffnessByAreaZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearStiffnessByAreaX) { e->setArgument(1,(*v2_LinearStiffnessByAreaX)); } else { e->setArgument(1); } if (v3_LinearStiffnessByAreaY) { e->setArgument(2,(*v3_LinearStiffnessByAreaY)); } else { e->setArgument(2); } if (v4_LinearStiffnessByAreaZ) { e->setArgument(3,(*v4_LinearStiffnessByAreaZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, boost::optional< double > v2_LinearStiffnessByAreaX, boost::optional< double > v3_LinearStiffnessByAreaY, boost::optional< double > v4_LinearStiffnessByAreaZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearStiffnessByAreaX) { e->setArgument(1,(*v2_LinearStiffnessByAreaX)); } else { e->setArgument(1); } if (v3_LinearStiffnessByAreaY) { e->setArgument(2,(*v3_LinearStiffnessByAreaY)); } else { e->setArgument(2); } if (v4_LinearStiffnessByAreaZ) { e->setArgument(3,(*v4_LinearStiffnessByAreaZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryNodeCondition bool IfcBoundaryNodeCondition::hasLinearStiffnessX() const { return !entity->getArgument(1)->isNull(); } -IfcLinearStiffnessMeasure IfcBoundaryNodeCondition::LinearStiffnessX() const { return *entity->getArgument(1); } -void IfcBoundaryNodeCondition::setLinearStiffnessX(IfcLinearStiffnessMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcBoundaryNodeCondition::LinearStiffnessX() const { return *entity->getArgument(1); } +void IfcBoundaryNodeCondition::setLinearStiffnessX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcBoundaryNodeCondition::hasLinearStiffnessY() const { return !entity->getArgument(2)->isNull(); } -IfcLinearStiffnessMeasure IfcBoundaryNodeCondition::LinearStiffnessY() const { return *entity->getArgument(2); } -void IfcBoundaryNodeCondition::setLinearStiffnessY(IfcLinearStiffnessMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcBoundaryNodeCondition::LinearStiffnessY() const { return *entity->getArgument(2); } +void IfcBoundaryNodeCondition::setLinearStiffnessY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcBoundaryNodeCondition::hasLinearStiffnessZ() const { return !entity->getArgument(3)->isNull(); } -IfcLinearStiffnessMeasure IfcBoundaryNodeCondition::LinearStiffnessZ() const { return *entity->getArgument(3); } -void IfcBoundaryNodeCondition::setLinearStiffnessZ(IfcLinearStiffnessMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcBoundaryNodeCondition::LinearStiffnessZ() const { return *entity->getArgument(3); } +void IfcBoundaryNodeCondition::setLinearStiffnessZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcBoundaryNodeCondition::hasRotationalStiffnessX() const { return !entity->getArgument(4)->isNull(); } -IfcRotationalStiffnessMeasure IfcBoundaryNodeCondition::RotationalStiffnessX() const { return *entity->getArgument(4); } -void IfcBoundaryNodeCondition::setRotationalStiffnessX(IfcRotationalStiffnessMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcBoundaryNodeCondition::RotationalStiffnessX() const { return *entity->getArgument(4); } +void IfcBoundaryNodeCondition::setRotationalStiffnessX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcBoundaryNodeCondition::hasRotationalStiffnessY() const { return !entity->getArgument(5)->isNull(); } -IfcRotationalStiffnessMeasure IfcBoundaryNodeCondition::RotationalStiffnessY() const { return *entity->getArgument(5); } -void IfcBoundaryNodeCondition::setRotationalStiffnessY(IfcRotationalStiffnessMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcBoundaryNodeCondition::RotationalStiffnessY() const { return *entity->getArgument(5); } +void IfcBoundaryNodeCondition::setRotationalStiffnessY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcBoundaryNodeCondition::hasRotationalStiffnessZ() const { return !entity->getArgument(6)->isNull(); } -IfcRotationalStiffnessMeasure IfcBoundaryNodeCondition::RotationalStiffnessZ() const { return *entity->getArgument(6); } -void IfcBoundaryNodeCondition::setRotationalStiffnessZ(IfcRotationalStiffnessMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcBoundaryNodeCondition::RotationalStiffnessZ() const { return *entity->getArgument(6); } +void IfcBoundaryNodeCondition::setRotationalStiffnessZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcBoundaryNodeCondition::is(Type::Enum v) const { return v == Type::IfcBoundaryNodeCondition || IfcBoundaryCondition::is(v); } Type::Enum IfcBoundaryNodeCondition::type() const { return Type::IfcBoundaryNodeCondition; } Type::Enum IfcBoundaryNodeCondition::Class() { return Type::IfcBoundaryNodeCondition; } IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcAbstractEntity* e) : IfcBoundaryCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundaryNodeCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLinearStiffnessMeasure > v2_LinearStiffnessX, boost::optional< IfcLinearStiffnessMeasure > v3_LinearStiffnessY, boost::optional< IfcLinearStiffnessMeasure > v4_LinearStiffnessZ, boost::optional< IfcRotationalStiffnessMeasure > v5_RotationalStiffnessX, boost::optional< IfcRotationalStiffnessMeasure > v6_RotationalStiffnessY, boost::optional< IfcRotationalStiffnessMeasure > v7_RotationalStiffnessZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearStiffnessX) { e->setArgument(1,(*v2_LinearStiffnessX)); } else { e->setArgument(1); } if (v3_LinearStiffnessY) { e->setArgument(2,(*v3_LinearStiffnessY)); } else { e->setArgument(2); } if (v4_LinearStiffnessZ) { e->setArgument(3,(*v4_LinearStiffnessZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessX) { e->setArgument(4,(*v5_RotationalStiffnessX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessY) { e->setArgument(5,(*v6_RotationalStiffnessY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessZ) { e->setArgument(6,(*v7_RotationalStiffnessZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, boost::optional< double > v2_LinearStiffnessX, boost::optional< double > v3_LinearStiffnessY, boost::optional< double > v4_LinearStiffnessZ, boost::optional< double > v5_RotationalStiffnessX, boost::optional< double > v6_RotationalStiffnessY, boost::optional< double > v7_RotationalStiffnessZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearStiffnessX) { e->setArgument(1,(*v2_LinearStiffnessX)); } else { e->setArgument(1); } if (v3_LinearStiffnessY) { e->setArgument(2,(*v3_LinearStiffnessY)); } else { e->setArgument(2); } if (v4_LinearStiffnessZ) { e->setArgument(3,(*v4_LinearStiffnessZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessX) { e->setArgument(4,(*v5_RotationalStiffnessX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessY) { e->setArgument(5,(*v6_RotationalStiffnessY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessZ) { e->setArgument(6,(*v7_RotationalStiffnessZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryNodeConditionWarping bool IfcBoundaryNodeConditionWarping::hasWarpingStiffness() const { return !entity->getArgument(7)->isNull(); } -IfcWarpingMomentMeasure IfcBoundaryNodeConditionWarping::WarpingStiffness() const { return *entity->getArgument(7); } -void IfcBoundaryNodeConditionWarping::setWarpingStiffness(IfcWarpingMomentMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcBoundaryNodeConditionWarping::WarpingStiffness() const { return *entity->getArgument(7); } +void IfcBoundaryNodeConditionWarping::setWarpingStiffness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcBoundaryNodeConditionWarping::is(Type::Enum v) const { return v == Type::IfcBoundaryNodeConditionWarping || IfcBoundaryNodeCondition::is(v); } Type::Enum IfcBoundaryNodeConditionWarping::type() const { return Type::IfcBoundaryNodeConditionWarping; } Type::Enum IfcBoundaryNodeConditionWarping::Class() { return Type::IfcBoundaryNodeConditionWarping; } IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(IfcAbstractEntity* e) : IfcBoundaryNodeCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundaryNodeConditionWarping)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLinearStiffnessMeasure > v2_LinearStiffnessX, boost::optional< IfcLinearStiffnessMeasure > v3_LinearStiffnessY, boost::optional< IfcLinearStiffnessMeasure > v4_LinearStiffnessZ, boost::optional< IfcRotationalStiffnessMeasure > v5_RotationalStiffnessX, boost::optional< IfcRotationalStiffnessMeasure > v6_RotationalStiffnessY, boost::optional< IfcRotationalStiffnessMeasure > v7_RotationalStiffnessZ, boost::optional< IfcWarpingMomentMeasure > v8_WarpingStiffness) : IfcBoundaryNodeCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearStiffnessX) { e->setArgument(1,(*v2_LinearStiffnessX)); } else { e->setArgument(1); } if (v3_LinearStiffnessY) { e->setArgument(2,(*v3_LinearStiffnessY)); } else { e->setArgument(2); } if (v4_LinearStiffnessZ) { e->setArgument(3,(*v4_LinearStiffnessZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessX) { e->setArgument(4,(*v5_RotationalStiffnessX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessY) { e->setArgument(5,(*v6_RotationalStiffnessY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessZ) { e->setArgument(6,(*v7_RotationalStiffnessZ)); } else { e->setArgument(6); } if (v8_WarpingStiffness) { e->setArgument(7,(*v8_WarpingStiffness)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, boost::optional< double > v2_LinearStiffnessX, boost::optional< double > v3_LinearStiffnessY, boost::optional< double > v4_LinearStiffnessZ, boost::optional< double > v5_RotationalStiffnessX, boost::optional< double > v6_RotationalStiffnessY, boost::optional< double > v7_RotationalStiffnessZ, boost::optional< double > v8_WarpingStiffness) : IfcBoundaryNodeCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearStiffnessX) { e->setArgument(1,(*v2_LinearStiffnessX)); } else { e->setArgument(1); } if (v3_LinearStiffnessY) { e->setArgument(2,(*v3_LinearStiffnessY)); } else { e->setArgument(2); } if (v4_LinearStiffnessZ) { e->setArgument(3,(*v4_LinearStiffnessZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessX) { e->setArgument(4,(*v5_RotationalStiffnessX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessY) { e->setArgument(5,(*v6_RotationalStiffnessY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessZ) { e->setArgument(6,(*v7_RotationalStiffnessZ)); } else { e->setArgument(6); } if (v8_WarpingStiffness) { e->setArgument(7,(*v8_WarpingStiffness)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundedCurve bool IfcBoundedCurve::is(Type::Enum v) const { return v == Type::IfcBoundedCurve || IfcCurve::is(v); } @@ -5708,17 +7112,17 @@ IfcBoundedSurface::IfcBoundedSurface() : IfcSurface((IfcAbstractEntity*)0) { Ifc // Function implementations for IfcBoundingBox IfcCartesianPoint* IfcBoundingBox::Corner() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcBoundingBox::setCorner(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcPositiveLengthMeasure IfcBoundingBox::XDim() const { return *entity->getArgument(1); } -void IfcBoundingBox::setXDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveLengthMeasure IfcBoundingBox::YDim() const { return *entity->getArgument(2); } -void IfcBoundingBox::setYDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcPositiveLengthMeasure IfcBoundingBox::ZDim() const { return *entity->getArgument(3); } -void IfcBoundingBox::setZDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcBoundingBox::XDim() const { return *entity->getArgument(1); } +void IfcBoundingBox::setXDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcBoundingBox::YDim() const { return *entity->getArgument(2); } +void IfcBoundingBox::setYDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcBoundingBox::ZDim() const { return *entity->getArgument(3); } +void IfcBoundingBox::setZDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcBoundingBox::is(Type::Enum v) const { return v == Type::IfcBoundingBox || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcBoundingBox::type() const { return Type::IfcBoundingBox; } Type::Enum IfcBoundingBox::Class() { return Type::IfcBoundingBox; } IfcBoundingBox::IfcBoundingBox(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundingBox)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundingBox::IfcBoundingBox(IfcCartesianPoint* v1_Corner, IfcPositiveLengthMeasure v2_XDim, IfcPositiveLengthMeasure v3_YDim, IfcPositiveLengthMeasure v4_ZDim) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Corner)); e->setArgument(1,(v2_XDim)); e->setArgument(2,(v3_YDim)); e->setArgument(3,(v4_ZDim)); entity = e; EntityBuffer::Add(this); } +IfcBoundingBox::IfcBoundingBox(IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Corner)); e->setArgument(1,(v2_XDim)); e->setArgument(2,(v3_YDim)); e->setArgument(3,(v4_ZDim)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoxedHalfSpace IfcBoundingBox* IfcBoxedHalfSpace::Enclosure() const { return (IfcBoundingBox*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } @@ -5731,11 +7135,11 @@ IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcSurface* v1_BaseSurface, bool v2_Agreeme // Function implementations for IfcBuilding bool IfcBuilding::hasElevationOfRefHeight() const { return !entity->getArgument(9)->isNull(); } -IfcLengthMeasure IfcBuilding::ElevationOfRefHeight() const { return *entity->getArgument(9); } -void IfcBuilding::setElevationOfRefHeight(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcBuilding::ElevationOfRefHeight() const { return *entity->getArgument(9); } +void IfcBuilding::setElevationOfRefHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcBuilding::hasElevationOfTerrain() const { return !entity->getArgument(10)->isNull(); } -IfcLengthMeasure IfcBuilding::ElevationOfTerrain() const { return *entity->getArgument(10); } -void IfcBuilding::setElevationOfTerrain(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcBuilding::ElevationOfTerrain() const { return *entity->getArgument(10); } +void IfcBuilding::setElevationOfTerrain(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcBuilding::hasBuildingAddress() const { return !entity->getArgument(11)->isNull(); } IfcPostalAddress* IfcBuilding::BuildingAddress() const { return (IfcPostalAddress*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(11))); } void IfcBuilding::setBuildingAddress(IfcPostalAddress* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } @@ -5743,28 +7147,28 @@ bool IfcBuilding::is(Type::Enum v) const { return v == Type::IfcBuilding || IfcS Type::Enum IfcBuilding::type() const { return Type::IfcBuilding; } Type::Enum IfcBuilding::Class() { return Type::IfcBuilding; } IfcBuilding::IfcBuilding(IfcAbstractEntity* e) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuilding)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuilding::IfcBuilding(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< IfcLengthMeasure > v10_ElevationOfRefHeight, boost::optional< IfcLengthMeasure > v11_ElevationOfTerrain, IfcPostalAddress* v12_BuildingAddress) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } e->setArgument(8,v9_CompositionType,IfcElementCompositionEnum::ToString(v9_CompositionType)); if (v10_ElevationOfRefHeight) { e->setArgument(9,(*v10_ElevationOfRefHeight)); } else { e->setArgument(9); } if (v11_ElevationOfTerrain) { e->setArgument(10,(*v11_ElevationOfTerrain)); } else { e->setArgument(10); } e->setArgument(11,(v12_BuildingAddress)); entity = e; EntityBuffer::Add(this); } +IfcBuilding::IfcBuilding(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, IfcPostalAddress* v12_BuildingAddress) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } e->setArgument(8,v9_CompositionType,IfcElementCompositionEnum::ToString(v9_CompositionType)); if (v10_ElevationOfRefHeight) { e->setArgument(9,(*v10_ElevationOfRefHeight)); } else { e->setArgument(9); } if (v11_ElevationOfTerrain) { e->setArgument(10,(*v11_ElevationOfTerrain)); } else { e->setArgument(10); } e->setArgument(11,(v12_BuildingAddress)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElement bool IfcBuildingElement::is(Type::Enum v) const { return v == Type::IfcBuildingElement || IfcElement::is(v); } Type::Enum IfcBuildingElement::type() const { return Type::IfcBuildingElement; } Type::Enum IfcBuildingElement::Class() { return Type::IfcBuildingElement; } IfcBuildingElement::IfcBuildingElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElement::IfcBuildingElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcBuildingElement::IfcBuildingElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElementComponent bool IfcBuildingElementComponent::is(Type::Enum v) const { return v == Type::IfcBuildingElementComponent || IfcBuildingElement::is(v); } Type::Enum IfcBuildingElementComponent::type() const { return Type::IfcBuildingElementComponent; } Type::Enum IfcBuildingElementComponent::Class() { return Type::IfcBuildingElementComponent; } IfcBuildingElementComponent::IfcBuildingElementComponent(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementComponent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementComponent::IfcBuildingElementComponent(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcBuildingElementComponent::IfcBuildingElementComponent(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElementPart bool IfcBuildingElementPart::is(Type::Enum v) const { return v == Type::IfcBuildingElementPart || IfcBuildingElementComponent::is(v); } Type::Enum IfcBuildingElementPart::type() const { return Type::IfcBuildingElementPart; } Type::Enum IfcBuildingElementPart::Class() { return Type::IfcBuildingElementPart; } IfcBuildingElementPart::IfcBuildingElementPart(IfcAbstractEntity* e) : IfcBuildingElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementPart)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementPart::IfcBuildingElementPart(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElementProxy bool IfcBuildingElementProxy::hasCompositionType() const { return !entity->getArgument(8)->isNull(); } @@ -5774,7 +7178,7 @@ bool IfcBuildingElementProxy::is(Type::Enum v) const { return v == Type::IfcBuil Type::Enum IfcBuildingElementProxy::type() const { return Type::IfcBuildingElementProxy; } Type::Enum IfcBuildingElementProxy::Class() { return Type::IfcBuildingElementProxy; } IfcBuildingElementProxy::IfcBuildingElementProxy(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementProxy)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementProxy::IfcBuildingElementProxy(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElementProxyType IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum IfcBuildingElementProxyType::PredefinedType() const { return IfcBuildingElementProxyTypeEnum::FromString(*entity->getArgument(9)); } @@ -5783,45 +7187,45 @@ bool IfcBuildingElementProxyType::is(Type::Enum v) const { return v == Type::Ifc Type::Enum IfcBuildingElementProxyType::type() const { return Type::IfcBuildingElementProxyType; } Type::Enum IfcBuildingElementProxyType::Class() { return Type::IfcBuildingElementProxyType; } IfcBuildingElementProxyType::IfcBuildingElementProxyType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementProxyType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementProxyType::IfcBuildingElementProxyType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBuildingElementProxyTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBuildingElementProxyTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElementType bool IfcBuildingElementType::is(Type::Enum v) const { return v == Type::IfcBuildingElementType || IfcElementType::is(v); } Type::Enum IfcBuildingElementType::type() const { return Type::IfcBuildingElementType; } Type::Enum IfcBuildingElementType::Class() { return Type::IfcBuildingElementType; } IfcBuildingElementType::IfcBuildingElementType(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementType::IfcBuildingElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcBuildingElementType::IfcBuildingElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingStorey bool IfcBuildingStorey::hasElevation() const { return !entity->getArgument(9)->isNull(); } -IfcLengthMeasure IfcBuildingStorey::Elevation() const { return *entity->getArgument(9); } -void IfcBuildingStorey::setElevation(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcBuildingStorey::Elevation() const { return *entity->getArgument(9); } +void IfcBuildingStorey::setElevation(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcBuildingStorey::is(Type::Enum v) const { return v == Type::IfcBuildingStorey || IfcSpatialStructureElement::is(v); } Type::Enum IfcBuildingStorey::type() const { return Type::IfcBuildingStorey; } Type::Enum IfcBuildingStorey::Class() { return Type::IfcBuildingStorey; } IfcBuildingStorey::IfcBuildingStorey(IfcAbstractEntity* e) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingStorey)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingStorey::IfcBuildingStorey(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< IfcLengthMeasure > v10_Elevation) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } e->setArgument(8,v9_CompositionType,IfcElementCompositionEnum::ToString(v9_CompositionType)); if (v10_Elevation) { e->setArgument(9,(*v10_Elevation)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } e->setArgument(8,v9_CompositionType,IfcElementCompositionEnum::ToString(v9_CompositionType)); if (v10_Elevation) { e->setArgument(9,(*v10_Elevation)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCShapeProfileDef -IfcPositiveLengthMeasure IfcCShapeProfileDef::Depth() const { return *entity->getArgument(3); } -void IfcCShapeProfileDef::setDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcCShapeProfileDef::Width() const { return *entity->getArgument(4); } -void IfcCShapeProfileDef::setWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcCShapeProfileDef::WallThickness() const { return *entity->getArgument(5); } -void IfcCShapeProfileDef::setWallThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcCShapeProfileDef::Girth() const { return *entity->getArgument(6); } -void IfcCShapeProfileDef::setGirth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcCShapeProfileDef::Depth() const { return *entity->getArgument(3); } +void IfcCShapeProfileDef::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcCShapeProfileDef::Width() const { return *entity->getArgument(4); } +void IfcCShapeProfileDef::setWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcCShapeProfileDef::WallThickness() const { return *entity->getArgument(5); } +void IfcCShapeProfileDef::setWallThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcCShapeProfileDef::Girth() const { return *entity->getArgument(6); } +void IfcCShapeProfileDef::setGirth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcCShapeProfileDef::hasInternalFilletRadius() const { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcCShapeProfileDef::InternalFilletRadius() const { return *entity->getArgument(7); } -void IfcCShapeProfileDef::setInternalFilletRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcCShapeProfileDef::InternalFilletRadius() const { return *entity->getArgument(7); } +void IfcCShapeProfileDef::setInternalFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcCShapeProfileDef::hasCentreOfGravityInX() const { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcCShapeProfileDef::CentreOfGravityInX() const { return *entity->getArgument(8); } -void IfcCShapeProfileDef::setCentreOfGravityInX(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcCShapeProfileDef::CentreOfGravityInX() const { return *entity->getArgument(8); } +void IfcCShapeProfileDef::setCentreOfGravityInX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcCShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcCShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcCShapeProfileDef::type() const { return Type::IfcCShapeProfileDef; } Type::Enum IfcCShapeProfileDef::Class() { return Type::IfcCShapeProfileDef; } IfcCShapeProfileDef::IfcCShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCShapeProfileDef::IfcCShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_Width, IfcPositiveLengthMeasure v6_WallThickness, IfcPositiveLengthMeasure v7_Girth, boost::optional< IfcPositiveLengthMeasure > v8_InternalFilletRadius, boost::optional< IfcPositiveLengthMeasure > v9_CentreOfGravityInX) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_Width)); e->setArgument(5,(v6_WallThickness)); e->setArgument(6,(v7_Girth)); if (v8_InternalFilletRadius) { e->setArgument(7,(*v8_InternalFilletRadius)); } else { e->setArgument(7); } if (v9_CentreOfGravityInX) { e->setArgument(8,(*v9_CentreOfGravityInX)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCShapeProfileDef::IfcCShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius, boost::optional< double > v9_CentreOfGravityInX) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_Width)); e->setArgument(5,(v6_WallThickness)); e->setArgument(6,(v7_Girth)); if (v8_InternalFilletRadius) { e->setArgument(7,(*v8_InternalFilletRadius)); } else { e->setArgument(7); } if (v9_CentreOfGravityInX) { e->setArgument(8,(*v9_CentreOfGravityInX)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableCarrierFittingType IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum IfcCableCarrierFittingType::PredefinedType() const { return IfcCableCarrierFittingTypeEnum::FromString(*entity->getArgument(9)); } @@ -5830,7 +7234,7 @@ bool IfcCableCarrierFittingType::is(Type::Enum v) const { return v == Type::IfcC Type::Enum IfcCableCarrierFittingType::type() const { return Type::IfcCableCarrierFittingType; } Type::Enum IfcCableCarrierFittingType::Class() { return Type::IfcCableCarrierFittingType; } IfcCableCarrierFittingType::IfcCableCarrierFittingType(IfcAbstractEntity* e) : IfcFlowFittingType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableCarrierFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableCarrierFittingType::IfcCableCarrierFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableCarrierFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableCarrierFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableCarrierSegmentType IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum IfcCableCarrierSegmentType::PredefinedType() const { return IfcCableCarrierSegmentTypeEnum::FromString(*entity->getArgument(9)); } @@ -5839,7 +7243,7 @@ bool IfcCableCarrierSegmentType::is(Type::Enum v) const { return v == Type::IfcC Type::Enum IfcCableCarrierSegmentType::type() const { return Type::IfcCableCarrierSegmentType; } Type::Enum IfcCableCarrierSegmentType::Class() { return Type::IfcCableCarrierSegmentType; } IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(IfcAbstractEntity* e) : IfcFlowSegmentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableCarrierSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableCarrierSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableCarrierSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableSegmentType IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum IfcCableSegmentType::PredefinedType() const { return IfcCableSegmentTypeEnum::FromString(*entity->getArgument(9)); } @@ -5848,29 +7252,29 @@ bool IfcCableSegmentType::is(Type::Enum v) const { return v == Type::IfcCableSeg Type::Enum IfcCableSegmentType::type() const { return Type::IfcCableSegmentType; } Type::Enum IfcCableSegmentType::Class() { return Type::IfcCableSegmentType; } IfcCableSegmentType::IfcCableSegmentType(IfcAbstractEntity* e) : IfcFlowSegmentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableSegmentType::IfcCableSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCalendarDate -IfcDayInMonthNumber IfcCalendarDate::DayComponent() const { return *entity->getArgument(0); } -void IfcCalendarDate::setDayComponent(IfcDayInMonthNumber v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcMonthInYearNumber IfcCalendarDate::MonthComponent() const { return *entity->getArgument(1); } -void IfcCalendarDate::setMonthComponent(IfcMonthInYearNumber v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcYearNumber IfcCalendarDate::YearComponent() const { return *entity->getArgument(2); } -void IfcCalendarDate::setYearComponent(IfcYearNumber v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +int IfcCalendarDate::DayComponent() const { return *entity->getArgument(0); } +void IfcCalendarDate::setDayComponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +int IfcCalendarDate::MonthComponent() const { return *entity->getArgument(1); } +void IfcCalendarDate::setMonthComponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +int IfcCalendarDate::YearComponent() const { return *entity->getArgument(2); } +void IfcCalendarDate::setYearComponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcCalendarDate::is(Type::Enum v) const { return v == Type::IfcCalendarDate; } Type::Enum IfcCalendarDate::type() const { return Type::IfcCalendarDate; } Type::Enum IfcCalendarDate::Class() { return Type::IfcCalendarDate; } IfcCalendarDate::IfcCalendarDate(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCalendarDate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCalendarDate::IfcCalendarDate(IfcDayInMonthNumber v1_DayComponent, IfcMonthInYearNumber v2_MonthComponent, IfcYearNumber v3_YearComponent) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_DayComponent)); e->setArgument(1,(v2_MonthComponent)); e->setArgument(2,(v3_YearComponent)); entity = e; EntityBuffer::Add(this); } +IfcCalendarDate::IfcCalendarDate(int v1_DayComponent, int v2_MonthComponent, int v3_YearComponent) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_DayComponent)); e->setArgument(1,(v2_MonthComponent)); e->setArgument(2,(v3_YearComponent)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCartesianPoint -std::vector< IfcLengthMeasure > /*[1:3]*/ IfcCartesianPoint::Coordinates() const { return *entity->getArgument(0); } -void IfcCartesianPoint::setCoordinates(std::vector< IfcLengthMeasure > /*[1:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::vector< double > /*[1:3]*/ IfcCartesianPoint::Coordinates() const { return *entity->getArgument(0); } +void IfcCartesianPoint::setCoordinates(std::vector< double > /*[1:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } 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; } IfcCartesianPoint::IfcCartesianPoint(IfcAbstractEntity* e) : IfcPoint((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCartesianPoint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCartesianPoint::IfcCartesianPoint(std::vector< IfcLengthMeasure > /*[1:3]*/ v1_Coordinates) : IfcPoint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); entity = e; EntityBuffer::Add(this); } +IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCartesianTransformationOperator bool IfcCartesianTransformationOperator::hasAxis1() const { return !entity->getArgument(0)->isNull(); } @@ -5931,26 +7335,26 @@ IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperat IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Axis1)); e->setArgument(1,(v2_Axis2)); e->setArgument(2,(v3_LocalOrigin)); if (v4_Scale) { e->setArgument(3,(*v4_Scale)); } else { e->setArgument(3); } e->setArgument(4,(v5_Axis3)); if (v6_Scale2) { e->setArgument(5,(*v6_Scale2)); } else { e->setArgument(5); } if (v7_Scale3) { e->setArgument(6,(*v7_Scale3)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCenterLineProfileDef -IfcPositiveLengthMeasure IfcCenterLineProfileDef::Thickness() const { return *entity->getArgument(3); } -void IfcCenterLineProfileDef::setThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcCenterLineProfileDef::Thickness() const { return *entity->getArgument(3); } +void IfcCenterLineProfileDef::setThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcCenterLineProfileDef::is(Type::Enum v) const { return v == Type::IfcCenterLineProfileDef || IfcArbitraryOpenProfileDef::is(v); } Type::Enum IfcCenterLineProfileDef::type() const { return Type::IfcCenterLineProfileDef; } Type::Enum IfcCenterLineProfileDef::Class() { return Type::IfcCenterLineProfileDef; } IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcAbstractEntity* e) : IfcArbitraryOpenProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCenterLineProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcBoundedCurve* v3_Curve, IfcPositiveLengthMeasure v4_Thickness) : IfcArbitraryOpenProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Curve)); e->setArgument(3,(v4_Thickness)); entity = e; EntityBuffer::Add(this); } +IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Curve)); e->setArgument(3,(v4_Thickness)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcChamferEdgeFeature bool IfcChamferEdgeFeature::hasWidth() const { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcChamferEdgeFeature::Width() const { return *entity->getArgument(9); } -void IfcChamferEdgeFeature::setWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcChamferEdgeFeature::Width() const { return *entity->getArgument(9); } +void IfcChamferEdgeFeature::setWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcChamferEdgeFeature::hasHeight() const { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcChamferEdgeFeature::Height() const { return *entity->getArgument(10); } -void IfcChamferEdgeFeature::setHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcChamferEdgeFeature::Height() const { return *entity->getArgument(10); } +void IfcChamferEdgeFeature::setHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcChamferEdgeFeature::is(Type::Enum v) const { return v == Type::IfcChamferEdgeFeature || IfcEdgeFeature::is(v); } Type::Enum IfcChamferEdgeFeature::type() const { return Type::IfcChamferEdgeFeature; } Type::Enum IfcChamferEdgeFeature::Class() { return Type::IfcChamferEdgeFeature; } IfcChamferEdgeFeature::IfcChamferEdgeFeature(IfcAbstractEntity* e) : IfcEdgeFeature((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcChamferEdgeFeature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcChamferEdgeFeature::IfcChamferEdgeFeature(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_FeatureLength, boost::optional< IfcPositiveLengthMeasure > v10_Width, boost::optional< IfcPositiveLengthMeasure > v11_Height) : IfcEdgeFeature((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_FeatureLength) { e->setArgument(8,(*v9_FeatureLength)); } else { e->setArgument(8); } if (v10_Width) { e->setArgument(9,(*v10_Width)); } else { e->setArgument(9); } if (v11_Height) { e->setArgument(10,(*v11_Height)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcChamferEdgeFeature::IfcChamferEdgeFeature(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_FeatureLength, boost::optional< double > v10_Width, boost::optional< double > v11_Height) : IfcEdgeFeature((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_FeatureLength) { e->setArgument(8,(*v9_FeatureLength)); } else { e->setArgument(8); } if (v10_Width) { e->setArgument(9,(*v10_Width)); } else { e->setArgument(9); } if (v11_Height) { e->setArgument(10,(*v11_Height)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcChillerType IfcChillerTypeEnum::IfcChillerTypeEnum IfcChillerType::PredefinedType() const { return IfcChillerTypeEnum::FromString(*entity->getArgument(9)); } @@ -5959,51 +7363,51 @@ bool IfcChillerType::is(Type::Enum v) const { return v == Type::IfcChillerType | Type::Enum IfcChillerType::type() const { return Type::IfcChillerType; } Type::Enum IfcChillerType::Class() { return Type::IfcChillerType; } IfcChillerType::IfcChillerType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcChillerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcChillerType::IfcChillerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcChillerTypeEnum::IfcChillerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcChillerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcChillerType::IfcChillerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcChillerTypeEnum::IfcChillerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcChillerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCircle -IfcPositiveLengthMeasure IfcCircle::Radius() const { return *entity->getArgument(1); } -void IfcCircle::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcCircle::Radius() const { return *entity->getArgument(1); } +void IfcCircle::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcCircle::is(Type::Enum v) const { return v == Type::IfcCircle || IfcConic::is(v); } Type::Enum IfcCircle::type() const { return Type::IfcCircle; } Type::Enum IfcCircle::Class() { return Type::IfcCircle; } IfcCircle::IfcCircle(IfcAbstractEntity* e) : IfcConic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCircle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCircle::IfcCircle(IfcAxis2Placement v1_Position, IfcPositiveLengthMeasure v2_Radius) : IfcConic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Radius)); entity = e; EntityBuffer::Add(this); } +IfcCircle::IfcCircle(IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Radius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCircleHollowProfileDef -IfcPositiveLengthMeasure IfcCircleHollowProfileDef::WallThickness() const { return *entity->getArgument(4); } -void IfcCircleHollowProfileDef::setWallThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcCircleHollowProfileDef::WallThickness() const { return *entity->getArgument(4); } +void IfcCircleHollowProfileDef::setWallThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcCircleHollowProfileDef::is(Type::Enum v) const { return v == Type::IfcCircleHollowProfileDef || IfcCircleProfileDef::is(v); } Type::Enum IfcCircleHollowProfileDef::type() const { return Type::IfcCircleHollowProfileDef; } Type::Enum IfcCircleHollowProfileDef::Class() { return Type::IfcCircleHollowProfileDef; } IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcAbstractEntity* e) : IfcCircleProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCircleHollowProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Radius, IfcPositiveLengthMeasure v5_WallThickness) : IfcCircleProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Radius)); e->setArgument(4,(v5_WallThickness)); entity = e; EntityBuffer::Add(this); } +IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Radius)); e->setArgument(4,(v5_WallThickness)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCircleProfileDef -IfcPositiveLengthMeasure IfcCircleProfileDef::Radius() const { return *entity->getArgument(3); } -void IfcCircleProfileDef::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcCircleProfileDef::Radius() const { return *entity->getArgument(3); } +void IfcCircleProfileDef::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcCircleProfileDef::is(Type::Enum v) const { return v == Type::IfcCircleProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcCircleProfileDef::type() const { return Type::IfcCircleProfileDef; } Type::Enum IfcCircleProfileDef::Class() { return Type::IfcCircleProfileDef; } IfcCircleProfileDef::IfcCircleProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCircleProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCircleProfileDef::IfcCircleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Radius) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Radius)); entity = e; EntityBuffer::Add(this); } +IfcCircleProfileDef::IfcCircleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Radius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClassification -IfcLabel IfcClassification::Source() const { return *entity->getArgument(0); } -void IfcClassification::setSource(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLabel IfcClassification::Edition() const { return *entity->getArgument(1); } -void IfcClassification::setEdition(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcClassification::Source() const { return *entity->getArgument(0); } +void IfcClassification::setSource(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcClassification::Edition() const { return *entity->getArgument(1); } +void IfcClassification::setEdition(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcClassification::hasEditionDate() const { return !entity->getArgument(2)->isNull(); } IfcCalendarDate* IfcClassification::EditionDate() const { return (IfcCalendarDate*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcClassification::setEditionDate(IfcCalendarDate* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcLabel IfcClassification::Name() const { return *entity->getArgument(3); } -void IfcClassification::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcClassification::Name() const { return *entity->getArgument(3); } +void IfcClassification::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } IfcClassificationItem::list::ptr IfcClassification::Contains() const { return entity->getInverse(Type::IfcClassificationItem)->as(); } bool IfcClassification::is(Type::Enum v) const { return v == Type::IfcClassification; } Type::Enum IfcClassification::type() const { return Type::IfcClassification; } Type::Enum IfcClassification::Class() { return Type::IfcClassification; } IfcClassification::IfcClassification(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcClassification)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcClassification::IfcClassification(IfcLabel v1_Source, IfcLabel v2_Edition, IfcCalendarDate* v3_EditionDate, IfcLabel v4_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Source)); e->setArgument(1,(v2_Edition)); e->setArgument(2,(v3_EditionDate)); e->setArgument(3,(v4_Name)); entity = e; EntityBuffer::Add(this); } +IfcClassification::IfcClassification(std::string v1_Source, std::string v2_Edition, IfcCalendarDate* v3_EditionDate, std::string v4_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Source)); e->setArgument(1,(v2_Edition)); e->setArgument(2,(v3_EditionDate)); e->setArgument(3,(v4_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClassificationItem IfcClassificationNotationFacet* IfcClassificationItem::Notation() const { return (IfcClassificationNotationFacet*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -6011,15 +7415,15 @@ void IfcClassificationItem::setNotation(IfcClassificationNotationFacet* v) { if bool IfcClassificationItem::hasItemOf() const { return !entity->getArgument(1)->isNull(); } IfcClassification* IfcClassificationItem::ItemOf() const { return (IfcClassification*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcClassificationItem::setItemOf(IfcClassification* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcLabel IfcClassificationItem::Title() const { return *entity->getArgument(2); } -void IfcClassificationItem::setTitle(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcClassificationItem::Title() const { return *entity->getArgument(2); } +void IfcClassificationItem::setTitle(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcClassificationItemRelationship::list::ptr IfcClassificationItem::IsClassifiedItemIn() const { return entity->getInverse(Type::IfcClassificationItemRelationship)->as(); } IfcClassificationItemRelationship::list::ptr IfcClassificationItem::IsClassifyingItemIn() const { return entity->getInverse(Type::IfcClassificationItemRelationship)->as(); } bool IfcClassificationItem::is(Type::Enum v) const { return v == Type::IfcClassificationItem; } Type::Enum IfcClassificationItem::type() const { return Type::IfcClassificationItem; } Type::Enum IfcClassificationItem::Class() { return Type::IfcClassificationItem; } IfcClassificationItem::IfcClassificationItem(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcClassificationItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcClassificationItem::IfcClassificationItem(IfcClassificationNotationFacet* v1_Notation, IfcClassification* v2_ItemOf, IfcLabel v3_Title) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Notation)); e->setArgument(1,(v2_ItemOf)); e->setArgument(2,(v3_Title)); entity = e; EntityBuffer::Add(this); } +IfcClassificationItem::IfcClassificationItem(IfcClassificationNotationFacet* v1_Notation, IfcClassification* v2_ItemOf, std::string v3_Title) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Notation)); e->setArgument(1,(v2_ItemOf)); e->setArgument(2,(v3_Title)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClassificationItemRelationship IfcClassificationItem* IfcClassificationItemRelationship::RelatingItem() const { return (IfcClassificationItem*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -6042,13 +7446,13 @@ IfcClassificationNotation::IfcClassificationNotation(IfcAbstractEntity* e) : Ifc IfcClassificationNotation::IfcClassificationNotation(IfcTemplatedEntityList< IfcClassificationNotationFacet >::ptr v1_NotationFacets) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_NotationFacets)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClassificationNotationFacet -IfcLabel IfcClassificationNotationFacet::NotationValue() const { return *entity->getArgument(0); } -void IfcClassificationNotationFacet::setNotationValue(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcClassificationNotationFacet::NotationValue() const { return *entity->getArgument(0); } +void IfcClassificationNotationFacet::setNotationValue(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcClassificationNotationFacet::is(Type::Enum v) const { return v == Type::IfcClassificationNotationFacet; } Type::Enum IfcClassificationNotationFacet::type() const { return Type::IfcClassificationNotationFacet; } Type::Enum IfcClassificationNotationFacet::Class() { return Type::IfcClassificationNotationFacet; } IfcClassificationNotationFacet::IfcClassificationNotationFacet(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcClassificationNotationFacet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcClassificationNotationFacet::IfcClassificationNotationFacet(IfcLabel v1_NotationValue) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_NotationValue)); entity = e; EntityBuffer::Add(this); } +IfcClassificationNotationFacet::IfcClassificationNotationFacet(std::string v1_NotationValue) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_NotationValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClassificationReference bool IfcClassificationReference::hasReferencedSource() const { return !entity->getArgument(3)->isNull(); } @@ -6058,7 +7462,7 @@ bool IfcClassificationReference::is(Type::Enum v) const { return v == Type::IfcC Type::Enum IfcClassificationReference::type() const { return Type::IfcClassificationReference; } Type::Enum IfcClassificationReference::Class() { return Type::IfcClassificationReference; } IfcClassificationReference::IfcClassificationReference(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcClassificationReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcClassificationReference::IfcClassificationReference(boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name, IfcClassification* v4_ReferencedSource) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } e->setArgument(3,(v4_ReferencedSource)); entity = e; EntityBuffer::Add(this); } +IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name, IfcClassification* v4_ReferencedSource) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } e->setArgument(3,(v4_ReferencedSource)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClosedShell bool IfcClosedShell::is(Type::Enum v) const { return v == Type::IfcClosedShell || IfcConnectedFaceSet::is(v); } @@ -6074,37 +7478,37 @@ bool IfcCoilType::is(Type::Enum v) const { return v == Type::IfcCoilType || IfcE Type::Enum IfcCoilType::type() const { return Type::IfcCoilType; } Type::Enum IfcCoilType::Class() { return Type::IfcCoilType; } IfcCoilType::IfcCoilType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCoilType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoilType::IfcCoilType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoilTypeEnum::IfcCoilTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCoilTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCoilType::IfcCoilType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCoilTypeEnum::IfcCoilTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCoilTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcColourRgb -IfcNormalisedRatioMeasure IfcColourRgb::Red() const { return *entity->getArgument(1); } -void IfcColourRgb::setRed(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcNormalisedRatioMeasure IfcColourRgb::Green() const { return *entity->getArgument(2); } -void IfcColourRgb::setGreen(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcNormalisedRatioMeasure IfcColourRgb::Blue() const { return *entity->getArgument(3); } -void IfcColourRgb::setBlue(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcColourRgb::Red() const { return *entity->getArgument(1); } +void IfcColourRgb::setRed(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcColourRgb::Green() const { return *entity->getArgument(2); } +void IfcColourRgb::setGreen(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcColourRgb::Blue() const { return *entity->getArgument(3); } +void IfcColourRgb::setBlue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcColourRgb::is(Type::Enum v) const { return v == Type::IfcColourRgb || IfcColourSpecification::is(v); } Type::Enum IfcColourRgb::type() const { return Type::IfcColourRgb; } Type::Enum IfcColourRgb::Class() { return Type::IfcColourRgb; } IfcColourRgb::IfcColourRgb(IfcAbstractEntity* e) : IfcColourSpecification((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcColourRgb)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcColourRgb::IfcColourRgb(boost::optional< IfcLabel > v1_Name, IfcNormalisedRatioMeasure v2_Red, IfcNormalisedRatioMeasure v3_Green, IfcNormalisedRatioMeasure v4_Blue) : IfcColourSpecification((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_Red)); e->setArgument(2,(v3_Green)); e->setArgument(3,(v4_Blue)); entity = e; EntityBuffer::Add(this); } +IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_Red)); e->setArgument(2,(v3_Green)); e->setArgument(3,(v4_Blue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcColourSpecification bool IfcColourSpecification::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcColourSpecification::Name() const { return *entity->getArgument(0); } -void IfcColourSpecification::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcColourSpecification::Name() const { return *entity->getArgument(0); } +void IfcColourSpecification::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcColourSpecification::is(Type::Enum v) const { return v == Type::IfcColourSpecification; } Type::Enum IfcColourSpecification::type() const { return Type::IfcColourSpecification; } Type::Enum IfcColourSpecification::Class() { return Type::IfcColourSpecification; } IfcColourSpecification::IfcColourSpecification(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcColourSpecification)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcColourSpecification::IfcColourSpecification(boost::optional< IfcLabel > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } +IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcColumn bool IfcColumn::is(Type::Enum v) const { return v == Type::IfcColumn || IfcBuildingElement::is(v); } Type::Enum IfcColumn::type() const { return Type::IfcColumn; } Type::Enum IfcColumn::Class() { return Type::IfcColumn; } IfcColumn::IfcColumn(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcColumn)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcColumn::IfcColumn(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcColumn::IfcColumn(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcColumnType IfcColumnTypeEnum::IfcColumnTypeEnum IfcColumnType::PredefinedType() const { return IfcColumnTypeEnum::FromString(*entity->getArgument(9)); } @@ -6113,18 +7517,18 @@ bool IfcColumnType::is(Type::Enum v) const { return v == Type::IfcColumnType || Type::Enum IfcColumnType::type() const { return Type::IfcColumnType; } Type::Enum IfcColumnType::Class() { return Type::IfcColumnType; } IfcColumnType::IfcColumnType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcColumnType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcColumnType::IfcColumnType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcColumnTypeEnum::IfcColumnTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcColumnTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcColumnType::IfcColumnType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcColumnTypeEnum::IfcColumnTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcColumnTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcComplexProperty -IfcIdentifier IfcComplexProperty::UsageName() const { return *entity->getArgument(2); } -void IfcComplexProperty::setUsageName(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcComplexProperty::UsageName() const { return *entity->getArgument(2); } +void IfcComplexProperty::setUsageName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcTemplatedEntityList< IfcProperty >::ptr IfcComplexProperty::HasProperties() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } void IfcComplexProperty::setHasProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } 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(IfcAbstractEntity* e) : IfcProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcComplexProperty)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcComplexProperty::IfcComplexProperty(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcIdentifier v3_UsageName, IfcTemplatedEntityList< IfcProperty >::ptr v4_HasProperties) : IfcProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_UsageName)); e->setArgument(3,(v4_HasProperties)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_UsageName, IfcTemplatedEntityList< IfcProperty >::ptr v4_HasProperties) : IfcProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_UsageName)); e->setArgument(3,(v4_HasProperties)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCompositeCurve IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr IfcCompositeCurve::Segments() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } @@ -6155,13 +7559,13 @@ IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcTransitionCode::IfcTransit IfcTemplatedEntityList< IfcProfileDef >::ptr IfcCompositeProfileDef::Profiles() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } void IfcCompositeProfileDef::setProfiles(IfcTemplatedEntityList< IfcProfileDef >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } bool IfcCompositeProfileDef::hasLabel() const { return !entity->getArgument(3)->isNull(); } -IfcLabel IfcCompositeProfileDef::Label() const { return *entity->getArgument(3); } -void IfcCompositeProfileDef::setLabel(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcCompositeProfileDef::Label() const { return *entity->getArgument(3); } +void IfcCompositeProfileDef::setLabel(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcCompositeProfileDef::is(Type::Enum v) const { return v == Type::IfcCompositeProfileDef || IfcProfileDef::is(v); } Type::Enum IfcCompositeProfileDef::type() const { return Type::IfcCompositeProfileDef; } Type::Enum IfcCompositeProfileDef::Class() { return Type::IfcCompositeProfileDef; } IfcCompositeProfileDef::IfcCompositeProfileDef(IfcAbstractEntity* e) : IfcProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCompositeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCompositeProfileDef::IfcCompositeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcTemplatedEntityList< IfcProfileDef >::ptr v3_Profiles, boost::optional< IfcLabel > v4_Label) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Profiles)->generalize()); if (v4_Label) { e->setArgument(3,(*v4_Label)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcCompositeProfileDef::IfcCompositeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcTemplatedEntityList< IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Profiles)->generalize()); if (v4_Label) { e->setArgument(3,(*v4_Label)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCompressorType IfcCompressorTypeEnum::IfcCompressorTypeEnum IfcCompressorType::PredefinedType() const { return IfcCompressorTypeEnum::FromString(*entity->getArgument(9)); } @@ -6170,7 +7574,7 @@ bool IfcCompressorType::is(Type::Enum v) const { return v == Type::IfcCompressor Type::Enum IfcCompressorType::type() const { return Type::IfcCompressorType; } Type::Enum IfcCompressorType::Class() { return Type::IfcCompressorType; } IfcCompressorType::IfcCompressorType(IfcAbstractEntity* e) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCompressorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCompressorType::IfcCompressorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCompressorTypeEnum::IfcCompressorTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCompressorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCompressorTypeEnum::IfcCompressorTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCompressorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCondenserType IfcCondenserTypeEnum::IfcCondenserTypeEnum IfcCondenserType::PredefinedType() const { return IfcCondenserTypeEnum::FromString(*entity->getArgument(9)); } @@ -6179,34 +7583,34 @@ bool IfcCondenserType::is(Type::Enum v) const { return v == Type::IfcCondenserTy Type::Enum IfcCondenserType::type() const { return Type::IfcCondenserType; } Type::Enum IfcCondenserType::Class() { return Type::IfcCondenserType; } IfcCondenserType::IfcCondenserType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCondenserType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCondenserType::IfcCondenserType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCondenserTypeEnum::IfcCondenserTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCondenserTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCondenserTypeEnum::IfcCondenserTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCondenserTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCondition bool IfcCondition::is(Type::Enum v) const { return v == Type::IfcCondition || IfcGroup::is(v); } Type::Enum IfcCondition::type() const { return Type::IfcCondition; } Type::Enum IfcCondition::Class() { return Type::IfcCondition; } IfcCondition::IfcCondition(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCondition::IfcCondition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcCondition::IfcCondition(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConditionCriterion -IfcConditionCriterionSelect IfcConditionCriterion::Criterion() const { return *entity->getArgument(5); } -void IfcConditionCriterion::setCriterion(IfcConditionCriterionSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcDateTimeSelect IfcConditionCriterion::CriterionDateTime() const { return *entity->getArgument(6); } -void IfcConditionCriterion::setCriterionDateTime(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +IfcConditionCriterionSelect* IfcConditionCriterion::Criterion() const { return (IfcConditionCriterionSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcConditionCriterion::setCriterion(IfcConditionCriterionSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +IfcDateTimeSelect* IfcConditionCriterion::CriterionDateTime() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } +void IfcConditionCriterion::setCriterionDateTime(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcConditionCriterion::is(Type::Enum v) const { return v == Type::IfcConditionCriterion || IfcControl::is(v); } Type::Enum IfcConditionCriterion::type() const { return Type::IfcConditionCriterion; } Type::Enum IfcConditionCriterion::Class() { return Type::IfcConditionCriterion; } IfcConditionCriterion::IfcConditionCriterion(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConditionCriterion)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConditionCriterion::IfcConditionCriterion(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcConditionCriterionSelect v6_Criterion, IfcDateTimeSelect v7_CriterionDateTime) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Criterion)); e->setArgument(6,(v7_CriterionDateTime)); entity = e; EntityBuffer::Add(this); } +IfcConditionCriterion::IfcConditionCriterion(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcConditionCriterionSelect* v6_Criterion, IfcDateTimeSelect* v7_CriterionDateTime) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Criterion)); e->setArgument(6,(v7_CriterionDateTime)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConic -IfcAxis2Placement IfcConic::Position() const { return *entity->getArgument(0); } -void IfcConic::setPosition(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcAxis2Placement* IfcConic::Position() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcConic::setPosition(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcConic::is(Type::Enum v) const { return v == Type::IfcConic || IfcCurve::is(v); } Type::Enum IfcConic::type() const { return Type::IfcConic; } Type::Enum IfcConic::Class() { return Type::IfcConic; } IfcConic::IfcConic(IfcAbstractEntity* e) : IfcCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConic)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConic::IfcConic(IfcAxis2Placement v1_Position) : IfcCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); entity = e; EntityBuffer::Add(this); } +IfcConic::IfcConic(IfcAxis2Placement* v1_Position) : IfcCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectedFaceSet IfcTemplatedEntityList< IfcFace >::ptr IfcConnectedFaceSet::CfsFaces() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } @@ -6218,16 +7622,16 @@ IfcConnectedFaceSet::IfcConnectedFaceSet(IfcAbstractEntity* e) : IfcTopologicalR IfcConnectedFaceSet::IfcConnectedFaceSet(IfcTemplatedEntityList< IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CfsFaces)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionCurveGeometry -IfcCurveOrEdgeCurve IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return *entity->getArgument(0); } -void IfcConnectionCurveGeometry::setCurveOnRelatingElement(IfcCurveOrEdgeCurve v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcCurveOrEdgeCurve* IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return (IfcCurveOrEdgeCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcConnectionCurveGeometry::setCurveOnRelatingElement(IfcCurveOrEdgeCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcConnectionCurveGeometry::hasCurveOnRelatedElement() const { return !entity->getArgument(1)->isNull(); } -IfcCurveOrEdgeCurve IfcConnectionCurveGeometry::CurveOnRelatedElement() const { return *entity->getArgument(1); } -void IfcConnectionCurveGeometry::setCurveOnRelatedElement(IfcCurveOrEdgeCurve v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcCurveOrEdgeCurve* IfcConnectionCurveGeometry::CurveOnRelatedElement() const { return (IfcCurveOrEdgeCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcConnectionCurveGeometry::setCurveOnRelatedElement(IfcCurveOrEdgeCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcConnectionCurveGeometry::is(Type::Enum v) const { return v == Type::IfcConnectionCurveGeometry || IfcConnectionGeometry::is(v); } Type::Enum IfcConnectionCurveGeometry::type() const { return Type::IfcConnectionCurveGeometry; } Type::Enum IfcConnectionCurveGeometry::Class() { return Type::IfcConnectionCurveGeometry; } IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcAbstractEntity* e) : IfcConnectionGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionCurveGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, boost::optional< IfcCurveOrEdgeCurve > v2_CurveOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CurveOnRelatingElement)); if (v2_CurveOnRelatedElement) { e->setArgument(1,(*v2_CurveOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CurveOnRelatingElement)); e->setArgument(1,(v2_CurveOnRelatedElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionGeometry bool IfcConnectionGeometry::is(Type::Enum v) const { return v == Type::IfcConnectionGeometry; } @@ -6238,78 +7642,78 @@ IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity() { IfcW // Function implementations for IfcConnectionPointEccentricity bool IfcConnectionPointEccentricity::hasEccentricityInX() const { return !entity->getArgument(2)->isNull(); } -IfcLengthMeasure IfcConnectionPointEccentricity::EccentricityInX() const { return *entity->getArgument(2); } -void IfcConnectionPointEccentricity::setEccentricityInX(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcConnectionPointEccentricity::EccentricityInX() const { return *entity->getArgument(2); } +void IfcConnectionPointEccentricity::setEccentricityInX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcConnectionPointEccentricity::hasEccentricityInY() const { return !entity->getArgument(3)->isNull(); } -IfcLengthMeasure IfcConnectionPointEccentricity::EccentricityInY() const { return *entity->getArgument(3); } -void IfcConnectionPointEccentricity::setEccentricityInY(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcConnectionPointEccentricity::EccentricityInY() const { return *entity->getArgument(3); } +void IfcConnectionPointEccentricity::setEccentricityInY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcConnectionPointEccentricity::hasEccentricityInZ() const { return !entity->getArgument(4)->isNull(); } -IfcLengthMeasure IfcConnectionPointEccentricity::EccentricityInZ() const { return *entity->getArgument(4); } -void IfcConnectionPointEccentricity::setEccentricityInZ(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcConnectionPointEccentricity::EccentricityInZ() const { return *entity->getArgument(4); } +void IfcConnectionPointEccentricity::setEccentricityInZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcConnectionPointEccentricity::is(Type::Enum v) const { return v == Type::IfcConnectionPointEccentricity || IfcConnectionPointGeometry::is(v); } Type::Enum IfcConnectionPointEccentricity::type() const { return Type::IfcConnectionPointEccentricity; } Type::Enum IfcConnectionPointEccentricity::Class() { return Type::IfcConnectionPointEccentricity; } IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcAbstractEntity* e) : IfcConnectionPointGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionPointEccentricity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcPointOrVertexPoint v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint > v2_PointOnRelatedElement, boost::optional< IfcLengthMeasure > v3_EccentricityInX, boost::optional< IfcLengthMeasure > v4_EccentricityInY, boost::optional< IfcLengthMeasure > v5_EccentricityInZ) : IfcConnectionPointGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PointOnRelatingElement)); if (v2_PointOnRelatedElement) { e->setArgument(1,(*v2_PointOnRelatedElement)); } else { e->setArgument(1); } if (v3_EccentricityInX) { e->setArgument(2,(*v3_EccentricityInX)); } else { e->setArgument(2); } if (v4_EccentricityInY) { e->setArgument(3,(*v4_EccentricityInY)); } else { e->setArgument(3); } if (v5_EccentricityInZ) { e->setArgument(4,(*v5_EccentricityInZ)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcPointOrVertexPoint* v1_PointOnRelatingElement, IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PointOnRelatingElement)); e->setArgument(1,(v2_PointOnRelatedElement)); if (v3_EccentricityInX) { e->setArgument(2,(*v3_EccentricityInX)); } else { e->setArgument(2); } if (v4_EccentricityInY) { e->setArgument(3,(*v4_EccentricityInY)); } else { e->setArgument(3); } if (v5_EccentricityInZ) { e->setArgument(4,(*v5_EccentricityInZ)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionPointGeometry -IfcPointOrVertexPoint IfcConnectionPointGeometry::PointOnRelatingElement() const { return *entity->getArgument(0); } -void IfcConnectionPointGeometry::setPointOnRelatingElement(IfcPointOrVertexPoint v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcPointOrVertexPoint* IfcConnectionPointGeometry::PointOnRelatingElement() const { return (IfcPointOrVertexPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcConnectionPointGeometry::setPointOnRelatingElement(IfcPointOrVertexPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcConnectionPointGeometry::hasPointOnRelatedElement() const { return !entity->getArgument(1)->isNull(); } -IfcPointOrVertexPoint IfcConnectionPointGeometry::PointOnRelatedElement() const { return *entity->getArgument(1); } -void IfcConnectionPointGeometry::setPointOnRelatedElement(IfcPointOrVertexPoint v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcPointOrVertexPoint* IfcConnectionPointGeometry::PointOnRelatedElement() const { return (IfcPointOrVertexPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcConnectionPointGeometry::setPointOnRelatedElement(IfcPointOrVertexPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcConnectionPointGeometry::is(Type::Enum v) const { return v == Type::IfcConnectionPointGeometry || IfcConnectionGeometry::is(v); } Type::Enum IfcConnectionPointGeometry::type() const { return Type::IfcConnectionPointGeometry; } Type::Enum IfcConnectionPointGeometry::Class() { return Type::IfcConnectionPointGeometry; } IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcAbstractEntity* e) : IfcConnectionGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionPointGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcPointOrVertexPoint v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint > v2_PointOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PointOnRelatingElement)); if (v2_PointOnRelatedElement) { e->setArgument(1,(*v2_PointOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcPointOrVertexPoint* v1_PointOnRelatingElement, IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PointOnRelatingElement)); e->setArgument(1,(v2_PointOnRelatedElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionPortGeometry -IfcAxis2Placement IfcConnectionPortGeometry::LocationAtRelatingElement() const { return *entity->getArgument(0); } -void IfcConnectionPortGeometry::setLocationAtRelatingElement(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcAxis2Placement* IfcConnectionPortGeometry::LocationAtRelatingElement() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcConnectionPortGeometry::setLocationAtRelatingElement(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcConnectionPortGeometry::hasLocationAtRelatedElement() const { return !entity->getArgument(1)->isNull(); } -IfcAxis2Placement IfcConnectionPortGeometry::LocationAtRelatedElement() const { return *entity->getArgument(1); } -void IfcConnectionPortGeometry::setLocationAtRelatedElement(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcAxis2Placement* IfcConnectionPortGeometry::LocationAtRelatedElement() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcConnectionPortGeometry::setLocationAtRelatedElement(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcProfileDef* IfcConnectionPortGeometry::ProfileOfPort() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcConnectionPortGeometry::setProfileOfPort(IfcProfileDef* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcConnectionPortGeometry::is(Type::Enum v) const { return v == Type::IfcConnectionPortGeometry || IfcConnectionGeometry::is(v); } Type::Enum IfcConnectionPortGeometry::type() const { return Type::IfcConnectionPortGeometry; } Type::Enum IfcConnectionPortGeometry::Class() { return Type::IfcConnectionPortGeometry; } IfcConnectionPortGeometry::IfcConnectionPortGeometry(IfcAbstractEntity* e) : IfcConnectionGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionPortGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionPortGeometry::IfcConnectionPortGeometry(IfcAxis2Placement v1_LocationAtRelatingElement, boost::optional< IfcAxis2Placement > v2_LocationAtRelatedElement, IfcProfileDef* v3_ProfileOfPort) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_LocationAtRelatingElement)); if (v2_LocationAtRelatedElement) { e->setArgument(1,(*v2_LocationAtRelatedElement)); } else { e->setArgument(1); } e->setArgument(2,(v3_ProfileOfPort)); entity = e; EntityBuffer::Add(this); } +IfcConnectionPortGeometry::IfcConnectionPortGeometry(IfcAxis2Placement* v1_LocationAtRelatingElement, IfcAxis2Placement* v2_LocationAtRelatedElement, IfcProfileDef* v3_ProfileOfPort) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_LocationAtRelatingElement)); e->setArgument(1,(v2_LocationAtRelatedElement)); e->setArgument(2,(v3_ProfileOfPort)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionSurfaceGeometry -IfcSurfaceOrFaceSurface IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return *entity->getArgument(0); } -void IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(IfcSurfaceOrFaceSurface v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcSurfaceOrFaceSurface* IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return (IfcSurfaceOrFaceSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(IfcSurfaceOrFaceSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcConnectionSurfaceGeometry::hasSurfaceOnRelatedElement() const { return !entity->getArgument(1)->isNull(); } -IfcSurfaceOrFaceSurface IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { return *entity->getArgument(1); } -void IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(IfcSurfaceOrFaceSurface v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcSurfaceOrFaceSurface* IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { return (IfcSurfaceOrFaceSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(IfcSurfaceOrFaceSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcConnectionSurfaceGeometry::is(Type::Enum v) const { return v == Type::IfcConnectionSurfaceGeometry || IfcConnectionGeometry::is(v); } Type::Enum IfcConnectionSurfaceGeometry::type() const { return Type::IfcConnectionSurfaceGeometry; } Type::Enum IfcConnectionSurfaceGeometry::Class() { return Type::IfcConnectionSurfaceGeometry; } IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcAbstractEntity* e) : IfcConnectionGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionSurfaceGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, boost::optional< IfcSurfaceOrFaceSurface > v2_SurfaceOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceOnRelatingElement)); if (v2_SurfaceOnRelatedElement) { e->setArgument(1,(*v2_SurfaceOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceOnRelatingElement)); e->setArgument(1,(v2_SurfaceOnRelatedElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstraint -IfcLabel IfcConstraint::Name() const { return *entity->getArgument(0); } -void IfcConstraint::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcConstraint::Name() const { return *entity->getArgument(0); } +void IfcConstraint::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcConstraint::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcConstraint::Description() const { return *entity->getArgument(1); } -void IfcConstraint::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcConstraint::Description() const { return *entity->getArgument(1); } +void IfcConstraint::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcConstraintEnum::IfcConstraintEnum IfcConstraint::ConstraintGrade() const { return IfcConstraintEnum::FromString(*entity->getArgument(2)); } void IfcConstraint::setConstraintGrade(IfcConstraintEnum::IfcConstraintEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcConstraintEnum::ToString(v)); } bool IfcConstraint::hasConstraintSource() const { return !entity->getArgument(3)->isNull(); } -IfcLabel IfcConstraint::ConstraintSource() const { return *entity->getArgument(3); } -void IfcConstraint::setConstraintSource(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcConstraint::ConstraintSource() const { return *entity->getArgument(3); } +void IfcConstraint::setConstraintSource(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcConstraint::hasCreatingActor() const { return !entity->getArgument(4)->isNull(); } -IfcActorSelect IfcConstraint::CreatingActor() const { return *entity->getArgument(4); } -void IfcConstraint::setCreatingActor(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +IfcActorSelect* IfcConstraint::CreatingActor() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } +void IfcConstraint::setCreatingActor(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcConstraint::hasCreationTime() const { return !entity->getArgument(5)->isNull(); } -IfcDateTimeSelect IfcConstraint::CreationTime() const { return *entity->getArgument(5); } -void IfcConstraint::setCreationTime(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +IfcDateTimeSelect* IfcConstraint::CreationTime() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcConstraint::setCreationTime(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcConstraint::hasUserDefinedGrade() const { return !entity->getArgument(6)->isNull(); } -IfcLabel IfcConstraint::UserDefinedGrade() const { return *entity->getArgument(6); } -void IfcConstraint::setUserDefinedGrade(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcConstraint::UserDefinedGrade() const { return *entity->getArgument(6); } +void IfcConstraint::setUserDefinedGrade(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } IfcConstraintClassificationRelationship::list::ptr IfcConstraint::ClassifiedAs() const { return entity->getInverse(Type::IfcConstraintClassificationRelationship)->as(); } IfcConstraintRelationship::list::ptr IfcConstraint::RelatesConstraints() const { return entity->getInverse(Type::IfcConstraintRelationship)->as(); } IfcConstraintRelationship::list::ptr IfcConstraint::IsRelatedWith() const { return entity->getInverse(Type::IfcConstraintRelationship)->as(); } @@ -6320,15 +7724,15 @@ bool IfcConstraint::is(Type::Enum v) const { return v == Type::IfcConstraint; } Type::Enum IfcConstraint::type() const { return Type::IfcConstraint; } Type::Enum IfcConstraint::Class() { return Type::IfcConstraint; } IfcConstraint::IfcConstraint(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcConstraint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstraint::IfcConstraint(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTimeSelect > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } if (v5_CreatingActor) { e->setArgument(4,(*v5_CreatingActor)); } else { e->setArgument(4); } if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, IfcActorSelect* v5_CreatingActor, IfcDateTimeSelect* v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } e->setArgument(4,(v5_CreatingActor)); e->setArgument(5,(v6_CreationTime)); if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstraintAggregationRelationship bool IfcConstraintAggregationRelationship::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcConstraintAggregationRelationship::Name() const { return *entity->getArgument(0); } -void IfcConstraintAggregationRelationship::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcConstraintAggregationRelationship::Name() const { return *entity->getArgument(0); } +void IfcConstraintAggregationRelationship::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcConstraintAggregationRelationship::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcConstraintAggregationRelationship::Description() const { return *entity->getArgument(1); } -void IfcConstraintAggregationRelationship::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcConstraintAggregationRelationship::Description() const { return *entity->getArgument(1); } +void IfcConstraintAggregationRelationship::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcConstraint* IfcConstraintAggregationRelationship::RelatingConstraint() const { return (IfcConstraint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcConstraintAggregationRelationship::setRelatingConstraint(IfcConstraint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcTemplatedEntityList< IfcConstraint >::ptr IfcConstraintAggregationRelationship::RelatedConstraints() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } @@ -6339,13 +7743,13 @@ bool IfcConstraintAggregationRelationship::is(Type::Enum v) const { return v == Type::Enum IfcConstraintAggregationRelationship::type() const { return Type::IfcConstraintAggregationRelationship; } Type::Enum IfcConstraintAggregationRelationship::Class() { return Type::IfcConstraintAggregationRelationship; } IfcConstraintAggregationRelationship::IfcConstraintAggregationRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcConstraintAggregationRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstraintAggregationRelationship::IfcConstraintAggregationRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcConstraint* v3_RelatingConstraint, IfcTemplatedEntityList< IfcConstraint >::ptr v4_RelatedConstraints, IfcLogicalOperatorEnum::IfcLogicalOperatorEnum v5_LogicalAggregator) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingConstraint)); e->setArgument(3,(v4_RelatedConstraints)->generalize()); e->setArgument(4,v5_LogicalAggregator,IfcLogicalOperatorEnum::ToString(v5_LogicalAggregator)); entity = e; EntityBuffer::Add(this); } +IfcConstraintAggregationRelationship::IfcConstraintAggregationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcConstraint* v3_RelatingConstraint, IfcTemplatedEntityList< IfcConstraint >::ptr v4_RelatedConstraints, IfcLogicalOperatorEnum::IfcLogicalOperatorEnum v5_LogicalAggregator) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingConstraint)); e->setArgument(3,(v4_RelatedConstraints)->generalize()); e->setArgument(4,v5_LogicalAggregator,IfcLogicalOperatorEnum::ToString(v5_LogicalAggregator)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstraintClassificationRelationship IfcConstraint* IfcConstraintClassificationRelationship::ClassifiedConstraint() const { return (IfcConstraint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcConstraintClassificationRelationship::setClassifiedConstraint(IfcConstraint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcConstraintClassificationRelationship::RelatedClassifications() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcConstraintClassificationRelationship::setRelatedClassifications(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +IfcEntityList::ptr IfcConstraintClassificationRelationship::RelatedClassifications() const { return *entity->getArgument(1); } +void IfcConstraintClassificationRelationship::setRelatedClassifications(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } 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; } @@ -6354,11 +7758,11 @@ IfcConstraintClassificationRelationship::IfcConstraintClassificationRelationship // Function implementations for IfcConstraintRelationship bool IfcConstraintRelationship::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcConstraintRelationship::Name() const { return *entity->getArgument(0); } -void IfcConstraintRelationship::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcConstraintRelationship::Name() const { return *entity->getArgument(0); } +void IfcConstraintRelationship::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcConstraintRelationship::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcConstraintRelationship::Description() const { return *entity->getArgument(1); } -void IfcConstraintRelationship::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcConstraintRelationship::Description() const { return *entity->getArgument(1); } +void IfcConstraintRelationship::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcConstraint* IfcConstraintRelationship::RelatingConstraint() const { return (IfcConstraint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcConstraintRelationship::setRelatingConstraint(IfcConstraint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcTemplatedEntityList< IfcConstraint >::ptr IfcConstraintRelationship::RelatedConstraints() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } @@ -6367,42 +7771,42 @@ bool IfcConstraintRelationship::is(Type::Enum v) const { return v == Type::IfcCo Type::Enum IfcConstraintRelationship::type() const { return Type::IfcConstraintRelationship; } Type::Enum IfcConstraintRelationship::Class() { return Type::IfcConstraintRelationship; } IfcConstraintRelationship::IfcConstraintRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcConstraintRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstraintRelationship::IfcConstraintRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcConstraint* v3_RelatingConstraint, IfcTemplatedEntityList< IfcConstraint >::ptr v4_RelatedConstraints) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingConstraint)); e->setArgument(3,(v4_RelatedConstraints)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcConstraintRelationship::IfcConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcConstraint* v3_RelatingConstraint, IfcTemplatedEntityList< IfcConstraint >::ptr v4_RelatedConstraints) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingConstraint)); e->setArgument(3,(v4_RelatedConstraints)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionEquipmentResource bool IfcConstructionEquipmentResource::is(Type::Enum v) const { return v == Type::IfcConstructionEquipmentResource || IfcConstructionResource::is(v); } Type::Enum IfcConstructionEquipmentResource::type() const { return Type::IfcConstructionEquipmentResource; } Type::Enum IfcConstructionEquipmentResource::Class() { return Type::IfcConstructionEquipmentResource; } IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionEquipmentResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); entity = e; EntityBuffer::Add(this); } +IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionMaterialResource bool IfcConstructionMaterialResource::hasSuppliers() const { return !entity->getArgument(9)->isNull(); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcConstructionMaterialResource::Suppliers() const { IfcEntityList::ptr es = *entity->getArgument(9); return es->as(); } -void IfcConstructionMaterialResource::setSuppliers(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } +IfcEntityList::ptr IfcConstructionMaterialResource::Suppliers() const { return *entity->getArgument(9); } +void IfcConstructionMaterialResource::setSuppliers(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcConstructionMaterialResource::hasUsageRatio() const { return !entity->getArgument(10)->isNull(); } -IfcRatioMeasure IfcConstructionMaterialResource::UsageRatio() const { return *entity->getArgument(10); } -void IfcConstructionMaterialResource::setUsageRatio(IfcRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcConstructionMaterialResource::UsageRatio() const { return *entity->getArgument(10); } +void IfcConstructionMaterialResource::setUsageRatio(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcConstructionMaterialResource::is(Type::Enum v) const { return v == Type::IfcConstructionMaterialResource || IfcConstructionResource::is(v); } Type::Enum IfcConstructionMaterialResource::type() const { return Type::IfcConstructionMaterialResource; } Type::Enum IfcConstructionMaterialResource::Class() { return Type::IfcConstructionMaterialResource; } IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionMaterialResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< IfcEntityList::ptr > v10_Suppliers, boost::optional< IfcRatioMeasure > v11_UsageRatio) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); if (v10_Suppliers) { e->setArgument(9,(*v10_Suppliers)); } else { e->setArgument(9); } if (v11_UsageRatio) { e->setArgument(10,(*v11_UsageRatio)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< IfcEntityList::ptr > v10_Suppliers, boost::optional< double > v11_UsageRatio) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); if (v10_Suppliers) { e->setArgument(9,(*v10_Suppliers)); } else { e->setArgument(9); } if (v11_UsageRatio) { e->setArgument(10,(*v11_UsageRatio)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionProductResource bool IfcConstructionProductResource::is(Type::Enum v) const { return v == Type::IfcConstructionProductResource || IfcConstructionResource::is(v); } Type::Enum IfcConstructionProductResource::type() const { return Type::IfcConstructionProductResource; } Type::Enum IfcConstructionProductResource::Class() { return Type::IfcConstructionProductResource; } IfcConstructionProductResource::IfcConstructionProductResource(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionProductResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionProductResource::IfcConstructionProductResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); entity = e; EntityBuffer::Add(this); } +IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionResource bool IfcConstructionResource::hasResourceIdentifier() const { return !entity->getArgument(5)->isNull(); } -IfcIdentifier IfcConstructionResource::ResourceIdentifier() const { return *entity->getArgument(5); } -void IfcConstructionResource::setResourceIdentifier(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcConstructionResource::ResourceIdentifier() const { return *entity->getArgument(5); } +void IfcConstructionResource::setResourceIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcConstructionResource::hasResourceGroup() const { return !entity->getArgument(6)->isNull(); } -IfcLabel IfcConstructionResource::ResourceGroup() const { return *entity->getArgument(6); } -void IfcConstructionResource::setResourceGroup(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcConstructionResource::ResourceGroup() const { return *entity->getArgument(6); } +void IfcConstructionResource::setResourceGroup(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcConstructionResource::hasResourceConsumption() const { return !entity->getArgument(7)->isNull(); } IfcResourceConsumptionEnum::IfcResourceConsumptionEnum IfcConstructionResource::ResourceConsumption() const { return IfcResourceConsumptionEnum::FromString(*entity->getArgument(7)); } void IfcConstructionResource::setResourceConsumption(IfcResourceConsumptionEnum::IfcResourceConsumptionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcResourceConsumptionEnum::ToString(v)); } @@ -6413,16 +7817,16 @@ bool IfcConstructionResource::is(Type::Enum v) const { return v == Type::IfcCons Type::Enum IfcConstructionResource::type() const { return Type::IfcConstructionResource; } Type::Enum IfcConstructionResource::Class() { return Type::IfcConstructionResource; } IfcConstructionResource::IfcConstructionResource(IfcAbstractEntity* e) : IfcResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionResource::IfcConstructionResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity) : IfcResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); entity = e; EntityBuffer::Add(this); } +IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity) : IfcResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcContextDependentUnit -IfcLabel IfcContextDependentUnit::Name() const { return *entity->getArgument(2); } -void IfcContextDependentUnit::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcContextDependentUnit::Name() const { return *entity->getArgument(2); } +void IfcContextDependentUnit::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcContextDependentUnit::is(Type::Enum v) const { return v == Type::IfcContextDependentUnit || IfcNamedUnit::is(v); } Type::Enum IfcContextDependentUnit::type() const { return Type::IfcContextDependentUnit; } Type::Enum IfcContextDependentUnit::Class() { return Type::IfcContextDependentUnit; } IfcContextDependentUnit::IfcContextDependentUnit(IfcAbstractEntity* e) : IfcNamedUnit((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcContextDependentUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcContextDependentUnit::IfcContextDependentUnit(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, IfcLabel v3_Name) : IfcNamedUnit((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Dimensions)); e->setArgument(1,v2_UnitType,IfcUnitEnum::ToString(v2_UnitType)); e->setArgument(2,(v3_Name)); entity = e; EntityBuffer::Add(this); } +IfcContextDependentUnit::IfcContextDependentUnit(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, std::string v3_Name) : IfcNamedUnit((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Dimensions)); e->setArgument(1,v2_UnitType,IfcUnitEnum::ToString(v2_UnitType)); e->setArgument(2,(v3_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcControl IfcRelAssignsToControl::list::ptr IfcControl::Controls() const { return entity->getInverse(Type::IfcRelAssignsToControl)->as(); } @@ -6430,7 +7834,7 @@ bool IfcControl::is(Type::Enum v) const { return v == Type::IfcControl || IfcObj Type::Enum IfcControl::type() const { return Type::IfcControl; } Type::Enum IfcControl::Class() { return Type::IfcControl; } IfcControl::IfcControl(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcControl::IfcControl(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcControl::IfcControl(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcControllerType IfcControllerTypeEnum::IfcControllerTypeEnum IfcControllerType::PredefinedType() const { return IfcControllerTypeEnum::FromString(*entity->getArgument(9)); } @@ -6439,18 +7843,18 @@ bool IfcControllerType::is(Type::Enum v) const { return v == Type::IfcController Type::Enum IfcControllerType::type() const { return Type::IfcControllerType; } Type::Enum IfcControllerType::Class() { return Type::IfcControllerType; } IfcControllerType::IfcControllerType(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcControllerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcControllerType::IfcControllerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcControllerTypeEnum::IfcControllerTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcControllerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcControllerType::IfcControllerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcControllerTypeEnum::IfcControllerTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcControllerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConversionBasedUnit -IfcLabel IfcConversionBasedUnit::Name() const { return *entity->getArgument(2); } -void IfcConversionBasedUnit::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcConversionBasedUnit::Name() const { return *entity->getArgument(2); } +void IfcConversionBasedUnit::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcMeasureWithUnit* IfcConversionBasedUnit::ConversionFactor() const { return (IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcConversionBasedUnit::setConversionFactor(IfcMeasureWithUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcConversionBasedUnit::is(Type::Enum v) const { return v == Type::IfcConversionBasedUnit || IfcNamedUnit::is(v); } Type::Enum IfcConversionBasedUnit::type() const { return Type::IfcConversionBasedUnit; } Type::Enum IfcConversionBasedUnit::Class() { return Type::IfcConversionBasedUnit; } IfcConversionBasedUnit::IfcConversionBasedUnit(IfcAbstractEntity* e) : IfcNamedUnit((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConversionBasedUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConversionBasedUnit::IfcConversionBasedUnit(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, IfcLabel v3_Name, IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Dimensions)); e->setArgument(1,v2_UnitType,IfcUnitEnum::ToString(v2_UnitType)); e->setArgument(2,(v3_Name)); e->setArgument(3,(v4_ConversionFactor)); entity = e; EntityBuffer::Add(this); } +IfcConversionBasedUnit::IfcConversionBasedUnit(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, std::string v3_Name, IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Dimensions)); e->setArgument(1,v2_UnitType,IfcUnitEnum::ToString(v2_UnitType)); e->setArgument(2,(v3_Name)); e->setArgument(3,(v4_ConversionFactor)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCooledBeamType IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum IfcCooledBeamType::PredefinedType() const { return IfcCooledBeamTypeEnum::FromString(*entity->getArgument(9)); } @@ -6459,7 +7863,7 @@ bool IfcCooledBeamType::is(Type::Enum v) const { return v == Type::IfcCooledBeam Type::Enum IfcCooledBeamType::type() const { return Type::IfcCooledBeamType; } Type::Enum IfcCooledBeamType::Class() { return Type::IfcCooledBeamType; } IfcCooledBeamType::IfcCooledBeamType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCooledBeamType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCooledBeamType::IfcCooledBeamType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCooledBeamTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCooledBeamTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoolingTowerType IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum IfcCoolingTowerType::PredefinedType() const { return IfcCoolingTowerTypeEnum::FromString(*entity->getArgument(9)); } @@ -6468,69 +7872,69 @@ bool IfcCoolingTowerType::is(Type::Enum v) const { return v == Type::IfcCoolingT Type::Enum IfcCoolingTowerType::type() const { return Type::IfcCoolingTowerType; } Type::Enum IfcCoolingTowerType::Class() { return Type::IfcCoolingTowerType; } IfcCoolingTowerType::IfcCoolingTowerType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCoolingTowerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoolingTowerType::IfcCoolingTowerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCoolingTowerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCoolingTowerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoordinatedUniversalTimeOffset -IfcHourInDay IfcCoordinatedUniversalTimeOffset::HourOffset() const { return *entity->getArgument(0); } -void IfcCoordinatedUniversalTimeOffset::setHourOffset(IfcHourInDay v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +int IfcCoordinatedUniversalTimeOffset::HourOffset() const { return *entity->getArgument(0); } +void IfcCoordinatedUniversalTimeOffset::setHourOffset(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcCoordinatedUniversalTimeOffset::hasMinuteOffset() const { return !entity->getArgument(1)->isNull(); } -IfcMinuteInHour IfcCoordinatedUniversalTimeOffset::MinuteOffset() const { return *entity->getArgument(1); } -void IfcCoordinatedUniversalTimeOffset::setMinuteOffset(IfcMinuteInHour v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +int IfcCoordinatedUniversalTimeOffset::MinuteOffset() const { return *entity->getArgument(1); } +void IfcCoordinatedUniversalTimeOffset::setMinuteOffset(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcAheadOrBehind::IfcAheadOrBehind IfcCoordinatedUniversalTimeOffset::Sense() const { return IfcAheadOrBehind::FromString(*entity->getArgument(2)); } void IfcCoordinatedUniversalTimeOffset::setSense(IfcAheadOrBehind::IfcAheadOrBehind v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcAheadOrBehind::ToString(v)); } bool IfcCoordinatedUniversalTimeOffset::is(Type::Enum v) const { return v == Type::IfcCoordinatedUniversalTimeOffset; } Type::Enum IfcCoordinatedUniversalTimeOffset::type() const { return Type::IfcCoordinatedUniversalTimeOffset; } Type::Enum IfcCoordinatedUniversalTimeOffset::Class() { return Type::IfcCoordinatedUniversalTimeOffset; } IfcCoordinatedUniversalTimeOffset::IfcCoordinatedUniversalTimeOffset(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCoordinatedUniversalTimeOffset)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoordinatedUniversalTimeOffset::IfcCoordinatedUniversalTimeOffset(IfcHourInDay v1_HourOffset, boost::optional< IfcMinuteInHour > v2_MinuteOffset, IfcAheadOrBehind::IfcAheadOrBehind v3_Sense) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_HourOffset)); if (v2_MinuteOffset) { e->setArgument(1,(*v2_MinuteOffset)); } else { e->setArgument(1); } e->setArgument(2,v3_Sense,IfcAheadOrBehind::ToString(v3_Sense)); entity = e; EntityBuffer::Add(this); } +IfcCoordinatedUniversalTimeOffset::IfcCoordinatedUniversalTimeOffset(int v1_HourOffset, boost::optional< int > v2_MinuteOffset, IfcAheadOrBehind::IfcAheadOrBehind v3_Sense) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_HourOffset)); if (v2_MinuteOffset) { e->setArgument(1,(*v2_MinuteOffset)); } else { e->setArgument(1); } e->setArgument(2,v3_Sense,IfcAheadOrBehind::ToString(v3_Sense)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCostItem bool IfcCostItem::is(Type::Enum v) const { return v == Type::IfcCostItem || IfcControl::is(v); } Type::Enum IfcCostItem::type() const { return Type::IfcCostItem; } Type::Enum IfcCostItem::Class() { return Type::IfcCostItem; } IfcCostItem::IfcCostItem(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCostItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCostItem::IfcCostItem(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcCostItem::IfcCostItem(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCostSchedule bool IfcCostSchedule::hasSubmittedBy() const { return !entity->getArgument(5)->isNull(); } -IfcActorSelect IfcCostSchedule::SubmittedBy() const { return *entity->getArgument(5); } -void IfcCostSchedule::setSubmittedBy(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +IfcActorSelect* IfcCostSchedule::SubmittedBy() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcCostSchedule::setSubmittedBy(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcCostSchedule::hasPreparedBy() const { return !entity->getArgument(6)->isNull(); } -IfcActorSelect IfcCostSchedule::PreparedBy() const { return *entity->getArgument(6); } -void IfcCostSchedule::setPreparedBy(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +IfcActorSelect* IfcCostSchedule::PreparedBy() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } +void IfcCostSchedule::setPreparedBy(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcCostSchedule::hasSubmittedOn() const { return !entity->getArgument(7)->isNull(); } -IfcDateTimeSelect IfcCostSchedule::SubmittedOn() const { return *entity->getArgument(7); } -void IfcCostSchedule::setSubmittedOn(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +IfcDateTimeSelect* IfcCostSchedule::SubmittedOn() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } +void IfcCostSchedule::setSubmittedOn(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcCostSchedule::hasStatus() const { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcCostSchedule::Status() const { return *entity->getArgument(8); } -void IfcCostSchedule::setStatus(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcCostSchedule::Status() const { return *entity->getArgument(8); } +void IfcCostSchedule::setStatus(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcCostSchedule::hasTargetUsers() const { return !entity->getArgument(9)->isNull(); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcCostSchedule::TargetUsers() const { IfcEntityList::ptr es = *entity->getArgument(9); return es->as(); } -void IfcCostSchedule::setTargetUsers(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } +IfcEntityList::ptr IfcCostSchedule::TargetUsers() const { return *entity->getArgument(9); } +void IfcCostSchedule::setTargetUsers(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcCostSchedule::hasUpdateDate() const { return !entity->getArgument(10)->isNull(); } -IfcDateTimeSelect IfcCostSchedule::UpdateDate() const { return *entity->getArgument(10); } -void IfcCostSchedule::setUpdateDate(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -IfcIdentifier IfcCostSchedule::ID() const { return *entity->getArgument(11); } -void IfcCostSchedule::setID(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +IfcDateTimeSelect* IfcCostSchedule::UpdateDate() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } +void IfcCostSchedule::setUpdateDate(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +std::string IfcCostSchedule::ID() const { return *entity->getArgument(11); } +void IfcCostSchedule::setID(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum IfcCostSchedule::PredefinedType() const { return IfcCostScheduleTypeEnum::FromString(*entity->getArgument(12)); } void IfcCostSchedule::setPredefinedType(IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v,IfcCostScheduleTypeEnum::ToString(v)); } bool IfcCostSchedule::is(Type::Enum v) const { return v == Type::IfcCostSchedule || IfcControl::is(v); } Type::Enum IfcCostSchedule::type() const { return Type::IfcCostSchedule; } Type::Enum IfcCostSchedule::Class() { return Type::IfcCostSchedule; } IfcCostSchedule::IfcCostSchedule(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCostSchedule)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCostSchedule::IfcCostSchedule(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcActorSelect > v6_SubmittedBy, boost::optional< IfcActorSelect > v7_PreparedBy, boost::optional< IfcDateTimeSelect > v8_SubmittedOn, boost::optional< IfcLabel > v9_Status, boost::optional< IfcEntityList::ptr > v10_TargetUsers, boost::optional< IfcDateTimeSelect > v11_UpdateDate, IfcIdentifier v12_ID, IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum v13_PredefinedType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_SubmittedBy) { e->setArgument(5,(*v6_SubmittedBy)); } else { e->setArgument(5); } if (v7_PreparedBy) { e->setArgument(6,(*v7_PreparedBy)); } else { e->setArgument(6); } if (v8_SubmittedOn) { e->setArgument(7,(*v8_SubmittedOn)); } else { e->setArgument(7); } if (v9_Status) { e->setArgument(8,(*v9_Status)); } else { e->setArgument(8); } if (v10_TargetUsers) { e->setArgument(9,(*v10_TargetUsers)); } else { e->setArgument(9); } if (v11_UpdateDate) { e->setArgument(10,(*v11_UpdateDate)); } else { e->setArgument(10); } e->setArgument(11,(v12_ID)); e->setArgument(12,v13_PredefinedType,IfcCostScheduleTypeEnum::ToString(v13_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcActorSelect* v6_SubmittedBy, IfcActorSelect* v7_PreparedBy, IfcDateTimeSelect* v8_SubmittedOn, boost::optional< std::string > v9_Status, boost::optional< IfcEntityList::ptr > v10_TargetUsers, IfcDateTimeSelect* v11_UpdateDate, std::string v12_ID, IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum v13_PredefinedType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_SubmittedBy)); e->setArgument(6,(v7_PreparedBy)); e->setArgument(7,(v8_SubmittedOn)); if (v9_Status) { e->setArgument(8,(*v9_Status)); } else { e->setArgument(8); } if (v10_TargetUsers) { e->setArgument(9,(*v10_TargetUsers)); } else { e->setArgument(9); } e->setArgument(10,(v11_UpdateDate)); e->setArgument(11,(v12_ID)); e->setArgument(12,v13_PredefinedType,IfcCostScheduleTypeEnum::ToString(v13_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCostValue -IfcLabel IfcCostValue::CostType() const { return *entity->getArgument(6); } -void IfcCostValue::setCostType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcCostValue::CostType() const { return *entity->getArgument(6); } +void IfcCostValue::setCostType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcCostValue::hasCondition() const { return !entity->getArgument(7)->isNull(); } -IfcText IfcCostValue::Condition() const { return *entity->getArgument(7); } -void IfcCostValue::setCondition(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcCostValue::Condition() const { return *entity->getArgument(7); } +void IfcCostValue::setCondition(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcCostValue::is(Type::Enum v) const { return v == Type::IfcCostValue || IfcAppliedValue::is(v); } Type::Enum IfcCostValue::type() const { return Type::IfcCostValue; } Type::Enum IfcCostValue::Class() { return Type::IfcCostValue; } IfcCostValue::IfcCostValue(IfcAbstractEntity* e) : IfcAppliedValue((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCostValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCostValue::IfcCostValue(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDateTimeSelect > v5_ApplicableDate, boost::optional< IfcDateTimeSelect > v6_FixedUntilDate, IfcLabel v7_CostType, boost::optional< IfcText > v8_Condition) : IfcAppliedValue((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_AppliedValue) { e->setArgument(2,(*v3_AppliedValue)); } else { e->setArgument(2); } e->setArgument(3,(v4_UnitBasis)); if (v5_ApplicableDate) { e->setArgument(4,(*v5_ApplicableDate)); } else { e->setArgument(4); } if (v6_FixedUntilDate) { e->setArgument(5,(*v6_FixedUntilDate)); } else { e->setArgument(5); } e->setArgument(6,(v7_CostType)); if (v8_Condition) { e->setArgument(7,(*v8_Condition)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcAppliedValueSelect* v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, IfcDateTimeSelect* v5_ApplicableDate, IfcDateTimeSelect* v6_FixedUntilDate, std::string v7_CostType, boost::optional< std::string > v8_Condition) : IfcAppliedValue((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AppliedValue)); e->setArgument(3,(v4_UnitBasis)); e->setArgument(4,(v5_ApplicableDate)); e->setArgument(5,(v6_FixedUntilDate)); e->setArgument(6,(v7_CostType)); if (v8_Condition) { e->setArgument(7,(*v8_Condition)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCovering bool IfcCovering::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -6542,7 +7946,7 @@ bool IfcCovering::is(Type::Enum v) const { return v == Type::IfcCovering || IfcB Type::Enum IfcCovering::type() const { return Type::IfcCovering; } Type::Enum IfcCovering::Class() { return Type::IfcCovering; } IfcCovering::IfcCovering(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCovering)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCovering::IfcCovering(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCoveringTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCovering::IfcCovering(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCoveringTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoveringType IfcCoveringTypeEnum::IfcCoveringTypeEnum IfcCoveringType::PredefinedType() const { return IfcCoveringTypeEnum::FromString(*entity->getArgument(9)); } @@ -6551,74 +7955,74 @@ bool IfcCoveringType::is(Type::Enum v) const { return v == Type::IfcCoveringType Type::Enum IfcCoveringType::type() const { return Type::IfcCoveringType; } Type::Enum IfcCoveringType::Class() { return Type::IfcCoveringType; } IfcCoveringType::IfcCoveringType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCoveringType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoveringType::IfcCoveringType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoveringTypeEnum::IfcCoveringTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCoveringTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCoveringTypeEnum::IfcCoveringTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCoveringTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCraneRailAShapeProfileDef -IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::OverallHeight() const { return *entity->getArgument(3); } -void IfcCraneRailAShapeProfileDef::setOverallHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::BaseWidth2() const { return *entity->getArgument(4); } -void IfcCraneRailAShapeProfileDef::setBaseWidth2(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcCraneRailAShapeProfileDef::OverallHeight() const { return *entity->getArgument(3); } +void IfcCraneRailAShapeProfileDef::setOverallHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcCraneRailAShapeProfileDef::BaseWidth2() const { return *entity->getArgument(4); } +void IfcCraneRailAShapeProfileDef::setBaseWidth2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcCraneRailAShapeProfileDef::hasRadius() const { return !entity->getArgument(5)->isNull(); } -IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::Radius() const { return *entity->getArgument(5); } -void IfcCraneRailAShapeProfileDef::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::HeadWidth() const { return *entity->getArgument(6); } -void IfcCraneRailAShapeProfileDef::setHeadWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::HeadDepth2() const { return *entity->getArgument(7); } -void IfcCraneRailAShapeProfileDef::setHeadDepth2(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::HeadDepth3() const { return *entity->getArgument(8); } -void IfcCraneRailAShapeProfileDef::setHeadDepth3(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::WebThickness() const { return *entity->getArgument(9); } -void IfcCraneRailAShapeProfileDef::setWebThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::BaseWidth4() const { return *entity->getArgument(10); } -void IfcCraneRailAShapeProfileDef::setBaseWidth4(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::BaseDepth1() const { return *entity->getArgument(11); } -void IfcCraneRailAShapeProfileDef::setBaseDepth1(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::BaseDepth2() const { return *entity->getArgument(12); } -void IfcCraneRailAShapeProfileDef::setBaseDepth2(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::BaseDepth3() const { return *entity->getArgument(13); } -void IfcCraneRailAShapeProfileDef::setBaseDepth3(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } +double IfcCraneRailAShapeProfileDef::Radius() const { return *entity->getArgument(5); } +void IfcCraneRailAShapeProfileDef::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcCraneRailAShapeProfileDef::HeadWidth() const { return *entity->getArgument(6); } +void IfcCraneRailAShapeProfileDef::setHeadWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcCraneRailAShapeProfileDef::HeadDepth2() const { return *entity->getArgument(7); } +void IfcCraneRailAShapeProfileDef::setHeadDepth2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcCraneRailAShapeProfileDef::HeadDepth3() const { return *entity->getArgument(8); } +void IfcCraneRailAShapeProfileDef::setHeadDepth3(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcCraneRailAShapeProfileDef::WebThickness() const { return *entity->getArgument(9); } +void IfcCraneRailAShapeProfileDef::setWebThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcCraneRailAShapeProfileDef::BaseWidth4() const { return *entity->getArgument(10); } +void IfcCraneRailAShapeProfileDef::setBaseWidth4(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcCraneRailAShapeProfileDef::BaseDepth1() const { return *entity->getArgument(11); } +void IfcCraneRailAShapeProfileDef::setBaseDepth1(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcCraneRailAShapeProfileDef::BaseDepth2() const { return *entity->getArgument(12); } +void IfcCraneRailAShapeProfileDef::setBaseDepth2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +double IfcCraneRailAShapeProfileDef::BaseDepth3() const { return *entity->getArgument(13); } +void IfcCraneRailAShapeProfileDef::setBaseDepth3(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } bool IfcCraneRailAShapeProfileDef::hasCentreOfGravityInY() const { return !entity->getArgument(14)->isNull(); } -IfcPositiveLengthMeasure IfcCraneRailAShapeProfileDef::CentreOfGravityInY() const { return *entity->getArgument(14); } -void IfcCraneRailAShapeProfileDef::setCentreOfGravityInY(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } +double IfcCraneRailAShapeProfileDef::CentreOfGravityInY() const { return *entity->getArgument(14); } +void IfcCraneRailAShapeProfileDef::setCentreOfGravityInY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } bool IfcCraneRailAShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcCraneRailAShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcCraneRailAShapeProfileDef::type() const { return Type::IfcCraneRailAShapeProfileDef; } Type::Enum IfcCraneRailAShapeProfileDef::Class() { return Type::IfcCraneRailAShapeProfileDef; } IfcCraneRailAShapeProfileDef::IfcCraneRailAShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCraneRailAShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCraneRailAShapeProfileDef::IfcCraneRailAShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_OverallHeight, IfcPositiveLengthMeasure v5_BaseWidth2, boost::optional< IfcPositiveLengthMeasure > v6_Radius, IfcPositiveLengthMeasure v7_HeadWidth, IfcPositiveLengthMeasure v8_HeadDepth2, IfcPositiveLengthMeasure v9_HeadDepth3, IfcPositiveLengthMeasure v10_WebThickness, IfcPositiveLengthMeasure v11_BaseWidth4, IfcPositiveLengthMeasure v12_BaseDepth1, IfcPositiveLengthMeasure v13_BaseDepth2, IfcPositiveLengthMeasure v14_BaseDepth3, boost::optional< IfcPositiveLengthMeasure > v15_CentreOfGravityInY) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_OverallHeight)); e->setArgument(4,(v5_BaseWidth2)); if (v6_Radius) { e->setArgument(5,(*v6_Radius)); } else { e->setArgument(5); } e->setArgument(6,(v7_HeadWidth)); e->setArgument(7,(v8_HeadDepth2)); e->setArgument(8,(v9_HeadDepth3)); e->setArgument(9,(v10_WebThickness)); e->setArgument(10,(v11_BaseWidth4)); e->setArgument(11,(v12_BaseDepth1)); e->setArgument(12,(v13_BaseDepth2)); e->setArgument(13,(v14_BaseDepth3)); if (v15_CentreOfGravityInY) { e->setArgument(14,(*v15_CentreOfGravityInY)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } +IfcCraneRailAShapeProfileDef::IfcCraneRailAShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_OverallHeight, double v5_BaseWidth2, boost::optional< double > v6_Radius, double v7_HeadWidth, double v8_HeadDepth2, double v9_HeadDepth3, double v10_WebThickness, double v11_BaseWidth4, double v12_BaseDepth1, double v13_BaseDepth2, double v14_BaseDepth3, boost::optional< double > v15_CentreOfGravityInY) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_OverallHeight)); e->setArgument(4,(v5_BaseWidth2)); if (v6_Radius) { e->setArgument(5,(*v6_Radius)); } else { e->setArgument(5); } e->setArgument(6,(v7_HeadWidth)); e->setArgument(7,(v8_HeadDepth2)); e->setArgument(8,(v9_HeadDepth3)); e->setArgument(9,(v10_WebThickness)); e->setArgument(10,(v11_BaseWidth4)); e->setArgument(11,(v12_BaseDepth1)); e->setArgument(12,(v13_BaseDepth2)); e->setArgument(13,(v14_BaseDepth3)); if (v15_CentreOfGravityInY) { e->setArgument(14,(*v15_CentreOfGravityInY)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCraneRailFShapeProfileDef -IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::OverallHeight() const { return *entity->getArgument(3); } -void IfcCraneRailFShapeProfileDef::setOverallHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::HeadWidth() const { return *entity->getArgument(4); } -void IfcCraneRailFShapeProfileDef::setHeadWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcCraneRailFShapeProfileDef::OverallHeight() const { return *entity->getArgument(3); } +void IfcCraneRailFShapeProfileDef::setOverallHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcCraneRailFShapeProfileDef::HeadWidth() const { return *entity->getArgument(4); } +void IfcCraneRailFShapeProfileDef::setHeadWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcCraneRailFShapeProfileDef::hasRadius() const { return !entity->getArgument(5)->isNull(); } -IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::Radius() const { return *entity->getArgument(5); } -void IfcCraneRailFShapeProfileDef::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::HeadDepth2() const { return *entity->getArgument(6); } -void IfcCraneRailFShapeProfileDef::setHeadDepth2(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::HeadDepth3() const { return *entity->getArgument(7); } -void IfcCraneRailFShapeProfileDef::setHeadDepth3(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::WebThickness() const { return *entity->getArgument(8); } -void IfcCraneRailFShapeProfileDef::setWebThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::BaseDepth1() const { return *entity->getArgument(9); } -void IfcCraneRailFShapeProfileDef::setBaseDepth1(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::BaseDepth2() const { return *entity->getArgument(10); } -void IfcCraneRailFShapeProfileDef::setBaseDepth2(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcCraneRailFShapeProfileDef::Radius() const { return *entity->getArgument(5); } +void IfcCraneRailFShapeProfileDef::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcCraneRailFShapeProfileDef::HeadDepth2() const { return *entity->getArgument(6); } +void IfcCraneRailFShapeProfileDef::setHeadDepth2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcCraneRailFShapeProfileDef::HeadDepth3() const { return *entity->getArgument(7); } +void IfcCraneRailFShapeProfileDef::setHeadDepth3(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcCraneRailFShapeProfileDef::WebThickness() const { return *entity->getArgument(8); } +void IfcCraneRailFShapeProfileDef::setWebThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcCraneRailFShapeProfileDef::BaseDepth1() const { return *entity->getArgument(9); } +void IfcCraneRailFShapeProfileDef::setBaseDepth1(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcCraneRailFShapeProfileDef::BaseDepth2() const { return *entity->getArgument(10); } +void IfcCraneRailFShapeProfileDef::setBaseDepth2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcCraneRailFShapeProfileDef::hasCentreOfGravityInY() const { return !entity->getArgument(11)->isNull(); } -IfcPositiveLengthMeasure IfcCraneRailFShapeProfileDef::CentreOfGravityInY() const { return *entity->getArgument(11); } -void IfcCraneRailFShapeProfileDef::setCentreOfGravityInY(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcCraneRailFShapeProfileDef::CentreOfGravityInY() const { return *entity->getArgument(11); } +void IfcCraneRailFShapeProfileDef::setCentreOfGravityInY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcCraneRailFShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcCraneRailFShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcCraneRailFShapeProfileDef::type() const { return Type::IfcCraneRailFShapeProfileDef; } Type::Enum IfcCraneRailFShapeProfileDef::Class() { return Type::IfcCraneRailFShapeProfileDef; } IfcCraneRailFShapeProfileDef::IfcCraneRailFShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCraneRailFShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCraneRailFShapeProfileDef::IfcCraneRailFShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_OverallHeight, IfcPositiveLengthMeasure v5_HeadWidth, boost::optional< IfcPositiveLengthMeasure > v6_Radius, IfcPositiveLengthMeasure v7_HeadDepth2, IfcPositiveLengthMeasure v8_HeadDepth3, IfcPositiveLengthMeasure v9_WebThickness, IfcPositiveLengthMeasure v10_BaseDepth1, IfcPositiveLengthMeasure v11_BaseDepth2, boost::optional< IfcPositiveLengthMeasure > v12_CentreOfGravityInY) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_OverallHeight)); e->setArgument(4,(v5_HeadWidth)); if (v6_Radius) { e->setArgument(5,(*v6_Radius)); } else { e->setArgument(5); } e->setArgument(6,(v7_HeadDepth2)); e->setArgument(7,(v8_HeadDepth3)); e->setArgument(8,(v9_WebThickness)); e->setArgument(9,(v10_BaseDepth1)); e->setArgument(10,(v11_BaseDepth2)); if (v12_CentreOfGravityInY) { e->setArgument(11,(*v12_CentreOfGravityInY)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } +IfcCraneRailFShapeProfileDef::IfcCraneRailFShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_OverallHeight, double v5_HeadWidth, boost::optional< double > v6_Radius, double v7_HeadDepth2, double v8_HeadDepth3, double v9_WebThickness, double v10_BaseDepth1, double v11_BaseDepth2, boost::optional< double > v12_CentreOfGravityInY) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_OverallHeight)); e->setArgument(4,(v5_HeadWidth)); if (v6_Radius) { e->setArgument(5,(*v6_Radius)); } else { e->setArgument(5); } e->setArgument(6,(v7_HeadDepth2)); e->setArgument(7,(v8_HeadDepth3)); e->setArgument(8,(v9_WebThickness)); e->setArgument(9,(v10_BaseDepth1)); e->setArgument(10,(v11_BaseDepth2)); if (v12_CentreOfGravityInY) { e->setArgument(11,(*v12_CentreOfGravityInY)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCrewResource bool IfcCrewResource::is(Type::Enum v) const { return v == Type::IfcCrewResource || IfcConstructionResource::is(v); } Type::Enum IfcCrewResource::type() const { return Type::IfcCrewResource; } Type::Enum IfcCrewResource::Class() { return Type::IfcCrewResource; } IfcCrewResource::IfcCrewResource(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCrewResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCrewResource::IfcCrewResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); entity = e; EntityBuffer::Add(this); } +IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCsgPrimitive3D IfcAxis2Placement3D* IfcCsgPrimitive3D::Position() const { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -6630,21 +8034,21 @@ IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcAbstractEntity* e) : IfcGeometricReprese IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCsgSolid -IfcCsgSelect IfcCsgSolid::TreeRootExpression() const { return *entity->getArgument(0); } -void IfcCsgSolid::setTreeRootExpression(IfcCsgSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcCsgSelect* IfcCsgSolid::TreeRootExpression() const { return (IfcCsgSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcCsgSolid::setTreeRootExpression(IfcCsgSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcCsgSolid::is(Type::Enum v) const { return v == Type::IfcCsgSolid || IfcSolidModel::is(v); } Type::Enum IfcCsgSolid::type() const { return Type::IfcCsgSolid; } Type::Enum IfcCsgSolid::Class() { return Type::IfcCsgSolid; } IfcCsgSolid::IfcCsgSolid(IfcAbstractEntity* e) : IfcSolidModel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCsgSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCsgSolid::IfcCsgSolid(IfcCsgSelect v1_TreeRootExpression) : IfcSolidModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TreeRootExpression)); entity = e; EntityBuffer::Add(this); } +IfcCsgSolid::IfcCsgSolid(IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TreeRootExpression)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurrencyRelationship IfcMonetaryUnit* IfcCurrencyRelationship::RelatingMonetaryUnit() const { return (IfcMonetaryUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcCurrencyRelationship::setRelatingMonetaryUnit(IfcMonetaryUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } IfcMonetaryUnit* IfcCurrencyRelationship::RelatedMonetaryUnit() const { return (IfcMonetaryUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcCurrencyRelationship::setRelatedMonetaryUnit(IfcMonetaryUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveRatioMeasure IfcCurrencyRelationship::ExchangeRate() const { return *entity->getArgument(2); } -void IfcCurrencyRelationship::setExchangeRate(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcCurrencyRelationship::ExchangeRate() const { return *entity->getArgument(2); } +void IfcCurrencyRelationship::setExchangeRate(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcDateAndTime* IfcCurrencyRelationship::RateDateTime() const { return (IfcDateAndTime*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcCurrencyRelationship::setRateDateTime(IfcDateAndTime* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcCurrencyRelationship::hasRateSource() const { return !entity->getArgument(4)->isNull(); } @@ -6654,14 +8058,14 @@ bool IfcCurrencyRelationship::is(Type::Enum v) const { return v == Type::IfcCurr Type::Enum IfcCurrencyRelationship::type() const { return Type::IfcCurrencyRelationship; } Type::Enum IfcCurrencyRelationship::Class() { return Type::IfcCurrencyRelationship; } IfcCurrencyRelationship::IfcCurrencyRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCurrencyRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurrencyRelationship::IfcCurrencyRelationship(IfcMonetaryUnit* v1_RelatingMonetaryUnit, IfcMonetaryUnit* v2_RelatedMonetaryUnit, IfcPositiveRatioMeasure v3_ExchangeRate, IfcDateAndTime* v4_RateDateTime, IfcLibraryInformation* v5_RateSource) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RelatingMonetaryUnit)); e->setArgument(1,(v2_RelatedMonetaryUnit)); e->setArgument(2,(v3_ExchangeRate)); e->setArgument(3,(v4_RateDateTime)); e->setArgument(4,(v5_RateSource)); entity = e; EntityBuffer::Add(this); } +IfcCurrencyRelationship::IfcCurrencyRelationship(IfcMonetaryUnit* v1_RelatingMonetaryUnit, IfcMonetaryUnit* v2_RelatedMonetaryUnit, double v3_ExchangeRate, IfcDateAndTime* v4_RateDateTime, IfcLibraryInformation* v5_RateSource) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RelatingMonetaryUnit)); e->setArgument(1,(v2_RelatedMonetaryUnit)); e->setArgument(2,(v3_ExchangeRate)); e->setArgument(3,(v4_RateDateTime)); e->setArgument(4,(v5_RateSource)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurtainWall bool IfcCurtainWall::is(Type::Enum v) const { return v == Type::IfcCurtainWall || IfcBuildingElement::is(v); } Type::Enum IfcCurtainWall::type() const { return Type::IfcCurtainWall; } Type::Enum IfcCurtainWall::Class() { return Type::IfcCurtainWall; } IfcCurtainWall::IfcCurtainWall(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurtainWall)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurtainWall::IfcCurtainWall(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurtainWallType IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum IfcCurtainWallType::PredefinedType() const { return IfcCurtainWallTypeEnum::FromString(*entity->getArgument(9)); } @@ -6670,7 +8074,7 @@ bool IfcCurtainWallType::is(Type::Enum v) const { return v == Type::IfcCurtainWa Type::Enum IfcCurtainWallType::type() const { return Type::IfcCurtainWallType; } Type::Enum IfcCurtainWallType::Class() { return Type::IfcCurtainWallType; } IfcCurtainWallType::IfcCurtainWallType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurtainWallType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurtainWallType::IfcCurtainWallType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCurtainWallTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCurtainWallTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurve bool IfcCurve::is(Type::Enum v) const { return v == Type::IfcCurve || IfcGeometricRepresentationItem::is(v); } @@ -6694,56 +8098,56 @@ IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcPlane* v1_BasisSurface, IfcCurve* // Function implementations for IfcCurveStyle bool IfcCurveStyle::hasCurveFont() const { return !entity->getArgument(1)->isNull(); } -IfcCurveFontOrScaledCurveFontSelect IfcCurveStyle::CurveFont() const { return *entity->getArgument(1); } -void IfcCurveStyle::setCurveFont(IfcCurveFontOrScaledCurveFontSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcCurveFontOrScaledCurveFontSelect* IfcCurveStyle::CurveFont() const { return (IfcCurveFontOrScaledCurveFontSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcCurveStyle::setCurveFont(IfcCurveFontOrScaledCurveFontSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcCurveStyle::hasCurveWidth() const { return !entity->getArgument(2)->isNull(); } -IfcSizeSelect IfcCurveStyle::CurveWidth() const { return *entity->getArgument(2); } -void IfcCurveStyle::setCurveWidth(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +IfcSizeSelect* IfcCurveStyle::CurveWidth() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } +void IfcCurveStyle::setCurveWidth(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcCurveStyle::hasCurveColour() const { return !entity->getArgument(3)->isNull(); } -IfcColour IfcCurveStyle::CurveColour() const { return *entity->getArgument(3); } -void IfcCurveStyle::setCurveColour(IfcColour v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +IfcColour* IfcCurveStyle::CurveColour() const { return (IfcColour*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } +void IfcCurveStyle::setCurveColour(IfcColour* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcCurveStyle::is(Type::Enum v) const { return v == Type::IfcCurveStyle || IfcPresentationStyle::is(v); } Type::Enum IfcCurveStyle::type() const { return Type::IfcCurveStyle; } Type::Enum IfcCurveStyle::Class() { return Type::IfcCurveStyle; } IfcCurveStyle::IfcCurveStyle(IfcAbstractEntity* e) : IfcPresentationStyle((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurveStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurveStyle::IfcCurveStyle(boost::optional< IfcLabel > v1_Name, boost::optional< IfcCurveFontOrScaledCurveFontSelect > v2_CurveFont, boost::optional< IfcSizeSelect > v3_CurveWidth, boost::optional< IfcColour > v4_CurveColour) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_CurveFont) { e->setArgument(1,(*v2_CurveFont)); } else { e->setArgument(1); } if (v3_CurveWidth) { e->setArgument(2,(*v3_CurveWidth)); } else { e->setArgument(2); } if (v4_CurveColour) { e->setArgument(3,(*v4_CurveColour)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, IfcSizeSelect* v3_CurveWidth, IfcColour* v4_CurveColour) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_CurveFont)); e->setArgument(2,(v3_CurveWidth)); e->setArgument(3,(v4_CurveColour)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurveStyleFont bool IfcCurveStyleFont::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcCurveStyleFont::Name() const { return *entity->getArgument(0); } -void IfcCurveStyleFont::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcCurveStyleFont::Name() const { return *entity->getArgument(0); } +void IfcCurveStyleFont::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr IfcCurveStyleFont::PatternList() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } void IfcCurveStyleFont::setPatternList(IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } 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; } IfcCurveStyleFont::IfcCurveStyleFont(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCurveStyleFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< IfcLabel > v1_Name, IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_PatternList)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_PatternList)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurveStyleFontAndScaling bool IfcCurveStyleFontAndScaling::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcCurveStyleFontAndScaling::Name() const { return *entity->getArgument(0); } -void IfcCurveStyleFontAndScaling::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcCurveStyleFontSelect IfcCurveStyleFontAndScaling::CurveFont() const { return *entity->getArgument(1); } -void IfcCurveStyleFontAndScaling::setCurveFont(IfcCurveStyleFontSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveRatioMeasure IfcCurveStyleFontAndScaling::CurveFontScaling() const { return *entity->getArgument(2); } -void IfcCurveStyleFontAndScaling::setCurveFontScaling(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcCurveStyleFontAndScaling::Name() const { return *entity->getArgument(0); } +void IfcCurveStyleFontAndScaling::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcCurveStyleFontSelect* IfcCurveStyleFontAndScaling::CurveFont() const { return (IfcCurveStyleFontSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcCurveStyleFontAndScaling::setCurveFont(IfcCurveStyleFontSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcCurveStyleFontAndScaling::CurveFontScaling() const { return *entity->getArgument(2); } +void IfcCurveStyleFontAndScaling::setCurveFontScaling(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcCurveStyleFontAndScaling::is(Type::Enum v) const { return v == Type::IfcCurveStyleFontAndScaling; } Type::Enum IfcCurveStyleFontAndScaling::type() const { return Type::IfcCurveStyleFontAndScaling; } Type::Enum IfcCurveStyleFontAndScaling::Class() { return Type::IfcCurveStyleFontAndScaling; } IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCurveStyleFontAndScaling)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< IfcLabel > v1_Name, IfcCurveStyleFontSelect v2_CurveFont, IfcPositiveRatioMeasure v3_CurveFontScaling) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_CurveFont)); e->setArgument(2,(v3_CurveFontScaling)); entity = e; EntityBuffer::Add(this); } +IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, IfcCurveStyleFontSelect* v2_CurveFont, double v3_CurveFontScaling) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_CurveFont)); e->setArgument(2,(v3_CurveFontScaling)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurveStyleFontPattern -IfcLengthMeasure IfcCurveStyleFontPattern::VisibleSegmentLength() const { return *entity->getArgument(0); } -void IfcCurveStyleFontPattern::setVisibleSegmentLength(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcPositiveLengthMeasure IfcCurveStyleFontPattern::InvisibleSegmentLength() const { return *entity->getArgument(1); } -void IfcCurveStyleFontPattern::setInvisibleSegmentLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcCurveStyleFontPattern::VisibleSegmentLength() const { return *entity->getArgument(0); } +void IfcCurveStyleFontPattern::setVisibleSegmentLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +double IfcCurveStyleFontPattern::InvisibleSegmentLength() const { return *entity->getArgument(1); } +void IfcCurveStyleFontPattern::setInvisibleSegmentLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcCurveStyleFontPattern::is(Type::Enum v) const { return v == Type::IfcCurveStyleFontPattern; } Type::Enum IfcCurveStyleFontPattern::type() const { return Type::IfcCurveStyleFontPattern; } Type::Enum IfcCurveStyleFontPattern::Class() { return Type::IfcCurveStyleFontPattern; } IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCurveStyleFontPattern)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(IfcLengthMeasure v1_VisibleSegmentLength, IfcPositiveLengthMeasure v2_InvisibleSegmentLength) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_VisibleSegmentLength)); e->setArgument(1,(v2_InvisibleSegmentLength)); entity = e; EntityBuffer::Add(this); } +IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_VisibleSegmentLength)); e->setArgument(1,(v2_InvisibleSegmentLength)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDamperType IfcDamperTypeEnum::IfcDamperTypeEnum IfcDamperType::PredefinedType() const { return IfcDamperTypeEnum::FromString(*entity->getArgument(9)); } @@ -6752,7 +8156,7 @@ bool IfcDamperType::is(Type::Enum v) const { return v == Type::IfcDamperType || Type::Enum IfcDamperType::type() const { return Type::IfcDamperType; } Type::Enum IfcDamperType::Class() { return Type::IfcDamperType; } IfcDamperType::IfcDamperType(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDamperType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDamperType::IfcDamperType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDamperTypeEnum::IfcDamperTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDamperTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcDamperType::IfcDamperType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDamperTypeEnum::IfcDamperTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDamperTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDateAndTime IfcCalendarDate* IfcDateAndTime::DateComponent() const { return (IfcCalendarDate*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -6766,15 +8170,15 @@ IfcDateAndTime::IfcDateAndTime(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() IfcDateAndTime::IfcDateAndTime(IfcCalendarDate* v1_DateComponent, IfcLocalTime* v2_TimeComponent) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_DateComponent)); e->setArgument(1,(v2_TimeComponent)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDefinedSymbol -IfcDefinedSymbolSelect IfcDefinedSymbol::Definition() const { return *entity->getArgument(0); } -void IfcDefinedSymbol::setDefinition(IfcDefinedSymbolSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcDefinedSymbolSelect* IfcDefinedSymbol::Definition() const { return (IfcDefinedSymbolSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcDefinedSymbol::setDefinition(IfcDefinedSymbolSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } IfcCartesianTransformationOperator2D* IfcDefinedSymbol::Target() const { return (IfcCartesianTransformationOperator2D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcDefinedSymbol::setTarget(IfcCartesianTransformationOperator2D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcDefinedSymbol::is(Type::Enum v) const { return v == Type::IfcDefinedSymbol || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcDefinedSymbol::type() const { return Type::IfcDefinedSymbol; } Type::Enum IfcDefinedSymbol::Class() { return Type::IfcDefinedSymbol; } IfcDefinedSymbol::IfcDefinedSymbol(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDefinedSymbol)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDefinedSymbol::IfcDefinedSymbol(IfcDefinedSymbolSelect v1_Definition, IfcCartesianTransformationOperator2D* v2_Target) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Definition)); e->setArgument(1,(v2_Target)); entity = e; EntityBuffer::Add(this); } +IfcDefinedSymbol::IfcDefinedSymbol(IfcDefinedSymbolSelect* v1_Definition, IfcCartesianTransformationOperator2D* v2_Target) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Definition)); e->setArgument(1,(v2_Target)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDerivedProfileDef IfcProfileDef* IfcDerivedProfileDef::ParentProfile() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } @@ -6782,13 +8186,13 @@ void IfcDerivedProfileDef::setParentProfile(IfcProfileDef* v) { if ( ! entity->i IfcCartesianTransformationOperator2D* IfcDerivedProfileDef::Operator() const { return (IfcCartesianTransformationOperator2D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcDerivedProfileDef::setOperator(IfcCartesianTransformationOperator2D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcDerivedProfileDef::hasLabel() const { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcDerivedProfileDef::Label() const { return *entity->getArgument(4); } -void IfcDerivedProfileDef::setLabel(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcDerivedProfileDef::Label() const { return *entity->getArgument(4); } +void IfcDerivedProfileDef::setLabel(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcDerivedProfileDef::is(Type::Enum v) const { return v == Type::IfcDerivedProfileDef || IfcProfileDef::is(v); } Type::Enum IfcDerivedProfileDef::type() const { return Type::IfcDerivedProfileDef; } Type::Enum IfcDerivedProfileDef::Class() { return Type::IfcDerivedProfileDef; } IfcDerivedProfileDef::IfcDerivedProfileDef(IfcAbstractEntity* e) : IfcProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDerivedProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDerivedProfileDef::IfcDerivedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcProfileDef* v3_ParentProfile, IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< IfcLabel > v5_Label) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_ParentProfile)); e->setArgument(3,(v4_Operator)); if (v5_Label) { e->setArgument(4,(*v5_Label)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcDerivedProfileDef::IfcDerivedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcProfileDef* v3_ParentProfile, IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_ParentProfile)); e->setArgument(3,(v4_Operator)); if (v5_Label) { e->setArgument(4,(*v5_Label)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDerivedUnit IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr IfcDerivedUnit::Elements() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } @@ -6796,13 +8200,13 @@ void IfcDerivedUnit::setElements(IfcTemplatedEntityList< IfcDerivedUnitElement > IfcDerivedUnitEnum::IfcDerivedUnitEnum IfcDerivedUnit::UnitType() const { return IfcDerivedUnitEnum::FromString(*entity->getArgument(1)); } void IfcDerivedUnit::setUnitType(IfcDerivedUnitEnum::IfcDerivedUnitEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v,IfcDerivedUnitEnum::ToString(v)); } bool IfcDerivedUnit::hasUserDefinedType() const { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcDerivedUnit::UserDefinedType() const { return *entity->getArgument(2); } -void IfcDerivedUnit::setUserDefinedType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcDerivedUnit::UserDefinedType() const { return *entity->getArgument(2); } +void IfcDerivedUnit::setUserDefinedType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcDerivedUnit::is(Type::Enum v) const { return v == Type::IfcDerivedUnit; } Type::Enum IfcDerivedUnit::type() const { return Type::IfcDerivedUnit; } Type::Enum IfcDerivedUnit::Class() { return Type::IfcDerivedUnit; } IfcDerivedUnit::IfcDerivedUnit(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDerivedUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDerivedUnit::IfcDerivedUnit(IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr v1_Elements, IfcDerivedUnitEnum::IfcDerivedUnitEnum v2_UnitType, boost::optional< IfcLabel > v3_UserDefinedType) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Elements)->generalize()); e->setArgument(1,v2_UnitType,IfcDerivedUnitEnum::ToString(v2_UnitType)); if (v3_UserDefinedType) { e->setArgument(2,(*v3_UserDefinedType)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcDerivedUnit::IfcDerivedUnit(IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr v1_Elements, IfcDerivedUnitEnum::IfcDerivedUnitEnum v2_UnitType, boost::optional< std::string > v3_UserDefinedType) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Elements)->generalize()); e->setArgument(1,v2_UnitType,IfcDerivedUnitEnum::ToString(v2_UnitType)); if (v3_UserDefinedType) { e->setArgument(2,(*v3_UserDefinedType)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDerivedUnitElement IfcNamedUnit* IfcDerivedUnitElement::Unit() const { return (IfcNamedUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -6827,7 +8231,7 @@ bool IfcDimensionCalloutRelationship::is(Type::Enum v) const { return v == Type: Type::Enum IfcDimensionCalloutRelationship::type() const { return Type::IfcDimensionCalloutRelationship; } Type::Enum IfcDimensionCalloutRelationship::Class() { return Type::IfcDimensionCalloutRelationship; } IfcDimensionCalloutRelationship::IfcDimensionCalloutRelationship(IfcAbstractEntity* e) : IfcDraughtingCalloutRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDimensionCalloutRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDimensionCalloutRelationship::IfcDimensionCalloutRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcDraughtingCallout* v3_RelatingDraughtingCallout, IfcDraughtingCallout* v4_RelatedDraughtingCallout) : IfcDraughtingCalloutRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingDraughtingCallout)); e->setArgument(3,(v4_RelatedDraughtingCallout)); entity = e; EntityBuffer::Add(this); } +IfcDimensionCalloutRelationship::IfcDimensionCalloutRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcDraughtingCallout* v3_RelatingDraughtingCallout, IfcDraughtingCallout* v4_RelatedDraughtingCallout) : IfcDraughtingCalloutRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingDraughtingCallout)); e->setArgument(3,(v4_RelatedDraughtingCallout)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDimensionCurve IfcTerminatorSymbol::list::ptr IfcDimensionCurve::AnnotatedBySymbols() const { return entity->getInverse(Type::IfcTerminatorSymbol)->as(); } @@ -6835,7 +8239,7 @@ bool IfcDimensionCurve::is(Type::Enum v) const { return v == Type::IfcDimensionC Type::Enum IfcDimensionCurve::type() const { return Type::IfcDimensionCurve; } Type::Enum IfcDimensionCurve::Class() { return Type::IfcDimensionCurve; } IfcDimensionCurve::IfcDimensionCurve(IfcAbstractEntity* e) : IfcAnnotationCurveOccurrence((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDimensionCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDimensionCurve::IfcDimensionCurve(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcAnnotationCurveOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcDimensionCurve::IfcDimensionCurve(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationCurveOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDimensionCurveDirectedCallout bool IfcDimensionCurveDirectedCallout::is(Type::Enum v) const { return v == Type::IfcDimensionCurveDirectedCallout || IfcDraughtingCallout::is(v); } @@ -6851,14 +8255,14 @@ bool IfcDimensionCurveTerminator::is(Type::Enum v) const { return v == Type::Ifc Type::Enum IfcDimensionCurveTerminator::type() const { return Type::IfcDimensionCurveTerminator; } Type::Enum IfcDimensionCurveTerminator::Class() { return Type::IfcDimensionCurveTerminator; } IfcDimensionCurveTerminator::IfcDimensionCurveTerminator(IfcAbstractEntity* e) : IfcTerminatorSymbol((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDimensionCurveTerminator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDimensionCurveTerminator::IfcDimensionCurveTerminator(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name, IfcAnnotationCurveOccurrence* v4_AnnotatedCurve, IfcDimensionExtentUsage::IfcDimensionExtentUsage v5_Role) : IfcTerminatorSymbol((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } e->setArgument(3,(v4_AnnotatedCurve)); e->setArgument(4,v5_Role,IfcDimensionExtentUsage::ToString(v5_Role)); entity = e; EntityBuffer::Add(this); } +IfcDimensionCurveTerminator::IfcDimensionCurveTerminator(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name, IfcAnnotationCurveOccurrence* v4_AnnotatedCurve, IfcDimensionExtentUsage::IfcDimensionExtentUsage v5_Role) : IfcTerminatorSymbol((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } e->setArgument(3,(v4_AnnotatedCurve)); e->setArgument(4,v5_Role,IfcDimensionExtentUsage::ToString(v5_Role)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDimensionPair bool IfcDimensionPair::is(Type::Enum v) const { return v == Type::IfcDimensionPair || IfcDraughtingCalloutRelationship::is(v); } Type::Enum IfcDimensionPair::type() const { return Type::IfcDimensionPair; } Type::Enum IfcDimensionPair::Class() { return Type::IfcDimensionPair; } IfcDimensionPair::IfcDimensionPair(IfcAbstractEntity* e) : IfcDraughtingCalloutRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDimensionPair)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDimensionPair::IfcDimensionPair(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcDraughtingCallout* v3_RelatingDraughtingCallout, IfcDraughtingCallout* v4_RelatedDraughtingCallout) : IfcDraughtingCalloutRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingDraughtingCallout)); e->setArgument(3,(v4_RelatedDraughtingCallout)); entity = e; EntityBuffer::Add(this); } +IfcDimensionPair::IfcDimensionPair(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcDraughtingCallout* v3_RelatingDraughtingCallout, IfcDraughtingCallout* v4_RelatedDraughtingCallout) : IfcDraughtingCalloutRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingDraughtingCallout)); e->setArgument(3,(v4_RelatedDraughtingCallout)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDimensionalExponents int IfcDimensionalExponents::LengthExponent() const { return *entity->getArgument(0); } @@ -6895,21 +8299,21 @@ bool IfcDiscreteAccessory::is(Type::Enum v) const { return v == Type::IfcDiscret Type::Enum IfcDiscreteAccessory::type() const { return Type::IfcDiscreteAccessory; } Type::Enum IfcDiscreteAccessory::Class() { return Type::IfcDiscreteAccessory; } IfcDiscreteAccessory::IfcDiscreteAccessory(IfcAbstractEntity* e) : IfcElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDiscreteAccessory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDiscreteAccessory::IfcDiscreteAccessory(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDiscreteAccessoryType bool IfcDiscreteAccessoryType::is(Type::Enum v) const { return v == Type::IfcDiscreteAccessoryType || IfcElementComponentType::is(v); } Type::Enum IfcDiscreteAccessoryType::type() const { return Type::IfcDiscreteAccessoryType; } Type::Enum IfcDiscreteAccessoryType::Class() { return Type::IfcDiscreteAccessoryType; } IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(IfcAbstractEntity* e) : IfcElementComponentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDiscreteAccessoryType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionChamberElement bool IfcDistributionChamberElement::is(Type::Enum v) const { return v == Type::IfcDistributionChamberElement || IfcDistributionFlowElement::is(v); } Type::Enum IfcDistributionChamberElement::type() const { return Type::IfcDistributionChamberElement; } Type::Enum IfcDistributionChamberElement::Class() { return Type::IfcDistributionChamberElement; } IfcDistributionChamberElement::IfcDistributionChamberElement(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionChamberElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionChamberElement::IfcDistributionChamberElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionChamberElementType IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum IfcDistributionChamberElementType::PredefinedType() const { return IfcDistributionChamberElementTypeEnum::FromString(*entity->getArgument(9)); } @@ -6918,39 +8322,39 @@ bool IfcDistributionChamberElementType::is(Type::Enum v) const { return v == Typ Type::Enum IfcDistributionChamberElementType::type() const { return Type::IfcDistributionChamberElementType; } Type::Enum IfcDistributionChamberElementType::Class() { return Type::IfcDistributionChamberElementType; } IfcDistributionChamberElementType::IfcDistributionChamberElementType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionChamberElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionChamberElementType::IfcDistributionChamberElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v10_PredefinedType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDistributionChamberElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v10_PredefinedType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDistributionChamberElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionControlElement bool IfcDistributionControlElement::hasControlElementId() const { return !entity->getArgument(8)->isNull(); } -IfcIdentifier IfcDistributionControlElement::ControlElementId() const { return *entity->getArgument(8); } -void IfcDistributionControlElement::setControlElementId(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcDistributionControlElement::ControlElementId() const { return *entity->getArgument(8); } +void IfcDistributionControlElement::setControlElementId(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } IfcRelFlowControlElements::list::ptr IfcDistributionControlElement::AssignedToFlowElement() const { return entity->getInverse(Type::IfcRelFlowControlElements)->as(); } bool IfcDistributionControlElement::is(Type::Enum v) const { return v == Type::IfcDistributionControlElement || IfcDistributionElement::is(v); } Type::Enum IfcDistributionControlElement::type() const { return Type::IfcDistributionControlElement; } Type::Enum IfcDistributionControlElement::Class() { return Type::IfcDistributionControlElement; } IfcDistributionControlElement::IfcDistributionControlElement(IfcAbstractEntity* e) : IfcDistributionElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionControlElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionControlElement::IfcDistributionControlElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcIdentifier > v9_ControlElementId) : IfcDistributionElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ControlElementId) { e->setArgument(8,(*v9_ControlElementId)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ControlElementId) : IfcDistributionElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ControlElementId) { e->setArgument(8,(*v9_ControlElementId)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionControlElementType bool IfcDistributionControlElementType::is(Type::Enum v) const { return v == Type::IfcDistributionControlElementType || IfcDistributionElementType::is(v); } Type::Enum IfcDistributionControlElementType::type() const { return Type::IfcDistributionControlElementType; } Type::Enum IfcDistributionControlElementType::Class() { return Type::IfcDistributionControlElementType; } IfcDistributionControlElementType::IfcDistributionControlElementType(IfcAbstractEntity* e) : IfcDistributionElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionControlElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionControlElementType::IfcDistributionControlElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionElement bool IfcDistributionElement::is(Type::Enum v) const { return v == Type::IfcDistributionElement || IfcElement::is(v); } Type::Enum IfcDistributionElement::type() const { return Type::IfcDistributionElement; } Type::Enum IfcDistributionElement::Class() { return Type::IfcDistributionElement; } IfcDistributionElement::IfcDistributionElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionElement::IfcDistributionElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionElementType bool IfcDistributionElementType::is(Type::Enum v) const { return v == Type::IfcDistributionElementType || IfcElementType::is(v); } Type::Enum IfcDistributionElementType::type() const { return Type::IfcDistributionElementType; } Type::Enum IfcDistributionElementType::Class() { return Type::IfcDistributionElementType; } IfcDistributionElementType::IfcDistributionElementType(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionElementType::IfcDistributionElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionFlowElement IfcRelFlowControlElements::list::ptr IfcDistributionFlowElement::HasControlElements() const { return entity->getInverse(Type::IfcRelFlowControlElements)->as(); } @@ -6958,14 +8362,14 @@ bool IfcDistributionFlowElement::is(Type::Enum v) const { return v == Type::IfcD Type::Enum IfcDistributionFlowElement::type() const { return Type::IfcDistributionFlowElement; } Type::Enum IfcDistributionFlowElement::Class() { return Type::IfcDistributionFlowElement; } IfcDistributionFlowElement::IfcDistributionFlowElement(IfcAbstractEntity* e) : IfcDistributionElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionFlowElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionFlowElement::IfcDistributionFlowElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionFlowElementType bool IfcDistributionFlowElementType::is(Type::Enum v) const { return v == Type::IfcDistributionFlowElementType || IfcDistributionElementType::is(v); } Type::Enum IfcDistributionFlowElementType::type() const { return Type::IfcDistributionFlowElementType; } Type::Enum IfcDistributionFlowElementType::Class() { return Type::IfcDistributionFlowElementType; } IfcDistributionFlowElementType::IfcDistributionFlowElementType(IfcAbstractEntity* e) : IfcDistributionElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionFlowElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionFlowElementType::IfcDistributionFlowElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionPort bool IfcDistributionPort::hasFlowDirection() const { return !entity->getArgument(7)->isNull(); } @@ -6975,53 +8379,53 @@ bool IfcDistributionPort::is(Type::Enum v) const { return v == Type::IfcDistribu Type::Enum IfcDistributionPort::type() const { return Type::IfcDistributionPort; } Type::Enum IfcDistributionPort::Class() { return Type::IfcDistributionPort; } IfcDistributionPort::IfcDistributionPort(IfcAbstractEntity* e) : IfcPort((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionPort)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionPort::IfcDistributionPort(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v8_FlowDirection) : IfcPort((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_FlowDirection) { e->setArgument(7,*v8_FlowDirection,IfcFlowDirectionEnum::ToString(*v8_FlowDirection)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v8_FlowDirection) : IfcPort((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_FlowDirection) { e->setArgument(7,*v8_FlowDirection,IfcFlowDirectionEnum::ToString(*v8_FlowDirection)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDocumentElectronicFormat bool IfcDocumentElectronicFormat::hasFileExtension() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcDocumentElectronicFormat::FileExtension() const { return *entity->getArgument(0); } -void IfcDocumentElectronicFormat::setFileExtension(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcDocumentElectronicFormat::FileExtension() const { return *entity->getArgument(0); } +void IfcDocumentElectronicFormat::setFileExtension(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcDocumentElectronicFormat::hasMimeContentType() const { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcDocumentElectronicFormat::MimeContentType() const { return *entity->getArgument(1); } -void IfcDocumentElectronicFormat::setMimeContentType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcDocumentElectronicFormat::MimeContentType() const { return *entity->getArgument(1); } +void IfcDocumentElectronicFormat::setMimeContentType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcDocumentElectronicFormat::hasMimeSubtype() const { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcDocumentElectronicFormat::MimeSubtype() const { return *entity->getArgument(2); } -void IfcDocumentElectronicFormat::setMimeSubtype(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcDocumentElectronicFormat::MimeSubtype() const { return *entity->getArgument(2); } +void IfcDocumentElectronicFormat::setMimeSubtype(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcDocumentElectronicFormat::is(Type::Enum v) const { return v == Type::IfcDocumentElectronicFormat; } Type::Enum IfcDocumentElectronicFormat::type() const { return Type::IfcDocumentElectronicFormat; } Type::Enum IfcDocumentElectronicFormat::Class() { return Type::IfcDocumentElectronicFormat; } IfcDocumentElectronicFormat::IfcDocumentElectronicFormat(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDocumentElectronicFormat)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDocumentElectronicFormat::IfcDocumentElectronicFormat(boost::optional< IfcLabel > v1_FileExtension, boost::optional< IfcLabel > v2_MimeContentType, boost::optional< IfcLabel > v3_MimeSubtype) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_FileExtension) { e->setArgument(0,(*v1_FileExtension)); } else { e->setArgument(0); } if (v2_MimeContentType) { e->setArgument(1,(*v2_MimeContentType)); } else { e->setArgument(1); } if (v3_MimeSubtype) { e->setArgument(2,(*v3_MimeSubtype)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcDocumentElectronicFormat::IfcDocumentElectronicFormat(boost::optional< std::string > v1_FileExtension, boost::optional< std::string > v2_MimeContentType, boost::optional< std::string > v3_MimeSubtype) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_FileExtension) { e->setArgument(0,(*v1_FileExtension)); } else { e->setArgument(0); } if (v2_MimeContentType) { e->setArgument(1,(*v2_MimeContentType)); } else { e->setArgument(1); } if (v3_MimeSubtype) { e->setArgument(2,(*v3_MimeSubtype)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDocumentInformation -IfcIdentifier IfcDocumentInformation::DocumentId() const { return *entity->getArgument(0); } -void IfcDocumentInformation::setDocumentId(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLabel IfcDocumentInformation::Name() const { return *entity->getArgument(1); } -void IfcDocumentInformation::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcDocumentInformation::DocumentId() const { return *entity->getArgument(0); } +void IfcDocumentInformation::setDocumentId(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcDocumentInformation::Name() const { return *entity->getArgument(1); } +void IfcDocumentInformation::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcDocumentInformation::hasDescription() const { return !entity->getArgument(2)->isNull(); } -IfcText IfcDocumentInformation::Description() const { return *entity->getArgument(2); } -void IfcDocumentInformation::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcDocumentInformation::Description() const { return *entity->getArgument(2); } +void IfcDocumentInformation::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcDocumentInformation::hasDocumentReferences() const { return !entity->getArgument(3)->isNull(); } IfcTemplatedEntityList< IfcDocumentReference >::ptr IfcDocumentInformation::DocumentReferences() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } void IfcDocumentInformation::setDocumentReferences(IfcTemplatedEntityList< IfcDocumentReference >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } bool IfcDocumentInformation::hasPurpose() const { return !entity->getArgument(4)->isNull(); } -IfcText IfcDocumentInformation::Purpose() const { return *entity->getArgument(4); } -void IfcDocumentInformation::setPurpose(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcDocumentInformation::Purpose() const { return *entity->getArgument(4); } +void IfcDocumentInformation::setPurpose(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcDocumentInformation::hasIntendedUse() const { return !entity->getArgument(5)->isNull(); } -IfcText IfcDocumentInformation::IntendedUse() const { return *entity->getArgument(5); } -void IfcDocumentInformation::setIntendedUse(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcDocumentInformation::IntendedUse() const { return *entity->getArgument(5); } +void IfcDocumentInformation::setIntendedUse(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcDocumentInformation::hasScope() const { return !entity->getArgument(6)->isNull(); } -IfcText IfcDocumentInformation::Scope() const { return *entity->getArgument(6); } -void IfcDocumentInformation::setScope(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcDocumentInformation::Scope() const { return *entity->getArgument(6); } +void IfcDocumentInformation::setScope(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcDocumentInformation::hasRevision() const { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcDocumentInformation::Revision() const { return *entity->getArgument(7); } -void IfcDocumentInformation::setRevision(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcDocumentInformation::Revision() const { return *entity->getArgument(7); } +void IfcDocumentInformation::setRevision(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcDocumentInformation::hasDocumentOwner() const { return !entity->getArgument(8)->isNull(); } -IfcActorSelect IfcDocumentInformation::DocumentOwner() const { return *entity->getArgument(8); } -void IfcDocumentInformation::setDocumentOwner(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +IfcActorSelect* IfcDocumentInformation::DocumentOwner() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } +void IfcDocumentInformation::setDocumentOwner(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcDocumentInformation::hasEditors() const { return !entity->getArgument(9)->isNull(); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcDocumentInformation::Editors() const { IfcEntityList::ptr es = *entity->getArgument(9); return es->as(); } -void IfcDocumentInformation::setEditors(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } +IfcEntityList::ptr IfcDocumentInformation::Editors() const { return *entity->getArgument(9); } +void IfcDocumentInformation::setEditors(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcDocumentInformation::hasCreationTime() const { return !entity->getArgument(10)->isNull(); } IfcDateAndTime* IfcDocumentInformation::CreationTime() const { return (IfcDateAndTime*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } void IfcDocumentInformation::setCreationTime(IfcDateAndTime* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } @@ -7049,7 +8453,7 @@ bool IfcDocumentInformation::is(Type::Enum v) const { return v == Type::IfcDocum Type::Enum IfcDocumentInformation::type() const { return Type::IfcDocumentInformation; } Type::Enum IfcDocumentInformation::Class() { return Type::IfcDocumentInformation; } IfcDocumentInformation::IfcDocumentInformation(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDocumentInformation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDocumentInformation::IfcDocumentInformation(IfcIdentifier v1_DocumentId, IfcLabel v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcTemplatedEntityList< IfcDocumentReference >::ptr > v4_DocumentReferences, boost::optional< IfcText > v5_Purpose, boost::optional< IfcText > v6_IntendedUse, boost::optional< IfcText > v7_Scope, boost::optional< IfcLabel > v8_Revision, boost::optional< IfcActorSelect > v9_DocumentOwner, boost::optional< IfcEntityList::ptr > v10_Editors, IfcDateAndTime* v11_CreationTime, IfcDateAndTime* v12_LastRevisionTime, IfcDocumentElectronicFormat* v13_ElectronicFormat, IfcCalendarDate* v14_ValidFrom, IfcCalendarDate* v15_ValidUntil, boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v16_Confidentiality, boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v17_Status) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_DocumentId)); e->setArgument(1,(v2_Name)); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_DocumentReferences) { e->setArgument(3,(*v4_DocumentReferences)->generalize()); } else { e->setArgument(3); } if (v5_Purpose) { e->setArgument(4,(*v5_Purpose)); } else { e->setArgument(4); } if (v6_IntendedUse) { e->setArgument(5,(*v6_IntendedUse)); } else { e->setArgument(5); } if (v7_Scope) { e->setArgument(6,(*v7_Scope)); } else { e->setArgument(6); } if (v8_Revision) { e->setArgument(7,(*v8_Revision)); } else { e->setArgument(7); } if (v9_DocumentOwner) { e->setArgument(8,(*v9_DocumentOwner)); } else { e->setArgument(8); } if (v10_Editors) { e->setArgument(9,(*v10_Editors)); } else { e->setArgument(9); } e->setArgument(10,(v11_CreationTime)); e->setArgument(11,(v12_LastRevisionTime)); e->setArgument(12,(v13_ElectronicFormat)); e->setArgument(13,(v14_ValidFrom)); e->setArgument(14,(v15_ValidUntil)); if (v16_Confidentiality) { e->setArgument(15,*v16_Confidentiality,IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality)); } else { e->setArgument(15); } if (v17_Status) { e->setArgument(16,*v17_Status,IfcDocumentStatusEnum::ToString(*v17_Status)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } +IfcDocumentInformation::IfcDocumentInformation(std::string v1_DocumentId, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< IfcTemplatedEntityList< IfcDocumentReference >::ptr > v4_DocumentReferences, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, IfcActorSelect* v9_DocumentOwner, boost::optional< IfcEntityList::ptr > v10_Editors, IfcDateAndTime* v11_CreationTime, IfcDateAndTime* v12_LastRevisionTime, IfcDocumentElectronicFormat* v13_ElectronicFormat, IfcCalendarDate* v14_ValidFrom, IfcCalendarDate* v15_ValidUntil, boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v16_Confidentiality, boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v17_Status) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_DocumentId)); e->setArgument(1,(v2_Name)); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_DocumentReferences) { e->setArgument(3,(*v4_DocumentReferences)->generalize()); } else { e->setArgument(3); } if (v5_Purpose) { e->setArgument(4,(*v5_Purpose)); } else { e->setArgument(4); } if (v6_IntendedUse) { e->setArgument(5,(*v6_IntendedUse)); } else { e->setArgument(5); } if (v7_Scope) { e->setArgument(6,(*v7_Scope)); } else { e->setArgument(6); } if (v8_Revision) { e->setArgument(7,(*v8_Revision)); } else { e->setArgument(7); } e->setArgument(8,(v9_DocumentOwner)); if (v10_Editors) { e->setArgument(9,(*v10_Editors)); } else { e->setArgument(9); } e->setArgument(10,(v11_CreationTime)); e->setArgument(11,(v12_LastRevisionTime)); e->setArgument(12,(v13_ElectronicFormat)); e->setArgument(13,(v14_ValidFrom)); e->setArgument(14,(v15_ValidUntil)); if (v16_Confidentiality) { e->setArgument(15,*v16_Confidentiality,IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality)); } else { e->setArgument(15); } if (v17_Status) { e->setArgument(16,*v17_Status,IfcDocumentStatusEnum::ToString(*v17_Status)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDocumentInformationRelationship IfcDocumentInformation* IfcDocumentInformationRelationship::RelatingDocument() const { return (IfcDocumentInformation*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -7057,13 +8461,13 @@ void IfcDocumentInformationRelationship::setRelatingDocument(IfcDocumentInformat IfcTemplatedEntityList< IfcDocumentInformation >::ptr IfcDocumentInformationRelationship::RelatedDocuments() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } void IfcDocumentInformationRelationship::setRelatedDocuments(IfcTemplatedEntityList< IfcDocumentInformation >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } bool IfcDocumentInformationRelationship::hasRelationshipType() const { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcDocumentInformationRelationship::RelationshipType() const { return *entity->getArgument(2); } -void IfcDocumentInformationRelationship::setRelationshipType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcDocumentInformationRelationship::RelationshipType() const { return *entity->getArgument(2); } +void IfcDocumentInformationRelationship::setRelationshipType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcDocumentInformationRelationship::is(Type::Enum v) const { return v == Type::IfcDocumentInformationRelationship; } Type::Enum IfcDocumentInformationRelationship::type() const { return Type::IfcDocumentInformationRelationship; } Type::Enum IfcDocumentInformationRelationship::Class() { return Type::IfcDocumentInformationRelationship; } IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDocumentInformationRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcDocumentInformation* v1_RelatingDocument, IfcTemplatedEntityList< IfcDocumentInformation >::ptr v2_RelatedDocuments, boost::optional< IfcLabel > v3_RelationshipType) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RelatingDocument)); e->setArgument(1,(v2_RelatedDocuments)->generalize()); if (v3_RelationshipType) { e->setArgument(2,(*v3_RelationshipType)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcDocumentInformation* v1_RelatingDocument, IfcTemplatedEntityList< IfcDocumentInformation >::ptr v2_RelatedDocuments, boost::optional< std::string > v3_RelationshipType) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RelatingDocument)); e->setArgument(1,(v2_RelatedDocuments)->generalize()); if (v3_RelationshipType) { e->setArgument(2,(*v3_RelationshipType)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDocumentReference IfcDocumentInformation::list::ptr IfcDocumentReference::ReferenceToDocument() const { return entity->getInverse(Type::IfcDocumentInformation)->as(); } @@ -7071,52 +8475,52 @@ bool IfcDocumentReference::is(Type::Enum v) const { return v == Type::IfcDocumen Type::Enum IfcDocumentReference::type() const { return Type::IfcDocumentReference; } Type::Enum IfcDocumentReference::Class() { return Type::IfcDocumentReference; } IfcDocumentReference::IfcDocumentReference(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDocumentReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDocumentReference::IfcDocumentReference(boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcDocumentReference::IfcDocumentReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoor bool IfcDoor::hasOverallHeight() const { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcDoor::OverallHeight() const { return *entity->getArgument(8); } -void IfcDoor::setOverallHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcDoor::OverallHeight() const { return *entity->getArgument(8); } +void IfcDoor::setOverallHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcDoor::hasOverallWidth() const { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcDoor::OverallWidth() const { return *entity->getArgument(9); } -void IfcDoor::setOverallWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcDoor::OverallWidth() const { return *entity->getArgument(9); } +void IfcDoor::setOverallWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcDoor::is(Type::Enum v) const { return v == Type::IfcDoor || IfcBuildingElement::is(v); } Type::Enum IfcDoor::type() const { return Type::IfcDoor; } Type::Enum IfcDoor::Class() { return Type::IfcDoor; } IfcDoor::IfcDoor(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoor::IfcDoor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcDoor::IfcDoor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoorLiningProperties bool IfcDoorLiningProperties::hasLiningDepth() const { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcDoorLiningProperties::LiningDepth() const { return *entity->getArgument(4); } -void IfcDoorLiningProperties::setLiningDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcDoorLiningProperties::LiningDepth() const { return *entity->getArgument(4); } +void IfcDoorLiningProperties::setLiningDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcDoorLiningProperties::hasLiningThickness() const { return !entity->getArgument(5)->isNull(); } -IfcPositiveLengthMeasure IfcDoorLiningProperties::LiningThickness() const { return *entity->getArgument(5); } -void IfcDoorLiningProperties::setLiningThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcDoorLiningProperties::LiningThickness() const { return *entity->getArgument(5); } +void IfcDoorLiningProperties::setLiningThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcDoorLiningProperties::hasThresholdDepth() const { return !entity->getArgument(6)->isNull(); } -IfcPositiveLengthMeasure IfcDoorLiningProperties::ThresholdDepth() const { return *entity->getArgument(6); } -void IfcDoorLiningProperties::setThresholdDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcDoorLiningProperties::ThresholdDepth() const { return *entity->getArgument(6); } +void IfcDoorLiningProperties::setThresholdDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcDoorLiningProperties::hasThresholdThickness() const { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcDoorLiningProperties::ThresholdThickness() const { return *entity->getArgument(7); } -void IfcDoorLiningProperties::setThresholdThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcDoorLiningProperties::ThresholdThickness() const { return *entity->getArgument(7); } +void IfcDoorLiningProperties::setThresholdThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcDoorLiningProperties::hasTransomThickness() const { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcDoorLiningProperties::TransomThickness() const { return *entity->getArgument(8); } -void IfcDoorLiningProperties::setTransomThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcDoorLiningProperties::TransomThickness() const { return *entity->getArgument(8); } +void IfcDoorLiningProperties::setTransomThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcDoorLiningProperties::hasTransomOffset() const { return !entity->getArgument(9)->isNull(); } -IfcLengthMeasure IfcDoorLiningProperties::TransomOffset() const { return *entity->getArgument(9); } -void IfcDoorLiningProperties::setTransomOffset(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcDoorLiningProperties::TransomOffset() const { return *entity->getArgument(9); } +void IfcDoorLiningProperties::setTransomOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcDoorLiningProperties::hasLiningOffset() const { return !entity->getArgument(10)->isNull(); } -IfcLengthMeasure IfcDoorLiningProperties::LiningOffset() const { return *entity->getArgument(10); } -void IfcDoorLiningProperties::setLiningOffset(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcDoorLiningProperties::LiningOffset() const { return *entity->getArgument(10); } +void IfcDoorLiningProperties::setLiningOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcDoorLiningProperties::hasThresholdOffset() const { return !entity->getArgument(11)->isNull(); } -IfcLengthMeasure IfcDoorLiningProperties::ThresholdOffset() const { return *entity->getArgument(11); } -void IfcDoorLiningProperties::setThresholdOffset(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcDoorLiningProperties::ThresholdOffset() const { return *entity->getArgument(11); } +void IfcDoorLiningProperties::setThresholdOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcDoorLiningProperties::hasCasingThickness() const { return !entity->getArgument(12)->isNull(); } -IfcPositiveLengthMeasure IfcDoorLiningProperties::CasingThickness() const { return *entity->getArgument(12); } -void IfcDoorLiningProperties::setCasingThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +double IfcDoorLiningProperties::CasingThickness() const { return *entity->getArgument(12); } +void IfcDoorLiningProperties::setCasingThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcDoorLiningProperties::hasCasingDepth() const { return !entity->getArgument(13)->isNull(); } -IfcPositiveLengthMeasure IfcDoorLiningProperties::CasingDepth() const { return *entity->getArgument(13); } -void IfcDoorLiningProperties::setCasingDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } +double IfcDoorLiningProperties::CasingDepth() const { return *entity->getArgument(13); } +void IfcDoorLiningProperties::setCasingDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } bool IfcDoorLiningProperties::hasShapeAspectStyle() const { return !entity->getArgument(14)->isNull(); } IfcShapeAspect* IfcDoorLiningProperties::ShapeAspectStyle() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(14))); } void IfcDoorLiningProperties::setShapeAspectStyle(IfcShapeAspect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } @@ -7124,17 +8528,17 @@ bool IfcDoorLiningProperties::is(Type::Enum v) const { return v == Type::IfcDoor Type::Enum IfcDoorLiningProperties::type() const { return Type::IfcDoorLiningProperties; } Type::Enum IfcDoorLiningProperties::Class() { return Type::IfcDoorLiningProperties; } IfcDoorLiningProperties::IfcDoorLiningProperties(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoorLiningProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoorLiningProperties::IfcDoorLiningProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_LiningDepth, boost::optional< IfcPositiveLengthMeasure > v6_LiningThickness, boost::optional< IfcPositiveLengthMeasure > v7_ThresholdDepth, boost::optional< IfcPositiveLengthMeasure > v8_ThresholdThickness, boost::optional< IfcPositiveLengthMeasure > v9_TransomThickness, boost::optional< IfcLengthMeasure > v10_TransomOffset, boost::optional< IfcLengthMeasure > v11_LiningOffset, boost::optional< IfcLengthMeasure > v12_ThresholdOffset, boost::optional< IfcPositiveLengthMeasure > v13_CasingThickness, boost::optional< IfcPositiveLengthMeasure > v14_CasingDepth, IfcShapeAspect* v15_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_LiningDepth) { e->setArgument(4,(*v5_LiningDepth)); } else { e->setArgument(4); } if (v6_LiningThickness) { e->setArgument(5,(*v6_LiningThickness)); } else { e->setArgument(5); } if (v7_ThresholdDepth) { e->setArgument(6,(*v7_ThresholdDepth)); } else { e->setArgument(6); } if (v8_ThresholdThickness) { e->setArgument(7,(*v8_ThresholdThickness)); } else { e->setArgument(7); } if (v9_TransomThickness) { e->setArgument(8,(*v9_TransomThickness)); } else { e->setArgument(8); } if (v10_TransomOffset) { e->setArgument(9,(*v10_TransomOffset)); } else { e->setArgument(9); } if (v11_LiningOffset) { e->setArgument(10,(*v11_LiningOffset)); } else { e->setArgument(10); } if (v12_ThresholdOffset) { e->setArgument(11,(*v12_ThresholdOffset)); } else { e->setArgument(11); } if (v13_CasingThickness) { e->setArgument(12,(*v13_CasingThickness)); } else { e->setArgument(12); } if (v14_CasingDepth) { e->setArgument(13,(*v14_CasingDepth)); } else { e->setArgument(13); } e->setArgument(14,(v15_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } +IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_ThresholdDepth, boost::optional< double > v8_ThresholdThickness, boost::optional< double > v9_TransomThickness, boost::optional< double > v10_TransomOffset, boost::optional< double > v11_LiningOffset, boost::optional< double > v12_ThresholdOffset, boost::optional< double > v13_CasingThickness, boost::optional< double > v14_CasingDepth, IfcShapeAspect* v15_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_LiningDepth) { e->setArgument(4,(*v5_LiningDepth)); } else { e->setArgument(4); } if (v6_LiningThickness) { e->setArgument(5,(*v6_LiningThickness)); } else { e->setArgument(5); } if (v7_ThresholdDepth) { e->setArgument(6,(*v7_ThresholdDepth)); } else { e->setArgument(6); } if (v8_ThresholdThickness) { e->setArgument(7,(*v8_ThresholdThickness)); } else { e->setArgument(7); } if (v9_TransomThickness) { e->setArgument(8,(*v9_TransomThickness)); } else { e->setArgument(8); } if (v10_TransomOffset) { e->setArgument(9,(*v10_TransomOffset)); } else { e->setArgument(9); } if (v11_LiningOffset) { e->setArgument(10,(*v11_LiningOffset)); } else { e->setArgument(10); } if (v12_ThresholdOffset) { e->setArgument(11,(*v12_ThresholdOffset)); } else { e->setArgument(11); } if (v13_CasingThickness) { e->setArgument(12,(*v13_CasingThickness)); } else { e->setArgument(12); } if (v14_CasingDepth) { e->setArgument(13,(*v14_CasingDepth)); } else { e->setArgument(13); } e->setArgument(14,(v15_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoorPanelProperties bool IfcDoorPanelProperties::hasPanelDepth() const { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcDoorPanelProperties::PanelDepth() const { return *entity->getArgument(4); } -void IfcDoorPanelProperties::setPanelDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcDoorPanelProperties::PanelDepth() const { return *entity->getArgument(4); } +void IfcDoorPanelProperties::setPanelDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum IfcDoorPanelProperties::PanelOperation() const { return IfcDoorPanelOperationEnum::FromString(*entity->getArgument(5)); } void IfcDoorPanelProperties::setPanelOperation(IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcDoorPanelOperationEnum::ToString(v)); } bool IfcDoorPanelProperties::hasPanelWidth() const { return !entity->getArgument(6)->isNull(); } -IfcNormalisedRatioMeasure IfcDoorPanelProperties::PanelWidth() const { return *entity->getArgument(6); } -void IfcDoorPanelProperties::setPanelWidth(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcDoorPanelProperties::PanelWidth() const { return *entity->getArgument(6); } +void IfcDoorPanelProperties::setPanelWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum IfcDoorPanelProperties::PanelPosition() const { return IfcDoorPanelPositionEnum::FromString(*entity->getArgument(7)); } void IfcDoorPanelProperties::setPanelPosition(IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcDoorPanelPositionEnum::ToString(v)); } bool IfcDoorPanelProperties::hasShapeAspectStyle() const { return !entity->getArgument(8)->isNull(); } @@ -7144,7 +8548,7 @@ bool IfcDoorPanelProperties::is(Type::Enum v) const { return v == Type::IfcDoorP Type::Enum IfcDoorPanelProperties::type() const { return Type::IfcDoorPanelProperties; } Type::Enum IfcDoorPanelProperties::Class() { return Type::IfcDoorPanelProperties; } IfcDoorPanelProperties::IfcDoorPanelProperties(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoorPanelProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoorPanelProperties::IfcDoorPanelProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_PanelDepth, IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v6_PanelOperation, boost::optional< IfcNormalisedRatioMeasure > v7_PanelWidth, IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v8_PanelPosition, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_PanelDepth) { e->setArgument(4,(*v5_PanelDepth)); } else { e->setArgument(4); } e->setArgument(5,v6_PanelOperation,IfcDoorPanelOperationEnum::ToString(v6_PanelOperation)); if (v7_PanelWidth) { e->setArgument(6,(*v7_PanelWidth)); } else { e->setArgument(6); } e->setArgument(7,v8_PanelPosition,IfcDoorPanelPositionEnum::ToString(v8_PanelPosition)); e->setArgument(8,(v9_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } +IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v6_PanelOperation, boost::optional< double > v7_PanelWidth, IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v8_PanelPosition, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_PanelDepth) { e->setArgument(4,(*v5_PanelDepth)); } else { e->setArgument(4); } e->setArgument(5,v6_PanelOperation,IfcDoorPanelOperationEnum::ToString(v6_PanelOperation)); if (v7_PanelWidth) { e->setArgument(6,(*v7_PanelWidth)); } else { e->setArgument(6); } e->setArgument(7,v8_PanelPosition,IfcDoorPanelPositionEnum::ToString(v8_PanelPosition)); e->setArgument(8,(v9_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoorStyle IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum IfcDoorStyle::OperationType() const { return IfcDoorStyleOperationEnum::FromString(*entity->getArgument(8)); } @@ -7159,11 +8563,11 @@ bool IfcDoorStyle::is(Type::Enum v) const { return v == Type::IfcDoorStyle || If Type::Enum IfcDoorStyle::type() const { return Type::IfcDoorStyle; } Type::Enum IfcDoorStyle::Class() { return Type::IfcDoorStyle; } IfcDoorStyle::IfcDoorStyle(IfcAbstractEntity* e) : IfcTypeProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoorStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoorStyle::IfcDoorStyle(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v9_OperationType, IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_OperationType,IfcDoorStyleOperationEnum::ToString(v9_OperationType)); e->setArgument(9,v10_ConstructionType,IfcDoorStyleConstructionEnum::ToString(v10_ConstructionType)); e->setArgument(10,(v11_ParameterTakesPrecedence)); e->setArgument(11,(v12_Sizeable)); entity = e; EntityBuffer::Add(this); } +IfcDoorStyle::IfcDoorStyle(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v9_OperationType, IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_OperationType,IfcDoorStyleOperationEnum::ToString(v9_OperationType)); e->setArgument(9,v10_ConstructionType,IfcDoorStyleConstructionEnum::ToString(v10_ConstructionType)); e->setArgument(10,(v11_ParameterTakesPrecedence)); e->setArgument(11,(v12_Sizeable)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDraughtingCallout -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcDraughtingCallout::Contents() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcDraughtingCallout::setContents(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcEntityList::ptr IfcDraughtingCallout::Contents() const { return *entity->getArgument(0); } +void IfcDraughtingCallout::setContents(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } IfcDraughtingCalloutRelationship::list::ptr IfcDraughtingCallout::IsRelatedFromCallout() const { return entity->getInverse(Type::IfcDraughtingCalloutRelationship)->as(); } IfcDraughtingCalloutRelationship::list::ptr IfcDraughtingCallout::IsRelatedToCallout() const { return entity->getInverse(Type::IfcDraughtingCalloutRelationship)->as(); } bool IfcDraughtingCallout::is(Type::Enum v) const { return v == Type::IfcDraughtingCallout || IfcGeometricRepresentationItem::is(v); } @@ -7174,11 +8578,11 @@ IfcDraughtingCallout::IfcDraughtingCallout(IfcEntityList::ptr v1_Contents) : Ifc // Function implementations for IfcDraughtingCalloutRelationship bool IfcDraughtingCalloutRelationship::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcDraughtingCalloutRelationship::Name() const { return *entity->getArgument(0); } -void IfcDraughtingCalloutRelationship::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcDraughtingCalloutRelationship::Name() const { return *entity->getArgument(0); } +void IfcDraughtingCalloutRelationship::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcDraughtingCalloutRelationship::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcDraughtingCalloutRelationship::Description() const { return *entity->getArgument(1); } -void IfcDraughtingCalloutRelationship::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcDraughtingCalloutRelationship::Description() const { return *entity->getArgument(1); } +void IfcDraughtingCalloutRelationship::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcDraughtingCallout* IfcDraughtingCalloutRelationship::RelatingDraughtingCallout() const { return (IfcDraughtingCallout*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcDraughtingCalloutRelationship::setRelatingDraughtingCallout(IfcDraughtingCallout* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcDraughtingCallout* IfcDraughtingCalloutRelationship::RelatedDraughtingCallout() const { return (IfcDraughtingCallout*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } @@ -7187,28 +8591,28 @@ bool IfcDraughtingCalloutRelationship::is(Type::Enum v) const { return v == Type Type::Enum IfcDraughtingCalloutRelationship::type() const { return Type::IfcDraughtingCalloutRelationship; } Type::Enum IfcDraughtingCalloutRelationship::Class() { return Type::IfcDraughtingCalloutRelationship; } IfcDraughtingCalloutRelationship::IfcDraughtingCalloutRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDraughtingCalloutRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDraughtingCalloutRelationship::IfcDraughtingCalloutRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcDraughtingCallout* v3_RelatingDraughtingCallout, IfcDraughtingCallout* v4_RelatedDraughtingCallout) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingDraughtingCallout)); e->setArgument(3,(v4_RelatedDraughtingCallout)); entity = e; EntityBuffer::Add(this); } +IfcDraughtingCalloutRelationship::IfcDraughtingCalloutRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcDraughtingCallout* v3_RelatingDraughtingCallout, IfcDraughtingCallout* v4_RelatedDraughtingCallout) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingDraughtingCallout)); e->setArgument(3,(v4_RelatedDraughtingCallout)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDraughtingPreDefinedColour bool IfcDraughtingPreDefinedColour::is(Type::Enum v) const { return v == Type::IfcDraughtingPreDefinedColour || IfcPreDefinedColour::is(v); } Type::Enum IfcDraughtingPreDefinedColour::type() const { return Type::IfcDraughtingPreDefinedColour; } Type::Enum IfcDraughtingPreDefinedColour::Class() { return Type::IfcDraughtingPreDefinedColour; } IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(IfcAbstractEntity* e) : IfcPreDefinedColour((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDraughtingPreDefinedColour)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(IfcLabel v1_Name) : IfcPreDefinedColour((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDraughtingPreDefinedCurveFont bool IfcDraughtingPreDefinedCurveFont::is(Type::Enum v) const { return v == Type::IfcDraughtingPreDefinedCurveFont || IfcPreDefinedCurveFont::is(v); } Type::Enum IfcDraughtingPreDefinedCurveFont::type() const { return Type::IfcDraughtingPreDefinedCurveFont; } Type::Enum IfcDraughtingPreDefinedCurveFont::Class() { return Type::IfcDraughtingPreDefinedCurveFont; } IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcAbstractEntity* e) : IfcPreDefinedCurveFont((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDraughtingPreDefinedCurveFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcLabel v1_Name) : IfcPreDefinedCurveFont((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDraughtingPreDefinedTextFont bool IfcDraughtingPreDefinedTextFont::is(Type::Enum v) const { return v == Type::IfcDraughtingPreDefinedTextFont || IfcPreDefinedTextFont::is(v); } Type::Enum IfcDraughtingPreDefinedTextFont::type() const { return Type::IfcDraughtingPreDefinedTextFont; } Type::Enum IfcDraughtingPreDefinedTextFont::Class() { return Type::IfcDraughtingPreDefinedTextFont; } IfcDraughtingPreDefinedTextFont::IfcDraughtingPreDefinedTextFont(IfcAbstractEntity* e) : IfcPreDefinedTextFont((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDraughtingPreDefinedTextFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDraughtingPreDefinedTextFont::IfcDraughtingPreDefinedTextFont(IfcLabel v1_Name) : IfcPreDefinedTextFont((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcDraughtingPreDefinedTextFont::IfcDraughtingPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedTextFont((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDuctFittingType IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum IfcDuctFittingType::PredefinedType() const { return IfcDuctFittingTypeEnum::FromString(*entity->getArgument(9)); } @@ -7217,7 +8621,7 @@ bool IfcDuctFittingType::is(Type::Enum v) const { return v == Type::IfcDuctFitti Type::Enum IfcDuctFittingType::type() const { return Type::IfcDuctFittingType; } Type::Enum IfcDuctFittingType::Class() { return Type::IfcDuctFittingType; } IfcDuctFittingType::IfcDuctFittingType(IfcAbstractEntity* e) : IfcFlowFittingType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDuctFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDuctFittingType::IfcDuctFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDuctFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDuctFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDuctSegmentType IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum IfcDuctSegmentType::PredefinedType() const { return IfcDuctSegmentTypeEnum::FromString(*entity->getArgument(9)); } @@ -7226,7 +8630,7 @@ bool IfcDuctSegmentType::is(Type::Enum v) const { return v == Type::IfcDuctSegme Type::Enum IfcDuctSegmentType::type() const { return Type::IfcDuctSegmentType; } Type::Enum IfcDuctSegmentType::Class() { return Type::IfcDuctSegmentType; } IfcDuctSegmentType::IfcDuctSegmentType(IfcAbstractEntity* e) : IfcFlowSegmentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDuctSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDuctSegmentType::IfcDuctSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDuctSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDuctSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDuctSilencerType IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum IfcDuctSilencerType::PredefinedType() const { return IfcDuctSilencerTypeEnum::FromString(*entity->getArgument(9)); } @@ -7235,7 +8639,7 @@ bool IfcDuctSilencerType::is(Type::Enum v) const { return v == Type::IfcDuctSile Type::Enum IfcDuctSilencerType::type() const { return Type::IfcDuctSilencerType; } Type::Enum IfcDuctSilencerType::Class() { return Type::IfcDuctSilencerType; } IfcDuctSilencerType::IfcDuctSilencerType(IfcAbstractEntity* e) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDuctSilencerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDuctSilencerType::IfcDuctSilencerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDuctSilencerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDuctSilencerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEdge IfcVertex* IfcEdge::EdgeStart() const { return (IfcVertex*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -7261,13 +8665,13 @@ IfcEdgeCurve::IfcEdgeCurve(IfcVertex* v1_EdgeStart, IfcVertex* v2_EdgeEnd, IfcCu // Function implementations for IfcEdgeFeature bool IfcEdgeFeature::hasFeatureLength() const { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcEdgeFeature::FeatureLength() const { return *entity->getArgument(8); } -void IfcEdgeFeature::setFeatureLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcEdgeFeature::FeatureLength() const { return *entity->getArgument(8); } +void IfcEdgeFeature::setFeatureLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcEdgeFeature::is(Type::Enum v) const { return v == Type::IfcEdgeFeature || IfcFeatureElementSubtraction::is(v); } Type::Enum IfcEdgeFeature::type() const { return Type::IfcEdgeFeature; } Type::Enum IfcEdgeFeature::Class() { return Type::IfcEdgeFeature; } IfcEdgeFeature::IfcEdgeFeature(IfcAbstractEntity* e) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEdgeFeature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEdgeFeature::IfcEdgeFeature(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_FeatureLength) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_FeatureLength) { e->setArgument(8,(*v9_FeatureLength)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcEdgeFeature::IfcEdgeFeature(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_FeatureLength) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_FeatureLength) { e->setArgument(8,(*v9_FeatureLength)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEdgeLoop IfcTemplatedEntityList< IfcOrientedEdge >::ptr IfcEdgeLoop::EdgeList() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } @@ -7285,19 +8689,19 @@ bool IfcElectricApplianceType::is(Type::Enum v) const { return v == Type::IfcEle Type::Enum IfcElectricApplianceType::type() const { return Type::IfcElectricApplianceType; } Type::Enum IfcElectricApplianceType::Class() { return Type::IfcElectricApplianceType; } IfcElectricApplianceType::IfcElectricApplianceType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricApplianceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricApplianceType::IfcElectricApplianceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricApplianceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricApplianceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricDistributionPoint IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum IfcElectricDistributionPoint::DistributionPointFunction() const { return IfcElectricDistributionPointFunctionEnum::FromString(*entity->getArgument(8)); } void IfcElectricDistributionPoint::setDistributionPointFunction(IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcElectricDistributionPointFunctionEnum::ToString(v)); } bool IfcElectricDistributionPoint::hasUserDefinedFunction() const { return !entity->getArgument(9)->isNull(); } -IfcLabel IfcElectricDistributionPoint::UserDefinedFunction() const { return *entity->getArgument(9); } -void IfcElectricDistributionPoint::setUserDefinedFunction(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +std::string IfcElectricDistributionPoint::UserDefinedFunction() const { return *entity->getArgument(9); } +void IfcElectricDistributionPoint::setUserDefinedFunction(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcElectricDistributionPoint::is(Type::Enum v) const { return v == Type::IfcElectricDistributionPoint || IfcFlowController::is(v); } Type::Enum IfcElectricDistributionPoint::type() const { return Type::IfcElectricDistributionPoint; } Type::Enum IfcElectricDistributionPoint::Class() { return Type::IfcElectricDistributionPoint; } IfcElectricDistributionPoint::IfcElectricDistributionPoint(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricDistributionPoint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricDistributionPoint::IfcElectricDistributionPoint(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum v9_DistributionPointFunction, boost::optional< IfcLabel > v10_UserDefinedFunction) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_DistributionPointFunction,IfcElectricDistributionPointFunctionEnum::ToString(v9_DistributionPointFunction)); if (v10_UserDefinedFunction) { e->setArgument(9,(*v10_UserDefinedFunction)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcElectricDistributionPoint::IfcElectricDistributionPoint(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum v9_DistributionPointFunction, boost::optional< std::string > v10_UserDefinedFunction) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_DistributionPointFunction,IfcElectricDistributionPointFunctionEnum::ToString(v9_DistributionPointFunction)); if (v10_UserDefinedFunction) { e->setArgument(9,(*v10_UserDefinedFunction)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricFlowStorageDeviceType IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum IfcElectricFlowStorageDeviceType::PredefinedType() const { return IfcElectricFlowStorageDeviceTypeEnum::FromString(*entity->getArgument(9)); } @@ -7306,7 +8710,7 @@ bool IfcElectricFlowStorageDeviceType::is(Type::Enum v) const { return v == Type Type::Enum IfcElectricFlowStorageDeviceType::type() const { return Type::IfcElectricFlowStorageDeviceType; } Type::Enum IfcElectricFlowStorageDeviceType::Class() { return Type::IfcElectricFlowStorageDeviceType; } IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(IfcAbstractEntity* e) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricFlowStorageDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v10_PredefinedType) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricFlowStorageDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v10_PredefinedType) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricFlowStorageDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricGeneratorType IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum IfcElectricGeneratorType::PredefinedType() const { return IfcElectricGeneratorTypeEnum::FromString(*entity->getArgument(9)); } @@ -7315,7 +8719,7 @@ bool IfcElectricGeneratorType::is(Type::Enum v) const { return v == Type::IfcEle Type::Enum IfcElectricGeneratorType::type() const { return Type::IfcElectricGeneratorType; } Type::Enum IfcElectricGeneratorType::Class() { return Type::IfcElectricGeneratorType; } IfcElectricGeneratorType::IfcElectricGeneratorType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricGeneratorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricGeneratorType::IfcElectricGeneratorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricGeneratorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricGeneratorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricHeaterType IfcElectricHeaterTypeEnum::IfcElectricHeaterTypeEnum IfcElectricHeaterType::PredefinedType() const { return IfcElectricHeaterTypeEnum::FromString(*entity->getArgument(9)); } @@ -7324,7 +8728,7 @@ bool IfcElectricHeaterType::is(Type::Enum v) const { return v == Type::IfcElectr Type::Enum IfcElectricHeaterType::type() const { return Type::IfcElectricHeaterType; } Type::Enum IfcElectricHeaterType::Class() { return Type::IfcElectricHeaterType; } IfcElectricHeaterType::IfcElectricHeaterType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricHeaterType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricHeaterType::IfcElectricHeaterType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricHeaterTypeEnum::IfcElectricHeaterTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricHeaterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcElectricHeaterType::IfcElectricHeaterType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricHeaterTypeEnum::IfcElectricHeaterTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricHeaterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricMotorType IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum IfcElectricMotorType::PredefinedType() const { return IfcElectricMotorTypeEnum::FromString(*entity->getArgument(9)); } @@ -7333,7 +8737,7 @@ bool IfcElectricMotorType::is(Type::Enum v) const { return v == Type::IfcElectri Type::Enum IfcElectricMotorType::type() const { return Type::IfcElectricMotorType; } Type::Enum IfcElectricMotorType::Class() { return Type::IfcElectricMotorType; } IfcElectricMotorType::IfcElectricMotorType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricMotorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricMotorType::IfcElectricMotorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricMotorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricMotorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricTimeControlType IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum IfcElectricTimeControlType::PredefinedType() const { return IfcElectricTimeControlTypeEnum::FromString(*entity->getArgument(9)); } @@ -7342,54 +8746,54 @@ bool IfcElectricTimeControlType::is(Type::Enum v) const { return v == Type::IfcE Type::Enum IfcElectricTimeControlType::type() const { return Type::IfcElectricTimeControlType; } Type::Enum IfcElectricTimeControlType::Class() { return Type::IfcElectricTimeControlType; } IfcElectricTimeControlType::IfcElectricTimeControlType(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricTimeControlType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricTimeControlType::IfcElectricTimeControlType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricTimeControlTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricTimeControlTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricalBaseProperties bool IfcElectricalBaseProperties::hasElectricCurrentType() const { return !entity->getArgument(6)->isNull(); } IfcElectricCurrentEnum::IfcElectricCurrentEnum IfcElectricalBaseProperties::ElectricCurrentType() const { return IfcElectricCurrentEnum::FromString(*entity->getArgument(6)); } void IfcElectricalBaseProperties::setElectricCurrentType(IfcElectricCurrentEnum::IfcElectricCurrentEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcElectricCurrentEnum::ToString(v)); } -IfcElectricVoltageMeasure IfcElectricalBaseProperties::InputVoltage() const { return *entity->getArgument(7); } -void IfcElectricalBaseProperties::setInputVoltage(IfcElectricVoltageMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcFrequencyMeasure IfcElectricalBaseProperties::InputFrequency() const { return *entity->getArgument(8); } -void IfcElectricalBaseProperties::setInputFrequency(IfcFrequencyMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcElectricalBaseProperties::InputVoltage() const { return *entity->getArgument(7); } +void IfcElectricalBaseProperties::setInputVoltage(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcElectricalBaseProperties::InputFrequency() const { return *entity->getArgument(8); } +void IfcElectricalBaseProperties::setInputFrequency(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcElectricalBaseProperties::hasFullLoadCurrent() const { return !entity->getArgument(9)->isNull(); } -IfcElectricCurrentMeasure IfcElectricalBaseProperties::FullLoadCurrent() const { return *entity->getArgument(9); } -void IfcElectricalBaseProperties::setFullLoadCurrent(IfcElectricCurrentMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcElectricalBaseProperties::FullLoadCurrent() const { return *entity->getArgument(9); } +void IfcElectricalBaseProperties::setFullLoadCurrent(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcElectricalBaseProperties::hasMinimumCircuitCurrent() const { return !entity->getArgument(10)->isNull(); } -IfcElectricCurrentMeasure IfcElectricalBaseProperties::MinimumCircuitCurrent() const { return *entity->getArgument(10); } -void IfcElectricalBaseProperties::setMinimumCircuitCurrent(IfcElectricCurrentMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcElectricalBaseProperties::MinimumCircuitCurrent() const { return *entity->getArgument(10); } +void IfcElectricalBaseProperties::setMinimumCircuitCurrent(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcElectricalBaseProperties::hasMaximumPowerInput() const { return !entity->getArgument(11)->isNull(); } -IfcPowerMeasure IfcElectricalBaseProperties::MaximumPowerInput() const { return *entity->getArgument(11); } -void IfcElectricalBaseProperties::setMaximumPowerInput(IfcPowerMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcElectricalBaseProperties::MaximumPowerInput() const { return *entity->getArgument(11); } +void IfcElectricalBaseProperties::setMaximumPowerInput(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcElectricalBaseProperties::hasRatedPowerInput() const { return !entity->getArgument(12)->isNull(); } -IfcPowerMeasure IfcElectricalBaseProperties::RatedPowerInput() const { return *entity->getArgument(12); } -void IfcElectricalBaseProperties::setRatedPowerInput(IfcPowerMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +double IfcElectricalBaseProperties::RatedPowerInput() const { return *entity->getArgument(12); } +void IfcElectricalBaseProperties::setRatedPowerInput(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } int IfcElectricalBaseProperties::InputPhase() const { return *entity->getArgument(13); } void IfcElectricalBaseProperties::setInputPhase(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } bool IfcElectricalBaseProperties::is(Type::Enum v) const { return v == Type::IfcElectricalBaseProperties || IfcEnergyProperties::is(v); } Type::Enum IfcElectricalBaseProperties::type() const { return Type::IfcElectricalBaseProperties; } Type::Enum IfcElectricalBaseProperties::Class() { return Type::IfcElectricalBaseProperties; } IfcElectricalBaseProperties::IfcElectricalBaseProperties(IfcAbstractEntity* e) : IfcEnergyProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricalBaseProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricalBaseProperties::IfcElectricalBaseProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcEnergySequenceEnum::IfcEnergySequenceEnum > v5_EnergySequence, boost::optional< IfcLabel > v6_UserDefinedEnergySequence, boost::optional< IfcElectricCurrentEnum::IfcElectricCurrentEnum > v7_ElectricCurrentType, IfcElectricVoltageMeasure v8_InputVoltage, IfcFrequencyMeasure v9_InputFrequency, boost::optional< IfcElectricCurrentMeasure > v10_FullLoadCurrent, boost::optional< IfcElectricCurrentMeasure > v11_MinimumCircuitCurrent, boost::optional< IfcPowerMeasure > v12_MaximumPowerInput, boost::optional< IfcPowerMeasure > v13_RatedPowerInput, int v14_InputPhase) : IfcEnergyProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_EnergySequence) { e->setArgument(4,*v5_EnergySequence,IfcEnergySequenceEnum::ToString(*v5_EnergySequence)); } else { e->setArgument(4); } if (v6_UserDefinedEnergySequence) { e->setArgument(5,(*v6_UserDefinedEnergySequence)); } else { e->setArgument(5); } if (v7_ElectricCurrentType) { e->setArgument(6,*v7_ElectricCurrentType,IfcElectricCurrentEnum::ToString(*v7_ElectricCurrentType)); } else { e->setArgument(6); } e->setArgument(7,(v8_InputVoltage)); e->setArgument(8,(v9_InputFrequency)); if (v10_FullLoadCurrent) { e->setArgument(9,(*v10_FullLoadCurrent)); } else { e->setArgument(9); } if (v11_MinimumCircuitCurrent) { e->setArgument(10,(*v11_MinimumCircuitCurrent)); } else { e->setArgument(10); } if (v12_MaximumPowerInput) { e->setArgument(11,(*v12_MaximumPowerInput)); } else { e->setArgument(11); } if (v13_RatedPowerInput) { e->setArgument(12,(*v13_RatedPowerInput)); } else { e->setArgument(12); } e->setArgument(13,(v14_InputPhase)); entity = e; EntityBuffer::Add(this); } +IfcElectricalBaseProperties::IfcElectricalBaseProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcEnergySequenceEnum::IfcEnergySequenceEnum > v5_EnergySequence, boost::optional< std::string > v6_UserDefinedEnergySequence, boost::optional< IfcElectricCurrentEnum::IfcElectricCurrentEnum > v7_ElectricCurrentType, double v8_InputVoltage, double v9_InputFrequency, boost::optional< double > v10_FullLoadCurrent, boost::optional< double > v11_MinimumCircuitCurrent, boost::optional< double > v12_MaximumPowerInput, boost::optional< double > v13_RatedPowerInput, int v14_InputPhase) : IfcEnergyProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_EnergySequence) { e->setArgument(4,*v5_EnergySequence,IfcEnergySequenceEnum::ToString(*v5_EnergySequence)); } else { e->setArgument(4); } if (v6_UserDefinedEnergySequence) { e->setArgument(5,(*v6_UserDefinedEnergySequence)); } else { e->setArgument(5); } if (v7_ElectricCurrentType) { e->setArgument(6,*v7_ElectricCurrentType,IfcElectricCurrentEnum::ToString(*v7_ElectricCurrentType)); } else { e->setArgument(6); } e->setArgument(7,(v8_InputVoltage)); e->setArgument(8,(v9_InputFrequency)); if (v10_FullLoadCurrent) { e->setArgument(9,(*v10_FullLoadCurrent)); } else { e->setArgument(9); } if (v11_MinimumCircuitCurrent) { e->setArgument(10,(*v11_MinimumCircuitCurrent)); } else { e->setArgument(10); } if (v12_MaximumPowerInput) { e->setArgument(11,(*v12_MaximumPowerInput)); } else { e->setArgument(11); } if (v13_RatedPowerInput) { e->setArgument(12,(*v13_RatedPowerInput)); } else { e->setArgument(12); } e->setArgument(13,(v14_InputPhase)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricalCircuit bool IfcElectricalCircuit::is(Type::Enum v) const { return v == Type::IfcElectricalCircuit || IfcSystem::is(v); } Type::Enum IfcElectricalCircuit::type() const { return Type::IfcElectricalCircuit; } Type::Enum IfcElectricalCircuit::Class() { return Type::IfcElectricalCircuit; } IfcElectricalCircuit::IfcElectricalCircuit(IfcAbstractEntity* e) : IfcSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricalCircuit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricalCircuit::IfcElectricalCircuit(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcElectricalCircuit::IfcElectricalCircuit(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricalElement bool IfcElectricalElement::is(Type::Enum v) const { return v == Type::IfcElectricalElement || IfcElement::is(v); } Type::Enum IfcElectricalElement::type() const { return Type::IfcElectricalElement; } Type::Enum IfcElectricalElement::Class() { return Type::IfcElectricalElement; } IfcElectricalElement::IfcElectricalElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricalElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricalElement::IfcElectricalElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcElectricalElement::IfcElectricalElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElement bool IfcElement::hasTag() const { return !entity->getArgument(7)->isNull(); } -IfcIdentifier IfcElement::Tag() const { return *entity->getArgument(7); } -void IfcElement::setTag(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcElement::Tag() const { return *entity->getArgument(7); } +void IfcElement::setTag(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } IfcRelConnectsStructuralElement::list::ptr IfcElement::HasStructuralMember() const { return entity->getInverse(Type::IfcRelConnectsStructuralElement)->as(); } IfcRelFillsElement::list::ptr IfcElement::FillsVoids() const { return entity->getInverse(Type::IfcRelFillsElement)->as(); } IfcRelConnectsElements::list::ptr IfcElement::ConnectedTo() const { return entity->getInverse(Type::IfcRelConnectsElements)->as(); } @@ -7406,7 +8810,7 @@ bool IfcElement::is(Type::Enum v) const { return v == Type::IfcElement || IfcPro Type::Enum IfcElement::type() const { return Type::IfcElement; } Type::Enum IfcElement::Class() { return Type::IfcElement; } IfcElement::IfcElement(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElement::IfcElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcElement::IfcElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementAssembly bool IfcElementAssembly::hasAssemblyPlace() const { return !entity->getArgument(8)->isNull(); } @@ -7418,43 +8822,43 @@ bool IfcElementAssembly::is(Type::Enum v) const { return v == Type::IfcElementAs Type::Enum IfcElementAssembly::type() const { return Type::IfcElementAssembly; } Type::Enum IfcElementAssembly::Class() { return Type::IfcElementAssembly; } IfcElementAssembly::IfcElementAssembly(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementAssembly)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementAssembly::IfcElementAssembly(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v9_AssemblyPlace, IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v10_PredefinedType) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_AssemblyPlace) { e->setArgument(8,*v9_AssemblyPlace,IfcAssemblyPlaceEnum::ToString(*v9_AssemblyPlace)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElementAssemblyTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v9_AssemblyPlace, IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v10_PredefinedType) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_AssemblyPlace) { e->setArgument(8,*v9_AssemblyPlace,IfcAssemblyPlaceEnum::ToString(*v9_AssemblyPlace)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElementAssemblyTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementComponent bool IfcElementComponent::is(Type::Enum v) const { return v == Type::IfcElementComponent || IfcElement::is(v); } Type::Enum IfcElementComponent::type() const { return Type::IfcElementComponent; } Type::Enum IfcElementComponent::Class() { return Type::IfcElementComponent; } IfcElementComponent::IfcElementComponent(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementComponent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementComponent::IfcElementComponent(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementComponentType bool IfcElementComponentType::is(Type::Enum v) const { return v == Type::IfcElementComponentType || IfcElementType::is(v); } Type::Enum IfcElementComponentType::type() const { return Type::IfcElementComponentType; } Type::Enum IfcElementComponentType::Class() { return Type::IfcElementComponentType; } IfcElementComponentType::IfcElementComponentType(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementComponentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementComponentType::IfcElementComponentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementQuantity bool IfcElementQuantity::hasMethodOfMeasurement() const { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcElementQuantity::MethodOfMeasurement() const { return *entity->getArgument(4); } -void IfcElementQuantity::setMethodOfMeasurement(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcElementQuantity::MethodOfMeasurement() const { return *entity->getArgument(4); } +void IfcElementQuantity::setMethodOfMeasurement(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr IfcElementQuantity::Quantities() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } void IfcElementQuantity::setQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } 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; } IfcElementQuantity::IfcElementQuantity(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementQuantity::IfcElementQuantity(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_MethodOfMeasurement, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v6_Quantities) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_MethodOfMeasurement) { e->setArgument(4,(*v5_MethodOfMeasurement)); } else { e->setArgument(4); } e->setArgument(5,(v6_Quantities)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v6_Quantities) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_MethodOfMeasurement) { e->setArgument(4,(*v5_MethodOfMeasurement)); } else { e->setArgument(4); } e->setArgument(5,(v6_Quantities)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementType bool IfcElementType::hasElementType() const { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcElementType::ElementType() const { return *entity->getArgument(8); } -void IfcElementType::setElementType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcElementType::ElementType() const { return *entity->getArgument(8); } +void IfcElementType::setElementType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcElementType::is(Type::Enum v) const { return v == Type::IfcElementType || IfcTypeProduct::is(v); } Type::Enum IfcElementType::type() const { return Type::IfcElementType; } Type::Enum IfcElementType::Class() { return Type::IfcElementType; } IfcElementType::IfcElementType(IfcAbstractEntity* e) : IfcTypeProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementType::IfcElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcElementType::IfcElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementarySurface IfcAxis2Placement3D* IfcElementarySurface::Position() const { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -7466,81 +8870,81 @@ IfcElementarySurface::IfcElementarySurface(IfcAbstractEntity* e) : IfcSurface((I IfcElementarySurface::IfcElementarySurface(IfcAxis2Placement3D* v1_Position) : IfcSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEllipse -IfcPositiveLengthMeasure IfcEllipse::SemiAxis1() const { return *entity->getArgument(1); } -void IfcEllipse::setSemiAxis1(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveLengthMeasure IfcEllipse::SemiAxis2() const { return *entity->getArgument(2); } -void IfcEllipse::setSemiAxis2(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcEllipse::SemiAxis1() const { return *entity->getArgument(1); } +void IfcEllipse::setSemiAxis1(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcEllipse::SemiAxis2() const { return *entity->getArgument(2); } +void IfcEllipse::setSemiAxis2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcEllipse::is(Type::Enum v) const { return v == Type::IfcEllipse || IfcConic::is(v); } Type::Enum IfcEllipse::type() const { return Type::IfcEllipse; } Type::Enum IfcEllipse::Class() { return Type::IfcEllipse; } IfcEllipse::IfcEllipse(IfcAbstractEntity* e) : IfcConic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEllipse)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEllipse::IfcEllipse(IfcAxis2Placement v1_Position, IfcPositiveLengthMeasure v2_SemiAxis1, IfcPositiveLengthMeasure v3_SemiAxis2) : IfcConic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_SemiAxis1)); e->setArgument(2,(v3_SemiAxis2)); entity = e; EntityBuffer::Add(this); } +IfcEllipse::IfcEllipse(IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_SemiAxis1)); e->setArgument(2,(v3_SemiAxis2)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEllipseProfileDef -IfcPositiveLengthMeasure IfcEllipseProfileDef::SemiAxis1() const { return *entity->getArgument(3); } -void IfcEllipseProfileDef::setSemiAxis1(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcEllipseProfileDef::SemiAxis2() const { return *entity->getArgument(4); } -void IfcEllipseProfileDef::setSemiAxis2(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcEllipseProfileDef::SemiAxis1() const { return *entity->getArgument(3); } +void IfcEllipseProfileDef::setSemiAxis1(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcEllipseProfileDef::SemiAxis2() const { return *entity->getArgument(4); } +void IfcEllipseProfileDef::setSemiAxis2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcEllipseProfileDef::is(Type::Enum v) const { return v == Type::IfcEllipseProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcEllipseProfileDef::type() const { return Type::IfcEllipseProfileDef; } Type::Enum IfcEllipseProfileDef::Class() { return Type::IfcEllipseProfileDef; } IfcEllipseProfileDef::IfcEllipseProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEllipseProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEllipseProfileDef::IfcEllipseProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_SemiAxis1, IfcPositiveLengthMeasure v5_SemiAxis2) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_SemiAxis1)); e->setArgument(4,(v5_SemiAxis2)); entity = e; EntityBuffer::Add(this); } +IfcEllipseProfileDef::IfcEllipseProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_SemiAxis1)); e->setArgument(4,(v5_SemiAxis2)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEnergyConversionDevice bool IfcEnergyConversionDevice::is(Type::Enum v) const { return v == Type::IfcEnergyConversionDevice || IfcDistributionFlowElement::is(v); } Type::Enum IfcEnergyConversionDevice::type() const { return Type::IfcEnergyConversionDevice; } Type::Enum IfcEnergyConversionDevice::Class() { return Type::IfcEnergyConversionDevice; } IfcEnergyConversionDevice::IfcEnergyConversionDevice(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEnergyConversionDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEnergyConversionDevice::IfcEnergyConversionDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEnergyConversionDeviceType bool IfcEnergyConversionDeviceType::is(Type::Enum v) const { return v == Type::IfcEnergyConversionDeviceType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcEnergyConversionDeviceType::type() const { return Type::IfcEnergyConversionDeviceType; } Type::Enum IfcEnergyConversionDeviceType::Class() { return Type::IfcEnergyConversionDeviceType; } IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEnergyConversionDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEnergyProperties bool IfcEnergyProperties::hasEnergySequence() const { return !entity->getArgument(4)->isNull(); } IfcEnergySequenceEnum::IfcEnergySequenceEnum IfcEnergyProperties::EnergySequence() const { return IfcEnergySequenceEnum::FromString(*entity->getArgument(4)); } void IfcEnergyProperties::setEnergySequence(IfcEnergySequenceEnum::IfcEnergySequenceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcEnergySequenceEnum::ToString(v)); } bool IfcEnergyProperties::hasUserDefinedEnergySequence() const { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcEnergyProperties::UserDefinedEnergySequence() const { return *entity->getArgument(5); } -void IfcEnergyProperties::setUserDefinedEnergySequence(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcEnergyProperties::UserDefinedEnergySequence() const { return *entity->getArgument(5); } +void IfcEnergyProperties::setUserDefinedEnergySequence(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcEnergyProperties::is(Type::Enum v) const { return v == Type::IfcEnergyProperties || IfcPropertySetDefinition::is(v); } Type::Enum IfcEnergyProperties::type() const { return Type::IfcEnergyProperties; } Type::Enum IfcEnergyProperties::Class() { return Type::IfcEnergyProperties; } IfcEnergyProperties::IfcEnergyProperties(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEnergyProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEnergyProperties::IfcEnergyProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcEnergySequenceEnum::IfcEnergySequenceEnum > v5_EnergySequence, boost::optional< IfcLabel > v6_UserDefinedEnergySequence) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_EnergySequence) { e->setArgument(4,*v5_EnergySequence,IfcEnergySequenceEnum::ToString(*v5_EnergySequence)); } else { e->setArgument(4); } if (v6_UserDefinedEnergySequence) { e->setArgument(5,(*v6_UserDefinedEnergySequence)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcEnergyProperties::IfcEnergyProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcEnergySequenceEnum::IfcEnergySequenceEnum > v5_EnergySequence, boost::optional< std::string > v6_UserDefinedEnergySequence) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_EnergySequence) { e->setArgument(4,*v5_EnergySequence,IfcEnergySequenceEnum::ToString(*v5_EnergySequence)); } else { e->setArgument(4); } if (v6_UserDefinedEnergySequence) { e->setArgument(5,(*v6_UserDefinedEnergySequence)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEnvironmentalImpactValue -IfcLabel IfcEnvironmentalImpactValue::ImpactType() const { return *entity->getArgument(6); } -void IfcEnvironmentalImpactValue::setImpactType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcEnvironmentalImpactValue::ImpactType() const { return *entity->getArgument(6); } +void IfcEnvironmentalImpactValue::setImpactType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum IfcEnvironmentalImpactValue::Category() const { return IfcEnvironmentalImpactCategoryEnum::FromString(*entity->getArgument(7)); } void IfcEnvironmentalImpactValue::setCategory(IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcEnvironmentalImpactCategoryEnum::ToString(v)); } bool IfcEnvironmentalImpactValue::hasUserDefinedCategory() const { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcEnvironmentalImpactValue::UserDefinedCategory() const { return *entity->getArgument(8); } -void IfcEnvironmentalImpactValue::setUserDefinedCategory(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcEnvironmentalImpactValue::UserDefinedCategory() const { return *entity->getArgument(8); } +void IfcEnvironmentalImpactValue::setUserDefinedCategory(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcEnvironmentalImpactValue::is(Type::Enum v) const { return v == Type::IfcEnvironmentalImpactValue || IfcAppliedValue::is(v); } Type::Enum IfcEnvironmentalImpactValue::type() const { return Type::IfcEnvironmentalImpactValue; } Type::Enum IfcEnvironmentalImpactValue::Class() { return Type::IfcEnvironmentalImpactValue; } IfcEnvironmentalImpactValue::IfcEnvironmentalImpactValue(IfcAbstractEntity* e) : IfcAppliedValue((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEnvironmentalImpactValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEnvironmentalImpactValue::IfcEnvironmentalImpactValue(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDateTimeSelect > v5_ApplicableDate, boost::optional< IfcDateTimeSelect > v6_FixedUntilDate, IfcLabel v7_ImpactType, IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum v8_Category, boost::optional< IfcLabel > v9_UserDefinedCategory) : IfcAppliedValue((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_AppliedValue) { e->setArgument(2,(*v3_AppliedValue)); } else { e->setArgument(2); } e->setArgument(3,(v4_UnitBasis)); if (v5_ApplicableDate) { e->setArgument(4,(*v5_ApplicableDate)); } else { e->setArgument(4); } if (v6_FixedUntilDate) { e->setArgument(5,(*v6_FixedUntilDate)); } else { e->setArgument(5); } e->setArgument(6,(v7_ImpactType)); e->setArgument(7,v8_Category,IfcEnvironmentalImpactCategoryEnum::ToString(v8_Category)); if (v9_UserDefinedCategory) { e->setArgument(8,(*v9_UserDefinedCategory)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcEnvironmentalImpactValue::IfcEnvironmentalImpactValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcAppliedValueSelect* v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, IfcDateTimeSelect* v5_ApplicableDate, IfcDateTimeSelect* v6_FixedUntilDate, std::string v7_ImpactType, IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum v8_Category, boost::optional< std::string > v9_UserDefinedCategory) : IfcAppliedValue((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AppliedValue)); e->setArgument(3,(v4_UnitBasis)); e->setArgument(4,(v5_ApplicableDate)); e->setArgument(5,(v6_FixedUntilDate)); e->setArgument(6,(v7_ImpactType)); e->setArgument(7,v8_Category,IfcEnvironmentalImpactCategoryEnum::ToString(v8_Category)); if (v9_UserDefinedCategory) { e->setArgument(8,(*v9_UserDefinedCategory)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEquipmentElement bool IfcEquipmentElement::is(Type::Enum v) const { return v == Type::IfcEquipmentElement || IfcElement::is(v); } Type::Enum IfcEquipmentElement::type() const { return Type::IfcEquipmentElement; } Type::Enum IfcEquipmentElement::Class() { return Type::IfcEquipmentElement; } IfcEquipmentElement::IfcEquipmentElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEquipmentElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEquipmentElement::IfcEquipmentElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcEquipmentElement::IfcEquipmentElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEquipmentStandard bool IfcEquipmentStandard::is(Type::Enum v) const { return v == Type::IfcEquipmentStandard || IfcControl::is(v); } Type::Enum IfcEquipmentStandard::type() const { return Type::IfcEquipmentStandard; } Type::Enum IfcEquipmentStandard::Class() { return Type::IfcEquipmentStandard; } IfcEquipmentStandard::IfcEquipmentStandard(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEquipmentStandard)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEquipmentStandard::IfcEquipmentStandard(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcEquipmentStandard::IfcEquipmentStandard(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEvaporativeCoolerType IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum IfcEvaporativeCoolerType::PredefinedType() const { return IfcEvaporativeCoolerTypeEnum::FromString(*entity->getArgument(9)); } @@ -7549,7 +8953,7 @@ bool IfcEvaporativeCoolerType::is(Type::Enum v) const { return v == Type::IfcEva Type::Enum IfcEvaporativeCoolerType::type() const { return Type::IfcEvaporativeCoolerType; } Type::Enum IfcEvaporativeCoolerType::Class() { return Type::IfcEvaporativeCoolerType; } IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEvaporativeCoolerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEvaporativeCoolerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEvaporativeCoolerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEvaporatorType IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum IfcEvaporatorType::PredefinedType() const { return IfcEvaporatorTypeEnum::FromString(*entity->getArgument(9)); } @@ -7558,76 +8962,76 @@ bool IfcEvaporatorType::is(Type::Enum v) const { return v == Type::IfcEvaporator Type::Enum IfcEvaporatorType::type() const { return Type::IfcEvaporatorType; } Type::Enum IfcEvaporatorType::Class() { return Type::IfcEvaporatorType; } IfcEvaporatorType::IfcEvaporatorType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEvaporatorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEvaporatorType::IfcEvaporatorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEvaporatorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEvaporatorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExtendedMaterialProperties IfcTemplatedEntityList< IfcProperty >::ptr IfcExtendedMaterialProperties::ExtendedProperties() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } void IfcExtendedMaterialProperties::setExtendedProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } bool IfcExtendedMaterialProperties::hasDescription() const { return !entity->getArgument(2)->isNull(); } -IfcText IfcExtendedMaterialProperties::Description() const { return *entity->getArgument(2); } -void IfcExtendedMaterialProperties::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcLabel IfcExtendedMaterialProperties::Name() const { return *entity->getArgument(3); } -void IfcExtendedMaterialProperties::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcExtendedMaterialProperties::Description() const { return *entity->getArgument(2); } +void IfcExtendedMaterialProperties::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcExtendedMaterialProperties::Name() const { return *entity->getArgument(3); } +void IfcExtendedMaterialProperties::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcExtendedMaterialProperties::is(Type::Enum v) const { return v == Type::IfcExtendedMaterialProperties || IfcMaterialProperties::is(v); } Type::Enum IfcExtendedMaterialProperties::type() const { return Type::IfcExtendedMaterialProperties; } Type::Enum IfcExtendedMaterialProperties::Class() { return Type::IfcExtendedMaterialProperties; } IfcExtendedMaterialProperties::IfcExtendedMaterialProperties(IfcAbstractEntity* e) : IfcMaterialProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExtendedMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExtendedMaterialProperties::IfcExtendedMaterialProperties(IfcMaterial* v1_Material, IfcTemplatedEntityList< IfcProperty >::ptr v2_ExtendedProperties, boost::optional< IfcText > v3_Description, IfcLabel v4_Name) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); e->setArgument(1,(v2_ExtendedProperties)->generalize()); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } e->setArgument(3,(v4_Name)); entity = e; EntityBuffer::Add(this); } +IfcExtendedMaterialProperties::IfcExtendedMaterialProperties(IfcMaterial* v1_Material, IfcTemplatedEntityList< IfcProperty >::ptr v2_ExtendedProperties, boost::optional< std::string > v3_Description, std::string v4_Name) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); e->setArgument(1,(v2_ExtendedProperties)->generalize()); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } e->setArgument(3,(v4_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternalReference bool IfcExternalReference::hasLocation() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcExternalReference::Location() const { return *entity->getArgument(0); } -void IfcExternalReference::setLocation(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcExternalReference::Location() const { return *entity->getArgument(0); } +void IfcExternalReference::setLocation(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcExternalReference::hasItemReference() const { return !entity->getArgument(1)->isNull(); } -IfcIdentifier IfcExternalReference::ItemReference() const { return *entity->getArgument(1); } -void IfcExternalReference::setItemReference(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcExternalReference::ItemReference() const { return *entity->getArgument(1); } +void IfcExternalReference::setItemReference(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcExternalReference::hasName() const { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcExternalReference::Name() const { return *entity->getArgument(2); } -void IfcExternalReference::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcExternalReference::Name() const { return *entity->getArgument(2); } +void IfcExternalReference::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcExternalReference::is(Type::Enum v) const { return v == Type::IfcExternalReference; } Type::Enum IfcExternalReference::type() const { return Type::IfcExternalReference; } Type::Enum IfcExternalReference::Class() { return Type::IfcExternalReference; } IfcExternalReference::IfcExternalReference(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcExternalReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExternalReference::IfcExternalReference(boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternallyDefinedHatchStyle bool IfcExternallyDefinedHatchStyle::is(Type::Enum v) const { return v == Type::IfcExternallyDefinedHatchStyle || IfcExternalReference::is(v); } Type::Enum IfcExternallyDefinedHatchStyle::type() const { return Type::IfcExternallyDefinedHatchStyle; } Type::Enum IfcExternallyDefinedHatchStyle::Class() { return Type::IfcExternallyDefinedHatchStyle; } IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExternallyDefinedHatchStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternallyDefinedSurfaceStyle bool IfcExternallyDefinedSurfaceStyle::is(Type::Enum v) const { return v == Type::IfcExternallyDefinedSurfaceStyle || IfcExternalReference::is(v); } Type::Enum IfcExternallyDefinedSurfaceStyle::type() const { return Type::IfcExternallyDefinedSurfaceStyle; } Type::Enum IfcExternallyDefinedSurfaceStyle::Class() { return Type::IfcExternallyDefinedSurfaceStyle; } IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExternallyDefinedSurfaceStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternallyDefinedSymbol bool IfcExternallyDefinedSymbol::is(Type::Enum v) const { return v == Type::IfcExternallyDefinedSymbol || IfcExternalReference::is(v); } Type::Enum IfcExternallyDefinedSymbol::type() const { return Type::IfcExternallyDefinedSymbol; } Type::Enum IfcExternallyDefinedSymbol::Class() { return Type::IfcExternallyDefinedSymbol; } IfcExternallyDefinedSymbol::IfcExternallyDefinedSymbol(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExternallyDefinedSymbol)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExternallyDefinedSymbol::IfcExternallyDefinedSymbol(boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcExternallyDefinedSymbol::IfcExternallyDefinedSymbol(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternallyDefinedTextFont bool IfcExternallyDefinedTextFont::is(Type::Enum v) const { return v == Type::IfcExternallyDefinedTextFont || IfcExternalReference::is(v); } Type::Enum IfcExternallyDefinedTextFont::type() const { return Type::IfcExternallyDefinedTextFont; } Type::Enum IfcExternallyDefinedTextFont::Class() { return Type::IfcExternallyDefinedTextFont; } IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExternallyDefinedTextFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExtrudedAreaSolid IfcDirection* IfcExtrudedAreaSolid::ExtrudedDirection() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcExtrudedAreaSolid::setExtrudedDirection(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcPositiveLengthMeasure IfcExtrudedAreaSolid::Depth() const { return *entity->getArgument(3); } -void IfcExtrudedAreaSolid::setDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcExtrudedAreaSolid::Depth() const { return *entity->getArgument(3); } +void IfcExtrudedAreaSolid::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcExtrudedAreaSolid::is(Type::Enum v) const { return v == Type::IfcExtrudedAreaSolid || IfcSweptAreaSolid::is(v); } Type::Enum IfcExtrudedAreaSolid::type() const { return Type::IfcExtrudedAreaSolid; } Type::Enum IfcExtrudedAreaSolid::Class() { return Type::IfcExtrudedAreaSolid; } IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcAbstractEntity* e) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExtrudedAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, IfcPositiveLengthMeasure v4_Depth) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_ExtrudedDirection)); e->setArgument(3,(v4_Depth)); entity = e; EntityBuffer::Add(this); } +IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_ExtrudedDirection)); e->setArgument(3,(v4_Depth)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFace IfcTemplatedEntityList< IfcFaceBound >::ptr IfcFace::Bounds() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } @@ -7694,28 +9098,28 @@ IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcClosedShell* v1_Outer, IfcTe // Function implementations for IfcFailureConnectionCondition bool IfcFailureConnectionCondition::hasTensionFailureX() const { return !entity->getArgument(1)->isNull(); } -IfcForceMeasure IfcFailureConnectionCondition::TensionFailureX() const { return *entity->getArgument(1); } -void IfcFailureConnectionCondition::setTensionFailureX(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcFailureConnectionCondition::TensionFailureX() const { return *entity->getArgument(1); } +void IfcFailureConnectionCondition::setTensionFailureX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcFailureConnectionCondition::hasTensionFailureY() const { return !entity->getArgument(2)->isNull(); } -IfcForceMeasure IfcFailureConnectionCondition::TensionFailureY() const { return *entity->getArgument(2); } -void IfcFailureConnectionCondition::setTensionFailureY(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcFailureConnectionCondition::TensionFailureY() const { return *entity->getArgument(2); } +void IfcFailureConnectionCondition::setTensionFailureY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcFailureConnectionCondition::hasTensionFailureZ() const { return !entity->getArgument(3)->isNull(); } -IfcForceMeasure IfcFailureConnectionCondition::TensionFailureZ() const { return *entity->getArgument(3); } -void IfcFailureConnectionCondition::setTensionFailureZ(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcFailureConnectionCondition::TensionFailureZ() const { return *entity->getArgument(3); } +void IfcFailureConnectionCondition::setTensionFailureZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcFailureConnectionCondition::hasCompressionFailureX() const { return !entity->getArgument(4)->isNull(); } -IfcForceMeasure IfcFailureConnectionCondition::CompressionFailureX() const { return *entity->getArgument(4); } -void IfcFailureConnectionCondition::setCompressionFailureX(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcFailureConnectionCondition::CompressionFailureX() const { return *entity->getArgument(4); } +void IfcFailureConnectionCondition::setCompressionFailureX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcFailureConnectionCondition::hasCompressionFailureY() const { return !entity->getArgument(5)->isNull(); } -IfcForceMeasure IfcFailureConnectionCondition::CompressionFailureY() const { return *entity->getArgument(5); } -void IfcFailureConnectionCondition::setCompressionFailureY(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcFailureConnectionCondition::CompressionFailureY() const { return *entity->getArgument(5); } +void IfcFailureConnectionCondition::setCompressionFailureY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcFailureConnectionCondition::hasCompressionFailureZ() const { return !entity->getArgument(6)->isNull(); } -IfcForceMeasure IfcFailureConnectionCondition::CompressionFailureZ() const { return *entity->getArgument(6); } -void IfcFailureConnectionCondition::setCompressionFailureZ(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcFailureConnectionCondition::CompressionFailureZ() const { return *entity->getArgument(6); } +void IfcFailureConnectionCondition::setCompressionFailureZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcFailureConnectionCondition::is(Type::Enum v) const { return v == Type::IfcFailureConnectionCondition || IfcStructuralConnectionCondition::is(v); } Type::Enum IfcFailureConnectionCondition::type() const { return Type::IfcFailureConnectionCondition; } Type::Enum IfcFailureConnectionCondition::Class() { return Type::IfcFailureConnectionCondition; } IfcFailureConnectionCondition::IfcFailureConnectionCondition(IfcAbstractEntity* e) : IfcStructuralConnectionCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFailureConnectionCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFailureConnectionCondition::IfcFailureConnectionCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_TensionFailureX, boost::optional< IfcForceMeasure > v3_TensionFailureY, boost::optional< IfcForceMeasure > v4_TensionFailureZ, boost::optional< IfcForceMeasure > v5_CompressionFailureX, boost::optional< IfcForceMeasure > v6_CompressionFailureY, boost::optional< IfcForceMeasure > v7_CompressionFailureZ) : IfcStructuralConnectionCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TensionFailureX) { e->setArgument(1,(*v2_TensionFailureX)); } else { e->setArgument(1); } if (v3_TensionFailureY) { e->setArgument(2,(*v3_TensionFailureY)); } else { e->setArgument(2); } if (v4_TensionFailureZ) { e->setArgument(3,(*v4_TensionFailureZ)); } else { e->setArgument(3); } if (v5_CompressionFailureX) { e->setArgument(4,(*v5_CompressionFailureX)); } else { e->setArgument(4); } if (v6_CompressionFailureY) { e->setArgument(5,(*v6_CompressionFailureY)); } else { e->setArgument(5); } if (v7_CompressionFailureZ) { e->setArgument(6,(*v7_CompressionFailureZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcFailureConnectionCondition::IfcFailureConnectionCondition(boost::optional< std::string > v1_Name, boost::optional< double > v2_TensionFailureX, boost::optional< double > v3_TensionFailureY, boost::optional< double > v4_TensionFailureZ, boost::optional< double > v5_CompressionFailureX, boost::optional< double > v6_CompressionFailureY, boost::optional< double > v7_CompressionFailureZ) : IfcStructuralConnectionCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TensionFailureX) { e->setArgument(1,(*v2_TensionFailureX)); } else { e->setArgument(1); } if (v3_TensionFailureY) { e->setArgument(2,(*v3_TensionFailureY)); } else { e->setArgument(2); } if (v4_TensionFailureZ) { e->setArgument(3,(*v4_TensionFailureZ)); } else { e->setArgument(3); } if (v5_CompressionFailureX) { e->setArgument(4,(*v5_CompressionFailureX)); } else { e->setArgument(4); } if (v6_CompressionFailureY) { e->setArgument(5,(*v6_CompressionFailureY)); } else { e->setArgument(5); } if (v7_CompressionFailureZ) { e->setArgument(6,(*v7_CompressionFailureZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFanType IfcFanTypeEnum::IfcFanTypeEnum IfcFanType::PredefinedType() const { return IfcFanTypeEnum::FromString(*entity->getArgument(9)); } @@ -7724,28 +9128,28 @@ bool IfcFanType::is(Type::Enum v) const { return v == Type::IfcFanType || IfcFlo Type::Enum IfcFanType::type() const { return Type::IfcFanType; } Type::Enum IfcFanType::Class() { return Type::IfcFanType; } IfcFanType::IfcFanType(IfcAbstractEntity* e) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFanType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFanType::IfcFanType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFanTypeEnum::IfcFanTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFanTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcFanType::IfcFanType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFanTypeEnum::IfcFanTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFanTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFastener bool IfcFastener::is(Type::Enum v) const { return v == Type::IfcFastener || IfcElementComponent::is(v); } Type::Enum IfcFastener::type() const { return Type::IfcFastener; } Type::Enum IfcFastener::Class() { return Type::IfcFastener; } IfcFastener::IfcFastener(IfcAbstractEntity* e) : IfcElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFastener)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFastener::IfcFastener(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFastener::IfcFastener(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFastenerType bool IfcFastenerType::is(Type::Enum v) const { return v == Type::IfcFastenerType || IfcElementComponentType::is(v); } Type::Enum IfcFastenerType::type() const { return Type::IfcFastenerType; } Type::Enum IfcFastenerType::Class() { return Type::IfcFastenerType; } IfcFastenerType::IfcFastenerType(IfcAbstractEntity* e) : IfcElementComponentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFastenerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFastenerType::IfcFastenerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFeatureElement bool IfcFeatureElement::is(Type::Enum v) const { return v == Type::IfcFeatureElement || IfcElement::is(v); } Type::Enum IfcFeatureElement::type() const { return Type::IfcFeatureElement; } Type::Enum IfcFeatureElement::Class() { return Type::IfcFeatureElement; } IfcFeatureElement::IfcFeatureElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFeatureElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFeatureElement::IfcFeatureElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFeatureElementAddition IfcRelProjectsElement::list::ptr IfcFeatureElementAddition::ProjectsElements() const { return entity->getInverse(Type::IfcRelProjectsElement)->as(); } @@ -7753,7 +9157,7 @@ bool IfcFeatureElementAddition::is(Type::Enum v) const { return v == Type::IfcFe Type::Enum IfcFeatureElementAddition::type() const { return Type::IfcFeatureElementAddition; } Type::Enum IfcFeatureElementAddition::Class() { return Type::IfcFeatureElementAddition; } IfcFeatureElementAddition::IfcFeatureElementAddition(IfcAbstractEntity* e) : IfcFeatureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFeatureElementAddition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFeatureElementAddition::IfcFeatureElementAddition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcFeatureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFeatureElementSubtraction IfcRelVoidsElement::list::ptr IfcFeatureElementSubtraction::VoidsElements() const { return entity->getInverse(Type::IfcRelVoidsElement)->as(); } @@ -7761,35 +9165,35 @@ bool IfcFeatureElementSubtraction::is(Type::Enum v) const { return v == Type::If Type::Enum IfcFeatureElementSubtraction::type() const { return Type::IfcFeatureElementSubtraction; } Type::Enum IfcFeatureElementSubtraction::Class() { return Type::IfcFeatureElementSubtraction; } IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcAbstractEntity* e) : IfcFeatureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFeatureElementSubtraction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcFeatureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFillAreaStyle -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcFillAreaStyle::FillStyles() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcFillAreaStyle::setFillStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +IfcEntityList::ptr IfcFillAreaStyle::FillStyles() const { return *entity->getArgument(1); } +void IfcFillAreaStyle::setFillStyles(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } 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; } IfcFillAreaStyle::IfcFillAreaStyle(IfcAbstractEntity* e) : IfcPresentationStyle((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFillAreaStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< IfcLabel > v1_Name, IfcEntityList::ptr v2_FillStyles) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_FillStyles)); entity = e; EntityBuffer::Add(this); } +IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, IfcEntityList::ptr v2_FillStyles) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_FillStyles)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFillAreaStyleHatching IfcCurveStyle* IfcFillAreaStyleHatching::HatchLineAppearance() const { return (IfcCurveStyle*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcFillAreaStyleHatching::setHatchLineAppearance(IfcCurveStyle* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcHatchLineDistanceSelect IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return *entity->getArgument(1); } -void IfcFillAreaStyleHatching::setStartOfNextHatchLine(IfcHatchLineDistanceSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcHatchLineDistanceSelect* IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return (IfcHatchLineDistanceSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcFillAreaStyleHatching::setStartOfNextHatchLine(IfcHatchLineDistanceSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcFillAreaStyleHatching::hasPointOfReferenceHatchLine() const { return !entity->getArgument(2)->isNull(); } IfcCartesianPoint* IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcFillAreaStyleHatching::hasPatternStart() const { return !entity->getArgument(3)->isNull(); } IfcCartesianPoint* IfcFillAreaStyleHatching::PatternStart() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcFillAreaStyleHatching::setPatternStart(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPlaneAngleMeasure IfcFillAreaStyleHatching::HatchLineAngle() const { return *entity->getArgument(4); } -void IfcFillAreaStyleHatching::setHatchLineAngle(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcFillAreaStyleHatching::HatchLineAngle() const { return *entity->getArgument(4); } +void IfcFillAreaStyleHatching::setHatchLineAngle(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcFillAreaStyleHatching::is(Type::Enum v) const { return v == Type::IfcFillAreaStyleHatching || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcFillAreaStyleHatching::type() const { return Type::IfcFillAreaStyleHatching; } Type::Enum IfcFillAreaStyleHatching::Class() { return Type::IfcFillAreaStyleHatching; } IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFillAreaStyleHatching)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcCurveStyle* v1_HatchLineAppearance, IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, IfcCartesianPoint* v3_PointOfReferenceHatchLine, IfcCartesianPoint* v4_PatternStart, IfcPlaneAngleMeasure v5_HatchLineAngle) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_HatchLineAppearance)); e->setArgument(1,(v2_StartOfNextHatchLine)); e->setArgument(2,(v3_PointOfReferenceHatchLine)); e->setArgument(3,(v4_PatternStart)); e->setArgument(4,(v5_HatchLineAngle)); entity = e; EntityBuffer::Add(this); } +IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcCurveStyle* v1_HatchLineAppearance, IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, IfcCartesianPoint* v3_PointOfReferenceHatchLine, IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_HatchLineAppearance)); e->setArgument(1,(v2_StartOfNextHatchLine)); e->setArgument(2,(v3_PointOfReferenceHatchLine)); e->setArgument(3,(v4_PatternStart)); e->setArgument(4,(v5_HatchLineAngle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFillAreaStyleTileSymbolWithStyle IfcAnnotationSymbolOccurrence* IfcFillAreaStyleTileSymbolWithStyle::Symbol() const { return (IfcAnnotationSymbolOccurrence*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -7803,15 +9207,15 @@ IfcFillAreaStyleTileSymbolWithStyle::IfcFillAreaStyleTileSymbolWithStyle(IfcAnno // Function implementations for IfcFillAreaStyleTiles IfcOneDirectionRepeatFactor* IfcFillAreaStyleTiles::TilingPattern() const { return (IfcOneDirectionRepeatFactor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcFillAreaStyleTiles::setTilingPattern(IfcOneDirectionRepeatFactor* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcFillAreaStyleTiles::Tiles() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcFillAreaStyleTiles::setTiles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -IfcPositiveRatioMeasure IfcFillAreaStyleTiles::TilingScale() const { return *entity->getArgument(2); } -void IfcFillAreaStyleTiles::setTilingScale(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +IfcEntityList::ptr IfcFillAreaStyleTiles::Tiles() const { return *entity->getArgument(1); } +void IfcFillAreaStyleTiles::setTiles(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcFillAreaStyleTiles::TilingScale() const { return *entity->getArgument(2); } +void IfcFillAreaStyleTiles::setTilingScale(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcFillAreaStyleTiles::is(Type::Enum v) const { return v == Type::IfcFillAreaStyleTiles || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcFillAreaStyleTiles::type() const { return Type::IfcFillAreaStyleTiles; } Type::Enum IfcFillAreaStyleTiles::Class() { return Type::IfcFillAreaStyleTiles; } IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFillAreaStyleTiles)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcOneDirectionRepeatFactor* v1_TilingPattern, IfcEntityList::ptr v2_Tiles, IfcPositiveRatioMeasure v3_TilingScale) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TilingPattern)); e->setArgument(1,(v2_Tiles)); e->setArgument(2,(v3_TilingScale)); entity = e; EntityBuffer::Add(this); } +IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcOneDirectionRepeatFactor* v1_TilingPattern, IfcEntityList::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TilingPattern)); e->setArgument(1,(v2_Tiles)); e->setArgument(2,(v3_TilingScale)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFilterType IfcFilterTypeEnum::IfcFilterTypeEnum IfcFilterType::PredefinedType() const { return IfcFilterTypeEnum::FromString(*entity->getArgument(9)); } @@ -7820,7 +9224,7 @@ bool IfcFilterType::is(Type::Enum v) const { return v == Type::IfcFilterType || Type::Enum IfcFilterType::type() const { return Type::IfcFilterType; } Type::Enum IfcFilterType::Class() { return Type::IfcFilterType; } IfcFilterType::IfcFilterType(IfcAbstractEntity* e) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFilterType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFilterType::IfcFilterType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFilterTypeEnum::IfcFilterTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFilterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcFilterType::IfcFilterType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFilterTypeEnum::IfcFilterTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFilterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFireSuppressionTerminalType IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum IfcFireSuppressionTerminalType::PredefinedType() const { return IfcFireSuppressionTerminalTypeEnum::FromString(*entity->getArgument(9)); } @@ -7829,35 +9233,35 @@ bool IfcFireSuppressionTerminalType::is(Type::Enum v) const { return v == Type:: Type::Enum IfcFireSuppressionTerminalType::type() const { return Type::IfcFireSuppressionTerminalType; } Type::Enum IfcFireSuppressionTerminalType::Class() { return Type::IfcFireSuppressionTerminalType; } IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFireSuppressionTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFireSuppressionTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFireSuppressionTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowController bool IfcFlowController::is(Type::Enum v) const { return v == Type::IfcFlowController || IfcDistributionFlowElement::is(v); } Type::Enum IfcFlowController::type() const { return Type::IfcFlowController; } Type::Enum IfcFlowController::Class() { return Type::IfcFlowController; } IfcFlowController::IfcFlowController(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowController)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowController::IfcFlowController(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowController::IfcFlowController(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowControllerType bool IfcFlowControllerType::is(Type::Enum v) const { return v == Type::IfcFlowControllerType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcFlowControllerType::type() const { return Type::IfcFlowControllerType; } Type::Enum IfcFlowControllerType::Class() { return Type::IfcFlowControllerType; } IfcFlowControllerType::IfcFlowControllerType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowControllerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowControllerType::IfcFlowControllerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowFitting bool IfcFlowFitting::is(Type::Enum v) const { return v == Type::IfcFlowFitting || IfcDistributionFlowElement::is(v); } Type::Enum IfcFlowFitting::type() const { return Type::IfcFlowFitting; } Type::Enum IfcFlowFitting::Class() { return Type::IfcFlowFitting; } IfcFlowFitting::IfcFlowFitting(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowFitting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowFitting::IfcFlowFitting(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowFittingType bool IfcFlowFittingType::is(Type::Enum v) const { return v == Type::IfcFlowFittingType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcFlowFittingType::type() const { return Type::IfcFlowFittingType; } Type::Enum IfcFlowFittingType::Class() { return Type::IfcFlowFittingType; } IfcFlowFittingType::IfcFlowFittingType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowFittingType::IfcFlowFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowInstrumentType IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum IfcFlowInstrumentType::PredefinedType() const { return IfcFlowInstrumentTypeEnum::FromString(*entity->getArgument(9)); } @@ -7866,7 +9270,7 @@ bool IfcFlowInstrumentType::is(Type::Enum v) const { return v == Type::IfcFlowIn Type::Enum IfcFlowInstrumentType::type() const { return Type::IfcFlowInstrumentType; } Type::Enum IfcFlowInstrumentType::Class() { return Type::IfcFlowInstrumentType; } IfcFlowInstrumentType::IfcFlowInstrumentType(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowInstrumentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowInstrumentType::IfcFlowInstrumentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFlowInstrumentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFlowInstrumentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowMeterType IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum IfcFlowMeterType::PredefinedType() const { return IfcFlowMeterTypeEnum::FromString(*entity->getArgument(9)); } @@ -7875,77 +9279,77 @@ bool IfcFlowMeterType::is(Type::Enum v) const { return v == Type::IfcFlowMeterTy Type::Enum IfcFlowMeterType::type() const { return Type::IfcFlowMeterType; } Type::Enum IfcFlowMeterType::Class() { return Type::IfcFlowMeterType; } IfcFlowMeterType::IfcFlowMeterType(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowMeterType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowMeterType::IfcFlowMeterType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFlowMeterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFlowMeterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowMovingDevice bool IfcFlowMovingDevice::is(Type::Enum v) const { return v == Type::IfcFlowMovingDevice || IfcDistributionFlowElement::is(v); } Type::Enum IfcFlowMovingDevice::type() const { return Type::IfcFlowMovingDevice; } Type::Enum IfcFlowMovingDevice::Class() { return Type::IfcFlowMovingDevice; } IfcFlowMovingDevice::IfcFlowMovingDevice(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowMovingDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowMovingDevice::IfcFlowMovingDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowMovingDeviceType bool IfcFlowMovingDeviceType::is(Type::Enum v) const { return v == Type::IfcFlowMovingDeviceType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcFlowMovingDeviceType::type() const { return Type::IfcFlowMovingDeviceType; } Type::Enum IfcFlowMovingDeviceType::Class() { return Type::IfcFlowMovingDeviceType; } IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowMovingDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowSegment bool IfcFlowSegment::is(Type::Enum v) const { return v == Type::IfcFlowSegment || IfcDistributionFlowElement::is(v); } Type::Enum IfcFlowSegment::type() const { return Type::IfcFlowSegment; } Type::Enum IfcFlowSegment::Class() { return Type::IfcFlowSegment; } IfcFlowSegment::IfcFlowSegment(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowSegment::IfcFlowSegment(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowSegmentType bool IfcFlowSegmentType::is(Type::Enum v) const { return v == Type::IfcFlowSegmentType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcFlowSegmentType::type() const { return Type::IfcFlowSegmentType; } Type::Enum IfcFlowSegmentType::Class() { return Type::IfcFlowSegmentType; } IfcFlowSegmentType::IfcFlowSegmentType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowSegmentType::IfcFlowSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowStorageDevice bool IfcFlowStorageDevice::is(Type::Enum v) const { return v == Type::IfcFlowStorageDevice || IfcDistributionFlowElement::is(v); } Type::Enum IfcFlowStorageDevice::type() const { return Type::IfcFlowStorageDevice; } Type::Enum IfcFlowStorageDevice::Class() { return Type::IfcFlowStorageDevice; } IfcFlowStorageDevice::IfcFlowStorageDevice(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowStorageDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowStorageDevice::IfcFlowStorageDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowStorageDeviceType bool IfcFlowStorageDeviceType::is(Type::Enum v) const { return v == Type::IfcFlowStorageDeviceType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcFlowStorageDeviceType::type() const { return Type::IfcFlowStorageDeviceType; } Type::Enum IfcFlowStorageDeviceType::Class() { return Type::IfcFlowStorageDeviceType; } IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowStorageDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowTerminal bool IfcFlowTerminal::is(Type::Enum v) const { return v == Type::IfcFlowTerminal || IfcDistributionFlowElement::is(v); } Type::Enum IfcFlowTerminal::type() const { return Type::IfcFlowTerminal; } Type::Enum IfcFlowTerminal::Class() { return Type::IfcFlowTerminal; } IfcFlowTerminal::IfcFlowTerminal(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowTerminal::IfcFlowTerminal(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowTerminalType bool IfcFlowTerminalType::is(Type::Enum v) const { return v == Type::IfcFlowTerminalType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcFlowTerminalType::type() const { return Type::IfcFlowTerminalType; } Type::Enum IfcFlowTerminalType::Class() { return Type::IfcFlowTerminalType; } IfcFlowTerminalType::IfcFlowTerminalType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowTerminalType::IfcFlowTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowTreatmentDevice bool IfcFlowTreatmentDevice::is(Type::Enum v) const { return v == Type::IfcFlowTreatmentDevice || IfcDistributionFlowElement::is(v); } Type::Enum IfcFlowTreatmentDevice::type() const { return Type::IfcFlowTreatmentDevice; } Type::Enum IfcFlowTreatmentDevice::Class() { return Type::IfcFlowTreatmentDevice; } IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowTreatmentDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowTreatmentDeviceType bool IfcFlowTreatmentDeviceType::is(Type::Enum v) const { return v == Type::IfcFlowTreatmentDeviceType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcFlowTreatmentDeviceType::type() const { return Type::IfcFlowTreatmentDeviceType; } Type::Enum IfcFlowTreatmentDeviceType::Class() { return Type::IfcFlowTreatmentDeviceType; } IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowTreatmentDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFluidFlowProperties IfcPropertySourceEnum::IfcPropertySourceEnum IfcFluidFlowProperties::PropertySource() const { return IfcPropertySourceEnum::FromString(*entity->getArgument(4)); } @@ -7965,14 +9369,14 @@ bool IfcFluidFlowProperties::hasPressureTimeSeries() const { return !entity->get IfcTimeSeries* IfcFluidFlowProperties::PressureTimeSeries() const { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } void IfcFluidFlowProperties::setPressureTimeSeries(IfcTimeSeries* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcFluidFlowProperties::hasUserDefinedPropertySource() const { return !entity->getArgument(10)->isNull(); } -IfcLabel IfcFluidFlowProperties::UserDefinedPropertySource() const { return *entity->getArgument(10); } -void IfcFluidFlowProperties::setUserDefinedPropertySource(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +std::string IfcFluidFlowProperties::UserDefinedPropertySource() const { return *entity->getArgument(10); } +void IfcFluidFlowProperties::setUserDefinedPropertySource(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcFluidFlowProperties::hasTemperatureSingleValue() const { return !entity->getArgument(11)->isNull(); } -IfcThermodynamicTemperatureMeasure IfcFluidFlowProperties::TemperatureSingleValue() const { return *entity->getArgument(11); } -void IfcFluidFlowProperties::setTemperatureSingleValue(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcFluidFlowProperties::TemperatureSingleValue() const { return *entity->getArgument(11); } +void IfcFluidFlowProperties::setTemperatureSingleValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcFluidFlowProperties::hasWetBulbTemperatureSingleValue() const { return !entity->getArgument(12)->isNull(); } -IfcThermodynamicTemperatureMeasure IfcFluidFlowProperties::WetBulbTemperatureSingleValue() const { return *entity->getArgument(12); } -void IfcFluidFlowProperties::setWetBulbTemperatureSingleValue(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +double IfcFluidFlowProperties::WetBulbTemperatureSingleValue() const { return *entity->getArgument(12); } +void IfcFluidFlowProperties::setWetBulbTemperatureSingleValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcFluidFlowProperties::hasWetBulbTemperatureTimeSeries() const { return !entity->getArgument(13)->isNull(); } IfcTimeSeries* IfcFluidFlowProperties::WetBulbTemperatureTimeSeries() const { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(13))); } void IfcFluidFlowProperties::setWetBulbTemperatureTimeSeries(IfcTimeSeries* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } @@ -7980,22 +9384,22 @@ bool IfcFluidFlowProperties::hasTemperatureTimeSeries() const { return !entity-> IfcTimeSeries* IfcFluidFlowProperties::TemperatureTimeSeries() const { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(14))); } void IfcFluidFlowProperties::setTemperatureTimeSeries(IfcTimeSeries* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } bool IfcFluidFlowProperties::hasFlowrateSingleValue() const { return !entity->getArgument(15)->isNull(); } -IfcDerivedMeasureValue IfcFluidFlowProperties::FlowrateSingleValue() const { return *entity->getArgument(15); } -void IfcFluidFlowProperties::setFlowrateSingleValue(IfcDerivedMeasureValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } +IfcDerivedMeasureValue* IfcFluidFlowProperties::FlowrateSingleValue() const { return (IfcDerivedMeasureValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(15))); } +void IfcFluidFlowProperties::setFlowrateSingleValue(IfcDerivedMeasureValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } bool IfcFluidFlowProperties::hasFlowConditionSingleValue() const { return !entity->getArgument(16)->isNull(); } -IfcPositiveRatioMeasure IfcFluidFlowProperties::FlowConditionSingleValue() const { return *entity->getArgument(16); } -void IfcFluidFlowProperties::setFlowConditionSingleValue(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } +double IfcFluidFlowProperties::FlowConditionSingleValue() const { return *entity->getArgument(16); } +void IfcFluidFlowProperties::setFlowConditionSingleValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } bool IfcFluidFlowProperties::hasVelocitySingleValue() const { return !entity->getArgument(17)->isNull(); } -IfcLinearVelocityMeasure IfcFluidFlowProperties::VelocitySingleValue() const { return *entity->getArgument(17); } -void IfcFluidFlowProperties::setVelocitySingleValue(IfcLinearVelocityMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v); } +double IfcFluidFlowProperties::VelocitySingleValue() const { return *entity->getArgument(17); } +void IfcFluidFlowProperties::setVelocitySingleValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v); } bool IfcFluidFlowProperties::hasPressureSingleValue() const { return !entity->getArgument(18)->isNull(); } -IfcPressureMeasure IfcFluidFlowProperties::PressureSingleValue() const { return *entity->getArgument(18); } -void IfcFluidFlowProperties::setPressureSingleValue(IfcPressureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(18,v); } +double IfcFluidFlowProperties::PressureSingleValue() const { return *entity->getArgument(18); } +void IfcFluidFlowProperties::setPressureSingleValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(18,v); } bool IfcFluidFlowProperties::is(Type::Enum v) const { return v == Type::IfcFluidFlowProperties || IfcPropertySetDefinition::is(v); } Type::Enum IfcFluidFlowProperties::type() const { return Type::IfcFluidFlowProperties; } Type::Enum IfcFluidFlowProperties::Class() { return Type::IfcFluidFlowProperties; } IfcFluidFlowProperties::IfcFluidFlowProperties(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFluidFlowProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFluidFlowProperties::IfcFluidFlowProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPropertySourceEnum::IfcPropertySourceEnum v5_PropertySource, IfcTimeSeries* v6_FlowConditionTimeSeries, IfcTimeSeries* v7_VelocityTimeSeries, IfcTimeSeries* v8_FlowrateTimeSeries, IfcMaterial* v9_Fluid, IfcTimeSeries* v10_PressureTimeSeries, boost::optional< IfcLabel > v11_UserDefinedPropertySource, boost::optional< IfcThermodynamicTemperatureMeasure > v12_TemperatureSingleValue, boost::optional< IfcThermodynamicTemperatureMeasure > v13_WetBulbTemperatureSingleValue, IfcTimeSeries* v14_WetBulbTemperatureTimeSeries, IfcTimeSeries* v15_TemperatureTimeSeries, boost::optional< IfcDerivedMeasureValue > v16_FlowrateSingleValue, boost::optional< IfcPositiveRatioMeasure > v17_FlowConditionSingleValue, boost::optional< IfcLinearVelocityMeasure > v18_VelocitySingleValue, boost::optional< IfcPressureMeasure > v19_PressureSingleValue) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_PropertySource,IfcPropertySourceEnum::ToString(v5_PropertySource)); e->setArgument(5,(v6_FlowConditionTimeSeries)); e->setArgument(6,(v7_VelocityTimeSeries)); e->setArgument(7,(v8_FlowrateTimeSeries)); e->setArgument(8,(v9_Fluid)); e->setArgument(9,(v10_PressureTimeSeries)); if (v11_UserDefinedPropertySource) { e->setArgument(10,(*v11_UserDefinedPropertySource)); } else { e->setArgument(10); } if (v12_TemperatureSingleValue) { e->setArgument(11,(*v12_TemperatureSingleValue)); } else { e->setArgument(11); } if (v13_WetBulbTemperatureSingleValue) { e->setArgument(12,(*v13_WetBulbTemperatureSingleValue)); } else { e->setArgument(12); } e->setArgument(13,(v14_WetBulbTemperatureTimeSeries)); e->setArgument(14,(v15_TemperatureTimeSeries)); if (v16_FlowrateSingleValue) { e->setArgument(15,(*v16_FlowrateSingleValue)); } else { e->setArgument(15); } if (v17_FlowConditionSingleValue) { e->setArgument(16,(*v17_FlowConditionSingleValue)); } else { e->setArgument(16); } if (v18_VelocitySingleValue) { e->setArgument(17,(*v18_VelocitySingleValue)); } else { e->setArgument(17); } if (v19_PressureSingleValue) { e->setArgument(18,(*v19_PressureSingleValue)); } else { e->setArgument(18); } entity = e; EntityBuffer::Add(this); } +IfcFluidFlowProperties::IfcFluidFlowProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPropertySourceEnum::IfcPropertySourceEnum v5_PropertySource, IfcTimeSeries* v6_FlowConditionTimeSeries, IfcTimeSeries* v7_VelocityTimeSeries, IfcTimeSeries* v8_FlowrateTimeSeries, IfcMaterial* v9_Fluid, IfcTimeSeries* v10_PressureTimeSeries, boost::optional< std::string > v11_UserDefinedPropertySource, boost::optional< double > v12_TemperatureSingleValue, boost::optional< double > v13_WetBulbTemperatureSingleValue, IfcTimeSeries* v14_WetBulbTemperatureTimeSeries, IfcTimeSeries* v15_TemperatureTimeSeries, IfcDerivedMeasureValue* v16_FlowrateSingleValue, boost::optional< double > v17_FlowConditionSingleValue, boost::optional< double > v18_VelocitySingleValue, boost::optional< double > v19_PressureSingleValue) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_PropertySource,IfcPropertySourceEnum::ToString(v5_PropertySource)); e->setArgument(5,(v6_FlowConditionTimeSeries)); e->setArgument(6,(v7_VelocityTimeSeries)); e->setArgument(7,(v8_FlowrateTimeSeries)); e->setArgument(8,(v9_Fluid)); e->setArgument(9,(v10_PressureTimeSeries)); if (v11_UserDefinedPropertySource) { e->setArgument(10,(*v11_UserDefinedPropertySource)); } else { e->setArgument(10); } if (v12_TemperatureSingleValue) { e->setArgument(11,(*v12_TemperatureSingleValue)); } else { e->setArgument(11); } if (v13_WetBulbTemperatureSingleValue) { e->setArgument(12,(*v13_WetBulbTemperatureSingleValue)); } else { e->setArgument(12); } e->setArgument(13,(v14_WetBulbTemperatureTimeSeries)); e->setArgument(14,(v15_TemperatureTimeSeries)); e->setArgument(15,(v16_FlowrateSingleValue)); if (v17_FlowConditionSingleValue) { e->setArgument(16,(*v17_FlowConditionSingleValue)); } else { e->setArgument(16); } if (v18_VelocitySingleValue) { e->setArgument(17,(*v18_VelocitySingleValue)); } else { e->setArgument(17); } if (v19_PressureSingleValue) { e->setArgument(18,(*v19_PressureSingleValue)); } else { e->setArgument(18); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFooting IfcFootingTypeEnum::IfcFootingTypeEnum IfcFooting::PredefinedType() const { return IfcFootingTypeEnum::FromString(*entity->getArgument(8)); } @@ -8004,47 +9408,47 @@ bool IfcFooting::is(Type::Enum v) const { return v == Type::IfcFooting || IfcBui Type::Enum IfcFooting::type() const { return Type::IfcFooting; } Type::Enum IfcFooting::Class() { return Type::IfcFooting; } IfcFooting::IfcFooting(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFooting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFooting::IfcFooting(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcFootingTypeEnum::IfcFootingTypeEnum v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_PredefinedType,IfcFootingTypeEnum::ToString(v9_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcFooting::IfcFooting(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, IfcFootingTypeEnum::IfcFootingTypeEnum v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_PredefinedType,IfcFootingTypeEnum::ToString(v9_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFuelProperties bool IfcFuelProperties::hasCombustionTemperature() const { return !entity->getArgument(1)->isNull(); } -IfcThermodynamicTemperatureMeasure IfcFuelProperties::CombustionTemperature() const { return *entity->getArgument(1); } -void IfcFuelProperties::setCombustionTemperature(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcFuelProperties::CombustionTemperature() const { return *entity->getArgument(1); } +void IfcFuelProperties::setCombustionTemperature(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcFuelProperties::hasCarbonContent() const { return !entity->getArgument(2)->isNull(); } -IfcPositiveRatioMeasure IfcFuelProperties::CarbonContent() const { return *entity->getArgument(2); } -void IfcFuelProperties::setCarbonContent(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcFuelProperties::CarbonContent() const { return *entity->getArgument(2); } +void IfcFuelProperties::setCarbonContent(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcFuelProperties::hasLowerHeatingValue() const { return !entity->getArgument(3)->isNull(); } -IfcHeatingValueMeasure IfcFuelProperties::LowerHeatingValue() const { return *entity->getArgument(3); } -void IfcFuelProperties::setLowerHeatingValue(IfcHeatingValueMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcFuelProperties::LowerHeatingValue() const { return *entity->getArgument(3); } +void IfcFuelProperties::setLowerHeatingValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcFuelProperties::hasHigherHeatingValue() const { return !entity->getArgument(4)->isNull(); } -IfcHeatingValueMeasure IfcFuelProperties::HigherHeatingValue() const { return *entity->getArgument(4); } -void IfcFuelProperties::setHigherHeatingValue(IfcHeatingValueMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcFuelProperties::HigherHeatingValue() const { return *entity->getArgument(4); } +void IfcFuelProperties::setHigherHeatingValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcFuelProperties::is(Type::Enum v) const { return v == Type::IfcFuelProperties || IfcMaterialProperties::is(v); } Type::Enum IfcFuelProperties::type() const { return Type::IfcFuelProperties; } Type::Enum IfcFuelProperties::Class() { return Type::IfcFuelProperties; } IfcFuelProperties::IfcFuelProperties(IfcAbstractEntity* e) : IfcMaterialProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFuelProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFuelProperties::IfcFuelProperties(IfcMaterial* v1_Material, boost::optional< IfcThermodynamicTemperatureMeasure > v2_CombustionTemperature, boost::optional< IfcPositiveRatioMeasure > v3_CarbonContent, boost::optional< IfcHeatingValueMeasure > v4_LowerHeatingValue, boost::optional< IfcHeatingValueMeasure > v5_HigherHeatingValue) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_CombustionTemperature) { e->setArgument(1,(*v2_CombustionTemperature)); } else { e->setArgument(1); } if (v3_CarbonContent) { e->setArgument(2,(*v3_CarbonContent)); } else { e->setArgument(2); } if (v4_LowerHeatingValue) { e->setArgument(3,(*v4_LowerHeatingValue)); } else { e->setArgument(3); } if (v5_HigherHeatingValue) { e->setArgument(4,(*v5_HigherHeatingValue)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcFuelProperties::IfcFuelProperties(IfcMaterial* v1_Material, boost::optional< double > v2_CombustionTemperature, boost::optional< double > v3_CarbonContent, boost::optional< double > v4_LowerHeatingValue, boost::optional< double > v5_HigherHeatingValue) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_CombustionTemperature) { e->setArgument(1,(*v2_CombustionTemperature)); } else { e->setArgument(1); } if (v3_CarbonContent) { e->setArgument(2,(*v3_CarbonContent)); } else { e->setArgument(2); } if (v4_LowerHeatingValue) { e->setArgument(3,(*v4_LowerHeatingValue)); } else { e->setArgument(3); } if (v5_HigherHeatingValue) { e->setArgument(4,(*v5_HigherHeatingValue)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFurnishingElement bool IfcFurnishingElement::is(Type::Enum v) const { return v == Type::IfcFurnishingElement || IfcElement::is(v); } Type::Enum IfcFurnishingElement::type() const { return Type::IfcFurnishingElement; } Type::Enum IfcFurnishingElement::Class() { return Type::IfcFurnishingElement; } IfcFurnishingElement::IfcFurnishingElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFurnishingElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFurnishingElement::IfcFurnishingElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFurnishingElementType bool IfcFurnishingElementType::is(Type::Enum v) const { return v == Type::IfcFurnishingElementType || IfcElementType::is(v); } Type::Enum IfcFurnishingElementType::type() const { return Type::IfcFurnishingElementType; } Type::Enum IfcFurnishingElementType::Class() { return Type::IfcFurnishingElementType; } IfcFurnishingElementType::IfcFurnishingElementType(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFurnishingElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFurnishingElementType::IfcFurnishingElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFurnitureStandard bool IfcFurnitureStandard::is(Type::Enum v) const { return v == Type::IfcFurnitureStandard || IfcControl::is(v); } Type::Enum IfcFurnitureStandard::type() const { return Type::IfcFurnitureStandard; } Type::Enum IfcFurnitureStandard::Class() { return Type::IfcFurnitureStandard; } IfcFurnitureStandard::IfcFurnitureStandard(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFurnitureStandard)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFurnitureStandard::IfcFurnitureStandard(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcFurnitureStandard::IfcFurnitureStandard(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFurnitureType IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum IfcFurnitureType::AssemblyPlace() const { return IfcAssemblyPlaceEnum::FromString(*entity->getArgument(9)); } @@ -8053,7 +9457,7 @@ bool IfcFurnitureType::is(Type::Enum v) const { return v == Type::IfcFurnitureTy Type::Enum IfcFurnitureType::type() const { return Type::IfcFurnitureType; } Type::Enum IfcFurnitureType::Class() { return Type::IfcFurnitureType; } IfcFurnitureType::IfcFurnitureType(IfcAbstractEntity* e) : IfcFurnishingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFurnitureType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFurnitureType::IfcFurnitureType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v10_AssemblyPlace) : IfcFurnishingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_AssemblyPlace,IfcAssemblyPlaceEnum::ToString(v10_AssemblyPlace)); entity = e; EntityBuffer::Add(this); } +IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v10_AssemblyPlace) : IfcFurnishingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_AssemblyPlace,IfcAssemblyPlaceEnum::ToString(v10_AssemblyPlace)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGasTerminalType IfcGasTerminalTypeEnum::IfcGasTerminalTypeEnum IfcGasTerminalType::PredefinedType() const { return IfcGasTerminalTypeEnum::FromString(*entity->getArgument(9)); } @@ -8062,45 +9466,45 @@ bool IfcGasTerminalType::is(Type::Enum v) const { return v == Type::IfcGasTermin Type::Enum IfcGasTerminalType::type() const { return Type::IfcGasTerminalType; } Type::Enum IfcGasTerminalType::Class() { return Type::IfcGasTerminalType; } IfcGasTerminalType::IfcGasTerminalType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGasTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGasTerminalType::IfcGasTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcGasTerminalTypeEnum::IfcGasTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcGasTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcGasTerminalType::IfcGasTerminalType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcGasTerminalTypeEnum::IfcGasTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcGasTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeneralMaterialProperties bool IfcGeneralMaterialProperties::hasMolecularWeight() const { return !entity->getArgument(1)->isNull(); } -IfcMolecularWeightMeasure IfcGeneralMaterialProperties::MolecularWeight() const { return *entity->getArgument(1); } -void IfcGeneralMaterialProperties::setMolecularWeight(IfcMolecularWeightMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcGeneralMaterialProperties::MolecularWeight() const { return *entity->getArgument(1); } +void IfcGeneralMaterialProperties::setMolecularWeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcGeneralMaterialProperties::hasPorosity() const { return !entity->getArgument(2)->isNull(); } -IfcNormalisedRatioMeasure IfcGeneralMaterialProperties::Porosity() const { return *entity->getArgument(2); } -void IfcGeneralMaterialProperties::setPorosity(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcGeneralMaterialProperties::Porosity() const { return *entity->getArgument(2); } +void IfcGeneralMaterialProperties::setPorosity(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcGeneralMaterialProperties::hasMassDensity() const { return !entity->getArgument(3)->isNull(); } -IfcMassDensityMeasure IfcGeneralMaterialProperties::MassDensity() const { return *entity->getArgument(3); } -void IfcGeneralMaterialProperties::setMassDensity(IfcMassDensityMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcGeneralMaterialProperties::MassDensity() const { return *entity->getArgument(3); } +void IfcGeneralMaterialProperties::setMassDensity(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcGeneralMaterialProperties::is(Type::Enum v) const { return v == Type::IfcGeneralMaterialProperties || IfcMaterialProperties::is(v); } Type::Enum IfcGeneralMaterialProperties::type() const { return Type::IfcGeneralMaterialProperties; } Type::Enum IfcGeneralMaterialProperties::Class() { return Type::IfcGeneralMaterialProperties; } IfcGeneralMaterialProperties::IfcGeneralMaterialProperties(IfcAbstractEntity* e) : IfcMaterialProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeneralMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeneralMaterialProperties::IfcGeneralMaterialProperties(IfcMaterial* v1_Material, boost::optional< IfcMolecularWeightMeasure > v2_MolecularWeight, boost::optional< IfcNormalisedRatioMeasure > v3_Porosity, boost::optional< IfcMassDensityMeasure > v4_MassDensity) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_MolecularWeight) { e->setArgument(1,(*v2_MolecularWeight)); } else { e->setArgument(1); } if (v3_Porosity) { e->setArgument(2,(*v3_Porosity)); } else { e->setArgument(2); } if (v4_MassDensity) { e->setArgument(3,(*v4_MassDensity)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcGeneralMaterialProperties::IfcGeneralMaterialProperties(IfcMaterial* v1_Material, boost::optional< double > v2_MolecularWeight, boost::optional< double > v3_Porosity, boost::optional< double > v4_MassDensity) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_MolecularWeight) { e->setArgument(1,(*v2_MolecularWeight)); } else { e->setArgument(1); } if (v3_Porosity) { e->setArgument(2,(*v3_Porosity)); } else { e->setArgument(2); } if (v4_MassDensity) { e->setArgument(3,(*v4_MassDensity)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeneralProfileProperties bool IfcGeneralProfileProperties::hasPhysicalWeight() const { return !entity->getArgument(2)->isNull(); } -IfcMassPerLengthMeasure IfcGeneralProfileProperties::PhysicalWeight() const { return *entity->getArgument(2); } -void IfcGeneralProfileProperties::setPhysicalWeight(IfcMassPerLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcGeneralProfileProperties::PhysicalWeight() const { return *entity->getArgument(2); } +void IfcGeneralProfileProperties::setPhysicalWeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcGeneralProfileProperties::hasPerimeter() const { return !entity->getArgument(3)->isNull(); } -IfcPositiveLengthMeasure IfcGeneralProfileProperties::Perimeter() const { return *entity->getArgument(3); } -void IfcGeneralProfileProperties::setPerimeter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcGeneralProfileProperties::Perimeter() const { return *entity->getArgument(3); } +void IfcGeneralProfileProperties::setPerimeter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcGeneralProfileProperties::hasMinimumPlateThickness() const { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcGeneralProfileProperties::MinimumPlateThickness() const { return *entity->getArgument(4); } -void IfcGeneralProfileProperties::setMinimumPlateThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcGeneralProfileProperties::MinimumPlateThickness() const { return *entity->getArgument(4); } +void IfcGeneralProfileProperties::setMinimumPlateThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcGeneralProfileProperties::hasMaximumPlateThickness() const { return !entity->getArgument(5)->isNull(); } -IfcPositiveLengthMeasure IfcGeneralProfileProperties::MaximumPlateThickness() const { return *entity->getArgument(5); } -void IfcGeneralProfileProperties::setMaximumPlateThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcGeneralProfileProperties::MaximumPlateThickness() const { return *entity->getArgument(5); } +void IfcGeneralProfileProperties::setMaximumPlateThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcGeneralProfileProperties::hasCrossSectionArea() const { return !entity->getArgument(6)->isNull(); } -IfcAreaMeasure IfcGeneralProfileProperties::CrossSectionArea() const { return *entity->getArgument(6); } -void IfcGeneralProfileProperties::setCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcGeneralProfileProperties::CrossSectionArea() const { return *entity->getArgument(6); } +void IfcGeneralProfileProperties::setCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcGeneralProfileProperties::is(Type::Enum v) const { return v == Type::IfcGeneralProfileProperties || IfcProfileProperties::is(v); } Type::Enum IfcGeneralProfileProperties::type() const { return Type::IfcGeneralProfileProperties; } Type::Enum IfcGeneralProfileProperties::Class() { return Type::IfcGeneralProfileProperties; } IfcGeneralProfileProperties::IfcGeneralProfileProperties(IfcAbstractEntity* e) : IfcProfileProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeneralProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeneralProfileProperties::IfcGeneralProfileProperties(boost::optional< IfcLabel > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< IfcMassPerLengthMeasure > v3_PhysicalWeight, boost::optional< IfcPositiveLengthMeasure > v4_Perimeter, boost::optional< IfcPositiveLengthMeasure > v5_MinimumPlateThickness, boost::optional< IfcPositiveLengthMeasure > v6_MaximumPlateThickness, boost::optional< IfcAreaMeasure > v7_CrossSectionArea) : IfcProfileProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ProfileName) { e->setArgument(0,(*v1_ProfileName)); } else { e->setArgument(0); } e->setArgument(1,(v2_ProfileDefinition)); if (v3_PhysicalWeight) { e->setArgument(2,(*v3_PhysicalWeight)); } else { e->setArgument(2); } if (v4_Perimeter) { e->setArgument(3,(*v4_Perimeter)); } else { e->setArgument(3); } if (v5_MinimumPlateThickness) { e->setArgument(4,(*v5_MinimumPlateThickness)); } else { e->setArgument(4); } if (v6_MaximumPlateThickness) { e->setArgument(5,(*v6_MaximumPlateThickness)); } else { e->setArgument(5); } if (v7_CrossSectionArea) { e->setArgument(6,(*v7_CrossSectionArea)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcGeneralProfileProperties::IfcGeneralProfileProperties(boost::optional< std::string > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< double > v3_PhysicalWeight, boost::optional< double > v4_Perimeter, boost::optional< double > v5_MinimumPlateThickness, boost::optional< double > v6_MaximumPlateThickness, boost::optional< double > v7_CrossSectionArea) : IfcProfileProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ProfileName) { e->setArgument(0,(*v1_ProfileName)); } else { e->setArgument(0); } e->setArgument(1,(v2_ProfileDefinition)); if (v3_PhysicalWeight) { e->setArgument(2,(*v3_PhysicalWeight)); } else { e->setArgument(2); } if (v4_Perimeter) { e->setArgument(3,(*v4_Perimeter)); } else { e->setArgument(3); } if (v5_MinimumPlateThickness) { e->setArgument(4,(*v5_MinimumPlateThickness)); } else { e->setArgument(4); } if (v6_MaximumPlateThickness) { e->setArgument(5,(*v6_MaximumPlateThickness)); } else { e->setArgument(5); } if (v7_CrossSectionArea) { e->setArgument(6,(*v7_CrossSectionArea)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeometricCurveSet bool IfcGeometricCurveSet::is(Type::Enum v) const { return v == Type::IfcGeometricCurveSet || IfcGeometricSet::is(v); } @@ -8110,13 +9514,13 @@ IfcGeometricCurveSet::IfcGeometricCurveSet(IfcAbstractEntity* e) : IfcGeometricS IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityList::ptr v1_Elements) : IfcGeometricSet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Elements)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeometricRepresentationContext -IfcDimensionCount IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { return *entity->getArgument(2); } -void IfcGeometricRepresentationContext::setCoordinateSpaceDimension(IfcDimensionCount v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +int IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { return *entity->getArgument(2); } +void IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcGeometricRepresentationContext::hasPrecision() const { return !entity->getArgument(3)->isNull(); } double IfcGeometricRepresentationContext::Precision() const { return *entity->getArgument(3); } void IfcGeometricRepresentationContext::setPrecision(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcAxis2Placement IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return *entity->getArgument(4); } -void IfcGeometricRepresentationContext::setWorldCoordinateSystem(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +IfcAxis2Placement* IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } +void IfcGeometricRepresentationContext::setWorldCoordinateSystem(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcGeometricRepresentationContext::hasTrueNorth() const { return !entity->getArgument(5)->isNull(); } IfcDirection* IfcGeometricRepresentationContext::TrueNorth() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } void IfcGeometricRepresentationContext::setTrueNorth(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } @@ -8125,7 +9529,7 @@ bool IfcGeometricRepresentationContext::is(Type::Enum v) const { return v == Typ Type::Enum IfcGeometricRepresentationContext::type() const { return Type::IfcGeometricRepresentationContext; } Type::Enum IfcGeometricRepresentationContext::Class() { return Type::IfcGeometricRepresentationContext; } IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(IfcAbstractEntity* e) : IfcRepresentationContext((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeometricRepresentationContext)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType, IfcDimensionCount v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, IfcAxis2Placement v5_WorldCoordinateSystem, IfcDirection* v6_TrueNorth) : IfcRepresentationContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ContextIdentifier) { e->setArgument(0,(*v1_ContextIdentifier)); } else { e->setArgument(0); } if (v2_ContextType) { e->setArgument(1,(*v2_ContextType)); } else { e->setArgument(1); } e->setArgument(2,(v3_CoordinateSpaceDimension)); if (v4_Precision) { e->setArgument(3,(*v4_Precision)); } else { e->setArgument(3); } e->setArgument(4,(v5_WorldCoordinateSystem)); e->setArgument(5,(v6_TrueNorth)); entity = e; EntityBuffer::Add(this); } +IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, IfcAxis2Placement* v5_WorldCoordinateSystem, IfcDirection* v6_TrueNorth) : IfcRepresentationContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ContextIdentifier) { e->setArgument(0,(*v1_ContextIdentifier)); } else { e->setArgument(0); } if (v2_ContextType) { e->setArgument(1,(*v2_ContextType)); } else { e->setArgument(1); } e->setArgument(2,(v3_CoordinateSpaceDimension)); if (v4_Precision) { e->setArgument(3,(*v4_Precision)); } else { e->setArgument(3); } e->setArgument(4,(v5_WorldCoordinateSystem)); e->setArgument(5,(v6_TrueNorth)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeometricRepresentationItem bool IfcGeometricRepresentationItem::is(Type::Enum v) const { return v == Type::IfcGeometricRepresentationItem || IfcRepresentationItem::is(v); } @@ -8138,22 +9542,22 @@ IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresenta IfcGeometricRepresentationContext* IfcGeometricRepresentationSubContext::ParentContext() const { return (IfcGeometricRepresentationContext*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } void IfcGeometricRepresentationSubContext::setParentContext(IfcGeometricRepresentationContext* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcGeometricRepresentationSubContext::hasTargetScale() const { return !entity->getArgument(7)->isNull(); } -IfcPositiveRatioMeasure IfcGeometricRepresentationSubContext::TargetScale() const { return *entity->getArgument(7); } -void IfcGeometricRepresentationSubContext::setTargetScale(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcGeometricRepresentationSubContext::TargetScale() const { return *entity->getArgument(7); } +void IfcGeometricRepresentationSubContext::setTargetScale(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } IfcGeometricProjectionEnum::IfcGeometricProjectionEnum IfcGeometricRepresentationSubContext::TargetView() const { return IfcGeometricProjectionEnum::FromString(*entity->getArgument(8)); } void IfcGeometricRepresentationSubContext::setTargetView(IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcGeometricProjectionEnum::ToString(v)); } bool IfcGeometricRepresentationSubContext::hasUserDefinedTargetView() const { return !entity->getArgument(9)->isNull(); } -IfcLabel IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { return *entity->getArgument(9); } -void IfcGeometricRepresentationSubContext::setUserDefinedTargetView(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +std::string IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { return *entity->getArgument(9); } +void IfcGeometricRepresentationSubContext::setUserDefinedTargetView(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcGeometricRepresentationSubContext::is(Type::Enum v) const { return v == Type::IfcGeometricRepresentationSubContext || IfcGeometricRepresentationContext::is(v); } Type::Enum IfcGeometricRepresentationSubContext::type() const { return Type::IfcGeometricRepresentationSubContext; } Type::Enum IfcGeometricRepresentationSubContext::Class() { return Type::IfcGeometricRepresentationSubContext; } IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(IfcAbstractEntity* e) : IfcGeometricRepresentationContext((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeometricRepresentationSubContext)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType, IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< IfcPositiveRatioMeasure > v8_TargetScale, IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v9_TargetView, boost::optional< IfcLabel > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ContextIdentifier) { e->setArgument(0,(*v1_ContextIdentifier)); } else { e->setArgument(0); } if (v2_ContextType) { e->setArgument(1,(*v2_ContextType)); } else { e->setArgument(1); } e->setArgumentDerived(2); e->setArgumentDerived(3); e->setArgumentDerived(4); e->setArgumentDerived(5); e->setArgument(6,(v7_ParentContext)); if (v8_TargetScale) { e->setArgument(7,(*v8_TargetScale)); } else { e->setArgument(7); } e->setArgument(8,v9_TargetView,IfcGeometricProjectionEnum::ToString(v9_TargetView)); if (v10_UserDefinedTargetView) { e->setArgument(9,(*v10_UserDefinedTargetView)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ContextIdentifier) { e->setArgument(0,(*v1_ContextIdentifier)); } else { e->setArgument(0); } if (v2_ContextType) { e->setArgument(1,(*v2_ContextType)); } else { e->setArgument(1); } e->setArgumentDerived(2); e->setArgumentDerived(3); e->setArgumentDerived(4); e->setArgumentDerived(5); e->setArgument(6,(v7_ParentContext)); if (v8_TargetScale) { e->setArgument(7,(*v8_TargetScale)); } else { e->setArgument(7); } e->setArgument(8,v9_TargetView,IfcGeometricProjectionEnum::ToString(v9_TargetView)); if (v10_UserDefinedTargetView) { e->setArgument(9,(*v10_UserDefinedTargetView)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeometricSet -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcGeometricSet::Elements() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcGeometricSet::setElements(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcEntityList::ptr IfcGeometricSet::Elements() const { return *entity->getArgument(0); } +void IfcGeometricSet::setElements(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } 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; } @@ -8173,16 +9577,16 @@ bool IfcGrid::is(Type::Enum v) const { return v == Type::IfcGrid || IfcProduct:: Type::Enum IfcGrid::type() const { return Type::IfcGrid; } Type::Enum IfcGrid::Class() { return Type::IfcGrid; } IfcGrid::IfcGrid(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGrid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGrid::IfcGrid(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcTemplatedEntityList< IfcGridAxis >::ptr v8_UAxes, IfcTemplatedEntityList< IfcGridAxis >::ptr v9_VAxes, boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > v10_WAxes) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_UAxes)->generalize()); e->setArgument(8,(v9_VAxes)->generalize()); if (v10_WAxes) { e->setArgument(9,(*v10_WAxes)->generalize()); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcGrid::IfcGrid(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcTemplatedEntityList< IfcGridAxis >::ptr v8_UAxes, IfcTemplatedEntityList< IfcGridAxis >::ptr v9_VAxes, boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > v10_WAxes) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_UAxes)->generalize()); e->setArgument(8,(v9_VAxes)->generalize()); if (v10_WAxes) { e->setArgument(9,(*v10_WAxes)->generalize()); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGridAxis bool IfcGridAxis::hasAxisTag() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcGridAxis::AxisTag() const { return *entity->getArgument(0); } -void IfcGridAxis::setAxisTag(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcGridAxis::AxisTag() const { return *entity->getArgument(0); } +void IfcGridAxis::setAxisTag(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } IfcCurve* IfcGridAxis::AxisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcGridAxis::setAxisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcBoolean IfcGridAxis::SameSense() const { return *entity->getArgument(2); } -void IfcGridAxis::setSameSense(IfcBoolean v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +bool IfcGridAxis::SameSense() const { return *entity->getArgument(2); } +void IfcGridAxis::setSameSense(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcGrid::list::ptr IfcGridAxis::PartOfW() const { return entity->getInverse(Type::IfcGrid)->as(); } IfcGrid::list::ptr IfcGridAxis::PartOfV() const { return entity->getInverse(Type::IfcGrid)->as(); } IfcGrid::list::ptr IfcGridAxis::PartOfU() const { return entity->getInverse(Type::IfcGrid)->as(); } @@ -8191,7 +9595,7 @@ bool IfcGridAxis::is(Type::Enum v) const { return v == Type::IfcGridAxis; } Type::Enum IfcGridAxis::type() const { return Type::IfcGridAxis; } Type::Enum IfcGridAxis::Class() { return Type::IfcGridAxis; } IfcGridAxis::IfcGridAxis(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcGridAxis)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGridAxis::IfcGridAxis(boost::optional< IfcLabel > v1_AxisTag, IfcCurve* v2_AxisCurve, IfcBoolean v3_SameSense) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_AxisTag) { e->setArgument(0,(*v1_AxisTag)); } else { e->setArgument(0); } e->setArgument(1,(v2_AxisCurve)); e->setArgument(2,(v3_SameSense)); entity = e; EntityBuffer::Add(this); } +IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_AxisTag) { e->setArgument(0,(*v1_AxisTag)); } else { e->setArgument(0); } e->setArgument(1,(v2_AxisCurve)); e->setArgument(2,(v3_SameSense)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGridPlacement IfcVirtualGridIntersection* IfcGridPlacement::PlacementLocation() const { return (IfcVirtualGridIntersection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -8211,7 +9615,7 @@ bool IfcGroup::is(Type::Enum v) const { return v == Type::IfcGroup || IfcObject: Type::Enum IfcGroup::type() const { return Type::IfcGroup; } Type::Enum IfcGroup::Class() { return Type::IfcGroup; } IfcGroup::IfcGroup(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGroup::IfcGroup(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcGroup::IfcGroup(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcHalfSpaceSolid IfcSurface* IfcHalfSpaceSolid::BaseSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -8231,7 +9635,7 @@ bool IfcHeatExchangerType::is(Type::Enum v) const { return v == Type::IfcHeatExc Type::Enum IfcHeatExchangerType::type() const { return Type::IfcHeatExchangerType; } Type::Enum IfcHeatExchangerType::Class() { return Type::IfcHeatExchangerType; } IfcHeatExchangerType::IfcHeatExchangerType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcHeatExchangerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcHeatExchangerType::IfcHeatExchangerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcHeatExchangerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcHeatExchangerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcHumidifierType IfcHumidifierTypeEnum::IfcHumidifierTypeEnum IfcHumidifierType::PredefinedType() const { return IfcHumidifierTypeEnum::FromString(*entity->getArgument(9)); } @@ -8240,62 +9644,62 @@ bool IfcHumidifierType::is(Type::Enum v) const { return v == Type::IfcHumidifier Type::Enum IfcHumidifierType::type() const { return Type::IfcHumidifierType; } Type::Enum IfcHumidifierType::Class() { return Type::IfcHumidifierType; } IfcHumidifierType::IfcHumidifierType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcHumidifierType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcHumidifierType::IfcHumidifierType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcHumidifierTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcHumidifierTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcHygroscopicMaterialProperties bool IfcHygroscopicMaterialProperties::hasUpperVaporResistanceFactor() const { return !entity->getArgument(1)->isNull(); } -IfcPositiveRatioMeasure IfcHygroscopicMaterialProperties::UpperVaporResistanceFactor() const { return *entity->getArgument(1); } -void IfcHygroscopicMaterialProperties::setUpperVaporResistanceFactor(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcHygroscopicMaterialProperties::UpperVaporResistanceFactor() const { return *entity->getArgument(1); } +void IfcHygroscopicMaterialProperties::setUpperVaporResistanceFactor(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcHygroscopicMaterialProperties::hasLowerVaporResistanceFactor() const { return !entity->getArgument(2)->isNull(); } -IfcPositiveRatioMeasure IfcHygroscopicMaterialProperties::LowerVaporResistanceFactor() const { return *entity->getArgument(2); } -void IfcHygroscopicMaterialProperties::setLowerVaporResistanceFactor(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcHygroscopicMaterialProperties::LowerVaporResistanceFactor() const { return *entity->getArgument(2); } +void IfcHygroscopicMaterialProperties::setLowerVaporResistanceFactor(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcHygroscopicMaterialProperties::hasIsothermalMoistureCapacity() const { return !entity->getArgument(3)->isNull(); } -IfcIsothermalMoistureCapacityMeasure IfcHygroscopicMaterialProperties::IsothermalMoistureCapacity() const { return *entity->getArgument(3); } -void IfcHygroscopicMaterialProperties::setIsothermalMoistureCapacity(IfcIsothermalMoistureCapacityMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcHygroscopicMaterialProperties::IsothermalMoistureCapacity() const { return *entity->getArgument(3); } +void IfcHygroscopicMaterialProperties::setIsothermalMoistureCapacity(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcHygroscopicMaterialProperties::hasVaporPermeability() const { return !entity->getArgument(4)->isNull(); } -IfcVaporPermeabilityMeasure IfcHygroscopicMaterialProperties::VaporPermeability() const { return *entity->getArgument(4); } -void IfcHygroscopicMaterialProperties::setVaporPermeability(IfcVaporPermeabilityMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcHygroscopicMaterialProperties::VaporPermeability() const { return *entity->getArgument(4); } +void IfcHygroscopicMaterialProperties::setVaporPermeability(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcHygroscopicMaterialProperties::hasMoistureDiffusivity() const { return !entity->getArgument(5)->isNull(); } -IfcMoistureDiffusivityMeasure IfcHygroscopicMaterialProperties::MoistureDiffusivity() const { return *entity->getArgument(5); } -void IfcHygroscopicMaterialProperties::setMoistureDiffusivity(IfcMoistureDiffusivityMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcHygroscopicMaterialProperties::MoistureDiffusivity() const { return *entity->getArgument(5); } +void IfcHygroscopicMaterialProperties::setMoistureDiffusivity(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcHygroscopicMaterialProperties::is(Type::Enum v) const { return v == Type::IfcHygroscopicMaterialProperties || IfcMaterialProperties::is(v); } Type::Enum IfcHygroscopicMaterialProperties::type() const { return Type::IfcHygroscopicMaterialProperties; } Type::Enum IfcHygroscopicMaterialProperties::Class() { return Type::IfcHygroscopicMaterialProperties; } IfcHygroscopicMaterialProperties::IfcHygroscopicMaterialProperties(IfcAbstractEntity* e) : IfcMaterialProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcHygroscopicMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcHygroscopicMaterialProperties::IfcHygroscopicMaterialProperties(IfcMaterial* v1_Material, boost::optional< IfcPositiveRatioMeasure > v2_UpperVaporResistanceFactor, boost::optional< IfcPositiveRatioMeasure > v3_LowerVaporResistanceFactor, boost::optional< IfcIsothermalMoistureCapacityMeasure > v4_IsothermalMoistureCapacity, boost::optional< IfcVaporPermeabilityMeasure > v5_VaporPermeability, boost::optional< IfcMoistureDiffusivityMeasure > v6_MoistureDiffusivity) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_UpperVaporResistanceFactor) { e->setArgument(1,(*v2_UpperVaporResistanceFactor)); } else { e->setArgument(1); } if (v3_LowerVaporResistanceFactor) { e->setArgument(2,(*v3_LowerVaporResistanceFactor)); } else { e->setArgument(2); } if (v4_IsothermalMoistureCapacity) { e->setArgument(3,(*v4_IsothermalMoistureCapacity)); } else { e->setArgument(3); } if (v5_VaporPermeability) { e->setArgument(4,(*v5_VaporPermeability)); } else { e->setArgument(4); } if (v6_MoistureDiffusivity) { e->setArgument(5,(*v6_MoistureDiffusivity)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcHygroscopicMaterialProperties::IfcHygroscopicMaterialProperties(IfcMaterial* v1_Material, boost::optional< double > v2_UpperVaporResistanceFactor, boost::optional< double > v3_LowerVaporResistanceFactor, boost::optional< double > v4_IsothermalMoistureCapacity, boost::optional< double > v5_VaporPermeability, boost::optional< double > v6_MoistureDiffusivity) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_UpperVaporResistanceFactor) { e->setArgument(1,(*v2_UpperVaporResistanceFactor)); } else { e->setArgument(1); } if (v3_LowerVaporResistanceFactor) { e->setArgument(2,(*v3_LowerVaporResistanceFactor)); } else { e->setArgument(2); } if (v4_IsothermalMoistureCapacity) { e->setArgument(3,(*v4_IsothermalMoistureCapacity)); } else { e->setArgument(3); } if (v5_VaporPermeability) { e->setArgument(4,(*v5_VaporPermeability)); } else { e->setArgument(4); } if (v6_MoistureDiffusivity) { e->setArgument(5,(*v6_MoistureDiffusivity)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcIShapeProfileDef -IfcPositiveLengthMeasure IfcIShapeProfileDef::OverallWidth() const { return *entity->getArgument(3); } -void IfcIShapeProfileDef::setOverallWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcIShapeProfileDef::OverallDepth() const { return *entity->getArgument(4); } -void IfcIShapeProfileDef::setOverallDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcIShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } -void IfcIShapeProfileDef::setWebThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcIShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } -void IfcIShapeProfileDef::setFlangeThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcIShapeProfileDef::OverallWidth() const { return *entity->getArgument(3); } +void IfcIShapeProfileDef::setOverallWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcIShapeProfileDef::OverallDepth() const { return *entity->getArgument(4); } +void IfcIShapeProfileDef::setOverallDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcIShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } +void IfcIShapeProfileDef::setWebThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcIShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } +void IfcIShapeProfileDef::setFlangeThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcIShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcIShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } -void IfcIShapeProfileDef::setFilletRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcIShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } +void IfcIShapeProfileDef::setFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcIShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcIShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcIShapeProfileDef::type() const { return Type::IfcIShapeProfileDef; } Type::Enum IfcIShapeProfileDef::Class() { return Type::IfcIShapeProfileDef; } IfcIShapeProfileDef::IfcIShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcIShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcIShapeProfileDef::IfcIShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_OverallWidth, IfcPositiveLengthMeasure v5_OverallDepth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcPositiveLengthMeasure > v8_FilletRadius) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_OverallWidth)); e->setArgument(4,(v5_OverallDepth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcIShapeProfileDef::IfcIShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_OverallWidth)); e->setArgument(4,(v5_OverallDepth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcImageTexture -IfcIdentifier IfcImageTexture::UrlReference() const { return *entity->getArgument(4); } -void IfcImageTexture::setUrlReference(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcImageTexture::UrlReference() const { return *entity->getArgument(4); } +void IfcImageTexture::setUrlReference(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcImageTexture::is(Type::Enum v) const { return v == Type::IfcImageTexture || IfcSurfaceTexture::is(v); } Type::Enum IfcImageTexture::type() const { return Type::IfcImageTexture; } Type::Enum IfcImageTexture::Class() { return Type::IfcImageTexture; } IfcImageTexture::IfcImageTexture(IfcAbstractEntity* e) : IfcSurfaceTexture((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcImageTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, IfcIdentifier v5_UrlReference) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); e->setArgument(2,v3_TextureType,IfcSurfaceTextureEnum::ToString(v3_TextureType)); e->setArgument(3,(v4_TextureTransform)); e->setArgument(4,(v5_UrlReference)); entity = e; EntityBuffer::Add(this); } +IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, std::string v5_UrlReference) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); e->setArgument(2,v3_TextureType,IfcSurfaceTextureEnum::ToString(v3_TextureType)); e->setArgument(3,(v4_TextureTransform)); e->setArgument(4,(v5_UrlReference)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcInventory IfcInventoryTypeEnum::IfcInventoryTypeEnum IfcInventory::InventoryType() const { return IfcInventoryTypeEnum::FromString(*entity->getArgument(5)); } void IfcInventory::setInventoryType(IfcInventoryTypeEnum::IfcInventoryTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcInventoryTypeEnum::ToString(v)); } -IfcActorSelect IfcInventory::Jurisdiction() const { return *entity->getArgument(6); } -void IfcInventory::setJurisdiction(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +IfcActorSelect* IfcInventory::Jurisdiction() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } +void IfcInventory::setJurisdiction(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } IfcTemplatedEntityList< IfcPerson >::ptr IfcInventory::ResponsiblePersons() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } void IfcInventory::setResponsiblePersons(IfcTemplatedEntityList< IfcPerson >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } IfcCalendarDate* IfcInventory::LastUpdateDate() const { return (IfcCalendarDate*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } @@ -8310,7 +9714,7 @@ bool IfcInventory::is(Type::Enum v) const { return v == Type::IfcInventory || If Type::Enum IfcInventory::type() const { return Type::IfcInventory; } Type::Enum IfcInventory::Class() { return Type::IfcInventory; } IfcInventory::IfcInventory(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcInventory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcInventory::IfcInventory(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcInventoryTypeEnum::IfcInventoryTypeEnum v6_InventoryType, IfcActorSelect v7_Jurisdiction, IfcTemplatedEntityList< IfcPerson >::ptr v8_ResponsiblePersons, IfcCalendarDate* v9_LastUpdateDate, IfcCostValue* v10_CurrentValue, IfcCostValue* v11_OriginalValue) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_InventoryType,IfcInventoryTypeEnum::ToString(v6_InventoryType)); e->setArgument(6,(v7_Jurisdiction)); e->setArgument(7,(v8_ResponsiblePersons)->generalize()); e->setArgument(8,(v9_LastUpdateDate)); e->setArgument(9,(v10_CurrentValue)); e->setArgument(10,(v11_OriginalValue)); entity = e; EntityBuffer::Add(this); } +IfcInventory::IfcInventory(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcInventoryTypeEnum::IfcInventoryTypeEnum v6_InventoryType, IfcActorSelect* v7_Jurisdiction, IfcTemplatedEntityList< IfcPerson >::ptr v8_ResponsiblePersons, IfcCalendarDate* v9_LastUpdateDate, IfcCostValue* v10_CurrentValue, IfcCostValue* v11_OriginalValue) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_InventoryType,IfcInventoryTypeEnum::ToString(v6_InventoryType)); e->setArgument(6,(v7_Jurisdiction)); e->setArgument(7,(v8_ResponsiblePersons)->generalize()); e->setArgument(8,(v9_LastUpdateDate)); e->setArgument(9,(v10_CurrentValue)); e->setArgument(10,(v11_OriginalValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcIrregularTimeSeries IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr IfcIrregularTimeSeries::Values() const { IfcEntityList::ptr es = *entity->getArgument(8); return es->as(); } @@ -8319,18 +9723,18 @@ bool IfcIrregularTimeSeries::is(Type::Enum v) const { return v == Type::IfcIrreg Type::Enum IfcIrregularTimeSeries::type() const { return Type::IfcIrregularTimeSeries; } Type::Enum IfcIrregularTimeSeries::Class() { return Type::IfcIrregularTimeSeries; } IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcAbstractEntity* e) : IfcTimeSeries((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcIrregularTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTimeSelect v3_StartTime, IfcDateTimeSelect v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit, IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } if (v8_Unit) { e->setArgument(7,(*v8_Unit)); } else { e->setArgument(7); } e->setArgument(8,(v9_Values)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, IfcDateTimeSelect* v3_StartTime, IfcDateTimeSelect* v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, IfcUnit* v8_Unit, IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } e->setArgument(7,(v8_Unit)); e->setArgument(8,(v9_Values)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcIrregularTimeSeriesValue -IfcDateTimeSelect IfcIrregularTimeSeriesValue::TimeStamp() const { return *entity->getArgument(0); } -void IfcIrregularTimeSeriesValue::setTimeStamp(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcIrregularTimeSeriesValue::ListValues() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcIrregularTimeSeriesValue::setListValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +IfcDateTimeSelect* IfcIrregularTimeSeriesValue::TimeStamp() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcIrregularTimeSeriesValue::setTimeStamp(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcEntityList::ptr IfcIrregularTimeSeriesValue::ListValues() const { return *entity->getArgument(1); } +void IfcIrregularTimeSeriesValue::setListValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } 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; } IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcIrregularTimeSeriesValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcDateTimeSelect v1_TimeStamp, IfcEntityList::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TimeStamp)); e->setArgument(1,(v2_ListValues)); entity = e; EntityBuffer::Add(this); } +IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcDateTimeSelect* v1_TimeStamp, IfcEntityList::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TimeStamp)); e->setArgument(1,(v2_ListValues)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcJunctionBoxType IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum IfcJunctionBoxType::PredefinedType() const { return IfcJunctionBoxTypeEnum::FromString(*entity->getArgument(9)); } @@ -8339,46 +9743,46 @@ bool IfcJunctionBoxType::is(Type::Enum v) const { return v == Type::IfcJunctionB Type::Enum IfcJunctionBoxType::type() const { return Type::IfcJunctionBoxType; } Type::Enum IfcJunctionBoxType::Class() { return Type::IfcJunctionBoxType; } IfcJunctionBoxType::IfcJunctionBoxType(IfcAbstractEntity* e) : IfcFlowFittingType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcJunctionBoxType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcJunctionBoxType::IfcJunctionBoxType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcJunctionBoxTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcJunctionBoxTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLShapeProfileDef -IfcPositiveLengthMeasure IfcLShapeProfileDef::Depth() const { return *entity->getArgument(3); } -void IfcLShapeProfileDef::setDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcLShapeProfileDef::Depth() const { return *entity->getArgument(3); } +void IfcLShapeProfileDef::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcLShapeProfileDef::hasWidth() const { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcLShapeProfileDef::Width() const { return *entity->getArgument(4); } -void IfcLShapeProfileDef::setWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcLShapeProfileDef::Thickness() const { return *entity->getArgument(5); } -void IfcLShapeProfileDef::setThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcLShapeProfileDef::Width() const { return *entity->getArgument(4); } +void IfcLShapeProfileDef::setWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcLShapeProfileDef::Thickness() const { return *entity->getArgument(5); } +void IfcLShapeProfileDef::setThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcLShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(6)->isNull(); } -IfcPositiveLengthMeasure IfcLShapeProfileDef::FilletRadius() const { return *entity->getArgument(6); } -void IfcLShapeProfileDef::setFilletRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcLShapeProfileDef::FilletRadius() const { return *entity->getArgument(6); } +void IfcLShapeProfileDef::setFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcLShapeProfileDef::hasEdgeRadius() const { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcLShapeProfileDef::EdgeRadius() const { return *entity->getArgument(7); } -void IfcLShapeProfileDef::setEdgeRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcLShapeProfileDef::EdgeRadius() const { return *entity->getArgument(7); } +void IfcLShapeProfileDef::setEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcLShapeProfileDef::hasLegSlope() const { return !entity->getArgument(8)->isNull(); } -IfcPlaneAngleMeasure IfcLShapeProfileDef::LegSlope() const { return *entity->getArgument(8); } -void IfcLShapeProfileDef::setLegSlope(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcLShapeProfileDef::LegSlope() const { return *entity->getArgument(8); } +void IfcLShapeProfileDef::setLegSlope(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcLShapeProfileDef::hasCentreOfGravityInX() const { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcLShapeProfileDef::CentreOfGravityInX() const { return *entity->getArgument(9); } -void IfcLShapeProfileDef::setCentreOfGravityInX(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcLShapeProfileDef::CentreOfGravityInX() const { return *entity->getArgument(9); } +void IfcLShapeProfileDef::setCentreOfGravityInX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcLShapeProfileDef::hasCentreOfGravityInY() const { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcLShapeProfileDef::CentreOfGravityInY() const { return *entity->getArgument(10); } -void IfcLShapeProfileDef::setCentreOfGravityInY(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcLShapeProfileDef::CentreOfGravityInY() const { return *entity->getArgument(10); } +void IfcLShapeProfileDef::setCentreOfGravityInY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcLShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcLShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcLShapeProfileDef::type() const { return Type::IfcLShapeProfileDef; } Type::Enum IfcLShapeProfileDef::Class() { return Type::IfcLShapeProfileDef; } IfcLShapeProfileDef::IfcLShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLShapeProfileDef::IfcLShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, boost::optional< IfcPositiveLengthMeasure > v5_Width, IfcPositiveLengthMeasure v6_Thickness, boost::optional< IfcPositiveLengthMeasure > v7_FilletRadius, boost::optional< IfcPositiveLengthMeasure > v8_EdgeRadius, boost::optional< IfcPlaneAngleMeasure > v9_LegSlope, boost::optional< IfcPositiveLengthMeasure > v10_CentreOfGravityInX, boost::optional< IfcPositiveLengthMeasure > v11_CentreOfGravityInY) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); if (v5_Width) { e->setArgument(4,(*v5_Width)); } else { e->setArgument(4); } e->setArgument(5,(v6_Thickness)); if (v7_FilletRadius) { e->setArgument(6,(*v7_FilletRadius)); } else { e->setArgument(6); } if (v8_EdgeRadius) { e->setArgument(7,(*v8_EdgeRadius)); } else { e->setArgument(7); } if (v9_LegSlope) { e->setArgument(8,(*v9_LegSlope)); } else { e->setArgument(8); } if (v10_CentreOfGravityInX) { e->setArgument(9,(*v10_CentreOfGravityInX)); } else { e->setArgument(9); } if (v11_CentreOfGravityInY) { e->setArgument(10,(*v11_CentreOfGravityInY)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcLShapeProfileDef::IfcLShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, boost::optional< double > v5_Width, double v6_Thickness, boost::optional< double > v7_FilletRadius, boost::optional< double > v8_EdgeRadius, boost::optional< double > v9_LegSlope, boost::optional< double > v10_CentreOfGravityInX, boost::optional< double > v11_CentreOfGravityInY) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); if (v5_Width) { e->setArgument(4,(*v5_Width)); } else { e->setArgument(4); } e->setArgument(5,(v6_Thickness)); if (v7_FilletRadius) { e->setArgument(6,(*v7_FilletRadius)); } else { e->setArgument(6); } if (v8_EdgeRadius) { e->setArgument(7,(*v8_EdgeRadius)); } else { e->setArgument(7); } if (v9_LegSlope) { e->setArgument(8,(*v9_LegSlope)); } else { e->setArgument(8); } if (v10_CentreOfGravityInX) { e->setArgument(9,(*v10_CentreOfGravityInX)); } else { e->setArgument(9); } if (v11_CentreOfGravityInY) { e->setArgument(10,(*v11_CentreOfGravityInY)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLaborResource bool IfcLaborResource::hasSkillSet() const { return !entity->getArgument(9)->isNull(); } -IfcText IfcLaborResource::SkillSet() const { return *entity->getArgument(9); } -void IfcLaborResource::setSkillSet(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +std::string IfcLaborResource::SkillSet() const { return *entity->getArgument(9); } +void IfcLaborResource::setSkillSet(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcLaborResource::is(Type::Enum v) const { return v == Type::IfcLaborResource || IfcConstructionResource::is(v); } Type::Enum IfcLaborResource::type() const { return Type::IfcLaborResource; } Type::Enum IfcLaborResource::Class() { return Type::IfcLaborResource; } IfcLaborResource::IfcLaborResource(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLaborResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLaborResource::IfcLaborResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< IfcText > v10_SkillSet) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); if (v10_SkillSet) { e->setArgument(9,(*v10_SkillSet)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< std::string > v10_SkillSet) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); if (v10_SkillSet) { e->setArgument(9,(*v10_SkillSet)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLampType IfcLampTypeEnum::IfcLampTypeEnum IfcLampType::PredefinedType() const { return IfcLampTypeEnum::FromString(*entity->getArgument(9)); } @@ -8387,14 +9791,14 @@ bool IfcLampType::is(Type::Enum v) const { return v == Type::IfcLampType || IfcF Type::Enum IfcLampType::type() const { return Type::IfcLampType; } Type::Enum IfcLampType::Class() { return Type::IfcLampType; } IfcLampType::IfcLampType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLampType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLampType::IfcLampType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcLampTypeEnum::IfcLampTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcLampTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcLampType::IfcLampType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcLampTypeEnum::IfcLampTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcLampTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLibraryInformation -IfcLabel IfcLibraryInformation::Name() const { return *entity->getArgument(0); } -void IfcLibraryInformation::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcLibraryInformation::Name() const { return *entity->getArgument(0); } +void IfcLibraryInformation::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcLibraryInformation::hasVersion() const { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcLibraryInformation::Version() const { return *entity->getArgument(1); } -void IfcLibraryInformation::setVersion(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcLibraryInformation::Version() const { return *entity->getArgument(1); } +void IfcLibraryInformation::setVersion(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcLibraryInformation::hasPublisher() const { return !entity->getArgument(2)->isNull(); } IfcOrganization* IfcLibraryInformation::Publisher() const { return (IfcOrganization*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcLibraryInformation::setPublisher(IfcOrganization* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } @@ -8408,7 +9812,7 @@ bool IfcLibraryInformation::is(Type::Enum v) const { return v == Type::IfcLibrar Type::Enum IfcLibraryInformation::type() const { return Type::IfcLibraryInformation; } Type::Enum IfcLibraryInformation::Class() { return Type::IfcLibraryInformation; } IfcLibraryInformation::IfcLibraryInformation(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcLibraryInformation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLibraryInformation::IfcLibraryInformation(IfcLabel v1_Name, boost::optional< IfcLabel > v2_Version, IfcOrganization* v3_Publisher, IfcCalendarDate* v4_VersionDate, boost::optional< IfcTemplatedEntityList< IfcLibraryReference >::ptr > v5_LibraryReference) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Version) { e->setArgument(1,(*v2_Version)); } else { e->setArgument(1); } e->setArgument(2,(v3_Publisher)); e->setArgument(3,(v4_VersionDate)); if (v5_LibraryReference) { e->setArgument(4,(*v5_LibraryReference)->generalize()); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, IfcOrganization* v3_Publisher, IfcCalendarDate* v4_VersionDate, boost::optional< IfcTemplatedEntityList< IfcLibraryReference >::ptr > v5_LibraryReference) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Version) { e->setArgument(1,(*v2_Version)); } else { e->setArgument(1); } e->setArgument(2,(v3_Publisher)); e->setArgument(3,(v4_VersionDate)); if (v5_LibraryReference) { e->setArgument(4,(*v5_LibraryReference)->generalize()); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLibraryReference IfcLibraryInformation::list::ptr IfcLibraryReference::ReferenceIntoLibrary() const { return entity->getInverse(Type::IfcLibraryInformation)->as(); } @@ -8416,20 +9820,20 @@ bool IfcLibraryReference::is(Type::Enum v) const { return v == Type::IfcLibraryR Type::Enum IfcLibraryReference::type() const { return Type::IfcLibraryReference; } Type::Enum IfcLibraryReference::Class() { return Type::IfcLibraryReference; } IfcLibraryReference::IfcLibraryReference(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLibraryReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLibraryReference::IfcLibraryReference(boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcLibraryReference::IfcLibraryReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_ItemReference) { e->setArgument(1,(*v2_ItemReference)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightDistributionData -IfcPlaneAngleMeasure IfcLightDistributionData::MainPlaneAngle() const { return *entity->getArgument(0); } -void IfcLightDistributionData::setMainPlaneAngle(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ IfcLightDistributionData::SecondaryPlaneAngle() const { return *entity->getArgument(1); } -void IfcLightDistributionData::setSecondaryPlaneAngle(std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ IfcLightDistributionData::LuminousIntensity() const { return *entity->getArgument(2); } -void IfcLightDistributionData::setLuminousIntensity(std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcLightDistributionData::MainPlaneAngle() const { return *entity->getArgument(0); } +void IfcLightDistributionData::setMainPlaneAngle(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::vector< double > /*[1:?]*/ IfcLightDistributionData::SecondaryPlaneAngle() const { return *entity->getArgument(1); } +void IfcLightDistributionData::setSecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::vector< double > /*[1:?]*/ IfcLightDistributionData::LuminousIntensity() const { return *entity->getArgument(2); } +void IfcLightDistributionData::setLuminousIntensity(std::vector< double > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } 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; } IfcLightDistributionData::IfcLightDistributionData(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcLightDistributionData)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightDistributionData::IfcLightDistributionData(IfcPlaneAngleMeasure v1_MainPlaneAngle, std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MainPlaneAngle)); e->setArgument(1,(v2_SecondaryPlaneAngle)); e->setArgument(2,(v3_LuminousIntensity)); entity = e; EntityBuffer::Add(this); } +IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MainPlaneAngle)); e->setArgument(1,(v2_SecondaryPlaneAngle)); e->setArgument(2,(v3_LuminousIntensity)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightFixtureType IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum IfcLightFixtureType::PredefinedType() const { return IfcLightFixtureTypeEnum::FromString(*entity->getArgument(9)); } @@ -8438,7 +9842,7 @@ bool IfcLightFixtureType::is(Type::Enum v) const { return v == Type::IfcLightFix Type::Enum IfcLightFixtureType::type() const { return Type::IfcLightFixtureType; } Type::Enum IfcLightFixtureType::Class() { return Type::IfcLightFixtureType; } IfcLightFixtureType::IfcLightFixtureType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightFixtureType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightFixtureType::IfcLightFixtureType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcLightFixtureTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcLightFixtureTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightIntensityDistribution IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum IfcLightIntensityDistribution::LightDistributionCurve() const { return IfcLightDistributionCurveEnum::FromString(*entity->getArgument(0)); } @@ -8453,28 +9857,28 @@ IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcLightDistributio // Function implementations for IfcLightSource bool IfcLightSource::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcLightSource::Name() const { return *entity->getArgument(0); } -void IfcLightSource::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcLightSource::Name() const { return *entity->getArgument(0); } +void IfcLightSource::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } IfcColourRgb* IfcLightSource::LightColour() const { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcLightSource::setLightColour(IfcColourRgb* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcLightSource::hasAmbientIntensity() const { return !entity->getArgument(2)->isNull(); } -IfcNormalisedRatioMeasure IfcLightSource::AmbientIntensity() const { return *entity->getArgument(2); } -void IfcLightSource::setAmbientIntensity(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcLightSource::AmbientIntensity() const { return *entity->getArgument(2); } +void IfcLightSource::setAmbientIntensity(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcLightSource::hasIntensity() const { return !entity->getArgument(3)->isNull(); } -IfcNormalisedRatioMeasure IfcLightSource::Intensity() const { return *entity->getArgument(3); } -void IfcLightSource::setIntensity(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcLightSource::Intensity() const { return *entity->getArgument(3); } +void IfcLightSource::setIntensity(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcLightSource::is(Type::Enum v) const { return v == Type::IfcLightSource || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcLightSource::type() const { return Type::IfcLightSource; } Type::Enum IfcLightSource::Class() { return Type::IfcLightSource; } IfcLightSource::IfcLightSource(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSource::IfcLightSource(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightSourceAmbient bool IfcLightSourceAmbient::is(Type::Enum v) const { return v == Type::IfcLightSourceAmbient || IfcLightSource::is(v); } Type::Enum IfcLightSourceAmbient::type() const { return Type::IfcLightSourceAmbient; } Type::Enum IfcLightSourceAmbient::Class() { return Type::IfcLightSourceAmbient; } IfcLightSourceAmbient::IfcLightSourceAmbient(IfcAbstractEntity* e) : IfcLightSource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSourceAmbient)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightSourceDirectional IfcDirection* IfcLightSourceDirectional::Orientation() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -8483,7 +9887,7 @@ bool IfcLightSourceDirectional::is(Type::Enum v) const { return v == Type::IfcLi Type::Enum IfcLightSourceDirectional::type() const { return Type::IfcLightSourceDirectional; } Type::Enum IfcLightSourceDirectional::Class() { return Type::IfcLightSourceDirectional; } IfcLightSourceDirectional::IfcLightSourceDirectional(IfcAbstractEntity* e) : IfcLightSource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSourceDirectional)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcDirection* v5_Orientation) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Orientation)); entity = e; EntityBuffer::Add(this); } +IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, IfcDirection* v5_Orientation) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Orientation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightSourceGoniometric IfcAxis2Placement3D* IfcLightSourceGoniometric::Position() const { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -8491,52 +9895,52 @@ void IfcLightSourceGoniometric::setPosition(IfcAxis2Placement3D* v) { if ( ! ent bool IfcLightSourceGoniometric::hasColourAppearance() const { return !entity->getArgument(5)->isNull(); } IfcColourRgb* IfcLightSourceGoniometric::ColourAppearance() const { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } void IfcLightSourceGoniometric::setColourAppearance(IfcColourRgb* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcThermodynamicTemperatureMeasure IfcLightSourceGoniometric::ColourTemperature() const { return *entity->getArgument(6); } -void IfcLightSourceGoniometric::setColourTemperature(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcLuminousFluxMeasure IfcLightSourceGoniometric::LuminousFlux() const { return *entity->getArgument(7); } -void IfcLightSourceGoniometric::setLuminousFlux(IfcLuminousFluxMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcLightSourceGoniometric::ColourTemperature() const { return *entity->getArgument(6); } +void IfcLightSourceGoniometric::setColourTemperature(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcLightSourceGoniometric::LuminousFlux() const { return *entity->getArgument(7); } +void IfcLightSourceGoniometric::setLuminousFlux(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum IfcLightSourceGoniometric::LightEmissionSource() const { return IfcLightEmissionSourceEnum::FromString(*entity->getArgument(8)); } void IfcLightSourceGoniometric::setLightEmissionSource(IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcLightEmissionSourceEnum::ToString(v)); } -IfcLightDistributionDataSourceSelect IfcLightSourceGoniometric::LightDistributionDataSource() const { return *entity->getArgument(9); } -void IfcLightSourceGoniometric::setLightDistributionDataSource(IfcLightDistributionDataSourceSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +IfcLightDistributionDataSourceSelect* IfcLightSourceGoniometric::LightDistributionDataSource() const { return (IfcLightDistributionDataSourceSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } +void IfcLightSourceGoniometric::setLightDistributionDataSource(IfcLightDistributionDataSourceSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcLightSourceGoniometric::is(Type::Enum v) const { return v == Type::IfcLightSourceGoniometric || IfcLightSource::is(v); } Type::Enum IfcLightSourceGoniometric::type() const { return Type::IfcLightSourceGoniometric; } Type::Enum IfcLightSourceGoniometric::Class() { return Type::IfcLightSourceGoniometric; } IfcLightSourceGoniometric::IfcLightSourceGoniometric(IfcAbstractEntity* e) : IfcLightSource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSourceGoniometric)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcAxis2Placement3D* v5_Position, IfcColourRgb* v6_ColourAppearance, IfcThermodynamicTemperatureMeasure v7_ColourTemperature, IfcLuminousFluxMeasure v8_LuminousFlux, IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v9_LightEmissionSource, IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); e->setArgument(5,(v6_ColourAppearance)); e->setArgument(6,(v7_ColourTemperature)); e->setArgument(7,(v8_LuminousFlux)); e->setArgument(8,v9_LightEmissionSource,IfcLightEmissionSourceEnum::ToString(v9_LightEmissionSource)); e->setArgument(9,(v10_LightDistributionDataSource)); entity = e; EntityBuffer::Add(this); } +IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, IfcAxis2Placement3D* v5_Position, IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v9_LightEmissionSource, IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); e->setArgument(5,(v6_ColourAppearance)); e->setArgument(6,(v7_ColourTemperature)); e->setArgument(7,(v8_LuminousFlux)); e->setArgument(8,v9_LightEmissionSource,IfcLightEmissionSourceEnum::ToString(v9_LightEmissionSource)); e->setArgument(9,(v10_LightDistributionDataSource)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightSourcePositional IfcCartesianPoint* IfcLightSourcePositional::Position() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } void IfcLightSourcePositional::setPosition(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcLightSourcePositional::Radius() const { return *entity->getArgument(5); } -void IfcLightSourcePositional::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcReal IfcLightSourcePositional::ConstantAttenuation() const { return *entity->getArgument(6); } -void IfcLightSourcePositional::setConstantAttenuation(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcReal IfcLightSourcePositional::DistanceAttenuation() const { return *entity->getArgument(7); } -void IfcLightSourcePositional::setDistanceAttenuation(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcReal IfcLightSourcePositional::QuadricAttenuation() const { return *entity->getArgument(8); } -void IfcLightSourcePositional::setQuadricAttenuation(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcLightSourcePositional::Radius() const { return *entity->getArgument(5); } +void IfcLightSourcePositional::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcLightSourcePositional::ConstantAttenuation() const { return *entity->getArgument(6); } +void IfcLightSourcePositional::setConstantAttenuation(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcLightSourcePositional::DistanceAttenuation() const { return *entity->getArgument(7); } +void IfcLightSourcePositional::setDistanceAttenuation(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcLightSourcePositional::QuadricAttenuation() const { return *entity->getArgument(8); } +void IfcLightSourcePositional::setQuadricAttenuation(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcLightSourcePositional::is(Type::Enum v) const { return v == Type::IfcLightSourcePositional || IfcLightSource::is(v); } Type::Enum IfcLightSourcePositional::type() const { return Type::IfcLightSourcePositional; } Type::Enum IfcLightSourcePositional::Class() { return Type::IfcLightSourcePositional; } IfcLightSourcePositional::IfcLightSourcePositional(IfcAbstractEntity* e) : IfcLightSource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSourcePositional)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcCartesianPoint* v5_Position, IfcPositiveLengthMeasure v6_Radius, IfcReal v7_ConstantAttenuation, IfcReal v8_DistanceAttenuation, IfcReal v9_QuadricAttenuation) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); e->setArgument(5,(v6_Radius)); e->setArgument(6,(v7_ConstantAttenuation)); e->setArgument(7,(v8_DistanceAttenuation)); e->setArgument(8,(v9_QuadricAttenuation)); entity = e; EntityBuffer::Add(this); } +IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); e->setArgument(5,(v6_Radius)); e->setArgument(6,(v7_ConstantAttenuation)); e->setArgument(7,(v8_DistanceAttenuation)); e->setArgument(8,(v9_QuadricAttenuation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightSourceSpot IfcDirection* IfcLightSourceSpot::Orientation() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } void IfcLightSourceSpot::setOrientation(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcLightSourceSpot::hasConcentrationExponent() const { return !entity->getArgument(10)->isNull(); } -IfcReal IfcLightSourceSpot::ConcentrationExponent() const { return *entity->getArgument(10); } -void IfcLightSourceSpot::setConcentrationExponent(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -IfcPositivePlaneAngleMeasure IfcLightSourceSpot::SpreadAngle() const { return *entity->getArgument(11); } -void IfcLightSourceSpot::setSpreadAngle(IfcPositivePlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -IfcPositivePlaneAngleMeasure IfcLightSourceSpot::BeamWidthAngle() const { return *entity->getArgument(12); } -void IfcLightSourceSpot::setBeamWidthAngle(IfcPositivePlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +double IfcLightSourceSpot::ConcentrationExponent() const { return *entity->getArgument(10); } +void IfcLightSourceSpot::setConcentrationExponent(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcLightSourceSpot::SpreadAngle() const { return *entity->getArgument(11); } +void IfcLightSourceSpot::setSpreadAngle(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcLightSourceSpot::BeamWidthAngle() const { return *entity->getArgument(12); } +void IfcLightSourceSpot::setBeamWidthAngle(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcLightSourceSpot::is(Type::Enum v) const { return v == Type::IfcLightSourceSpot || IfcLightSourcePositional::is(v); } Type::Enum IfcLightSourceSpot::type() const { return Type::IfcLightSourceSpot; } Type::Enum IfcLightSourceSpot::Class() { return Type::IfcLightSourceSpot; } IfcLightSourceSpot::IfcLightSourceSpot(IfcAbstractEntity* e) : IfcLightSourcePositional((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSourceSpot)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcCartesianPoint* v5_Position, IfcPositiveLengthMeasure v6_Radius, IfcReal v7_ConstantAttenuation, IfcReal v8_DistanceAttenuation, IfcReal v9_QuadricAttenuation, IfcDirection* v10_Orientation, boost::optional< IfcReal > v11_ConcentrationExponent, IfcPositivePlaneAngleMeasure v12_SpreadAngle, IfcPositivePlaneAngleMeasure v13_BeamWidthAngle) : IfcLightSourcePositional((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); e->setArgument(5,(v6_Radius)); e->setArgument(6,(v7_ConstantAttenuation)); e->setArgument(7,(v8_DistanceAttenuation)); e->setArgument(8,(v9_QuadricAttenuation)); e->setArgument(9,(v10_Orientation)); if (v11_ConcentrationExponent) { e->setArgument(10,(*v11_ConcentrationExponent)); } else { e->setArgument(10); } e->setArgument(11,(v12_SpreadAngle)); e->setArgument(12,(v13_BeamWidthAngle)); entity = e; EntityBuffer::Add(this); } +IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); e->setArgument(5,(v6_Radius)); e->setArgument(6,(v7_ConstantAttenuation)); e->setArgument(7,(v8_DistanceAttenuation)); e->setArgument(8,(v9_QuadricAttenuation)); e->setArgument(9,(v10_Orientation)); if (v11_ConcentrationExponent) { e->setArgument(10,(*v11_ConcentrationExponent)); } else { e->setArgument(10); } e->setArgument(11,(v12_SpreadAngle)); e->setArgument(12,(v13_BeamWidthAngle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLine IfcCartesianPoint* IfcLine::Pnt() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -8560,34 +9964,34 @@ IfcLinearDimension::IfcLinearDimension(IfcEntityList::ptr v1_Contents) : IfcDime bool IfcLocalPlacement::hasPlacementRelTo() const { return !entity->getArgument(0)->isNull(); } IfcObjectPlacement* IfcLocalPlacement::PlacementRelTo() const { return (IfcObjectPlacement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcLocalPlacement::setPlacementRelTo(IfcObjectPlacement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcAxis2Placement IfcLocalPlacement::RelativePlacement() const { return *entity->getArgument(1); } -void IfcLocalPlacement::setRelativePlacement(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcAxis2Placement* IfcLocalPlacement::RelativePlacement() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcLocalPlacement::setRelativePlacement(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcLocalPlacement::is(Type::Enum v) const { return v == Type::IfcLocalPlacement || IfcObjectPlacement::is(v); } Type::Enum IfcLocalPlacement::type() const { return Type::IfcLocalPlacement; } Type::Enum IfcLocalPlacement::Class() { return Type::IfcLocalPlacement; } IfcLocalPlacement::IfcLocalPlacement(IfcAbstractEntity* e) : IfcObjectPlacement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLocalPlacement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLocalPlacement::IfcLocalPlacement(IfcObjectPlacement* v1_PlacementRelTo, IfcAxis2Placement v2_RelativePlacement) : IfcObjectPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PlacementRelTo)); e->setArgument(1,(v2_RelativePlacement)); entity = e; EntityBuffer::Add(this); } +IfcLocalPlacement::IfcLocalPlacement(IfcObjectPlacement* v1_PlacementRelTo, IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PlacementRelTo)); e->setArgument(1,(v2_RelativePlacement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLocalTime -IfcHourInDay IfcLocalTime::HourComponent() const { return *entity->getArgument(0); } -void IfcLocalTime::setHourComponent(IfcHourInDay v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +int IfcLocalTime::HourComponent() const { return *entity->getArgument(0); } +void IfcLocalTime::setHourComponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcLocalTime::hasMinuteComponent() const { return !entity->getArgument(1)->isNull(); } -IfcMinuteInHour IfcLocalTime::MinuteComponent() const { return *entity->getArgument(1); } -void IfcLocalTime::setMinuteComponent(IfcMinuteInHour v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +int IfcLocalTime::MinuteComponent() const { return *entity->getArgument(1); } +void IfcLocalTime::setMinuteComponent(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcLocalTime::hasSecondComponent() const { return !entity->getArgument(2)->isNull(); } -IfcSecondInMinute IfcLocalTime::SecondComponent() const { return *entity->getArgument(2); } -void IfcLocalTime::setSecondComponent(IfcSecondInMinute v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcLocalTime::SecondComponent() const { return *entity->getArgument(2); } +void IfcLocalTime::setSecondComponent(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcLocalTime::hasZone() const { return !entity->getArgument(3)->isNull(); } IfcCoordinatedUniversalTimeOffset* IfcLocalTime::Zone() const { return (IfcCoordinatedUniversalTimeOffset*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcLocalTime::setZone(IfcCoordinatedUniversalTimeOffset* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcLocalTime::hasDaylightSavingOffset() const { return !entity->getArgument(4)->isNull(); } -IfcDaylightSavingHour IfcLocalTime::DaylightSavingOffset() const { return *entity->getArgument(4); } -void IfcLocalTime::setDaylightSavingOffset(IfcDaylightSavingHour v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +int IfcLocalTime::DaylightSavingOffset() const { return *entity->getArgument(4); } +void IfcLocalTime::setDaylightSavingOffset(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcLocalTime::is(Type::Enum v) const { return v == Type::IfcLocalTime; } Type::Enum IfcLocalTime::type() const { return Type::IfcLocalTime; } Type::Enum IfcLocalTime::Class() { return Type::IfcLocalTime; } IfcLocalTime::IfcLocalTime(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcLocalTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLocalTime::IfcLocalTime(IfcHourInDay v1_HourComponent, boost::optional< IfcMinuteInHour > v2_MinuteComponent, boost::optional< IfcSecondInMinute > v3_SecondComponent, IfcCoordinatedUniversalTimeOffset* v4_Zone, boost::optional< IfcDaylightSavingHour > v5_DaylightSavingOffset) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_HourComponent)); if (v2_MinuteComponent) { e->setArgument(1,(*v2_MinuteComponent)); } else { e->setArgument(1); } if (v3_SecondComponent) { e->setArgument(2,(*v3_SecondComponent)); } else { e->setArgument(2); } e->setArgument(3,(v4_Zone)); if (v5_DaylightSavingOffset) { e->setArgument(4,(*v5_DaylightSavingOffset)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcLocalTime::IfcLocalTime(int v1_HourComponent, boost::optional< int > v2_MinuteComponent, boost::optional< double > v3_SecondComponent, IfcCoordinatedUniversalTimeOffset* v4_Zone, boost::optional< int > v5_DaylightSavingOffset) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_HourComponent)); if (v2_MinuteComponent) { e->setArgument(1,(*v2_MinuteComponent)); } else { e->setArgument(1); } if (v3_SecondComponent) { e->setArgument(2,(*v3_SecondComponent)); } else { e->setArgument(2); } e->setArgument(3,(v4_Zone)); if (v5_DaylightSavingOffset) { e->setArgument(4,(*v5_DaylightSavingOffset)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLoop bool IfcLoop::is(Type::Enum v) const { return v == Type::IfcLoop || IfcTopologicalRepresentationItem::is(v); } @@ -8617,19 +10021,19 @@ IfcMappedItem::IfcMappedItem(IfcAbstractEntity* e) : IfcRepresentationItem((IfcA IfcMappedItem::IfcMappedItem(IfcRepresentationMap* v1_MappingSource, IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MappingSource)); e->setArgument(1,(v2_MappingTarget)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterial -IfcLabel IfcMaterial::Name() const { return *entity->getArgument(0); } -void IfcMaterial::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcMaterial::Name() const { return *entity->getArgument(0); } +void IfcMaterial::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } IfcMaterialDefinitionRepresentation::list::ptr IfcMaterial::HasRepresentation() const { return entity->getInverse(Type::IfcMaterialDefinitionRepresentation)->as(); } IfcMaterialClassificationRelationship::list::ptr IfcMaterial::ClassifiedAs() const { return entity->getInverse(Type::IfcMaterialClassificationRelationship)->as(); } bool IfcMaterial::is(Type::Enum v) const { return v == Type::IfcMaterial; } Type::Enum IfcMaterial::type() const { return Type::IfcMaterial; } Type::Enum IfcMaterial::Class() { return Type::IfcMaterial; } IfcMaterial::IfcMaterial(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterial)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterial::IfcMaterial(IfcLabel v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcMaterial::IfcMaterial(std::string v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialClassificationRelationship -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcMaterialClassificationRelationship::MaterialClassifications() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcMaterialClassificationRelationship::setMaterialClassifications(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcEntityList::ptr IfcMaterialClassificationRelationship::MaterialClassifications() const { return *entity->getArgument(0); } +void IfcMaterialClassificationRelationship::setMaterialClassifications(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } IfcMaterial* IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcMaterialClassificationRelationship::setClassifiedMaterial(IfcMaterial* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcMaterialClassificationRelationship::is(Type::Enum v) const { return v == Type::IfcMaterialClassificationRelationship; } @@ -8645,35 +10049,35 @@ bool IfcMaterialDefinitionRepresentation::is(Type::Enum v) const { return v == T Type::Enum IfcMaterialDefinitionRepresentation::type() const { return Type::IfcMaterialDefinitionRepresentation; } Type::Enum IfcMaterialDefinitionRepresentation::Class() { return Type::IfcMaterialDefinitionRepresentation; } IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(IfcAbstractEntity* e) : IfcProductRepresentation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialDefinitionRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations, IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); e->setArgument(3,(v4_RepresentedMaterial)); entity = e; EntityBuffer::Add(this); } +IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations, IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); e->setArgument(3,(v4_RepresentedMaterial)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialLayer bool IfcMaterialLayer::hasMaterial() const { return !entity->getArgument(0)->isNull(); } IfcMaterial* IfcMaterialLayer::Material() const { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcMaterialLayer::setMaterial(IfcMaterial* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcPositiveLengthMeasure IfcMaterialLayer::LayerThickness() const { return *entity->getArgument(1); } -void IfcMaterialLayer::setLayerThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcMaterialLayer::LayerThickness() const { return *entity->getArgument(1); } +void IfcMaterialLayer::setLayerThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcMaterialLayer::hasIsVentilated() const { return !entity->getArgument(2)->isNull(); } -IfcLogical IfcMaterialLayer::IsVentilated() const { return *entity->getArgument(2); } -void IfcMaterialLayer::setIsVentilated(IfcLogical v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +bool IfcMaterialLayer::IsVentilated() const { return *entity->getArgument(2); } +void IfcMaterialLayer::setIsVentilated(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcMaterialLayerSet::list::ptr IfcMaterialLayer::ToMaterialLayerSet() const { return entity->getInverse(Type::IfcMaterialLayerSet)->as(); } bool IfcMaterialLayer::is(Type::Enum v) const { return v == Type::IfcMaterialLayer; } Type::Enum IfcMaterialLayer::type() const { return Type::IfcMaterialLayer; } Type::Enum IfcMaterialLayer::Class() { return Type::IfcMaterialLayer; } IfcMaterialLayer::IfcMaterialLayer(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterialLayer)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialLayer::IfcMaterialLayer(IfcMaterial* v1_Material, IfcPositiveLengthMeasure v2_LayerThickness, boost::optional< IfcLogical > v3_IsVentilated) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); e->setArgument(1,(v2_LayerThickness)); if (v3_IsVentilated) { e->setArgument(2,(*v3_IsVentilated)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcMaterialLayer::IfcMaterialLayer(IfcMaterial* v1_Material, double v2_LayerThickness, boost::optional< bool > v3_IsVentilated) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); e->setArgument(1,(v2_LayerThickness)); if (v3_IsVentilated) { e->setArgument(2,(*v3_IsVentilated)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialLayerSet IfcTemplatedEntityList< IfcMaterialLayer >::ptr IfcMaterialLayerSet::MaterialLayers() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } void IfcMaterialLayerSet::setMaterialLayers(IfcTemplatedEntityList< IfcMaterialLayer >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } bool IfcMaterialLayerSet::hasLayerSetName() const { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcMaterialLayerSet::LayerSetName() const { return *entity->getArgument(1); } -void IfcMaterialLayerSet::setLayerSetName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcMaterialLayerSet::LayerSetName() const { return *entity->getArgument(1); } +void IfcMaterialLayerSet::setLayerSetName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcMaterialLayerSet::is(Type::Enum v) const { return v == Type::IfcMaterialLayerSet; } Type::Enum IfcMaterialLayerSet::type() const { return Type::IfcMaterialLayerSet; } Type::Enum IfcMaterialLayerSet::Class() { return Type::IfcMaterialLayerSet; } IfcMaterialLayerSet::IfcMaterialLayerSet(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterialLayerSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialLayerSet::IfcMaterialLayerSet(IfcTemplatedEntityList< IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< IfcLabel > v2_LayerSetName) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MaterialLayers)->generalize()); if (v2_LayerSetName) { e->setArgument(1,(*v2_LayerSetName)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcMaterialLayerSet::IfcMaterialLayerSet(IfcTemplatedEntityList< IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MaterialLayers)->generalize()); if (v2_LayerSetName) { e->setArgument(1,(*v2_LayerSetName)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialLayerSetUsage IfcMaterialLayerSet* IfcMaterialLayerSetUsage::ForLayerSet() const { return (IfcMaterialLayerSet*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -8682,13 +10086,13 @@ IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum IfcMaterialLayerSetUsage::Lay void IfcMaterialLayerSetUsage::setLayerSetDirection(IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v,IfcLayerSetDirectionEnum::ToString(v)); } IfcDirectionSenseEnum::IfcDirectionSenseEnum IfcMaterialLayerSetUsage::DirectionSense() const { return IfcDirectionSenseEnum::FromString(*entity->getArgument(2)); } void IfcMaterialLayerSetUsage::setDirectionSense(IfcDirectionSenseEnum::IfcDirectionSenseEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcDirectionSenseEnum::ToString(v)); } -IfcLengthMeasure IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { return *entity->getArgument(3); } -void IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { return *entity->getArgument(3); } +void IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcMaterialLayerSetUsage::is(Type::Enum v) const { return v == Type::IfcMaterialLayerSetUsage; } Type::Enum IfcMaterialLayerSetUsage::type() const { return Type::IfcMaterialLayerSetUsage; } Type::Enum IfcMaterialLayerSetUsage::Class() { return Type::IfcMaterialLayerSetUsage; } IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMaterialLayerSetUsage)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcMaterialLayerSet* v1_ForLayerSet, IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v2_LayerSetDirection, IfcDirectionSenseEnum::IfcDirectionSenseEnum v3_DirectionSense, IfcLengthMeasure v4_OffsetFromReferenceLine) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ForLayerSet)); e->setArgument(1,v2_LayerSetDirection,IfcLayerSetDirectionEnum::ToString(v2_LayerSetDirection)); e->setArgument(2,v3_DirectionSense,IfcDirectionSenseEnum::ToString(v3_DirectionSense)); e->setArgument(3,(v4_OffsetFromReferenceLine)); entity = e; EntityBuffer::Add(this); } +IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcMaterialLayerSet* v1_ForLayerSet, IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v2_LayerSetDirection, IfcDirectionSenseEnum::IfcDirectionSenseEnum v3_DirectionSense, double v4_OffsetFromReferenceLine) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ForLayerSet)); e->setArgument(1,v2_LayerSetDirection,IfcLayerSetDirectionEnum::ToString(v2_LayerSetDirection)); e->setArgument(2,v3_DirectionSense,IfcDirectionSenseEnum::ToString(v3_DirectionSense)); e->setArgument(3,(v4_OffsetFromReferenceLine)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialList IfcTemplatedEntityList< IfcMaterial >::ptr IfcMaterialList::Materials() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } @@ -8709,102 +10113,102 @@ IfcMaterialProperties::IfcMaterialProperties(IfcAbstractEntity* e) : IfcUtil::If IfcMaterialProperties::IfcMaterialProperties(IfcMaterial* v1_Material) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMeasureWithUnit -IfcValue IfcMeasureWithUnit::ValueComponent() const { return *entity->getArgument(0); } -void IfcMeasureWithUnit::setValueComponent(IfcValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcUnit IfcMeasureWithUnit::UnitComponent() const { return *entity->getArgument(1); } -void IfcMeasureWithUnit::setUnitComponent(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcValue* IfcMeasureWithUnit::ValueComponent() const { return (IfcValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcMeasureWithUnit::setValueComponent(IfcValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcUnit* IfcMeasureWithUnit::UnitComponent() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcMeasureWithUnit::setUnitComponent(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcMeasureWithUnit::is(Type::Enum v) const { return v == Type::IfcMeasureWithUnit; } Type::Enum IfcMeasureWithUnit::type() const { return Type::IfcMeasureWithUnit; } Type::Enum IfcMeasureWithUnit::Class() { return Type::IfcMeasureWithUnit; } IfcMeasureWithUnit::IfcMeasureWithUnit(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMeasureWithUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMeasureWithUnit::IfcMeasureWithUnit(IfcValue v1_ValueComponent, IfcUnit v2_UnitComponent) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ValueComponent)); e->setArgument(1,(v2_UnitComponent)); entity = e; EntityBuffer::Add(this); } +IfcMeasureWithUnit::IfcMeasureWithUnit(IfcValue* v1_ValueComponent, IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ValueComponent)); e->setArgument(1,(v2_UnitComponent)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMechanicalConcreteMaterialProperties bool IfcMechanicalConcreteMaterialProperties::hasCompressiveStrength() const { return !entity->getArgument(6)->isNull(); } -IfcPressureMeasure IfcMechanicalConcreteMaterialProperties::CompressiveStrength() const { return *entity->getArgument(6); } -void IfcMechanicalConcreteMaterialProperties::setCompressiveStrength(IfcPressureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcMechanicalConcreteMaterialProperties::CompressiveStrength() const { return *entity->getArgument(6); } +void IfcMechanicalConcreteMaterialProperties::setCompressiveStrength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcMechanicalConcreteMaterialProperties::hasMaxAggregateSize() const { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcMechanicalConcreteMaterialProperties::MaxAggregateSize() const { return *entity->getArgument(7); } -void IfcMechanicalConcreteMaterialProperties::setMaxAggregateSize(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcMechanicalConcreteMaterialProperties::MaxAggregateSize() const { return *entity->getArgument(7); } +void IfcMechanicalConcreteMaterialProperties::setMaxAggregateSize(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcMechanicalConcreteMaterialProperties::hasAdmixturesDescription() const { return !entity->getArgument(8)->isNull(); } -IfcText IfcMechanicalConcreteMaterialProperties::AdmixturesDescription() const { return *entity->getArgument(8); } -void IfcMechanicalConcreteMaterialProperties::setAdmixturesDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcMechanicalConcreteMaterialProperties::AdmixturesDescription() const { return *entity->getArgument(8); } +void IfcMechanicalConcreteMaterialProperties::setAdmixturesDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcMechanicalConcreteMaterialProperties::hasWorkability() const { return !entity->getArgument(9)->isNull(); } -IfcText IfcMechanicalConcreteMaterialProperties::Workability() const { return *entity->getArgument(9); } -void IfcMechanicalConcreteMaterialProperties::setWorkability(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +std::string IfcMechanicalConcreteMaterialProperties::Workability() const { return *entity->getArgument(9); } +void IfcMechanicalConcreteMaterialProperties::setWorkability(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcMechanicalConcreteMaterialProperties::hasProtectivePoreRatio() const { return !entity->getArgument(10)->isNull(); } -IfcNormalisedRatioMeasure IfcMechanicalConcreteMaterialProperties::ProtectivePoreRatio() const { return *entity->getArgument(10); } -void IfcMechanicalConcreteMaterialProperties::setProtectivePoreRatio(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcMechanicalConcreteMaterialProperties::ProtectivePoreRatio() const { return *entity->getArgument(10); } +void IfcMechanicalConcreteMaterialProperties::setProtectivePoreRatio(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcMechanicalConcreteMaterialProperties::hasWaterImpermeability() const { return !entity->getArgument(11)->isNull(); } -IfcText IfcMechanicalConcreteMaterialProperties::WaterImpermeability() const { return *entity->getArgument(11); } -void IfcMechanicalConcreteMaterialProperties::setWaterImpermeability(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +std::string IfcMechanicalConcreteMaterialProperties::WaterImpermeability() const { return *entity->getArgument(11); } +void IfcMechanicalConcreteMaterialProperties::setWaterImpermeability(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcMechanicalConcreteMaterialProperties::is(Type::Enum v) const { return v == Type::IfcMechanicalConcreteMaterialProperties || IfcMechanicalMaterialProperties::is(v); } Type::Enum IfcMechanicalConcreteMaterialProperties::type() const { return Type::IfcMechanicalConcreteMaterialProperties; } Type::Enum IfcMechanicalConcreteMaterialProperties::Class() { return Type::IfcMechanicalConcreteMaterialProperties; } IfcMechanicalConcreteMaterialProperties::IfcMechanicalConcreteMaterialProperties(IfcAbstractEntity* e) : IfcMechanicalMaterialProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMechanicalConcreteMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMechanicalConcreteMaterialProperties::IfcMechanicalConcreteMaterialProperties(IfcMaterial* v1_Material, boost::optional< IfcDynamicViscosityMeasure > v2_DynamicViscosity, boost::optional< IfcModulusOfElasticityMeasure > v3_YoungModulus, boost::optional< IfcModulusOfElasticityMeasure > v4_ShearModulus, boost::optional< IfcPositiveRatioMeasure > v5_PoissonRatio, boost::optional< IfcThermalExpansionCoefficientMeasure > v6_ThermalExpansionCoefficient, boost::optional< IfcPressureMeasure > v7_CompressiveStrength, boost::optional< IfcPositiveLengthMeasure > v8_MaxAggregateSize, boost::optional< IfcText > v9_AdmixturesDescription, boost::optional< IfcText > v10_Workability, boost::optional< IfcNormalisedRatioMeasure > v11_ProtectivePoreRatio, boost::optional< IfcText > v12_WaterImpermeability) : IfcMechanicalMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_DynamicViscosity) { e->setArgument(1,(*v2_DynamicViscosity)); } else { e->setArgument(1); } if (v3_YoungModulus) { e->setArgument(2,(*v3_YoungModulus)); } else { e->setArgument(2); } if (v4_ShearModulus) { e->setArgument(3,(*v4_ShearModulus)); } else { e->setArgument(3); } if (v5_PoissonRatio) { e->setArgument(4,(*v5_PoissonRatio)); } else { e->setArgument(4); } if (v6_ThermalExpansionCoefficient) { e->setArgument(5,(*v6_ThermalExpansionCoefficient)); } else { e->setArgument(5); } if (v7_CompressiveStrength) { e->setArgument(6,(*v7_CompressiveStrength)); } else { e->setArgument(6); } if (v8_MaxAggregateSize) { e->setArgument(7,(*v8_MaxAggregateSize)); } else { e->setArgument(7); } if (v9_AdmixturesDescription) { e->setArgument(8,(*v9_AdmixturesDescription)); } else { e->setArgument(8); } if (v10_Workability) { e->setArgument(9,(*v10_Workability)); } else { e->setArgument(9); } if (v11_ProtectivePoreRatio) { e->setArgument(10,(*v11_ProtectivePoreRatio)); } else { e->setArgument(10); } if (v12_WaterImpermeability) { e->setArgument(11,(*v12_WaterImpermeability)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } +IfcMechanicalConcreteMaterialProperties::IfcMechanicalConcreteMaterialProperties(IfcMaterial* v1_Material, boost::optional< double > v2_DynamicViscosity, boost::optional< double > v3_YoungModulus, boost::optional< double > v4_ShearModulus, boost::optional< double > v5_PoissonRatio, boost::optional< double > v6_ThermalExpansionCoefficient, boost::optional< double > v7_CompressiveStrength, boost::optional< double > v8_MaxAggregateSize, boost::optional< std::string > v9_AdmixturesDescription, boost::optional< std::string > v10_Workability, boost::optional< double > v11_ProtectivePoreRatio, boost::optional< std::string > v12_WaterImpermeability) : IfcMechanicalMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_DynamicViscosity) { e->setArgument(1,(*v2_DynamicViscosity)); } else { e->setArgument(1); } if (v3_YoungModulus) { e->setArgument(2,(*v3_YoungModulus)); } else { e->setArgument(2); } if (v4_ShearModulus) { e->setArgument(3,(*v4_ShearModulus)); } else { e->setArgument(3); } if (v5_PoissonRatio) { e->setArgument(4,(*v5_PoissonRatio)); } else { e->setArgument(4); } if (v6_ThermalExpansionCoefficient) { e->setArgument(5,(*v6_ThermalExpansionCoefficient)); } else { e->setArgument(5); } if (v7_CompressiveStrength) { e->setArgument(6,(*v7_CompressiveStrength)); } else { e->setArgument(6); } if (v8_MaxAggregateSize) { e->setArgument(7,(*v8_MaxAggregateSize)); } else { e->setArgument(7); } if (v9_AdmixturesDescription) { e->setArgument(8,(*v9_AdmixturesDescription)); } else { e->setArgument(8); } if (v10_Workability) { e->setArgument(9,(*v10_Workability)); } else { e->setArgument(9); } if (v11_ProtectivePoreRatio) { e->setArgument(10,(*v11_ProtectivePoreRatio)); } else { e->setArgument(10); } if (v12_WaterImpermeability) { e->setArgument(11,(*v12_WaterImpermeability)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMechanicalFastener bool IfcMechanicalFastener::hasNominalDiameter() const { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcMechanicalFastener::NominalDiameter() const { return *entity->getArgument(8); } -void IfcMechanicalFastener::setNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcMechanicalFastener::NominalDiameter() const { return *entity->getArgument(8); } +void IfcMechanicalFastener::setNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcMechanicalFastener::hasNominalLength() const { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcMechanicalFastener::NominalLength() const { return *entity->getArgument(9); } -void IfcMechanicalFastener::setNominalLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcMechanicalFastener::NominalLength() const { return *entity->getArgument(9); } +void IfcMechanicalFastener::setNominalLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcMechanicalFastener::is(Type::Enum v) const { return v == Type::IfcMechanicalFastener || IfcFastener::is(v); } Type::Enum IfcMechanicalFastener::type() const { return Type::IfcMechanicalFastener; } Type::Enum IfcMechanicalFastener::Class() { return Type::IfcMechanicalFastener; } IfcMechanicalFastener::IfcMechanicalFastener(IfcAbstractEntity* e) : IfcFastener((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMechanicalFastener)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMechanicalFastener::IfcMechanicalFastener(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_NominalDiameter, boost::optional< IfcPositiveLengthMeasure > v10_NominalLength) : IfcFastener((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_NominalDiameter) { e->setArgument(8,(*v9_NominalDiameter)); } else { e->setArgument(8); } if (v10_NominalLength) { e->setArgument(9,(*v10_NominalLength)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength) : IfcFastener((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_NominalDiameter) { e->setArgument(8,(*v9_NominalDiameter)); } else { e->setArgument(8); } if (v10_NominalLength) { e->setArgument(9,(*v10_NominalLength)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMechanicalFastenerType bool IfcMechanicalFastenerType::is(Type::Enum v) const { return v == Type::IfcMechanicalFastenerType || IfcFastenerType::is(v); } Type::Enum IfcMechanicalFastenerType::type() const { return Type::IfcMechanicalFastenerType; } Type::Enum IfcMechanicalFastenerType::Class() { return Type::IfcMechanicalFastenerType; } IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcAbstractEntity* e) : IfcFastenerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMechanicalFastenerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcFastenerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcFastenerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMechanicalMaterialProperties bool IfcMechanicalMaterialProperties::hasDynamicViscosity() const { return !entity->getArgument(1)->isNull(); } -IfcDynamicViscosityMeasure IfcMechanicalMaterialProperties::DynamicViscosity() const { return *entity->getArgument(1); } -void IfcMechanicalMaterialProperties::setDynamicViscosity(IfcDynamicViscosityMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcMechanicalMaterialProperties::DynamicViscosity() const { return *entity->getArgument(1); } +void IfcMechanicalMaterialProperties::setDynamicViscosity(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcMechanicalMaterialProperties::hasYoungModulus() const { return !entity->getArgument(2)->isNull(); } -IfcModulusOfElasticityMeasure IfcMechanicalMaterialProperties::YoungModulus() const { return *entity->getArgument(2); } -void IfcMechanicalMaterialProperties::setYoungModulus(IfcModulusOfElasticityMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcMechanicalMaterialProperties::YoungModulus() const { return *entity->getArgument(2); } +void IfcMechanicalMaterialProperties::setYoungModulus(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcMechanicalMaterialProperties::hasShearModulus() const { return !entity->getArgument(3)->isNull(); } -IfcModulusOfElasticityMeasure IfcMechanicalMaterialProperties::ShearModulus() const { return *entity->getArgument(3); } -void IfcMechanicalMaterialProperties::setShearModulus(IfcModulusOfElasticityMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcMechanicalMaterialProperties::ShearModulus() const { return *entity->getArgument(3); } +void IfcMechanicalMaterialProperties::setShearModulus(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcMechanicalMaterialProperties::hasPoissonRatio() const { return !entity->getArgument(4)->isNull(); } -IfcPositiveRatioMeasure IfcMechanicalMaterialProperties::PoissonRatio() const { return *entity->getArgument(4); } -void IfcMechanicalMaterialProperties::setPoissonRatio(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcMechanicalMaterialProperties::PoissonRatio() const { return *entity->getArgument(4); } +void IfcMechanicalMaterialProperties::setPoissonRatio(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcMechanicalMaterialProperties::hasThermalExpansionCoefficient() const { return !entity->getArgument(5)->isNull(); } -IfcThermalExpansionCoefficientMeasure IfcMechanicalMaterialProperties::ThermalExpansionCoefficient() const { return *entity->getArgument(5); } -void IfcMechanicalMaterialProperties::setThermalExpansionCoefficient(IfcThermalExpansionCoefficientMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcMechanicalMaterialProperties::ThermalExpansionCoefficient() const { return *entity->getArgument(5); } +void IfcMechanicalMaterialProperties::setThermalExpansionCoefficient(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcMechanicalMaterialProperties::is(Type::Enum v) const { return v == Type::IfcMechanicalMaterialProperties || IfcMaterialProperties::is(v); } Type::Enum IfcMechanicalMaterialProperties::type() const { return Type::IfcMechanicalMaterialProperties; } Type::Enum IfcMechanicalMaterialProperties::Class() { return Type::IfcMechanicalMaterialProperties; } IfcMechanicalMaterialProperties::IfcMechanicalMaterialProperties(IfcAbstractEntity* e) : IfcMaterialProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMechanicalMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMechanicalMaterialProperties::IfcMechanicalMaterialProperties(IfcMaterial* v1_Material, boost::optional< IfcDynamicViscosityMeasure > v2_DynamicViscosity, boost::optional< IfcModulusOfElasticityMeasure > v3_YoungModulus, boost::optional< IfcModulusOfElasticityMeasure > v4_ShearModulus, boost::optional< IfcPositiveRatioMeasure > v5_PoissonRatio, boost::optional< IfcThermalExpansionCoefficientMeasure > v6_ThermalExpansionCoefficient) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_DynamicViscosity) { e->setArgument(1,(*v2_DynamicViscosity)); } else { e->setArgument(1); } if (v3_YoungModulus) { e->setArgument(2,(*v3_YoungModulus)); } else { e->setArgument(2); } if (v4_ShearModulus) { e->setArgument(3,(*v4_ShearModulus)); } else { e->setArgument(3); } if (v5_PoissonRatio) { e->setArgument(4,(*v5_PoissonRatio)); } else { e->setArgument(4); } if (v6_ThermalExpansionCoefficient) { e->setArgument(5,(*v6_ThermalExpansionCoefficient)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcMechanicalMaterialProperties::IfcMechanicalMaterialProperties(IfcMaterial* v1_Material, boost::optional< double > v2_DynamicViscosity, boost::optional< double > v3_YoungModulus, boost::optional< double > v4_ShearModulus, boost::optional< double > v5_PoissonRatio, boost::optional< double > v6_ThermalExpansionCoefficient) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_DynamicViscosity) { e->setArgument(1,(*v2_DynamicViscosity)); } else { e->setArgument(1); } if (v3_YoungModulus) { e->setArgument(2,(*v3_YoungModulus)); } else { e->setArgument(2); } if (v4_ShearModulus) { e->setArgument(3,(*v4_ShearModulus)); } else { e->setArgument(3); } if (v5_PoissonRatio) { e->setArgument(4,(*v5_PoissonRatio)); } else { e->setArgument(4); } if (v6_ThermalExpansionCoefficient) { e->setArgument(5,(*v6_ThermalExpansionCoefficient)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMechanicalSteelMaterialProperties bool IfcMechanicalSteelMaterialProperties::hasYieldStress() const { return !entity->getArgument(6)->isNull(); } -IfcPressureMeasure IfcMechanicalSteelMaterialProperties::YieldStress() const { return *entity->getArgument(6); } -void IfcMechanicalSteelMaterialProperties::setYieldStress(IfcPressureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcMechanicalSteelMaterialProperties::YieldStress() const { return *entity->getArgument(6); } +void IfcMechanicalSteelMaterialProperties::setYieldStress(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcMechanicalSteelMaterialProperties::hasUltimateStress() const { return !entity->getArgument(7)->isNull(); } -IfcPressureMeasure IfcMechanicalSteelMaterialProperties::UltimateStress() const { return *entity->getArgument(7); } -void IfcMechanicalSteelMaterialProperties::setUltimateStress(IfcPressureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcMechanicalSteelMaterialProperties::UltimateStress() const { return *entity->getArgument(7); } +void IfcMechanicalSteelMaterialProperties::setUltimateStress(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcMechanicalSteelMaterialProperties::hasUltimateStrain() const { return !entity->getArgument(8)->isNull(); } -IfcPositiveRatioMeasure IfcMechanicalSteelMaterialProperties::UltimateStrain() const { return *entity->getArgument(8); } -void IfcMechanicalSteelMaterialProperties::setUltimateStrain(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcMechanicalSteelMaterialProperties::UltimateStrain() const { return *entity->getArgument(8); } +void IfcMechanicalSteelMaterialProperties::setUltimateStrain(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcMechanicalSteelMaterialProperties::hasHardeningModule() const { return !entity->getArgument(9)->isNull(); } -IfcModulusOfElasticityMeasure IfcMechanicalSteelMaterialProperties::HardeningModule() const { return *entity->getArgument(9); } -void IfcMechanicalSteelMaterialProperties::setHardeningModule(IfcModulusOfElasticityMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcMechanicalSteelMaterialProperties::HardeningModule() const { return *entity->getArgument(9); } +void IfcMechanicalSteelMaterialProperties::setHardeningModule(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcMechanicalSteelMaterialProperties::hasProportionalStress() const { return !entity->getArgument(10)->isNull(); } -IfcPressureMeasure IfcMechanicalSteelMaterialProperties::ProportionalStress() const { return *entity->getArgument(10); } -void IfcMechanicalSteelMaterialProperties::setProportionalStress(IfcPressureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcMechanicalSteelMaterialProperties::ProportionalStress() const { return *entity->getArgument(10); } +void IfcMechanicalSteelMaterialProperties::setProportionalStress(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcMechanicalSteelMaterialProperties::hasPlasticStrain() const { return !entity->getArgument(11)->isNull(); } -IfcPositiveRatioMeasure IfcMechanicalSteelMaterialProperties::PlasticStrain() const { return *entity->getArgument(11); } -void IfcMechanicalSteelMaterialProperties::setPlasticStrain(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcMechanicalSteelMaterialProperties::PlasticStrain() const { return *entity->getArgument(11); } +void IfcMechanicalSteelMaterialProperties::setPlasticStrain(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcMechanicalSteelMaterialProperties::hasRelaxations() const { return !entity->getArgument(12)->isNull(); } IfcTemplatedEntityList< IfcRelaxation >::ptr IfcMechanicalSteelMaterialProperties::Relaxations() const { IfcEntityList::ptr es = *entity->getArgument(12); return es->as(); } void IfcMechanicalSteelMaterialProperties::setRelaxations(IfcTemplatedEntityList< IfcRelaxation >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v->generalize()); } @@ -8812,14 +10216,14 @@ bool IfcMechanicalSteelMaterialProperties::is(Type::Enum v) const { return v == Type::Enum IfcMechanicalSteelMaterialProperties::type() const { return Type::IfcMechanicalSteelMaterialProperties; } Type::Enum IfcMechanicalSteelMaterialProperties::Class() { return Type::IfcMechanicalSteelMaterialProperties; } IfcMechanicalSteelMaterialProperties::IfcMechanicalSteelMaterialProperties(IfcAbstractEntity* e) : IfcMechanicalMaterialProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMechanicalSteelMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMechanicalSteelMaterialProperties::IfcMechanicalSteelMaterialProperties(IfcMaterial* v1_Material, boost::optional< IfcDynamicViscosityMeasure > v2_DynamicViscosity, boost::optional< IfcModulusOfElasticityMeasure > v3_YoungModulus, boost::optional< IfcModulusOfElasticityMeasure > v4_ShearModulus, boost::optional< IfcPositiveRatioMeasure > v5_PoissonRatio, boost::optional< IfcThermalExpansionCoefficientMeasure > v6_ThermalExpansionCoefficient, boost::optional< IfcPressureMeasure > v7_YieldStress, boost::optional< IfcPressureMeasure > v8_UltimateStress, boost::optional< IfcPositiveRatioMeasure > v9_UltimateStrain, boost::optional< IfcModulusOfElasticityMeasure > v10_HardeningModule, boost::optional< IfcPressureMeasure > v11_ProportionalStress, boost::optional< IfcPositiveRatioMeasure > v12_PlasticStrain, boost::optional< IfcTemplatedEntityList< IfcRelaxation >::ptr > v13_Relaxations) : IfcMechanicalMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_DynamicViscosity) { e->setArgument(1,(*v2_DynamicViscosity)); } else { e->setArgument(1); } if (v3_YoungModulus) { e->setArgument(2,(*v3_YoungModulus)); } else { e->setArgument(2); } if (v4_ShearModulus) { e->setArgument(3,(*v4_ShearModulus)); } else { e->setArgument(3); } if (v5_PoissonRatio) { e->setArgument(4,(*v5_PoissonRatio)); } else { e->setArgument(4); } if (v6_ThermalExpansionCoefficient) { e->setArgument(5,(*v6_ThermalExpansionCoefficient)); } else { e->setArgument(5); } if (v7_YieldStress) { e->setArgument(6,(*v7_YieldStress)); } else { e->setArgument(6); } if (v8_UltimateStress) { e->setArgument(7,(*v8_UltimateStress)); } else { e->setArgument(7); } if (v9_UltimateStrain) { e->setArgument(8,(*v9_UltimateStrain)); } else { e->setArgument(8); } if (v10_HardeningModule) { e->setArgument(9,(*v10_HardeningModule)); } else { e->setArgument(9); } if (v11_ProportionalStress) { e->setArgument(10,(*v11_ProportionalStress)); } else { e->setArgument(10); } if (v12_PlasticStrain) { e->setArgument(11,(*v12_PlasticStrain)); } else { e->setArgument(11); } if (v13_Relaxations) { e->setArgument(12,(*v13_Relaxations)->generalize()); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcMechanicalSteelMaterialProperties::IfcMechanicalSteelMaterialProperties(IfcMaterial* v1_Material, boost::optional< double > v2_DynamicViscosity, boost::optional< double > v3_YoungModulus, boost::optional< double > v4_ShearModulus, boost::optional< double > v5_PoissonRatio, boost::optional< double > v6_ThermalExpansionCoefficient, boost::optional< double > v7_YieldStress, boost::optional< double > v8_UltimateStress, boost::optional< double > v9_UltimateStrain, boost::optional< double > v10_HardeningModule, boost::optional< double > v11_ProportionalStress, boost::optional< double > v12_PlasticStrain, boost::optional< IfcTemplatedEntityList< IfcRelaxation >::ptr > v13_Relaxations) : IfcMechanicalMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_DynamicViscosity) { e->setArgument(1,(*v2_DynamicViscosity)); } else { e->setArgument(1); } if (v3_YoungModulus) { e->setArgument(2,(*v3_YoungModulus)); } else { e->setArgument(2); } if (v4_ShearModulus) { e->setArgument(3,(*v4_ShearModulus)); } else { e->setArgument(3); } if (v5_PoissonRatio) { e->setArgument(4,(*v5_PoissonRatio)); } else { e->setArgument(4); } if (v6_ThermalExpansionCoefficient) { e->setArgument(5,(*v6_ThermalExpansionCoefficient)); } else { e->setArgument(5); } if (v7_YieldStress) { e->setArgument(6,(*v7_YieldStress)); } else { e->setArgument(6); } if (v8_UltimateStress) { e->setArgument(7,(*v8_UltimateStress)); } else { e->setArgument(7); } if (v9_UltimateStrain) { e->setArgument(8,(*v9_UltimateStrain)); } else { e->setArgument(8); } if (v10_HardeningModule) { e->setArgument(9,(*v10_HardeningModule)); } else { e->setArgument(9); } if (v11_ProportionalStress) { e->setArgument(10,(*v11_ProportionalStress)); } else { e->setArgument(10); } if (v12_PlasticStrain) { e->setArgument(11,(*v12_PlasticStrain)); } else { e->setArgument(11); } if (v13_Relaxations) { e->setArgument(12,(*v13_Relaxations)->generalize()); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMember bool IfcMember::is(Type::Enum v) const { return v == Type::IfcMember || IfcBuildingElement::is(v); } Type::Enum IfcMember::type() const { return Type::IfcMember; } Type::Enum IfcMember::Class() { return Type::IfcMember; } IfcMember::IfcMember(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMember::IfcMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcMember::IfcMember(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMemberType IfcMemberTypeEnum::IfcMemberTypeEnum IfcMemberType::PredefinedType() const { return IfcMemberTypeEnum::FromString(*entity->getArgument(9)); } @@ -8828,21 +10232,21 @@ bool IfcMemberType::is(Type::Enum v) const { return v == Type::IfcMemberType || Type::Enum IfcMemberType::type() const { return Type::IfcMemberType; } Type::Enum IfcMemberType::Class() { return Type::IfcMemberType; } IfcMemberType::IfcMemberType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMemberType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMemberType::IfcMemberType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMemberTypeEnum::IfcMemberTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMemberTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcMemberType::IfcMemberType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMemberTypeEnum::IfcMemberTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMemberTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMetric IfcBenchmarkEnum::IfcBenchmarkEnum IfcMetric::Benchmark() const { return IfcBenchmarkEnum::FromString(*entity->getArgument(7)); } void IfcMetric::setBenchmark(IfcBenchmarkEnum::IfcBenchmarkEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcBenchmarkEnum::ToString(v)); } bool IfcMetric::hasValueSource() const { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcMetric::ValueSource() const { return *entity->getArgument(8); } -void IfcMetric::setValueSource(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -IfcMetricValueSelect IfcMetric::DataValue() const { return *entity->getArgument(9); } -void IfcMetric::setDataValue(IfcMetricValueSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +std::string IfcMetric::ValueSource() const { return *entity->getArgument(8); } +void IfcMetric::setValueSource(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +IfcMetricValueSelect* IfcMetric::DataValue() const { return (IfcMetricValueSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } +void IfcMetric::setDataValue(IfcMetricValueSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcMetric::is(Type::Enum v) const { return v == Type::IfcMetric || IfcConstraint::is(v); } Type::Enum IfcMetric::type() const { return Type::IfcMetric; } Type::Enum IfcMetric::Class() { return Type::IfcMetric; } IfcMetric::IfcMetric(IfcAbstractEntity* e) : IfcConstraint((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMetric)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMetric::IfcMetric(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTimeSelect > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade, IfcBenchmarkEnum::IfcBenchmarkEnum v8_Benchmark, boost::optional< IfcLabel > v9_ValueSource, IfcMetricValueSelect v10_DataValue) : IfcConstraint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } if (v5_CreatingActor) { e->setArgument(4,(*v5_CreatingActor)); } else { e->setArgument(4); } if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } e->setArgument(7,v8_Benchmark,IfcBenchmarkEnum::ToString(v8_Benchmark)); if (v9_ValueSource) { e->setArgument(8,(*v9_ValueSource)); } else { e->setArgument(8); } e->setArgument(9,(v10_DataValue)); entity = e; EntityBuffer::Add(this); } +IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, IfcActorSelect* v5_CreatingActor, IfcDateTimeSelect* v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, IfcBenchmarkEnum::IfcBenchmarkEnum v8_Benchmark, boost::optional< std::string > v9_ValueSource, IfcMetricValueSelect* v10_DataValue) : IfcConstraint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } e->setArgument(4,(v5_CreatingActor)); e->setArgument(5,(v6_CreationTime)); if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } e->setArgument(7,v8_Benchmark,IfcBenchmarkEnum::ToString(v8_Benchmark)); if (v9_ValueSource) { e->setArgument(8,(*v9_ValueSource)); } else { e->setArgument(8); } e->setArgument(9,(v10_DataValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMonetaryUnit IfcCurrencyEnum::IfcCurrencyEnum IfcMonetaryUnit::Currency() const { return IfcCurrencyEnum::FromString(*entity->getArgument(0)); } @@ -8860,7 +10264,7 @@ bool IfcMotorConnectionType::is(Type::Enum v) const { return v == Type::IfcMotor Type::Enum IfcMotorConnectionType::type() const { return Type::IfcMotorConnectionType; } Type::Enum IfcMotorConnectionType::Class() { return Type::IfcMotorConnectionType; } IfcMotorConnectionType::IfcMotorConnectionType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMotorConnectionType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMotorConnectionType::IfcMotorConnectionType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMotorConnectionTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMotorConnectionTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMove IfcSpatialStructureElement* IfcMove::MoveFrom() const { return (IfcSpatialStructureElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } @@ -8868,13 +10272,13 @@ void IfcMove::setMoveFrom(IfcSpatialStructureElement* v) { if ( ! entity->isWrit IfcSpatialStructureElement* IfcMove::MoveTo() const { return (IfcSpatialStructureElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(11))); } void IfcMove::setMoveTo(IfcSpatialStructureElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcMove::hasPunchList() const { return !entity->getArgument(12)->isNull(); } -std::vector< IfcText > /*[1:?]*/ IfcMove::PunchList() const { return *entity->getArgument(12); } -void IfcMove::setPunchList(std::vector< IfcText > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +std::vector< std::string > /*[1:?]*/ IfcMove::PunchList() const { return *entity->getArgument(12); } +void IfcMove::setPunchList(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } 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; } IfcMove::IfcMove(IfcAbstractEntity* e) : IfcTask((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMove)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMove::IfcMove(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_TaskId, boost::optional< IfcLabel > v7_Status, boost::optional< IfcLabel > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority, IfcSpatialStructureElement* v11_MoveFrom, IfcSpatialStructureElement* v12_MoveTo, boost::optional< std::vector< IfcText > /*[1:?]*/ > v13_PunchList) : IfcTask((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TaskId)); if (v7_Status) { e->setArgument(6,(*v7_Status)); } else { e->setArgument(6); } if (v8_WorkMethod) { e->setArgument(7,(*v8_WorkMethod)); } else { e->setArgument(7); } e->setArgument(8,(v9_IsMilestone)); if (v10_Priority) { e->setArgument(9,(*v10_Priority)); } else { e->setArgument(9); } e->setArgument(10,(v11_MoveFrom)); e->setArgument(11,(v12_MoveTo)); if (v13_PunchList) { e->setArgument(12,(*v13_PunchList)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcMove::IfcMove(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_TaskId, boost::optional< std::string > v7_Status, boost::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority, IfcSpatialStructureElement* v11_MoveFrom, IfcSpatialStructureElement* v12_MoveTo, boost::optional< std::vector< std::string > /*[1:?]*/ > v13_PunchList) : IfcTask((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TaskId)); if (v7_Status) { e->setArgument(6,(*v7_Status)); } else { e->setArgument(6); } if (v8_WorkMethod) { e->setArgument(7,(*v8_WorkMethod)); } else { e->setArgument(7); } e->setArgument(8,(v9_IsMilestone)); if (v10_Priority) { e->setArgument(9,(*v10_Priority)); } else { e->setArgument(9); } e->setArgument(10,(v11_MoveFrom)); e->setArgument(11,(v12_MoveTo)); if (v13_PunchList) { e->setArgument(12,(*v13_PunchList)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcNamedUnit IfcDimensionalExponents* IfcNamedUnit::Dimensions() const { return (IfcDimensionalExponents*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -8889,14 +10293,14 @@ IfcNamedUnit::IfcNamedUnit(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum:: // Function implementations for IfcObject bool IfcObject::hasObjectType() const { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcObject::ObjectType() const { return *entity->getArgument(4); } -void IfcObject::setObjectType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcObject::ObjectType() const { return *entity->getArgument(4); } +void IfcObject::setObjectType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } IfcRelDefines::list::ptr IfcObject::IsDefinedBy() const { return entity->getInverse(Type::IfcRelDefines)->as(); } bool IfcObject::is(Type::Enum v) const { return v == Type::IfcObject || IfcObjectDefinition::is(v); } Type::Enum IfcObject::type() const { return Type::IfcObject; } Type::Enum IfcObject::Class() { return Type::IfcObject; } IfcObject::IfcObject(IfcAbstractEntity* e) : IfcObjectDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcObject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcObject::IfcObject(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcObjectDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcObject::IfcObject(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcObjectDefinition IfcRelAssigns::list::ptr IfcObjectDefinition::HasAssignments() const { return entity->getInverse(Type::IfcRelAssigns)->as(); } @@ -8907,7 +10311,7 @@ bool IfcObjectDefinition::is(Type::Enum v) const { return v == Type::IfcObjectDe Type::Enum IfcObjectDefinition::type() const { return Type::IfcObjectDefinition; } Type::Enum IfcObjectDefinition::Class() { return Type::IfcObjectDefinition; } IfcObjectDefinition::IfcObjectDefinition(IfcAbstractEntity* e) : IfcRoot((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcObjectDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcObjectDefinition::IfcObjectDefinition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRoot((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcObjectPlacement IfcProduct::list::ptr IfcObjectPlacement::PlacesObject() const { return entity->getInverse(Type::IfcProduct)->as(); } @@ -8928,13 +10332,13 @@ void IfcObjective::setResultValues(IfcMetric* v) { if ( ! entity->isWritable() ) IfcObjectiveEnum::IfcObjectiveEnum IfcObjective::ObjectiveQualifier() const { return IfcObjectiveEnum::FromString(*entity->getArgument(9)); } void IfcObjective::setObjectiveQualifier(IfcObjectiveEnum::IfcObjectiveEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcObjectiveEnum::ToString(v)); } bool IfcObjective::hasUserDefinedQualifier() const { return !entity->getArgument(10)->isNull(); } -IfcLabel IfcObjective::UserDefinedQualifier() const { return *entity->getArgument(10); } -void IfcObjective::setUserDefinedQualifier(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +std::string IfcObjective::UserDefinedQualifier() const { return *entity->getArgument(10); } +void IfcObjective::setUserDefinedQualifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcObjective::is(Type::Enum v) const { return v == Type::IfcObjective || IfcConstraint::is(v); } Type::Enum IfcObjective::type() const { return Type::IfcObjective; } Type::Enum IfcObjective::Class() { return Type::IfcObjective; } IfcObjective::IfcObjective(IfcAbstractEntity* e) : IfcConstraint((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcObjective)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcObjective::IfcObjective(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTimeSelect > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade, IfcMetric* v8_BenchmarkValues, IfcMetric* v9_ResultValues, IfcObjectiveEnum::IfcObjectiveEnum v10_ObjectiveQualifier, boost::optional< IfcLabel > v11_UserDefinedQualifier) : IfcConstraint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } if (v5_CreatingActor) { e->setArgument(4,(*v5_CreatingActor)); } else { e->setArgument(4); } if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } e->setArgument(7,(v8_BenchmarkValues)); e->setArgument(8,(v9_ResultValues)); e->setArgument(9,v10_ObjectiveQualifier,IfcObjectiveEnum::ToString(v10_ObjectiveQualifier)); if (v11_UserDefinedQualifier) { e->setArgument(10,(*v11_UserDefinedQualifier)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, IfcActorSelect* v5_CreatingActor, IfcDateTimeSelect* v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, IfcMetric* v8_BenchmarkValues, IfcMetric* v9_ResultValues, IfcObjectiveEnum::IfcObjectiveEnum v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } e->setArgument(4,(v5_CreatingActor)); e->setArgument(5,(v6_CreationTime)); if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } e->setArgument(7,(v8_BenchmarkValues)); e->setArgument(8,(v9_ResultValues)); e->setArgument(9,v10_ObjectiveQualifier,IfcObjectiveEnum::ToString(v10_ObjectiveQualifier)); if (v11_UserDefinedQualifier) { e->setArgument(10,(*v11_UserDefinedQualifier)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOccupant IfcOccupantTypeEnum::IfcOccupantTypeEnum IfcOccupant::PredefinedType() const { return IfcOccupantTypeEnum::FromString(*entity->getArgument(6)); } @@ -8943,26 +10347,26 @@ bool IfcOccupant::is(Type::Enum v) const { return v == Type::IfcOccupant || IfcA Type::Enum IfcOccupant::type() const { return Type::IfcOccupant; } Type::Enum IfcOccupant::Class() { return Type::IfcOccupant; } IfcOccupant::IfcOccupant(IfcAbstractEntity* e) : IfcActor((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOccupant)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOccupant::IfcOccupant(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcActorSelect v6_TheActor, IfcOccupantTypeEnum::IfcOccupantTypeEnum v7_PredefinedType) : IfcActor((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TheActor)); e->setArgument(6,v7_PredefinedType,IfcOccupantTypeEnum::ToString(v7_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcOccupant::IfcOccupant(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcActorSelect* v6_TheActor, IfcOccupantTypeEnum::IfcOccupantTypeEnum v7_PredefinedType) : IfcActor((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TheActor)); e->setArgument(6,v7_PredefinedType,IfcOccupantTypeEnum::ToString(v7_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOffsetCurve2D IfcCurve* IfcOffsetCurve2D::BasisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcOffsetCurve2D::setBasisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLengthMeasure IfcOffsetCurve2D::Distance() const { return *entity->getArgument(1); } -void IfcOffsetCurve2D::setDistance(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcOffsetCurve2D::Distance() const { return *entity->getArgument(1); } +void IfcOffsetCurve2D::setDistance(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcOffsetCurve2D::SelfIntersect() const { return *entity->getArgument(2); } void IfcOffsetCurve2D::setSelfIntersect(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcOffsetCurve2D::is(Type::Enum v) const { return v == Type::IfcOffsetCurve2D || IfcCurve::is(v); } Type::Enum IfcOffsetCurve2D::type() const { return Type::IfcOffsetCurve2D; } Type::Enum IfcOffsetCurve2D::Class() { return Type::IfcOffsetCurve2D; } IfcOffsetCurve2D::IfcOffsetCurve2D(IfcAbstractEntity* e) : IfcCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOffsetCurve2D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOffsetCurve2D::IfcOffsetCurve2D(IfcCurve* v1_BasisCurve, IfcLengthMeasure v2_Distance, bool v3_SelfIntersect) : IfcCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisCurve)); e->setArgument(1,(v2_Distance)); e->setArgument(2,(v3_SelfIntersect)); entity = e; EntityBuffer::Add(this); } +IfcOffsetCurve2D::IfcOffsetCurve2D(IfcCurve* v1_BasisCurve, double v2_Distance, bool v3_SelfIntersect) : IfcCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisCurve)); e->setArgument(1,(v2_Distance)); e->setArgument(2,(v3_SelfIntersect)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOffsetCurve3D IfcCurve* IfcOffsetCurve3D::BasisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcOffsetCurve3D::setBasisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLengthMeasure IfcOffsetCurve3D::Distance() const { return *entity->getArgument(1); } -void IfcOffsetCurve3D::setDistance(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcOffsetCurve3D::Distance() const { return *entity->getArgument(1); } +void IfcOffsetCurve3D::setDistance(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcOffsetCurve3D::SelfIntersect() const { return *entity->getArgument(2); } void IfcOffsetCurve3D::setSelfIntersect(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcDirection* IfcOffsetCurve3D::RefDirection() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } @@ -8971,7 +10375,7 @@ bool IfcOffsetCurve3D::is(Type::Enum v) const { return v == Type::IfcOffsetCurve Type::Enum IfcOffsetCurve3D::type() const { return Type::IfcOffsetCurve3D; } Type::Enum IfcOffsetCurve3D::Class() { return Type::IfcOffsetCurve3D; } IfcOffsetCurve3D::IfcOffsetCurve3D(IfcAbstractEntity* e) : IfcCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOffsetCurve3D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOffsetCurve3D::IfcOffsetCurve3D(IfcCurve* v1_BasisCurve, IfcLengthMeasure v2_Distance, bool v3_SelfIntersect, IfcDirection* v4_RefDirection) : IfcCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisCurve)); e->setArgument(1,(v2_Distance)); e->setArgument(2,(v3_SelfIntersect)); e->setArgument(3,(v4_RefDirection)); entity = e; EntityBuffer::Add(this); } +IfcOffsetCurve3D::IfcOffsetCurve3D(IfcCurve* v1_BasisCurve, double v2_Distance, bool v3_SelfIntersect, IfcDirection* v4_RefDirection) : IfcCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisCurve)); e->setArgument(1,(v2_Distance)); e->setArgument(2,(v3_SelfIntersect)); e->setArgument(3,(v4_RefDirection)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOneDirectionRepeatFactor IfcVector* IfcOneDirectionRepeatFactor::RepeatFactor() const { return (IfcVector*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -8995,60 +10399,60 @@ bool IfcOpeningElement::is(Type::Enum v) const { return v == Type::IfcOpeningEle Type::Enum IfcOpeningElement::type() const { return Type::IfcOpeningElement; } Type::Enum IfcOpeningElement::Class() { return Type::IfcOpeningElement; } IfcOpeningElement::IfcOpeningElement(IfcAbstractEntity* e) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOpeningElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOpeningElement::IfcOpeningElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOpticalMaterialProperties bool IfcOpticalMaterialProperties::hasVisibleTransmittance() const { return !entity->getArgument(1)->isNull(); } -IfcPositiveRatioMeasure IfcOpticalMaterialProperties::VisibleTransmittance() const { return *entity->getArgument(1); } -void IfcOpticalMaterialProperties::setVisibleTransmittance(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcOpticalMaterialProperties::VisibleTransmittance() const { return *entity->getArgument(1); } +void IfcOpticalMaterialProperties::setVisibleTransmittance(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcOpticalMaterialProperties::hasSolarTransmittance() const { return !entity->getArgument(2)->isNull(); } -IfcPositiveRatioMeasure IfcOpticalMaterialProperties::SolarTransmittance() const { return *entity->getArgument(2); } -void IfcOpticalMaterialProperties::setSolarTransmittance(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcOpticalMaterialProperties::SolarTransmittance() const { return *entity->getArgument(2); } +void IfcOpticalMaterialProperties::setSolarTransmittance(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcOpticalMaterialProperties::hasThermalIrTransmittance() const { return !entity->getArgument(3)->isNull(); } -IfcPositiveRatioMeasure IfcOpticalMaterialProperties::ThermalIrTransmittance() const { return *entity->getArgument(3); } -void IfcOpticalMaterialProperties::setThermalIrTransmittance(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcOpticalMaterialProperties::ThermalIrTransmittance() const { return *entity->getArgument(3); } +void IfcOpticalMaterialProperties::setThermalIrTransmittance(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcOpticalMaterialProperties::hasThermalIrEmissivityBack() const { return !entity->getArgument(4)->isNull(); } -IfcPositiveRatioMeasure IfcOpticalMaterialProperties::ThermalIrEmissivityBack() const { return *entity->getArgument(4); } -void IfcOpticalMaterialProperties::setThermalIrEmissivityBack(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcOpticalMaterialProperties::ThermalIrEmissivityBack() const { return *entity->getArgument(4); } +void IfcOpticalMaterialProperties::setThermalIrEmissivityBack(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcOpticalMaterialProperties::hasThermalIrEmissivityFront() const { return !entity->getArgument(5)->isNull(); } -IfcPositiveRatioMeasure IfcOpticalMaterialProperties::ThermalIrEmissivityFront() const { return *entity->getArgument(5); } -void IfcOpticalMaterialProperties::setThermalIrEmissivityFront(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcOpticalMaterialProperties::ThermalIrEmissivityFront() const { return *entity->getArgument(5); } +void IfcOpticalMaterialProperties::setThermalIrEmissivityFront(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcOpticalMaterialProperties::hasVisibleReflectanceBack() const { return !entity->getArgument(6)->isNull(); } -IfcPositiveRatioMeasure IfcOpticalMaterialProperties::VisibleReflectanceBack() const { return *entity->getArgument(6); } -void IfcOpticalMaterialProperties::setVisibleReflectanceBack(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcOpticalMaterialProperties::VisibleReflectanceBack() const { return *entity->getArgument(6); } +void IfcOpticalMaterialProperties::setVisibleReflectanceBack(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcOpticalMaterialProperties::hasVisibleReflectanceFront() const { return !entity->getArgument(7)->isNull(); } -IfcPositiveRatioMeasure IfcOpticalMaterialProperties::VisibleReflectanceFront() const { return *entity->getArgument(7); } -void IfcOpticalMaterialProperties::setVisibleReflectanceFront(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcOpticalMaterialProperties::VisibleReflectanceFront() const { return *entity->getArgument(7); } +void IfcOpticalMaterialProperties::setVisibleReflectanceFront(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcOpticalMaterialProperties::hasSolarReflectanceFront() const { return !entity->getArgument(8)->isNull(); } -IfcPositiveRatioMeasure IfcOpticalMaterialProperties::SolarReflectanceFront() const { return *entity->getArgument(8); } -void IfcOpticalMaterialProperties::setSolarReflectanceFront(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcOpticalMaterialProperties::SolarReflectanceFront() const { return *entity->getArgument(8); } +void IfcOpticalMaterialProperties::setSolarReflectanceFront(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcOpticalMaterialProperties::hasSolarReflectanceBack() const { return !entity->getArgument(9)->isNull(); } -IfcPositiveRatioMeasure IfcOpticalMaterialProperties::SolarReflectanceBack() const { return *entity->getArgument(9); } -void IfcOpticalMaterialProperties::setSolarReflectanceBack(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcOpticalMaterialProperties::SolarReflectanceBack() const { return *entity->getArgument(9); } +void IfcOpticalMaterialProperties::setSolarReflectanceBack(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcOpticalMaterialProperties::is(Type::Enum v) const { return v == Type::IfcOpticalMaterialProperties || IfcMaterialProperties::is(v); } Type::Enum IfcOpticalMaterialProperties::type() const { return Type::IfcOpticalMaterialProperties; } Type::Enum IfcOpticalMaterialProperties::Class() { return Type::IfcOpticalMaterialProperties; } IfcOpticalMaterialProperties::IfcOpticalMaterialProperties(IfcAbstractEntity* e) : IfcMaterialProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOpticalMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOpticalMaterialProperties::IfcOpticalMaterialProperties(IfcMaterial* v1_Material, boost::optional< IfcPositiveRatioMeasure > v2_VisibleTransmittance, boost::optional< IfcPositiveRatioMeasure > v3_SolarTransmittance, boost::optional< IfcPositiveRatioMeasure > v4_ThermalIrTransmittance, boost::optional< IfcPositiveRatioMeasure > v5_ThermalIrEmissivityBack, boost::optional< IfcPositiveRatioMeasure > v6_ThermalIrEmissivityFront, boost::optional< IfcPositiveRatioMeasure > v7_VisibleReflectanceBack, boost::optional< IfcPositiveRatioMeasure > v8_VisibleReflectanceFront, boost::optional< IfcPositiveRatioMeasure > v9_SolarReflectanceFront, boost::optional< IfcPositiveRatioMeasure > v10_SolarReflectanceBack) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_VisibleTransmittance) { e->setArgument(1,(*v2_VisibleTransmittance)); } else { e->setArgument(1); } if (v3_SolarTransmittance) { e->setArgument(2,(*v3_SolarTransmittance)); } else { e->setArgument(2); } if (v4_ThermalIrTransmittance) { e->setArgument(3,(*v4_ThermalIrTransmittance)); } else { e->setArgument(3); } if (v5_ThermalIrEmissivityBack) { e->setArgument(4,(*v5_ThermalIrEmissivityBack)); } else { e->setArgument(4); } if (v6_ThermalIrEmissivityFront) { e->setArgument(5,(*v6_ThermalIrEmissivityFront)); } else { e->setArgument(5); } if (v7_VisibleReflectanceBack) { e->setArgument(6,(*v7_VisibleReflectanceBack)); } else { e->setArgument(6); } if (v8_VisibleReflectanceFront) { e->setArgument(7,(*v8_VisibleReflectanceFront)); } else { e->setArgument(7); } if (v9_SolarReflectanceFront) { e->setArgument(8,(*v9_SolarReflectanceFront)); } else { e->setArgument(8); } if (v10_SolarReflectanceBack) { e->setArgument(9,(*v10_SolarReflectanceBack)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcOpticalMaterialProperties::IfcOpticalMaterialProperties(IfcMaterial* v1_Material, boost::optional< double > v2_VisibleTransmittance, boost::optional< double > v3_SolarTransmittance, boost::optional< double > v4_ThermalIrTransmittance, boost::optional< double > v5_ThermalIrEmissivityBack, boost::optional< double > v6_ThermalIrEmissivityFront, boost::optional< double > v7_VisibleReflectanceBack, boost::optional< double > v8_VisibleReflectanceFront, boost::optional< double > v9_SolarReflectanceFront, boost::optional< double > v10_SolarReflectanceBack) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_VisibleTransmittance) { e->setArgument(1,(*v2_VisibleTransmittance)); } else { e->setArgument(1); } if (v3_SolarTransmittance) { e->setArgument(2,(*v3_SolarTransmittance)); } else { e->setArgument(2); } if (v4_ThermalIrTransmittance) { e->setArgument(3,(*v4_ThermalIrTransmittance)); } else { e->setArgument(3); } if (v5_ThermalIrEmissivityBack) { e->setArgument(4,(*v5_ThermalIrEmissivityBack)); } else { e->setArgument(4); } if (v6_ThermalIrEmissivityFront) { e->setArgument(5,(*v6_ThermalIrEmissivityFront)); } else { e->setArgument(5); } if (v7_VisibleReflectanceBack) { e->setArgument(6,(*v7_VisibleReflectanceBack)); } else { e->setArgument(6); } if (v8_VisibleReflectanceFront) { e->setArgument(7,(*v8_VisibleReflectanceFront)); } else { e->setArgument(7); } if (v9_SolarReflectanceFront) { e->setArgument(8,(*v9_SolarReflectanceFront)); } else { e->setArgument(8); } if (v10_SolarReflectanceBack) { e->setArgument(9,(*v10_SolarReflectanceBack)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOrderAction -IfcIdentifier IfcOrderAction::ActionID() const { return *entity->getArgument(10); } -void IfcOrderAction::setActionID(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +std::string IfcOrderAction::ActionID() const { return *entity->getArgument(10); } +void IfcOrderAction::setActionID(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcOrderAction::is(Type::Enum v) const { return v == Type::IfcOrderAction || IfcTask::is(v); } Type::Enum IfcOrderAction::type() const { return Type::IfcOrderAction; } Type::Enum IfcOrderAction::Class() { return Type::IfcOrderAction; } IfcOrderAction::IfcOrderAction(IfcAbstractEntity* e) : IfcTask((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOrderAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOrderAction::IfcOrderAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_TaskId, boost::optional< IfcLabel > v7_Status, boost::optional< IfcLabel > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority, IfcIdentifier v11_ActionID) : IfcTask((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TaskId)); if (v7_Status) { e->setArgument(6,(*v7_Status)); } else { e->setArgument(6); } if (v8_WorkMethod) { e->setArgument(7,(*v8_WorkMethod)); } else { e->setArgument(7); } e->setArgument(8,(v9_IsMilestone)); if (v10_Priority) { e->setArgument(9,(*v10_Priority)); } else { e->setArgument(9); } e->setArgument(10,(v11_ActionID)); entity = e; EntityBuffer::Add(this); } +IfcOrderAction::IfcOrderAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_TaskId, boost::optional< std::string > v7_Status, boost::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority, std::string v11_ActionID) : IfcTask((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TaskId)); if (v7_Status) { e->setArgument(6,(*v7_Status)); } else { e->setArgument(6); } if (v8_WorkMethod) { e->setArgument(7,(*v8_WorkMethod)); } else { e->setArgument(7); } e->setArgument(8,(v9_IsMilestone)); if (v10_Priority) { e->setArgument(9,(*v10_Priority)); } else { e->setArgument(9); } e->setArgument(10,(v11_ActionID)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOrganization bool IfcOrganization::hasId() const { return !entity->getArgument(0)->isNull(); } -IfcIdentifier IfcOrganization::Id() const { return *entity->getArgument(0); } -void IfcOrganization::setId(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLabel IfcOrganization::Name() const { return *entity->getArgument(1); } -void IfcOrganization::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcOrganization::Id() const { return *entity->getArgument(0); } +void IfcOrganization::setId(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcOrganization::Name() const { return *entity->getArgument(1); } +void IfcOrganization::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcOrganization::hasDescription() const { return !entity->getArgument(2)->isNull(); } -IfcText IfcOrganization::Description() const { return *entity->getArgument(2); } -void IfcOrganization::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcOrganization::Description() const { return *entity->getArgument(2); } +void IfcOrganization::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcOrganization::hasRoles() const { return !entity->getArgument(3)->isNull(); } IfcTemplatedEntityList< IfcActorRole >::ptr IfcOrganization::Roles() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } void IfcOrganization::setRoles(IfcTemplatedEntityList< IfcActorRole >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } @@ -9062,14 +10466,14 @@ bool IfcOrganization::is(Type::Enum v) const { return v == Type::IfcOrganization Type::Enum IfcOrganization::type() const { return Type::IfcOrganization; } Type::Enum IfcOrganization::Class() { return Type::IfcOrganization; } IfcOrganization::IfcOrganization(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcOrganization)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOrganization::IfcOrganization(boost::optional< IfcIdentifier > v1_Id, IfcLabel v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v4_Roles, boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Id) { e->setArgument(0,(*v1_Id)); } else { e->setArgument(0); } e->setArgument(1,(v2_Name)); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_Roles) { e->setArgument(3,(*v4_Roles)->generalize()); } else { e->setArgument(3); } if (v5_Addresses) { e->setArgument(4,(*v5_Addresses)->generalize()); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Id, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v4_Roles, boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Id) { e->setArgument(0,(*v1_Id)); } else { e->setArgument(0); } e->setArgument(1,(v2_Name)); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_Roles) { e->setArgument(3,(*v4_Roles)->generalize()); } else { e->setArgument(3); } if (v5_Addresses) { e->setArgument(4,(*v5_Addresses)->generalize()); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOrganizationRelationship -IfcLabel IfcOrganizationRelationship::Name() const { return *entity->getArgument(0); } -void IfcOrganizationRelationship::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcOrganizationRelationship::Name() const { return *entity->getArgument(0); } +void IfcOrganizationRelationship::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcOrganizationRelationship::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcOrganizationRelationship::Description() const { return *entity->getArgument(1); } -void IfcOrganizationRelationship::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcOrganizationRelationship::Description() const { return *entity->getArgument(1); } +void IfcOrganizationRelationship::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcOrganization* IfcOrganizationRelationship::RelatingOrganization() const { return (IfcOrganization*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcOrganizationRelationship::setRelatingOrganization(IfcOrganization* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcTemplatedEntityList< IfcOrganization >::ptr IfcOrganizationRelationship::RelatedOrganizations() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } @@ -9078,7 +10482,7 @@ bool IfcOrganizationRelationship::is(Type::Enum v) const { return v == Type::Ifc Type::Enum IfcOrganizationRelationship::type() const { return Type::IfcOrganizationRelationship; } Type::Enum IfcOrganizationRelationship::Class() { return Type::IfcOrganizationRelationship; } IfcOrganizationRelationship::IfcOrganizationRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcOrganizationRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOrganizationRelationship::IfcOrganizationRelationship(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcOrganization* v3_RelatingOrganization, IfcTemplatedEntityList< IfcOrganization >::ptr v4_RelatedOrganizations) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingOrganization)); e->setArgument(3,(v4_RelatedOrganizations)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcOrganizationRelationship::IfcOrganizationRelationship(std::string v1_Name, boost::optional< std::string > v2_Description, IfcOrganization* v3_RelatingOrganization, IfcTemplatedEntityList< IfcOrganization >::ptr v4_RelatedOrganizations) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingOrganization)); e->setArgument(3,(v4_RelatedOrganizations)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOrientedEdge IfcEdge* IfcOrientedEdge::EdgeElement() const { return (IfcEdge*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } @@ -9098,7 +10502,7 @@ bool IfcOutletType::is(Type::Enum v) const { return v == Type::IfcOutletType || Type::Enum IfcOutletType::type() const { return Type::IfcOutletType; } Type::Enum IfcOutletType::Class() { return Type::IfcOutletType; } IfcOutletType::IfcOutletType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOutletType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOutletType::IfcOutletType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcOutletTypeEnum::IfcOutletTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcOutletTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcOutletType::IfcOutletType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcOutletTypeEnum::IfcOutletTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcOutletTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOwnerHistory IfcPersonAndOrganization* IfcOwnerHistory::OwningUser() const { return (IfcPersonAndOrganization*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -9111,21 +10515,21 @@ void IfcOwnerHistory::setState(IfcStateEnum::IfcStateEnum v) { if ( ! entity->is IfcChangeActionEnum::IfcChangeActionEnum IfcOwnerHistory::ChangeAction() const { return IfcChangeActionEnum::FromString(*entity->getArgument(3)); } void IfcOwnerHistory::setChangeAction(IfcChangeActionEnum::IfcChangeActionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v,IfcChangeActionEnum::ToString(v)); } bool IfcOwnerHistory::hasLastModifiedDate() const { return !entity->getArgument(4)->isNull(); } -IfcTimeStamp IfcOwnerHistory::LastModifiedDate() const { return *entity->getArgument(4); } -void IfcOwnerHistory::setLastModifiedDate(IfcTimeStamp v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +int IfcOwnerHistory::LastModifiedDate() const { return *entity->getArgument(4); } +void IfcOwnerHistory::setLastModifiedDate(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcOwnerHistory::hasLastModifyingUser() const { return !entity->getArgument(5)->isNull(); } IfcPersonAndOrganization* IfcOwnerHistory::LastModifyingUser() const { return (IfcPersonAndOrganization*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } void IfcOwnerHistory::setLastModifyingUser(IfcPersonAndOrganization* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcOwnerHistory::hasLastModifyingApplication() const { return !entity->getArgument(6)->isNull(); } IfcApplication* IfcOwnerHistory::LastModifyingApplication() const { return (IfcApplication*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } void IfcOwnerHistory::setLastModifyingApplication(IfcApplication* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcTimeStamp IfcOwnerHistory::CreationDate() const { return *entity->getArgument(7); } -void IfcOwnerHistory::setCreationDate(IfcTimeStamp v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +int IfcOwnerHistory::CreationDate() const { return *entity->getArgument(7); } +void IfcOwnerHistory::setCreationDate(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcOwnerHistory::is(Type::Enum v) const { return v == Type::IfcOwnerHistory; } Type::Enum IfcOwnerHistory::type() const { return Type::IfcOwnerHistory; } Type::Enum IfcOwnerHistory::Class() { return Type::IfcOwnerHistory; } IfcOwnerHistory::IfcOwnerHistory(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcOwnerHistory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOwnerHistory::IfcOwnerHistory(IfcPersonAndOrganization* v1_OwningUser, IfcApplication* v2_OwningApplication, boost::optional< IfcStateEnum::IfcStateEnum > v3_State, IfcChangeActionEnum::IfcChangeActionEnum v4_ChangeAction, boost::optional< IfcTimeStamp > v5_LastModifiedDate, IfcPersonAndOrganization* v6_LastModifyingUser, IfcApplication* v7_LastModifyingApplication, IfcTimeStamp v8_CreationDate) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_OwningUser)); e->setArgument(1,(v2_OwningApplication)); if (v3_State) { e->setArgument(2,*v3_State,IfcStateEnum::ToString(*v3_State)); } else { e->setArgument(2); } e->setArgument(3,v4_ChangeAction,IfcChangeActionEnum::ToString(v4_ChangeAction)); if (v5_LastModifiedDate) { e->setArgument(4,(*v5_LastModifiedDate)); } else { e->setArgument(4); } e->setArgument(5,(v6_LastModifyingUser)); e->setArgument(6,(v7_LastModifyingApplication)); e->setArgument(7,(v8_CreationDate)); entity = e; EntityBuffer::Add(this); } +IfcOwnerHistory::IfcOwnerHistory(IfcPersonAndOrganization* v1_OwningUser, IfcApplication* v2_OwningApplication, boost::optional< IfcStateEnum::IfcStateEnum > v3_State, IfcChangeActionEnum::IfcChangeActionEnum v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, IfcPersonAndOrganization* v6_LastModifyingUser, IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_OwningUser)); e->setArgument(1,(v2_OwningApplication)); if (v3_State) { e->setArgument(2,*v3_State,IfcStateEnum::ToString(*v3_State)); } else { e->setArgument(2); } e->setArgument(3,v4_ChangeAction,IfcChangeActionEnum::ToString(v4_ChangeAction)); if (v5_LastModifiedDate) { e->setArgument(4,(*v5_LastModifiedDate)); } else { e->setArgument(4); } e->setArgument(5,(v6_LastModifyingUser)); e->setArgument(6,(v7_LastModifyingApplication)); e->setArgument(7,(v8_CreationDate)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcParameterizedProfileDef IfcAxis2Placement2D* IfcParameterizedProfileDef::Position() const { return (IfcAxis2Placement2D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } @@ -9134,7 +10538,7 @@ bool IfcParameterizedProfileDef::is(Type::Enum v) const { return v == Type::IfcP Type::Enum IfcParameterizedProfileDef::type() const { return Type::IfcParameterizedProfileDef; } Type::Enum IfcParameterizedProfileDef::Class() { return Type::IfcParameterizedProfileDef; } IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcAbstractEntity* e) : IfcProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcParameterizedProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); entity = e; EntityBuffer::Add(this); } +IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPath IfcTemplatedEntityList< IfcOrientedEdge >::ptr IfcPath::EdgeList() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } @@ -9146,13 +10550,13 @@ IfcPath::IfcPath(IfcAbstractEntity* e) : IfcTopologicalRepresentationItem((IfcAb IfcPath::IfcPath(IfcTemplatedEntityList< IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_EdgeList)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPerformanceHistory -IfcLabel IfcPerformanceHistory::LifeCyclePhase() const { return *entity->getArgument(5); } -void IfcPerformanceHistory::setLifeCyclePhase(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcPerformanceHistory::LifeCyclePhase() const { return *entity->getArgument(5); } +void IfcPerformanceHistory::setLifeCyclePhase(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcPerformanceHistory::is(Type::Enum v) const { return v == Type::IfcPerformanceHistory || IfcControl::is(v); } Type::Enum IfcPerformanceHistory::type() const { return Type::IfcPerformanceHistory; } Type::Enum IfcPerformanceHistory::Class() { return Type::IfcPerformanceHistory; } IfcPerformanceHistory::IfcPerformanceHistory(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPerformanceHistory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPerformanceHistory::IfcPerformanceHistory(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcLabel v6_LifeCyclePhase) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_LifeCyclePhase)); entity = e; EntityBuffer::Add(this); } +IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_LifeCyclePhase) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_LifeCyclePhase)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPermeableCoveringProperties IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum IfcPermeableCoveringProperties::OperationType() const { return IfcPermeableCoveringOperationEnum::FromString(*entity->getArgument(4)); } @@ -9160,11 +10564,11 @@ void IfcPermeableCoveringProperties::setOperationType(IfcPermeableCoveringOperat IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum IfcPermeableCoveringProperties::PanelPosition() const { return IfcWindowPanelPositionEnum::FromString(*entity->getArgument(5)); } void IfcPermeableCoveringProperties::setPanelPosition(IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcWindowPanelPositionEnum::ToString(v)); } bool IfcPermeableCoveringProperties::hasFrameDepth() const { return !entity->getArgument(6)->isNull(); } -IfcPositiveLengthMeasure IfcPermeableCoveringProperties::FrameDepth() const { return *entity->getArgument(6); } -void IfcPermeableCoveringProperties::setFrameDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcPermeableCoveringProperties::FrameDepth() const { return *entity->getArgument(6); } +void IfcPermeableCoveringProperties::setFrameDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcPermeableCoveringProperties::hasFrameThickness() const { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcPermeableCoveringProperties::FrameThickness() const { return *entity->getArgument(7); } -void IfcPermeableCoveringProperties::setFrameThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcPermeableCoveringProperties::FrameThickness() const { return *entity->getArgument(7); } +void IfcPermeableCoveringProperties::setFrameThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcPermeableCoveringProperties::hasShapeAspectStyle() const { return !entity->getArgument(8)->isNull(); } IfcShapeAspect* IfcPermeableCoveringProperties::ShapeAspectStyle() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } void IfcPermeableCoveringProperties::setShapeAspectStyle(IfcShapeAspect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } @@ -9172,36 +10576,36 @@ bool IfcPermeableCoveringProperties::is(Type::Enum v) const { return v == Type:: Type::Enum IfcPermeableCoveringProperties::type() const { return Type::IfcPermeableCoveringProperties; } Type::Enum IfcPermeableCoveringProperties::Class() { return Type::IfcPermeableCoveringProperties; } IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPermeableCoveringProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< IfcPositiveLengthMeasure > v7_FrameDepth, boost::optional< IfcPositiveLengthMeasure > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_OperationType,IfcPermeableCoveringOperationEnum::ToString(v5_OperationType)); e->setArgument(5,v6_PanelPosition,IfcWindowPanelPositionEnum::ToString(v6_PanelPosition)); if (v7_FrameDepth) { e->setArgument(6,(*v7_FrameDepth)); } else { e->setArgument(6); } if (v8_FrameThickness) { e->setArgument(7,(*v8_FrameThickness)); } else { e->setArgument(7); } e->setArgument(8,(v9_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } +IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_OperationType,IfcPermeableCoveringOperationEnum::ToString(v5_OperationType)); e->setArgument(5,v6_PanelPosition,IfcWindowPanelPositionEnum::ToString(v6_PanelPosition)); if (v7_FrameDepth) { e->setArgument(6,(*v7_FrameDepth)); } else { e->setArgument(6); } if (v8_FrameThickness) { e->setArgument(7,(*v8_FrameThickness)); } else { e->setArgument(7); } e->setArgument(8,(v9_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPermit -IfcIdentifier IfcPermit::PermitID() const { return *entity->getArgument(5); } -void IfcPermit::setPermitID(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcPermit::PermitID() const { return *entity->getArgument(5); } +void IfcPermit::setPermitID(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcPermit::is(Type::Enum v) const { return v == Type::IfcPermit || IfcControl::is(v); } Type::Enum IfcPermit::type() const { return Type::IfcPermit; } Type::Enum IfcPermit::Class() { return Type::IfcPermit; } IfcPermit::IfcPermit(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPermit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPermit::IfcPermit(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_PermitID) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_PermitID)); entity = e; EntityBuffer::Add(this); } +IfcPermit::IfcPermit(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_PermitID) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_PermitID)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPerson bool IfcPerson::hasId() const { return !entity->getArgument(0)->isNull(); } -IfcIdentifier IfcPerson::Id() const { return *entity->getArgument(0); } -void IfcPerson::setId(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcPerson::Id() const { return *entity->getArgument(0); } +void IfcPerson::setId(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcPerson::hasFamilyName() const { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcPerson::FamilyName() const { return *entity->getArgument(1); } -void IfcPerson::setFamilyName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcPerson::FamilyName() const { return *entity->getArgument(1); } +void IfcPerson::setFamilyName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcPerson::hasGivenName() const { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcPerson::GivenName() const { return *entity->getArgument(2); } -void IfcPerson::setGivenName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcPerson::GivenName() const { return *entity->getArgument(2); } +void IfcPerson::setGivenName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPerson::hasMiddleNames() const { return !entity->getArgument(3)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcPerson::MiddleNames() const { return *entity->getArgument(3); } -void IfcPerson::setMiddleNames(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::vector< std::string > /*[1:?]*/ IfcPerson::MiddleNames() const { return *entity->getArgument(3); } +void IfcPerson::setMiddleNames(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcPerson::hasPrefixTitles() const { return !entity->getArgument(4)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcPerson::PrefixTitles() const { return *entity->getArgument(4); } -void IfcPerson::setPrefixTitles(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::vector< std::string > /*[1:?]*/ IfcPerson::PrefixTitles() const { return *entity->getArgument(4); } +void IfcPerson::setPrefixTitles(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcPerson::hasSuffixTitles() const { return !entity->getArgument(5)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcPerson::SuffixTitles() const { return *entity->getArgument(5); } -void IfcPerson::setSuffixTitles(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::vector< std::string > /*[1:?]*/ IfcPerson::SuffixTitles() const { return *entity->getArgument(5); } +void IfcPerson::setSuffixTitles(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcPerson::hasRoles() const { return !entity->getArgument(6)->isNull(); } IfcTemplatedEntityList< IfcActorRole >::ptr IfcPerson::Roles() const { IfcEntityList::ptr es = *entity->getArgument(6); return es->as(); } void IfcPerson::setRoles(IfcTemplatedEntityList< IfcActorRole >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } @@ -9213,7 +10617,7 @@ bool IfcPerson::is(Type::Enum v) const { return v == Type::IfcPerson; } Type::Enum IfcPerson::type() const { return Type::IfcPerson; } Type::Enum IfcPerson::Class() { return Type::IfcPerson; } IfcPerson::IfcPerson(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPerson)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPerson::IfcPerson(boost::optional< IfcIdentifier > v1_Id, boost::optional< IfcLabel > v2_FamilyName, boost::optional< IfcLabel > v3_GivenName, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v6_SuffixTitles, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v7_Roles, boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Id) { e->setArgument(0,(*v1_Id)); } else { e->setArgument(0); } if (v2_FamilyName) { e->setArgument(1,(*v2_FamilyName)); } else { e->setArgument(1); } if (v3_GivenName) { e->setArgument(2,(*v3_GivenName)); } else { e->setArgument(2); } if (v4_MiddleNames) { e->setArgument(3,(*v4_MiddleNames)); } else { e->setArgument(3); } if (v5_PrefixTitles) { e->setArgument(4,(*v5_PrefixTitles)); } else { e->setArgument(4); } if (v6_SuffixTitles) { e->setArgument(5,(*v6_SuffixTitles)); } else { e->setArgument(5); } if (v7_Roles) { e->setArgument(6,(*v7_Roles)->generalize()); } else { e->setArgument(6); } if (v8_Addresses) { e->setArgument(7,(*v8_Addresses)->generalize()); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcPerson::IfcPerson(boost::optional< std::string > v1_Id, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v7_Roles, boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Id) { e->setArgument(0,(*v1_Id)); } else { e->setArgument(0); } if (v2_FamilyName) { e->setArgument(1,(*v2_FamilyName)); } else { e->setArgument(1); } if (v3_GivenName) { e->setArgument(2,(*v3_GivenName)); } else { e->setArgument(2); } if (v4_MiddleNames) { e->setArgument(3,(*v4_MiddleNames)); } else { e->setArgument(3); } if (v5_PrefixTitles) { e->setArgument(4,(*v5_PrefixTitles)); } else { e->setArgument(4); } if (v6_SuffixTitles) { e->setArgument(5,(*v6_SuffixTitles)); } else { e->setArgument(5); } if (v7_Roles) { e->setArgument(6,(*v7_Roles)->generalize()); } else { e->setArgument(6); } if (v8_Addresses) { e->setArgument(7,(*v8_Addresses)->generalize()); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPersonAndOrganization IfcPerson* IfcPersonAndOrganization::ThePerson() const { return (IfcPerson*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -9232,32 +10636,32 @@ IfcPersonAndOrganization::IfcPersonAndOrganization(IfcPerson* v1_ThePerson, IfcO // Function implementations for IfcPhysicalComplexQuantity IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr IfcPhysicalComplexQuantity::HasQuantities() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } void IfcPhysicalComplexQuantity::setHasQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } -IfcLabel IfcPhysicalComplexQuantity::Discrimination() const { return *entity->getArgument(3); } -void IfcPhysicalComplexQuantity::setDiscrimination(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcPhysicalComplexQuantity::Discrimination() const { return *entity->getArgument(3); } +void IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcPhysicalComplexQuantity::hasQuality() const { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcPhysicalComplexQuantity::Quality() const { return *entity->getArgument(4); } -void IfcPhysicalComplexQuantity::setQuality(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcPhysicalComplexQuantity::Quality() const { return *entity->getArgument(4); } +void IfcPhysicalComplexQuantity::setQuality(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcPhysicalComplexQuantity::hasUsage() const { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcPhysicalComplexQuantity::Usage() const { return *entity->getArgument(5); } -void IfcPhysicalComplexQuantity::setUsage(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcPhysicalComplexQuantity::Usage() const { return *entity->getArgument(5); } +void IfcPhysicalComplexQuantity::setUsage(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcPhysicalComplexQuantity::is(Type::Enum v) const { return v == Type::IfcPhysicalComplexQuantity || IfcPhysicalQuantity::is(v); } Type::Enum IfcPhysicalComplexQuantity::type() const { return Type::IfcPhysicalComplexQuantity; } Type::Enum IfcPhysicalComplexQuantity::Class() { return Type::IfcPhysicalComplexQuantity; } IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcAbstractEntity* e) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPhysicalComplexQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v3_HasQuantities, IfcLabel v4_Discrimination, boost::optional< IfcLabel > v5_Quality, boost::optional< IfcLabel > v6_Usage) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_HasQuantities)->generalize()); e->setArgument(3,(v4_Discrimination)); if (v5_Quality) { e->setArgument(4,(*v5_Quality)); } else { e->setArgument(4); } if (v6_Usage) { e->setArgument(5,(*v6_Usage)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_HasQuantities)->generalize()); e->setArgument(3,(v4_Discrimination)); if (v5_Quality) { e->setArgument(4,(*v5_Quality)); } else { e->setArgument(4); } if (v6_Usage) { e->setArgument(5,(*v6_Usage)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPhysicalQuantity -IfcLabel IfcPhysicalQuantity::Name() const { return *entity->getArgument(0); } -void IfcPhysicalQuantity::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcPhysicalQuantity::Name() const { return *entity->getArgument(0); } +void IfcPhysicalQuantity::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcPhysicalQuantity::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcPhysicalQuantity::Description() const { return *entity->getArgument(1); } -void IfcPhysicalQuantity::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcPhysicalQuantity::Description() const { return *entity->getArgument(1); } +void IfcPhysicalQuantity::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcPhysicalComplexQuantity::list::ptr IfcPhysicalQuantity::PartOfComplex() const { return entity->getInverse(Type::IfcPhysicalComplexQuantity)->as(); } bool IfcPhysicalQuantity::is(Type::Enum v) const { return v == Type::IfcPhysicalQuantity; } Type::Enum IfcPhysicalQuantity::type() const { return Type::IfcPhysicalQuantity; } Type::Enum IfcPhysicalQuantity::Class() { return Type::IfcPhysicalQuantity; } IfcPhysicalQuantity::IfcPhysicalQuantity(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPhysicalQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPhysicalQuantity::IfcPhysicalQuantity(IfcLabel v1_Name, boost::optional< IfcText > v2_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPhysicalSimpleQuantity bool IfcPhysicalSimpleQuantity::hasUnit() const { return !entity->getArgument(2)->isNull(); } @@ -9267,7 +10671,7 @@ bool IfcPhysicalSimpleQuantity::is(Type::Enum v) const { return v == Type::IfcPh Type::Enum IfcPhysicalSimpleQuantity::type() const { return Type::IfcPhysicalSimpleQuantity; } Type::Enum IfcPhysicalSimpleQuantity::Class() { return Type::IfcPhysicalSimpleQuantity; } IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(IfcAbstractEntity* e) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPhysicalSimpleQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); entity = e; EntityBuffer::Add(this); } +IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPile IfcPileTypeEnum::IfcPileTypeEnum IfcPile::PredefinedType() const { return IfcPileTypeEnum::FromString(*entity->getArgument(8)); } @@ -9279,7 +10683,7 @@ bool IfcPile::is(Type::Enum v) const { return v == Type::IfcPile || IfcBuildingE Type::Enum IfcPile::type() const { return Type::IfcPile; } Type::Enum IfcPile::Class() { return Type::IfcPile; } IfcPile::IfcPile(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPile)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPile::IfcPile(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcPileTypeEnum::IfcPileTypeEnum v9_PredefinedType, boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v10_ConstructionType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_PredefinedType,IfcPileTypeEnum::ToString(v9_PredefinedType)); if (v10_ConstructionType) { e->setArgument(9,*v10_ConstructionType,IfcPileConstructionEnum::ToString(*v10_ConstructionType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcPile::IfcPile(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, IfcPileTypeEnum::IfcPileTypeEnum v9_PredefinedType, boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v10_ConstructionType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_PredefinedType,IfcPileTypeEnum::ToString(v9_PredefinedType)); if (v10_ConstructionType) { e->setArgument(9,*v10_ConstructionType,IfcPileConstructionEnum::ToString(*v10_ConstructionType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPipeFittingType IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum IfcPipeFittingType::PredefinedType() const { return IfcPipeFittingTypeEnum::FromString(*entity->getArgument(9)); } @@ -9288,7 +10692,7 @@ bool IfcPipeFittingType::is(Type::Enum v) const { return v == Type::IfcPipeFitti Type::Enum IfcPipeFittingType::type() const { return Type::IfcPipeFittingType; } Type::Enum IfcPipeFittingType::Class() { return Type::IfcPipeFittingType; } IfcPipeFittingType::IfcPipeFittingType(IfcAbstractEntity* e) : IfcFlowFittingType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPipeFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPipeFittingType::IfcPipeFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPipeFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPipeFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPipeSegmentType IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum IfcPipeSegmentType::PredefinedType() const { return IfcPipeSegmentTypeEnum::FromString(*entity->getArgument(9)); } @@ -9297,20 +10701,20 @@ bool IfcPipeSegmentType::is(Type::Enum v) const { return v == Type::IfcPipeSegme Type::Enum IfcPipeSegmentType::type() const { return Type::IfcPipeSegmentType; } Type::Enum IfcPipeSegmentType::Class() { return Type::IfcPipeSegmentType; } IfcPipeSegmentType::IfcPipeSegmentType(IfcAbstractEntity* e) : IfcFlowSegmentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPipeSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPipeSegmentType::IfcPipeSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPipeSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPipeSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPixelTexture -IfcInteger IfcPixelTexture::Width() const { return *entity->getArgument(4); } -void IfcPixelTexture::setWidth(IfcInteger v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcInteger IfcPixelTexture::Height() const { return *entity->getArgument(5); } -void IfcPixelTexture::setHeight(IfcInteger v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcInteger IfcPixelTexture::ColourComponents() const { return *entity->getArgument(6); } -void IfcPixelTexture::setColourComponents(IfcInteger v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +int IfcPixelTexture::Width() const { return *entity->getArgument(4); } +void IfcPixelTexture::setWidth(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +int IfcPixelTexture::Height() const { return *entity->getArgument(5); } +void IfcPixelTexture::setHeight(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +int IfcPixelTexture::ColourComponents() const { return *entity->getArgument(6); } +void IfcPixelTexture::setColourComponents(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } 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; } IfcPixelTexture::IfcPixelTexture(IfcAbstractEntity* e) : IfcSurfaceTexture((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPixelTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, IfcInteger v5_Width, IfcInteger v6_Height, IfcInteger v7_ColourComponents) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); e->setArgument(2,v3_TextureType,IfcSurfaceTextureEnum::ToString(v3_TextureType)); e->setArgument(3,(v4_TextureTransform)); e->setArgument(4,(v5_Width)); e->setArgument(5,(v6_Height)); e->setArgument(6,(v7_ColourComponents)); entity = e; EntityBuffer::Add(this); } +IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, int v5_Width, int v6_Height, int v7_ColourComponents) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); e->setArgument(2,v3_TextureType,IfcSurfaceTextureEnum::ToString(v3_TextureType)); e->setArgument(3,(v4_TextureTransform)); e->setArgument(4,(v5_Width)); e->setArgument(5,(v6_Height)); e->setArgument(6,(v7_ColourComponents)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlacement IfcCartesianPoint* IfcPlacement::Location() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -9322,24 +10726,24 @@ IfcPlacement::IfcPlacement(IfcAbstractEntity* e) : IfcGeometricRepresentationIte IfcPlacement::IfcPlacement(IfcCartesianPoint* v1_Location) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Location)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlanarBox -IfcAxis2Placement IfcPlanarBox::Placement() const { return *entity->getArgument(2); } -void IfcPlanarBox::setPlacement(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +IfcAxis2Placement* IfcPlanarBox::Placement() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } +void IfcPlanarBox::setPlacement(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPlanarBox::is(Type::Enum v) const { return v == Type::IfcPlanarBox || IfcPlanarExtent::is(v); } Type::Enum IfcPlanarBox::type() const { return Type::IfcPlanarBox; } Type::Enum IfcPlanarBox::Class() { return Type::IfcPlanarBox; } IfcPlanarBox::IfcPlanarBox(IfcAbstractEntity* e) : IfcPlanarExtent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlanarBox)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlanarBox::IfcPlanarBox(IfcLengthMeasure v1_SizeInX, IfcLengthMeasure v2_SizeInY, IfcAxis2Placement v3_Placement) : IfcPlanarExtent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SizeInX)); e->setArgument(1,(v2_SizeInY)); e->setArgument(2,(v3_Placement)); entity = e; EntityBuffer::Add(this); } +IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, IfcAxis2Placement* v3_Placement) : IfcPlanarExtent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SizeInX)); e->setArgument(1,(v2_SizeInY)); e->setArgument(2,(v3_Placement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlanarExtent -IfcLengthMeasure IfcPlanarExtent::SizeInX() const { return *entity->getArgument(0); } -void IfcPlanarExtent::setSizeInX(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLengthMeasure IfcPlanarExtent::SizeInY() const { return *entity->getArgument(1); } -void IfcPlanarExtent::setSizeInY(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcPlanarExtent::SizeInX() const { return *entity->getArgument(0); } +void IfcPlanarExtent::setSizeInX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +double IfcPlanarExtent::SizeInY() const { return *entity->getArgument(1); } +void IfcPlanarExtent::setSizeInY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcPlanarExtent::is(Type::Enum v) const { return v == Type::IfcPlanarExtent || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcPlanarExtent::type() const { return Type::IfcPlanarExtent; } Type::Enum IfcPlanarExtent::Class() { return Type::IfcPlanarExtent; } IfcPlanarExtent::IfcPlanarExtent(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlanarExtent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlanarExtent::IfcPlanarExtent(IfcLengthMeasure v1_SizeInX, IfcLengthMeasure v2_SizeInY) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SizeInX)); e->setArgument(1,(v2_SizeInY)); entity = e; EntityBuffer::Add(this); } +IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SizeInX)); e->setArgument(1,(v2_SizeInY)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlane bool IfcPlane::is(Type::Enum v) const { return v == Type::IfcPlane || IfcElementarySurface::is(v); } @@ -9353,7 +10757,7 @@ bool IfcPlate::is(Type::Enum v) const { return v == Type::IfcPlate || IfcBuildin Type::Enum IfcPlate::type() const { return Type::IfcPlate; } Type::Enum IfcPlate::Class() { return Type::IfcPlate; } IfcPlate::IfcPlate(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlate::IfcPlate(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcPlate::IfcPlate(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlateType IfcPlateTypeEnum::IfcPlateTypeEnum IfcPlateType::PredefinedType() const { return IfcPlateTypeEnum::FromString(*entity->getArgument(9)); } @@ -9362,7 +10766,7 @@ bool IfcPlateType::is(Type::Enum v) const { return v == Type::IfcPlateType || If Type::Enum IfcPlateType::type() const { return Type::IfcPlateType; } Type::Enum IfcPlateType::Class() { return Type::IfcPlateType; } IfcPlateType::IfcPlateType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlateType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlateType::IfcPlateType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPlateTypeEnum::IfcPlateTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPlateTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcPlateType::IfcPlateType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPlateTypeEnum::IfcPlateTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPlateTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPoint bool IfcPoint::is(Type::Enum v) const { return v == Type::IfcPoint || IfcGeometricRepresentationItem::is(v); } @@ -9374,26 +10778,26 @@ IfcPoint::IfcPoint() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { I // Function implementations for IfcPointOnCurve IfcCurve* IfcPointOnCurve::BasisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcPointOnCurve::setBasisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcParameterValue IfcPointOnCurve::PointParameter() const { return *entity->getArgument(1); } -void IfcPointOnCurve::setPointParameter(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcPointOnCurve::PointParameter() const { return *entity->getArgument(1); } +void IfcPointOnCurve::setPointParameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcPointOnCurve::is(Type::Enum v) const { return v == Type::IfcPointOnCurve || IfcPoint::is(v); } Type::Enum IfcPointOnCurve::type() const { return Type::IfcPointOnCurve; } Type::Enum IfcPointOnCurve::Class() { return Type::IfcPointOnCurve; } IfcPointOnCurve::IfcPointOnCurve(IfcAbstractEntity* e) : IfcPoint((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPointOnCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPointOnCurve::IfcPointOnCurve(IfcCurve* v1_BasisCurve, IfcParameterValue v2_PointParameter) : IfcPoint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisCurve)); e->setArgument(1,(v2_PointParameter)); entity = e; EntityBuffer::Add(this); } +IfcPointOnCurve::IfcPointOnCurve(IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisCurve)); e->setArgument(1,(v2_PointParameter)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPointOnSurface IfcSurface* IfcPointOnSurface::BasisSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcPointOnSurface::setBasisSurface(IfcSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcParameterValue IfcPointOnSurface::PointParameterU() const { return *entity->getArgument(1); } -void IfcPointOnSurface::setPointParameterU(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcParameterValue IfcPointOnSurface::PointParameterV() const { return *entity->getArgument(2); } -void IfcPointOnSurface::setPointParameterV(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcPointOnSurface::PointParameterU() const { return *entity->getArgument(1); } +void IfcPointOnSurface::setPointParameterU(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcPointOnSurface::PointParameterV() const { return *entity->getArgument(2); } +void IfcPointOnSurface::setPointParameterV(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPointOnSurface::is(Type::Enum v) const { return v == Type::IfcPointOnSurface || IfcPoint::is(v); } Type::Enum IfcPointOnSurface::type() const { return Type::IfcPointOnSurface; } Type::Enum IfcPointOnSurface::Class() { return Type::IfcPointOnSurface; } IfcPointOnSurface::IfcPointOnSurface(IfcAbstractEntity* e) : IfcPoint((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPointOnSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPointOnSurface::IfcPointOnSurface(IfcSurface* v1_BasisSurface, IfcParameterValue v2_PointParameterU, IfcParameterValue v3_PointParameterV) : IfcPoint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisSurface)); e->setArgument(1,(v2_PointParameterU)); e->setArgument(2,(v3_PointParameterV)); entity = e; EntityBuffer::Add(this); } +IfcPointOnSurface::IfcPointOnSurface(IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisSurface)); e->setArgument(1,(v2_PointParameterU)); e->setArgument(2,(v3_PointParameterV)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPolyLoop IfcTemplatedEntityList< IfcCartesianPoint >::ptr IfcPolyLoop::Polygon() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } @@ -9432,110 +10836,110 @@ bool IfcPort::is(Type::Enum v) const { return v == Type::IfcPort || IfcProduct:: Type::Enum IfcPort::type() const { return Type::IfcPort; } Type::Enum IfcPort::Class() { return Type::IfcPort; } IfcPort::IfcPort(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPort)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPort::IfcPort(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } +IfcPort::IfcPort(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPostalAddress bool IfcPostalAddress::hasInternalLocation() const { return !entity->getArgument(3)->isNull(); } -IfcLabel IfcPostalAddress::InternalLocation() const { return *entity->getArgument(3); } -void IfcPostalAddress::setInternalLocation(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcPostalAddress::InternalLocation() const { return *entity->getArgument(3); } +void IfcPostalAddress::setInternalLocation(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcPostalAddress::hasAddressLines() const { return !entity->getArgument(4)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcPostalAddress::AddressLines() const { return *entity->getArgument(4); } -void IfcPostalAddress::setAddressLines(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::vector< std::string > /*[1:?]*/ IfcPostalAddress::AddressLines() const { return *entity->getArgument(4); } +void IfcPostalAddress::setAddressLines(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcPostalAddress::hasPostalBox() const { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcPostalAddress::PostalBox() const { return *entity->getArgument(5); } -void IfcPostalAddress::setPostalBox(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcPostalAddress::PostalBox() const { return *entity->getArgument(5); } +void IfcPostalAddress::setPostalBox(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcPostalAddress::hasTown() const { return !entity->getArgument(6)->isNull(); } -IfcLabel IfcPostalAddress::Town() const { return *entity->getArgument(6); } -void IfcPostalAddress::setTown(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcPostalAddress::Town() const { return *entity->getArgument(6); } +void IfcPostalAddress::setTown(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcPostalAddress::hasRegion() const { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcPostalAddress::Region() const { return *entity->getArgument(7); } -void IfcPostalAddress::setRegion(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcPostalAddress::Region() const { return *entity->getArgument(7); } +void IfcPostalAddress::setRegion(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcPostalAddress::hasPostalCode() const { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcPostalAddress::PostalCode() const { return *entity->getArgument(8); } -void IfcPostalAddress::setPostalCode(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcPostalAddress::PostalCode() const { return *entity->getArgument(8); } +void IfcPostalAddress::setPostalCode(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcPostalAddress::hasCountry() const { return !entity->getArgument(9)->isNull(); } -IfcLabel IfcPostalAddress::Country() const { return *entity->getArgument(9); } -void IfcPostalAddress::setCountry(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +std::string IfcPostalAddress::Country() const { return *entity->getArgument(9); } +void IfcPostalAddress::setCountry(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcPostalAddress::is(Type::Enum v) const { return v == Type::IfcPostalAddress || IfcAddress::is(v); } Type::Enum IfcPostalAddress::type() const { return Type::IfcPostalAddress; } Type::Enum IfcPostalAddress::Class() { return Type::IfcPostalAddress; } IfcPostalAddress::IfcPostalAddress(IfcAbstractEntity* e) : IfcAddress((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPostalAddress)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPostalAddress::IfcPostalAddress(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose, boost::optional< IfcLabel > v4_InternalLocation, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_AddressLines, boost::optional< IfcLabel > v6_PostalBox, boost::optional< IfcLabel > v7_Town, boost::optional< IfcLabel > v8_Region, boost::optional< IfcLabel > v9_PostalCode, boost::optional< IfcLabel > v10_Country) : IfcAddress((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Purpose) { e->setArgument(0,*v1_Purpose,IfcAddressTypeEnum::ToString(*v1_Purpose)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UserDefinedPurpose) { e->setArgument(2,(*v3_UserDefinedPurpose)); } else { e->setArgument(2); } if (v4_InternalLocation) { e->setArgument(3,(*v4_InternalLocation)); } else { e->setArgument(3); } if (v5_AddressLines) { e->setArgument(4,(*v5_AddressLines)); } else { e->setArgument(4); } if (v6_PostalBox) { e->setArgument(5,(*v6_PostalBox)); } else { e->setArgument(5); } if (v7_Town) { e->setArgument(6,(*v7_Town)); } else { e->setArgument(6); } if (v8_Region) { e->setArgument(7,(*v8_Region)); } else { e->setArgument(7); } if (v9_PostalCode) { e->setArgument(8,(*v9_PostalCode)); } else { e->setArgument(8); } if (v10_Country) { e->setArgument(9,(*v10_Country)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcPostalAddress::IfcPostalAddress(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose, boost::optional< std::string > v4_InternalLocation, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, boost::optional< std::string > v6_PostalBox, boost::optional< std::string > v7_Town, boost::optional< std::string > v8_Region, boost::optional< std::string > v9_PostalCode, boost::optional< std::string > v10_Country) : IfcAddress((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Purpose) { e->setArgument(0,*v1_Purpose,IfcAddressTypeEnum::ToString(*v1_Purpose)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UserDefinedPurpose) { e->setArgument(2,(*v3_UserDefinedPurpose)); } else { e->setArgument(2); } if (v4_InternalLocation) { e->setArgument(3,(*v4_InternalLocation)); } else { e->setArgument(3); } if (v5_AddressLines) { e->setArgument(4,(*v5_AddressLines)); } else { e->setArgument(4); } if (v6_PostalBox) { e->setArgument(5,(*v6_PostalBox)); } else { e->setArgument(5); } if (v7_Town) { e->setArgument(6,(*v7_Town)); } else { e->setArgument(6); } if (v8_Region) { e->setArgument(7,(*v8_Region)); } else { e->setArgument(7); } if (v9_PostalCode) { e->setArgument(8,(*v9_PostalCode)); } else { e->setArgument(8); } if (v10_Country) { e->setArgument(9,(*v10_Country)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedColour bool IfcPreDefinedColour::is(Type::Enum v) const { return v == Type::IfcPreDefinedColour || IfcPreDefinedItem::is(v); } Type::Enum IfcPreDefinedColour::type() const { return Type::IfcPreDefinedColour; } Type::Enum IfcPreDefinedColour::Class() { return Type::IfcPreDefinedColour; } IfcPreDefinedColour::IfcPreDefinedColour(IfcAbstractEntity* e) : IfcPreDefinedItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedColour)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedColour::IfcPreDefinedColour(IfcLabel v1_Name) : IfcPreDefinedItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedCurveFont bool IfcPreDefinedCurveFont::is(Type::Enum v) const { return v == Type::IfcPreDefinedCurveFont || IfcPreDefinedItem::is(v); } Type::Enum IfcPreDefinedCurveFont::type() const { return Type::IfcPreDefinedCurveFont; } Type::Enum IfcPreDefinedCurveFont::Class() { return Type::IfcPreDefinedCurveFont; } IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcAbstractEntity* e) : IfcPreDefinedItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedCurveFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcLabel v1_Name) : IfcPreDefinedItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedDimensionSymbol bool IfcPreDefinedDimensionSymbol::is(Type::Enum v) const { return v == Type::IfcPreDefinedDimensionSymbol || IfcPreDefinedSymbol::is(v); } Type::Enum IfcPreDefinedDimensionSymbol::type() const { return Type::IfcPreDefinedDimensionSymbol; } Type::Enum IfcPreDefinedDimensionSymbol::Class() { return Type::IfcPreDefinedDimensionSymbol; } IfcPreDefinedDimensionSymbol::IfcPreDefinedDimensionSymbol(IfcAbstractEntity* e) : IfcPreDefinedSymbol((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedDimensionSymbol)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedDimensionSymbol::IfcPreDefinedDimensionSymbol(IfcLabel v1_Name) : IfcPreDefinedSymbol((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcPreDefinedDimensionSymbol::IfcPreDefinedDimensionSymbol(std::string v1_Name) : IfcPreDefinedSymbol((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedItem -IfcLabel IfcPreDefinedItem::Name() const { return *entity->getArgument(0); } -void IfcPreDefinedItem::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcPreDefinedItem::Name() const { return *entity->getArgument(0); } +void IfcPreDefinedItem::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcPreDefinedItem::is(Type::Enum v) const { return v == Type::IfcPreDefinedItem; } Type::Enum IfcPreDefinedItem::type() const { return Type::IfcPreDefinedItem; } Type::Enum IfcPreDefinedItem::Class() { return Type::IfcPreDefinedItem; } IfcPreDefinedItem::IfcPreDefinedItem(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPreDefinedItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedItem::IfcPreDefinedItem(IfcLabel v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedPointMarkerSymbol bool IfcPreDefinedPointMarkerSymbol::is(Type::Enum v) const { return v == Type::IfcPreDefinedPointMarkerSymbol || IfcPreDefinedSymbol::is(v); } Type::Enum IfcPreDefinedPointMarkerSymbol::type() const { return Type::IfcPreDefinedPointMarkerSymbol; } Type::Enum IfcPreDefinedPointMarkerSymbol::Class() { return Type::IfcPreDefinedPointMarkerSymbol; } IfcPreDefinedPointMarkerSymbol::IfcPreDefinedPointMarkerSymbol(IfcAbstractEntity* e) : IfcPreDefinedSymbol((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedPointMarkerSymbol)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedPointMarkerSymbol::IfcPreDefinedPointMarkerSymbol(IfcLabel v1_Name) : IfcPreDefinedSymbol((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcPreDefinedPointMarkerSymbol::IfcPreDefinedPointMarkerSymbol(std::string v1_Name) : IfcPreDefinedSymbol((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedSymbol bool IfcPreDefinedSymbol::is(Type::Enum v) const { return v == Type::IfcPreDefinedSymbol || IfcPreDefinedItem::is(v); } Type::Enum IfcPreDefinedSymbol::type() const { return Type::IfcPreDefinedSymbol; } Type::Enum IfcPreDefinedSymbol::Class() { return Type::IfcPreDefinedSymbol; } IfcPreDefinedSymbol::IfcPreDefinedSymbol(IfcAbstractEntity* e) : IfcPreDefinedItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedSymbol)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedSymbol::IfcPreDefinedSymbol(IfcLabel v1_Name) : IfcPreDefinedItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcPreDefinedSymbol::IfcPreDefinedSymbol(std::string v1_Name) : IfcPreDefinedItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedTerminatorSymbol bool IfcPreDefinedTerminatorSymbol::is(Type::Enum v) const { return v == Type::IfcPreDefinedTerminatorSymbol || IfcPreDefinedSymbol::is(v); } Type::Enum IfcPreDefinedTerminatorSymbol::type() const { return Type::IfcPreDefinedTerminatorSymbol; } Type::Enum IfcPreDefinedTerminatorSymbol::Class() { return Type::IfcPreDefinedTerminatorSymbol; } IfcPreDefinedTerminatorSymbol::IfcPreDefinedTerminatorSymbol(IfcAbstractEntity* e) : IfcPreDefinedSymbol((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedTerminatorSymbol)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedTerminatorSymbol::IfcPreDefinedTerminatorSymbol(IfcLabel v1_Name) : IfcPreDefinedSymbol((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcPreDefinedTerminatorSymbol::IfcPreDefinedTerminatorSymbol(std::string v1_Name) : IfcPreDefinedSymbol((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedTextFont bool IfcPreDefinedTextFont::is(Type::Enum v) const { return v == Type::IfcPreDefinedTextFont || IfcPreDefinedItem::is(v); } Type::Enum IfcPreDefinedTextFont::type() const { return Type::IfcPreDefinedTextFont; } Type::Enum IfcPreDefinedTextFont::Class() { return Type::IfcPreDefinedTextFont; } IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcAbstractEntity* e) : IfcPreDefinedItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedTextFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcLabel v1_Name) : IfcPreDefinedItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPresentationLayerAssignment -IfcLabel IfcPresentationLayerAssignment::Name() const { return *entity->getArgument(0); } -void IfcPresentationLayerAssignment::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcPresentationLayerAssignment::Name() const { return *entity->getArgument(0); } +void IfcPresentationLayerAssignment::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcPresentationLayerAssignment::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcPresentationLayerAssignment::Description() const { return *entity->getArgument(1); } -void IfcPresentationLayerAssignment::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPresentationLayerAssignment::AssignedItems() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcPresentationLayerAssignment::setAssignedItems(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +std::string IfcPresentationLayerAssignment::Description() const { return *entity->getArgument(1); } +void IfcPresentationLayerAssignment::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcEntityList::ptr IfcPresentationLayerAssignment::AssignedItems() const { return *entity->getArgument(2); } +void IfcPresentationLayerAssignment::setAssignedItems(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPresentationLayerAssignment::hasIdentifier() const { return !entity->getArgument(3)->isNull(); } -IfcIdentifier IfcPresentationLayerAssignment::Identifier() const { return *entity->getArgument(3); } -void IfcPresentationLayerAssignment::setIdentifier(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcPresentationLayerAssignment::Identifier() const { return *entity->getArgument(3); } +void IfcPresentationLayerAssignment::setIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcPresentationLayerAssignment::is(Type::Enum v) const { return v == Type::IfcPresentationLayerAssignment; } Type::Enum IfcPresentationLayerAssignment::type() const { return Type::IfcPresentationLayerAssignment; } Type::Enum IfcPresentationLayerAssignment::Class() { return Type::IfcPresentationLayerAssignment; } IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPresentationLayerAssignment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< IfcIdentifier > v4_Identifier) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AssignedItems)); if (v4_Identifier) { e->setArgument(3,(*v4_Identifier)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AssignedItems)); if (v4_Identifier) { e->setArgument(3,(*v4_Identifier)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPresentationLayerWithStyle bool IfcPresentationLayerWithStyle::LayerOn() const { return *entity->getArgument(4); } @@ -9544,27 +10948,27 @@ bool IfcPresentationLayerWithStyle::LayerFrozen() const { return *entity->getArg void IfcPresentationLayerWithStyle::setLayerFrozen(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcPresentationLayerWithStyle::LayerBlocked() const { return *entity->getArgument(6); } void IfcPresentationLayerWithStyle::setLayerBlocked(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPresentationLayerWithStyle::LayerStyles() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } -void IfcPresentationLayerWithStyle::setLayerStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } +IfcEntityList::ptr IfcPresentationLayerWithStyle::LayerStyles() const { return *entity->getArgument(7); } +void IfcPresentationLayerWithStyle::setLayerStyles(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } 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; } IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcAbstractEntity* e) : IfcPresentationLayerAssignment((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPresentationLayerWithStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< IfcIdentifier > v4_Identifier, bool v5_LayerOn, bool v6_LayerFrozen, bool v7_LayerBlocked, IfcEntityList::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AssignedItems)); if (v4_Identifier) { e->setArgument(3,(*v4_Identifier)); } else { e->setArgument(3); } e->setArgument(4,(v5_LayerOn)); e->setArgument(5,(v6_LayerFrozen)); e->setArgument(6,(v7_LayerBlocked)); e->setArgument(7,(v8_LayerStyles)); entity = e; EntityBuffer::Add(this); } +IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, bool v5_LayerOn, bool v6_LayerFrozen, bool v7_LayerBlocked, IfcEntityList::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AssignedItems)); if (v4_Identifier) { e->setArgument(3,(*v4_Identifier)); } else { e->setArgument(3); } e->setArgument(4,(v5_LayerOn)); e->setArgument(5,(v6_LayerFrozen)); e->setArgument(6,(v7_LayerBlocked)); e->setArgument(7,(v8_LayerStyles)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPresentationStyle bool IfcPresentationStyle::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcPresentationStyle::Name() const { return *entity->getArgument(0); } -void IfcPresentationStyle::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcPresentationStyle::Name() const { return *entity->getArgument(0); } +void IfcPresentationStyle::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcPresentationStyle::is(Type::Enum v) const { return v == Type::IfcPresentationStyle; } Type::Enum IfcPresentationStyle::type() const { return Type::IfcPresentationStyle; } Type::Enum IfcPresentationStyle::Class() { return Type::IfcPresentationStyle; } IfcPresentationStyle::IfcPresentationStyle(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPresentationStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPresentationStyle::IfcPresentationStyle(boost::optional< IfcLabel > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } +IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPresentationStyleAssignment -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPresentationStyleAssignment::Styles() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcPresentationStyleAssignment::setStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcEntityList::ptr IfcPresentationStyleAssignment::Styles() const { return *entity->getArgument(0); } +void IfcPresentationStyleAssignment::setStyles(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } 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; } @@ -9572,18 +10976,18 @@ IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcAbstractEntity IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcEntityList::ptr v1_Styles) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Styles)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProcedure -IfcIdentifier IfcProcedure::ProcedureID() const { return *entity->getArgument(5); } -void IfcProcedure::setProcedureID(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcProcedure::ProcedureID() const { return *entity->getArgument(5); } +void IfcProcedure::setProcedureID(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } IfcProcedureTypeEnum::IfcProcedureTypeEnum IfcProcedure::ProcedureType() const { return IfcProcedureTypeEnum::FromString(*entity->getArgument(6)); } void IfcProcedure::setProcedureType(IfcProcedureTypeEnum::IfcProcedureTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcProcedureTypeEnum::ToString(v)); } bool IfcProcedure::hasUserDefinedProcedureType() const { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcProcedure::UserDefinedProcedureType() const { return *entity->getArgument(7); } -void IfcProcedure::setUserDefinedProcedureType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcProcedure::UserDefinedProcedureType() const { return *entity->getArgument(7); } +void IfcProcedure::setUserDefinedProcedureType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcProcedure::is(Type::Enum v) const { return v == Type::IfcProcedure || IfcProcess::is(v); } Type::Enum IfcProcedure::type() const { return Type::IfcProcedure; } Type::Enum IfcProcedure::Class() { return Type::IfcProcedure; } IfcProcedure::IfcProcedure(IfcAbstractEntity* e) : IfcProcess((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProcedure)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProcedure::IfcProcedure(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_ProcedureID, IfcProcedureTypeEnum::IfcProcedureTypeEnum v7_ProcedureType, boost::optional< IfcLabel > v8_UserDefinedProcedureType) : IfcProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ProcedureID)); e->setArgument(6,v7_ProcedureType,IfcProcedureTypeEnum::ToString(v7_ProcedureType)); if (v8_UserDefinedProcedureType) { e->setArgument(7,(*v8_UserDefinedProcedureType)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcProcedure::IfcProcedure(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_ProcedureID, IfcProcedureTypeEnum::IfcProcedureTypeEnum v7_ProcedureType, boost::optional< std::string > v8_UserDefinedProcedureType) : IfcProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ProcedureID)); e->setArgument(6,v7_ProcedureType,IfcProcedureTypeEnum::ToString(v7_ProcedureType)); if (v8_UserDefinedProcedureType) { e->setArgument(7,(*v8_UserDefinedProcedureType)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProcess IfcRelAssignsToProcess::list::ptr IfcProcess::OperatesOn() const { return entity->getInverse(Type::IfcRelAssignsToProcess)->as(); } @@ -9593,7 +10997,7 @@ bool IfcProcess::is(Type::Enum v) const { return v == Type::IfcProcess || IfcObj Type::Enum IfcProcess::type() const { return Type::IfcProcess; } Type::Enum IfcProcess::Class() { return Type::IfcProcess; } IfcProcess::IfcProcess(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProcess)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProcess::IfcProcess(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcProcess::IfcProcess(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProduct bool IfcProduct::hasObjectPlacement() const { return !entity->getArgument(5)->isNull(); } @@ -9607,7 +11011,7 @@ bool IfcProduct::is(Type::Enum v) const { return v == Type::IfcProduct || IfcObj Type::Enum IfcProduct::type() const { return Type::IfcProduct; } Type::Enum IfcProduct::Class() { return Type::IfcProduct; } IfcProduct::IfcProduct(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProduct)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProduct::IfcProduct(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } +IfcProduct::IfcProduct(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProductDefinitionShape IfcProduct::list::ptr IfcProductDefinitionShape::ShapeOfProduct() const { return entity->getInverse(Type::IfcProduct)->as(); } @@ -9616,58 +11020,58 @@ bool IfcProductDefinitionShape::is(Type::Enum v) const { return v == Type::IfcPr Type::Enum IfcProductDefinitionShape::type() const { return Type::IfcProductDefinitionShape; } Type::Enum IfcProductDefinitionShape::Class() { return Type::IfcProductDefinitionShape; } IfcProductDefinitionShape::IfcProductDefinitionShape(IfcAbstractEntity* e) : IfcProductRepresentation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProductDefinitionShape)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProductRepresentation bool IfcProductRepresentation::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcProductRepresentation::Name() const { return *entity->getArgument(0); } -void IfcProductRepresentation::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcProductRepresentation::Name() const { return *entity->getArgument(0); } +void IfcProductRepresentation::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcProductRepresentation::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcProductRepresentation::Description() const { return *entity->getArgument(1); } -void IfcProductRepresentation::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcProductRepresentation::Description() const { return *entity->getArgument(1); } +void IfcProductRepresentation::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcTemplatedEntityList< IfcRepresentation >::ptr IfcProductRepresentation::Representations() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } void IfcProductRepresentation::setRepresentations(IfcTemplatedEntityList< IfcRepresentation >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } 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; } IfcProductRepresentation::IfcProductRepresentation(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcProductRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProductRepresentation::IfcProductRepresentation(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProductsOfCombustionProperties bool IfcProductsOfCombustionProperties::hasSpecificHeatCapacity() const { return !entity->getArgument(1)->isNull(); } -IfcSpecificHeatCapacityMeasure IfcProductsOfCombustionProperties::SpecificHeatCapacity() const { return *entity->getArgument(1); } -void IfcProductsOfCombustionProperties::setSpecificHeatCapacity(IfcSpecificHeatCapacityMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcProductsOfCombustionProperties::SpecificHeatCapacity() const { return *entity->getArgument(1); } +void IfcProductsOfCombustionProperties::setSpecificHeatCapacity(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcProductsOfCombustionProperties::hasN20Content() const { return !entity->getArgument(2)->isNull(); } -IfcPositiveRatioMeasure IfcProductsOfCombustionProperties::N20Content() const { return *entity->getArgument(2); } -void IfcProductsOfCombustionProperties::setN20Content(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcProductsOfCombustionProperties::N20Content() const { return *entity->getArgument(2); } +void IfcProductsOfCombustionProperties::setN20Content(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcProductsOfCombustionProperties::hasCOContent() const { return !entity->getArgument(3)->isNull(); } -IfcPositiveRatioMeasure IfcProductsOfCombustionProperties::COContent() const { return *entity->getArgument(3); } -void IfcProductsOfCombustionProperties::setCOContent(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcProductsOfCombustionProperties::COContent() const { return *entity->getArgument(3); } +void IfcProductsOfCombustionProperties::setCOContent(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcProductsOfCombustionProperties::hasCO2Content() const { return !entity->getArgument(4)->isNull(); } -IfcPositiveRatioMeasure IfcProductsOfCombustionProperties::CO2Content() const { return *entity->getArgument(4); } -void IfcProductsOfCombustionProperties::setCO2Content(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcProductsOfCombustionProperties::CO2Content() const { return *entity->getArgument(4); } +void IfcProductsOfCombustionProperties::setCO2Content(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcProductsOfCombustionProperties::is(Type::Enum v) const { return v == Type::IfcProductsOfCombustionProperties || IfcMaterialProperties::is(v); } Type::Enum IfcProductsOfCombustionProperties::type() const { return Type::IfcProductsOfCombustionProperties; } Type::Enum IfcProductsOfCombustionProperties::Class() { return Type::IfcProductsOfCombustionProperties; } IfcProductsOfCombustionProperties::IfcProductsOfCombustionProperties(IfcAbstractEntity* e) : IfcMaterialProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProductsOfCombustionProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProductsOfCombustionProperties::IfcProductsOfCombustionProperties(IfcMaterial* v1_Material, boost::optional< IfcSpecificHeatCapacityMeasure > v2_SpecificHeatCapacity, boost::optional< IfcPositiveRatioMeasure > v3_N20Content, boost::optional< IfcPositiveRatioMeasure > v4_COContent, boost::optional< IfcPositiveRatioMeasure > v5_CO2Content) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_SpecificHeatCapacity) { e->setArgument(1,(*v2_SpecificHeatCapacity)); } else { e->setArgument(1); } if (v3_N20Content) { e->setArgument(2,(*v3_N20Content)); } else { e->setArgument(2); } if (v4_COContent) { e->setArgument(3,(*v4_COContent)); } else { e->setArgument(3); } if (v5_CO2Content) { e->setArgument(4,(*v5_CO2Content)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcProductsOfCombustionProperties::IfcProductsOfCombustionProperties(IfcMaterial* v1_Material, boost::optional< double > v2_SpecificHeatCapacity, boost::optional< double > v3_N20Content, boost::optional< double > v4_COContent, boost::optional< double > v5_CO2Content) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_SpecificHeatCapacity) { e->setArgument(1,(*v2_SpecificHeatCapacity)); } else { e->setArgument(1); } if (v3_N20Content) { e->setArgument(2,(*v3_N20Content)); } else { e->setArgument(2); } if (v4_COContent) { e->setArgument(3,(*v4_COContent)); } else { e->setArgument(3); } if (v5_CO2Content) { e->setArgument(4,(*v5_CO2Content)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProfileDef IfcProfileTypeEnum::IfcProfileTypeEnum IfcProfileDef::ProfileType() const { return IfcProfileTypeEnum::FromString(*entity->getArgument(0)); } void IfcProfileDef::setProfileType(IfcProfileTypeEnum::IfcProfileTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcProfileTypeEnum::ToString(v)); } bool IfcProfileDef::hasProfileName() const { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcProfileDef::ProfileName() const { return *entity->getArgument(1); } -void IfcProfileDef::setProfileName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcProfileDef::ProfileName() const { return *entity->getArgument(1); } +void IfcProfileDef::setProfileName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcProfileDef::is(Type::Enum v) const { return v == Type::IfcProfileDef; } Type::Enum IfcProfileDef::type() const { return Type::IfcProfileDef; } Type::Enum IfcProfileDef::Class() { return Type::IfcProfileDef; } IfcProfileDef::IfcProfileDef(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProfileDef::IfcProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcProfileDef::IfcProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProfileProperties bool IfcProfileProperties::hasProfileName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcProfileProperties::ProfileName() const { return *entity->getArgument(0); } -void IfcProfileProperties::setProfileName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcProfileProperties::ProfileName() const { return *entity->getArgument(0); } +void IfcProfileProperties::setProfileName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcProfileProperties::hasProfileDefinition() const { return !entity->getArgument(1)->isNull(); } IfcProfileDef* IfcProfileProperties::ProfileDefinition() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcProfileProperties::setProfileDefinition(IfcProfileDef* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } @@ -9675,15 +11079,15 @@ bool IfcProfileProperties::is(Type::Enum v) const { return v == Type::IfcProfile Type::Enum IfcProfileProperties::type() const { return Type::IfcProfileProperties; } Type::Enum IfcProfileProperties::Class() { return Type::IfcProfileProperties; } IfcProfileProperties::IfcProfileProperties(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProfileProperties::IfcProfileProperties(boost::optional< IfcLabel > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ProfileName) { e->setArgument(0,(*v1_ProfileName)); } else { e->setArgument(0); } e->setArgument(1,(v2_ProfileDefinition)); entity = e; EntityBuffer::Add(this); } +IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ProfileName) { e->setArgument(0,(*v1_ProfileName)); } else { e->setArgument(0); } e->setArgument(1,(v2_ProfileDefinition)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProject bool IfcProject::hasLongName() const { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcProject::LongName() const { return *entity->getArgument(5); } -void IfcProject::setLongName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcProject::LongName() const { return *entity->getArgument(5); } +void IfcProject::setLongName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcProject::hasPhase() const { return !entity->getArgument(6)->isNull(); } -IfcLabel IfcProject::Phase() const { return *entity->getArgument(6); } -void IfcProject::setPhase(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcProject::Phase() const { return *entity->getArgument(6); } +void IfcProject::setPhase(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } IfcTemplatedEntityList< IfcRepresentationContext >::ptr IfcProject::RepresentationContexts() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } void IfcProject::setRepresentationContexts(IfcTemplatedEntityList< IfcRepresentationContext >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } IfcUnitAssignment* IfcProject::UnitsInContext() const { return (IfcUnitAssignment*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } @@ -9692,21 +11096,21 @@ bool IfcProject::is(Type::Enum v) const { return v == Type::IfcProject || IfcObj Type::Enum IfcProject::type() const { return Type::IfcProject; } Type::Enum IfcProject::Class() { return Type::IfcProject; } IfcProject::IfcProject(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProject::IfcProject(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcLabel > v7_Phase, IfcTemplatedEntityList< IfcRepresentationContext >::ptr v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_Phase) { e->setArgument(6,(*v7_Phase)); } else { e->setArgument(6); } e->setArgument(7,(v8_RepresentationContexts)->generalize()); e->setArgument(8,(v9_UnitsInContext)); entity = e; EntityBuffer::Add(this); } +IfcProject::IfcProject(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, IfcTemplatedEntityList< IfcRepresentationContext >::ptr v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_Phase) { e->setArgument(6,(*v7_Phase)); } else { e->setArgument(6); } e->setArgument(7,(v8_RepresentationContexts)->generalize()); e->setArgument(8,(v9_UnitsInContext)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProjectOrder -IfcIdentifier IfcProjectOrder::ID() const { return *entity->getArgument(5); } -void IfcProjectOrder::setID(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcProjectOrder::ID() const { return *entity->getArgument(5); } +void IfcProjectOrder::setID(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum IfcProjectOrder::PredefinedType() const { return IfcProjectOrderTypeEnum::FromString(*entity->getArgument(6)); } void IfcProjectOrder::setPredefinedType(IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcProjectOrderTypeEnum::ToString(v)); } bool IfcProjectOrder::hasStatus() const { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcProjectOrder::Status() const { return *entity->getArgument(7); } -void IfcProjectOrder::setStatus(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcProjectOrder::Status() const { return *entity->getArgument(7); } +void IfcProjectOrder::setStatus(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcProjectOrder::is(Type::Enum v) const { return v == Type::IfcProjectOrder || IfcControl::is(v); } Type::Enum IfcProjectOrder::type() const { return Type::IfcProjectOrder; } Type::Enum IfcProjectOrder::Class() { return Type::IfcProjectOrder; } IfcProjectOrder::IfcProjectOrder(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProjectOrder)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProjectOrder::IfcProjectOrder(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_ID, IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum v7_PredefinedType, boost::optional< IfcLabel > v8_Status) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ID)); e->setArgument(6,v7_PredefinedType,IfcProjectOrderTypeEnum::ToString(v7_PredefinedType)); if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_ID, IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum v7_PredefinedType, boost::optional< std::string > v8_Status) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ID)); e->setArgument(6,v7_PredefinedType,IfcProjectOrderTypeEnum::ToString(v7_PredefinedType)); if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProjectOrderRecord IfcTemplatedEntityList< IfcRelAssignsToProjectOrder >::ptr IfcProjectOrderRecord::Records() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } @@ -9717,28 +11121,28 @@ bool IfcProjectOrderRecord::is(Type::Enum v) const { return v == Type::IfcProjec Type::Enum IfcProjectOrderRecord::type() const { return Type::IfcProjectOrderRecord; } Type::Enum IfcProjectOrderRecord::Class() { return Type::IfcProjectOrderRecord; } IfcProjectOrderRecord::IfcProjectOrderRecord(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProjectOrderRecord)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProjectOrderRecord::IfcProjectOrderRecord(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcTemplatedEntityList< IfcRelAssignsToProjectOrder >::ptr v6_Records, IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordTypeEnum v7_PredefinedType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Records)->generalize()); e->setArgument(6,v7_PredefinedType,IfcProjectOrderRecordTypeEnum::ToString(v7_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcProjectOrderRecord::IfcProjectOrderRecord(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcTemplatedEntityList< IfcRelAssignsToProjectOrder >::ptr v6_Records, IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordTypeEnum v7_PredefinedType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Records)->generalize()); e->setArgument(6,v7_PredefinedType,IfcProjectOrderRecordTypeEnum::ToString(v7_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProjectionCurve bool IfcProjectionCurve::is(Type::Enum v) const { return v == Type::IfcProjectionCurve || IfcAnnotationCurveOccurrence::is(v); } Type::Enum IfcProjectionCurve::type() const { return Type::IfcProjectionCurve; } Type::Enum IfcProjectionCurve::Class() { return Type::IfcProjectionCurve; } IfcProjectionCurve::IfcProjectionCurve(IfcAbstractEntity* e) : IfcAnnotationCurveOccurrence((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProjectionCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProjectionCurve::IfcProjectionCurve(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcAnnotationCurveOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcProjectionCurve::IfcProjectionCurve(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationCurveOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProjectionElement bool IfcProjectionElement::is(Type::Enum v) const { return v == Type::IfcProjectionElement || IfcFeatureElementAddition::is(v); } Type::Enum IfcProjectionElement::type() const { return Type::IfcProjectionElement; } Type::Enum IfcProjectionElement::Class() { return Type::IfcProjectionElement; } IfcProjectionElement::IfcProjectionElement(IfcAbstractEntity* e) : IfcFeatureElementAddition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProjectionElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProjectionElement::IfcProjectionElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcFeatureElementAddition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElementAddition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProperty -IfcIdentifier IfcProperty::Name() const { return *entity->getArgument(0); } -void IfcProperty::setName(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcProperty::Name() const { return *entity->getArgument(0); } +void IfcProperty::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcProperty::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcProperty::Description() const { return *entity->getArgument(1); } -void IfcProperty::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcProperty::Description() const { return *entity->getArgument(1); } +void IfcProperty::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcPropertyDependencyRelationship::list::ptr IfcProperty::PropertyForDependance() const { return entity->getInverse(Type::IfcPropertyDependencyRelationship)->as(); } IfcPropertyDependencyRelationship::list::ptr IfcProperty::PropertyDependsOn() const { return entity->getInverse(Type::IfcPropertyDependencyRelationship)->as(); } IfcComplexProperty::list::ptr IfcProperty::PartOfComplex() const { return entity->getInverse(Type::IfcComplexProperty)->as(); } @@ -9746,23 +11150,23 @@ bool IfcProperty::is(Type::Enum v) const { return v == Type::IfcProperty; } Type::Enum IfcProperty::type() const { return Type::IfcProperty; } Type::Enum IfcProperty::Class() { return Type::IfcProperty; } IfcProperty::IfcProperty(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcProperty)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProperty::IfcProperty(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyBoundedValue bool IfcPropertyBoundedValue::hasUpperBoundValue() const { return !entity->getArgument(2)->isNull(); } -IfcValue IfcPropertyBoundedValue::UpperBoundValue() const { return *entity->getArgument(2); } -void IfcPropertyBoundedValue::setUpperBoundValue(IfcValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +IfcValue* IfcPropertyBoundedValue::UpperBoundValue() const { return (IfcValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } +void IfcPropertyBoundedValue::setUpperBoundValue(IfcValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPropertyBoundedValue::hasLowerBoundValue() const { return !entity->getArgument(3)->isNull(); } -IfcValue IfcPropertyBoundedValue::LowerBoundValue() const { return *entity->getArgument(3); } -void IfcPropertyBoundedValue::setLowerBoundValue(IfcValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +IfcValue* IfcPropertyBoundedValue::LowerBoundValue() const { return (IfcValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } +void IfcPropertyBoundedValue::setLowerBoundValue(IfcValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcPropertyBoundedValue::hasUnit() const { return !entity->getArgument(4)->isNull(); } -IfcUnit IfcPropertyBoundedValue::Unit() const { return *entity->getArgument(4); } -void IfcPropertyBoundedValue::setUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +IfcUnit* IfcPropertyBoundedValue::Unit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } +void IfcPropertyBoundedValue::setUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcPropertyBoundedValue::is(Type::Enum v) const { return v == Type::IfcPropertyBoundedValue || IfcSimpleProperty::is(v); } Type::Enum IfcPropertyBoundedValue::type() const { return Type::IfcPropertyBoundedValue; } Type::Enum IfcPropertyBoundedValue::Class() { return Type::IfcPropertyBoundedValue; } IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyBoundedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcValue > v3_UpperBoundValue, boost::optional< IfcValue > v4_LowerBoundValue, boost::optional< IfcUnit > v5_Unit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UpperBoundValue) { e->setArgument(2,(*v3_UpperBoundValue)); } else { e->setArgument(2); } if (v4_LowerBoundValue) { e->setArgument(3,(*v4_LowerBoundValue)); } else { e->setArgument(3); } if (v5_Unit) { e->setArgument(4,(*v5_Unit)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Description, IfcValue* v3_UpperBoundValue, IfcValue* v4_LowerBoundValue, IfcUnit* v5_Unit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_UpperBoundValue)); e->setArgument(3,(v4_LowerBoundValue)); e->setArgument(4,(v5_Unit)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyConstraintRelationship IfcConstraint* IfcPropertyConstraintRelationship::RelatingConstraint() const { return (IfcConstraint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -9770,16 +11174,16 @@ void IfcPropertyConstraintRelationship::setRelatingConstraint(IfcConstraint* v) IfcTemplatedEntityList< IfcProperty >::ptr IfcPropertyConstraintRelationship::RelatedProperties() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } void IfcPropertyConstraintRelationship::setRelatedProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } bool IfcPropertyConstraintRelationship::hasName() const { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcPropertyConstraintRelationship::Name() const { return *entity->getArgument(2); } -void IfcPropertyConstraintRelationship::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcPropertyConstraintRelationship::Name() const { return *entity->getArgument(2); } +void IfcPropertyConstraintRelationship::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPropertyConstraintRelationship::hasDescription() const { return !entity->getArgument(3)->isNull(); } -IfcText IfcPropertyConstraintRelationship::Description() const { return *entity->getArgument(3); } -void IfcPropertyConstraintRelationship::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcPropertyConstraintRelationship::Description() const { return *entity->getArgument(3); } +void IfcPropertyConstraintRelationship::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcPropertyConstraintRelationship::is(Type::Enum v) const { return v == Type::IfcPropertyConstraintRelationship; } Type::Enum IfcPropertyConstraintRelationship::type() const { return Type::IfcPropertyConstraintRelationship; } Type::Enum IfcPropertyConstraintRelationship::Class() { return Type::IfcPropertyConstraintRelationship; } IfcPropertyConstraintRelationship::IfcPropertyConstraintRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPropertyConstraintRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyConstraintRelationship::IfcPropertyConstraintRelationship(IfcConstraint* v1_RelatingConstraint, IfcTemplatedEntityList< IfcProperty >::ptr v2_RelatedProperties, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RelatingConstraint)); e->setArgument(1,(v2_RelatedProperties)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPropertyConstraintRelationship::IfcPropertyConstraintRelationship(IfcConstraint* v1_RelatingConstraint, IfcTemplatedEntityList< IfcProperty >::ptr v2_RelatedProperties, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RelatingConstraint)); e->setArgument(1,(v2_RelatedProperties)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyDefinition IfcRelAssociates::list::ptr IfcPropertyDefinition::HasAssociations() const { return entity->getInverse(Type::IfcRelAssociates)->as(); } @@ -9787,7 +11191,7 @@ bool IfcPropertyDefinition::is(Type::Enum v) const { return v == Type::IfcProper Type::Enum IfcPropertyDefinition::type() const { return Type::IfcPropertyDefinition; } Type::Enum IfcPropertyDefinition::Class() { return Type::IfcPropertyDefinition; } IfcPropertyDefinition::IfcPropertyDefinition(IfcAbstractEntity* e) : IfcRoot((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyDefinition::IfcPropertyDefinition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRoot((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyDependencyRelationship IfcProperty* IfcPropertyDependencyRelationship::DependingProperty() const { return (IfcProperty*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -9795,23 +11199,23 @@ void IfcPropertyDependencyRelationship::setDependingProperty(IfcProperty* v) { i IfcProperty* IfcPropertyDependencyRelationship::DependantProperty() const { return (IfcProperty*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcPropertyDependencyRelationship::setDependantProperty(IfcProperty* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcPropertyDependencyRelationship::hasName() const { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcPropertyDependencyRelationship::Name() const { return *entity->getArgument(2); } -void IfcPropertyDependencyRelationship::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcPropertyDependencyRelationship::Name() const { return *entity->getArgument(2); } +void IfcPropertyDependencyRelationship::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPropertyDependencyRelationship::hasDescription() const { return !entity->getArgument(3)->isNull(); } -IfcText IfcPropertyDependencyRelationship::Description() const { return *entity->getArgument(3); } -void IfcPropertyDependencyRelationship::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcPropertyDependencyRelationship::Description() const { return *entity->getArgument(3); } +void IfcPropertyDependencyRelationship::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcPropertyDependencyRelationship::hasExpression() const { return !entity->getArgument(4)->isNull(); } -IfcText IfcPropertyDependencyRelationship::Expression() const { return *entity->getArgument(4); } -void IfcPropertyDependencyRelationship::setExpression(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcPropertyDependencyRelationship::Expression() const { return *entity->getArgument(4); } +void IfcPropertyDependencyRelationship::setExpression(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcPropertyDependencyRelationship::is(Type::Enum v) const { return v == Type::IfcPropertyDependencyRelationship; } Type::Enum IfcPropertyDependencyRelationship::type() const { return Type::IfcPropertyDependencyRelationship; } Type::Enum IfcPropertyDependencyRelationship::Class() { return Type::IfcPropertyDependencyRelationship; } IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPropertyDependencyRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcProperty* v1_DependingProperty, IfcProperty* v2_DependantProperty, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcText > v5_Expression) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_DependingProperty)); e->setArgument(1,(v2_DependantProperty)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_Expression) { e->setArgument(4,(*v5_Expression)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcProperty* v1_DependingProperty, IfcProperty* v2_DependantProperty, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_Expression) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_DependingProperty)); e->setArgument(1,(v2_DependantProperty)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_Expression) { e->setArgument(4,(*v5_Expression)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyEnumeratedValue -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPropertyEnumeratedValue::EnumerationValues() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcPropertyEnumeratedValue::setEnumerationValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +IfcEntityList::ptr IfcPropertyEnumeratedValue::EnumerationValues() const { return *entity->getArgument(2); } +void IfcPropertyEnumeratedValue::setEnumerationValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPropertyEnumeratedValue::hasEnumerationReference() const { return !entity->getArgument(3)->isNull(); } IfcPropertyEnumeration* IfcPropertyEnumeratedValue::EnumerationReference() const { return (IfcPropertyEnumeration*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcPropertyEnumeratedValue::setEnumerationReference(IfcPropertyEnumeration* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } @@ -9819,45 +11223,45 @@ bool IfcPropertyEnumeratedValue::is(Type::Enum v) const { return v == Type::IfcP Type::Enum IfcPropertyEnumeratedValue::type() const { return Type::IfcPropertyEnumeratedValue; } Type::Enum IfcPropertyEnumeratedValue::Class() { return Type::IfcPropertyEnumeratedValue; } IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyEnumeratedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_EnumerationValues, IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_EnumerationValues)); e->setArgument(3,(v4_EnumerationReference)); entity = e; EntityBuffer::Add(this); } +IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_EnumerationValues, IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_EnumerationValues)); e->setArgument(3,(v4_EnumerationReference)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyEnumeration -IfcLabel IfcPropertyEnumeration::Name() const { return *entity->getArgument(0); } -void IfcPropertyEnumeration::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPropertyEnumeration::EnumerationValues() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcPropertyEnumeration::setEnumerationValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +std::string IfcPropertyEnumeration::Name() const { return *entity->getArgument(0); } +void IfcPropertyEnumeration::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcEntityList::ptr IfcPropertyEnumeration::EnumerationValues() const { return *entity->getArgument(1); } +void IfcPropertyEnumeration::setEnumerationValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcPropertyEnumeration::hasUnit() const { return !entity->getArgument(2)->isNull(); } -IfcUnit IfcPropertyEnumeration::Unit() const { return *entity->getArgument(2); } -void IfcPropertyEnumeration::setUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +IfcUnit* IfcPropertyEnumeration::Unit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } +void IfcPropertyEnumeration::setUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPropertyEnumeration::is(Type::Enum v) const { return v == Type::IfcPropertyEnumeration; } Type::Enum IfcPropertyEnumeration::type() const { return Type::IfcPropertyEnumeration; } Type::Enum IfcPropertyEnumeration::Class() { return Type::IfcPropertyEnumeration; } IfcPropertyEnumeration::IfcPropertyEnumeration(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPropertyEnumeration)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyEnumeration::IfcPropertyEnumeration(IfcLabel v1_Name, IfcEntityList::ptr v2_EnumerationValues, boost::optional< IfcUnit > v3_Unit) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); e->setArgument(1,(v2_EnumerationValues)); if (v3_Unit) { e->setArgument(2,(*v3_Unit)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, IfcEntityList::ptr v2_EnumerationValues, IfcUnit* v3_Unit) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); e->setArgument(1,(v2_EnumerationValues)); e->setArgument(2,(v3_Unit)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyListValue -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPropertyListValue::ListValues() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcPropertyListValue::setListValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +IfcEntityList::ptr IfcPropertyListValue::ListValues() const { return *entity->getArgument(2); } +void IfcPropertyListValue::setListValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPropertyListValue::hasUnit() const { return !entity->getArgument(3)->isNull(); } -IfcUnit IfcPropertyListValue::Unit() const { return *entity->getArgument(3); } -void IfcPropertyListValue::setUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +IfcUnit* IfcPropertyListValue::Unit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } +void IfcPropertyListValue::setUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcPropertyListValue::is(Type::Enum v) const { return v == Type::IfcPropertyListValue || IfcSimpleProperty::is(v); } Type::Enum IfcPropertyListValue::type() const { return Type::IfcPropertyListValue; } Type::Enum IfcPropertyListValue::Class() { return Type::IfcPropertyListValue; } IfcPropertyListValue::IfcPropertyListValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyListValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyListValue::IfcPropertyListValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_ListValues, boost::optional< IfcUnit > v4_Unit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_ListValues)); if (v4_Unit) { e->setArgument(3,(*v4_Unit)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_ListValues, IfcUnit* v4_Unit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_ListValues)); e->setArgument(3,(v4_Unit)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyReferenceValue bool IfcPropertyReferenceValue::hasUsageName() const { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcPropertyReferenceValue::UsageName() const { return *entity->getArgument(2); } -void IfcPropertyReferenceValue::setUsageName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcObjectReferenceSelect IfcPropertyReferenceValue::PropertyReference() const { return *entity->getArgument(3); } -void IfcPropertyReferenceValue::setPropertyReference(IfcObjectReferenceSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcPropertyReferenceValue::UsageName() const { return *entity->getArgument(2); } +void IfcPropertyReferenceValue::setUsageName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +IfcObjectReferenceSelect* IfcPropertyReferenceValue::PropertyReference() const { return (IfcObjectReferenceSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } +void IfcPropertyReferenceValue::setPropertyReference(IfcObjectReferenceSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcPropertyReferenceValue::is(Type::Enum v) const { return v == Type::IfcPropertyReferenceValue || IfcSimpleProperty::is(v); } Type::Enum IfcPropertyReferenceValue::type() const { return Type::IfcPropertyReferenceValue; } Type::Enum IfcPropertyReferenceValue::Class() { return Type::IfcPropertyReferenceValue; } IfcPropertyReferenceValue::IfcPropertyReferenceValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyReferenceValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyReferenceValue::IfcPropertyReferenceValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UsageName, IfcObjectReferenceSelect v4_PropertyReference) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UsageName) { e->setArgument(2,(*v3_UsageName)); } else { e->setArgument(2); } e->setArgument(3,(v4_PropertyReference)); entity = e; EntityBuffer::Add(this); } +IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UsageName, IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UsageName) { e->setArgument(2,(*v3_UsageName)); } else { e->setArgument(2); } e->setArgument(3,(v4_PropertyReference)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertySet IfcTemplatedEntityList< IfcProperty >::ptr IfcPropertySet::HasProperties() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } @@ -9866,7 +11270,7 @@ bool IfcPropertySet::is(Type::Enum v) const { return v == Type::IfcPropertySet | Type::Enum IfcPropertySet::type() const { return Type::IfcPropertySet; } Type::Enum IfcPropertySet::Class() { return Type::IfcPropertySet; } IfcPropertySet::IfcPropertySet(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertySet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertySet::IfcPropertySet(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_HasProperties)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_HasProperties)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertySetDefinition IfcRelDefinesByProperties::list::ptr IfcPropertySetDefinition::PropertyDefinitionOf() const { return entity->getInverse(Type::IfcRelDefinesByProperties)->as(); } @@ -9875,40 +11279,40 @@ bool IfcPropertySetDefinition::is(Type::Enum v) const { return v == Type::IfcPro Type::Enum IfcPropertySetDefinition::type() const { return Type::IfcPropertySetDefinition; } Type::Enum IfcPropertySetDefinition::Class() { return Type::IfcPropertySetDefinition; } IfcPropertySetDefinition::IfcPropertySetDefinition(IfcAbstractEntity* e) : IfcPropertyDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertySetDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertySetDefinition::IfcPropertySetDefinition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcPropertyDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertySingleValue bool IfcPropertySingleValue::hasNominalValue() const { return !entity->getArgument(2)->isNull(); } -IfcValue IfcPropertySingleValue::NominalValue() const { return *entity->getArgument(2); } -void IfcPropertySingleValue::setNominalValue(IfcValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +IfcValue* IfcPropertySingleValue::NominalValue() const { return (IfcValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } +void IfcPropertySingleValue::setNominalValue(IfcValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPropertySingleValue::hasUnit() const { return !entity->getArgument(3)->isNull(); } -IfcUnit IfcPropertySingleValue::Unit() const { return *entity->getArgument(3); } -void IfcPropertySingleValue::setUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +IfcUnit* IfcPropertySingleValue::Unit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } +void IfcPropertySingleValue::setUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcPropertySingleValue::is(Type::Enum v) const { return v == Type::IfcPropertySingleValue || IfcSimpleProperty::is(v); } Type::Enum IfcPropertySingleValue::type() const { return Type::IfcPropertySingleValue; } Type::Enum IfcPropertySingleValue::Class() { return Type::IfcPropertySingleValue; } IfcPropertySingleValue::IfcPropertySingleValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertySingleValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertySingleValue::IfcPropertySingleValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcValue > v3_NominalValue, boost::optional< IfcUnit > v4_Unit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_NominalValue) { e->setArgument(2,(*v3_NominalValue)); } else { e->setArgument(2); } if (v4_Unit) { e->setArgument(3,(*v4_Unit)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, IfcValue* v3_NominalValue, IfcUnit* v4_Unit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_NominalValue)); e->setArgument(3,(v4_Unit)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyTableValue -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPropertyTableValue::DefiningValues() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcPropertyTableValue::setDefiningValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPropertyTableValue::DefinedValues() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } -void IfcPropertyTableValue::setDefinedValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +IfcEntityList::ptr IfcPropertyTableValue::DefiningValues() const { return *entity->getArgument(2); } +void IfcPropertyTableValue::setDefiningValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +IfcEntityList::ptr IfcPropertyTableValue::DefinedValues() const { return *entity->getArgument(3); } +void IfcPropertyTableValue::setDefinedValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcPropertyTableValue::hasExpression() const { return !entity->getArgument(4)->isNull(); } -IfcText IfcPropertyTableValue::Expression() const { return *entity->getArgument(4); } -void IfcPropertyTableValue::setExpression(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcPropertyTableValue::Expression() const { return *entity->getArgument(4); } +void IfcPropertyTableValue::setExpression(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcPropertyTableValue::hasDefiningUnit() const { return !entity->getArgument(5)->isNull(); } -IfcUnit IfcPropertyTableValue::DefiningUnit() const { return *entity->getArgument(5); } -void IfcPropertyTableValue::setDefiningUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +IfcUnit* IfcPropertyTableValue::DefiningUnit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcPropertyTableValue::setDefiningUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcPropertyTableValue::hasDefinedUnit() const { return !entity->getArgument(6)->isNull(); } -IfcUnit IfcPropertyTableValue::DefinedUnit() const { return *entity->getArgument(6); } -void IfcPropertyTableValue::setDefinedUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +IfcUnit* IfcPropertyTableValue::DefinedUnit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } +void IfcPropertyTableValue::setDefinedUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcPropertyTableValue::is(Type::Enum v) const { return v == Type::IfcPropertyTableValue || IfcSimpleProperty::is(v); } Type::Enum IfcPropertyTableValue::type() const { return Type::IfcPropertyTableValue; } Type::Enum IfcPropertyTableValue::Class() { return Type::IfcPropertyTableValue; } IfcPropertyTableValue::IfcPropertyTableValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyTableValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyTableValue::IfcPropertyTableValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_DefiningValues, IfcEntityList::ptr v4_DefinedValues, boost::optional< IfcText > v5_Expression, boost::optional< IfcUnit > v6_DefiningUnit, boost::optional< IfcUnit > v7_DefinedUnit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_DefiningValues)); e->setArgument(3,(v4_DefinedValues)); if (v5_Expression) { e->setArgument(4,(*v5_Expression)); } else { e->setArgument(4); } if (v6_DefiningUnit) { e->setArgument(5,(*v6_DefiningUnit)); } else { e->setArgument(5); } if (v7_DefinedUnit) { e->setArgument(6,(*v7_DefinedUnit)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_DefiningValues, IfcEntityList::ptr v4_DefinedValues, boost::optional< std::string > v5_Expression, IfcUnit* v6_DefiningUnit, IfcUnit* v7_DefinedUnit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_DefiningValues)); e->setArgument(3,(v4_DefinedValues)); if (v5_Expression) { e->setArgument(4,(*v5_Expression)); } else { e->setArgument(4); } e->setArgument(5,(v6_DefiningUnit)); e->setArgument(6,(v7_DefinedUnit)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProtectiveDeviceType IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum IfcProtectiveDeviceType::PredefinedType() const { return IfcProtectiveDeviceTypeEnum::FromString(*entity->getArgument(9)); } @@ -9917,19 +11321,19 @@ bool IfcProtectiveDeviceType::is(Type::Enum v) const { return v == Type::IfcProt Type::Enum IfcProtectiveDeviceType::type() const { return Type::IfcProtectiveDeviceType; } Type::Enum IfcProtectiveDeviceType::Class() { return Type::IfcProtectiveDeviceType; } IfcProtectiveDeviceType::IfcProtectiveDeviceType(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProtectiveDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProtectiveDeviceType::IfcProtectiveDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcProtectiveDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcProtectiveDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProxy IfcObjectTypeEnum::IfcObjectTypeEnum IfcProxy::ProxyType() const { return IfcObjectTypeEnum::FromString(*entity->getArgument(7)); } void IfcProxy::setProxyType(IfcObjectTypeEnum::IfcObjectTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcObjectTypeEnum::ToString(v)); } bool IfcProxy::hasTag() const { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcProxy::Tag() const { return *entity->getArgument(8); } -void IfcProxy::setTag(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcProxy::Tag() const { return *entity->getArgument(8); } +void IfcProxy::setTag(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcProxy::is(Type::Enum v) const { return v == Type::IfcProxy || IfcProduct::is(v); } Type::Enum IfcProxy::type() const { return Type::IfcProxy; } Type::Enum IfcProxy::Class() { return Type::IfcProxy; } IfcProxy::IfcProxy(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProxy)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProxy::IfcProxy(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcObjectTypeEnum::IfcObjectTypeEnum v8_ProxyType, boost::optional< IfcLabel > v9_Tag) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_ProxyType,IfcObjectTypeEnum::ToString(v8_ProxyType)); if (v9_Tag) { e->setArgument(8,(*v9_Tag)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcProxy::IfcProxy(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcObjectTypeEnum::IfcObjectTypeEnum v8_ProxyType, boost::optional< std::string > v9_Tag) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_ProxyType,IfcObjectTypeEnum::ToString(v8_ProxyType)); if (v9_Tag) { e->setArgument(8,(*v9_Tag)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPumpType IfcPumpTypeEnum::IfcPumpTypeEnum IfcPumpType::PredefinedType() const { return IfcPumpTypeEnum::FromString(*entity->getArgument(9)); } @@ -9938,61 +11342,61 @@ bool IfcPumpType::is(Type::Enum v) const { return v == Type::IfcPumpType || IfcF Type::Enum IfcPumpType::type() const { return Type::IfcPumpType; } Type::Enum IfcPumpType::Class() { return Type::IfcPumpType; } IfcPumpType::IfcPumpType(IfcAbstractEntity* e) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPumpType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPumpType::IfcPumpType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPumpTypeEnum::IfcPumpTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPumpTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcPumpType::IfcPumpType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPumpTypeEnum::IfcPumpTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPumpTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityArea -IfcAreaMeasure IfcQuantityArea::AreaValue() const { return *entity->getArgument(3); } -void IfcQuantityArea::setAreaValue(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcQuantityArea::AreaValue() const { return *entity->getArgument(3); } +void IfcQuantityArea::setAreaValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcQuantityArea::is(Type::Enum v) const { return v == Type::IfcQuantityArea || IfcPhysicalSimpleQuantity::is(v); } Type::Enum IfcQuantityArea::type() const { return Type::IfcQuantityArea; } Type::Enum IfcQuantityArea::Class() { return Type::IfcQuantityArea; } IfcQuantityArea::IfcQuantityArea(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityArea)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityArea::IfcQuantityArea(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcAreaMeasure v4_AreaValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_AreaValue)); entity = e; EntityBuffer::Add(this); } +IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_AreaValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_AreaValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityCount -IfcCountMeasure IfcQuantityCount::CountValue() const { return *entity->getArgument(3); } -void IfcQuantityCount::setCountValue(IfcCountMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcQuantityCount::CountValue() const { return *entity->getArgument(3); } +void IfcQuantityCount::setCountValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcQuantityCount::is(Type::Enum v) const { return v == Type::IfcQuantityCount || IfcPhysicalSimpleQuantity::is(v); } Type::Enum IfcQuantityCount::type() const { return Type::IfcQuantityCount; } Type::Enum IfcQuantityCount::Class() { return Type::IfcQuantityCount; } IfcQuantityCount::IfcQuantityCount(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityCount)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityCount::IfcQuantityCount(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcCountMeasure v4_CountValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_CountValue)); entity = e; EntityBuffer::Add(this); } +IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_CountValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_CountValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityLength -IfcLengthMeasure IfcQuantityLength::LengthValue() const { return *entity->getArgument(3); } -void IfcQuantityLength::setLengthValue(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcQuantityLength::LengthValue() const { return *entity->getArgument(3); } +void IfcQuantityLength::setLengthValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcQuantityLength::is(Type::Enum v) const { return v == Type::IfcQuantityLength || IfcPhysicalSimpleQuantity::is(v); } Type::Enum IfcQuantityLength::type() const { return Type::IfcQuantityLength; } Type::Enum IfcQuantityLength::Class() { return Type::IfcQuantityLength; } IfcQuantityLength::IfcQuantityLength(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityLength)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityLength::IfcQuantityLength(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcLengthMeasure v4_LengthValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_LengthValue)); entity = e; EntityBuffer::Add(this); } +IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_LengthValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_LengthValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityTime -IfcTimeMeasure IfcQuantityTime::TimeValue() const { return *entity->getArgument(3); } -void IfcQuantityTime::setTimeValue(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcQuantityTime::TimeValue() const { return *entity->getArgument(3); } +void IfcQuantityTime::setTimeValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcQuantityTime::is(Type::Enum v) const { return v == Type::IfcQuantityTime || IfcPhysicalSimpleQuantity::is(v); } Type::Enum IfcQuantityTime::type() const { return Type::IfcQuantityTime; } Type::Enum IfcQuantityTime::Class() { return Type::IfcQuantityTime; } IfcQuantityTime::IfcQuantityTime(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityTime::IfcQuantityTime(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcTimeMeasure v4_TimeValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_TimeValue)); entity = e; EntityBuffer::Add(this); } +IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_TimeValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_TimeValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityVolume -IfcVolumeMeasure IfcQuantityVolume::VolumeValue() const { return *entity->getArgument(3); } -void IfcQuantityVolume::setVolumeValue(IfcVolumeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcQuantityVolume::VolumeValue() const { return *entity->getArgument(3); } +void IfcQuantityVolume::setVolumeValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcQuantityVolume::is(Type::Enum v) const { return v == Type::IfcQuantityVolume || IfcPhysicalSimpleQuantity::is(v); } Type::Enum IfcQuantityVolume::type() const { return Type::IfcQuantityVolume; } Type::Enum IfcQuantityVolume::Class() { return Type::IfcQuantityVolume; } IfcQuantityVolume::IfcQuantityVolume(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityVolume)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityVolume::IfcQuantityVolume(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcVolumeMeasure v4_VolumeValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_VolumeValue)); entity = e; EntityBuffer::Add(this); } +IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_VolumeValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_VolumeValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityWeight -IfcMassMeasure IfcQuantityWeight::WeightValue() const { return *entity->getArgument(3); } -void IfcQuantityWeight::setWeightValue(IfcMassMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcQuantityWeight::WeightValue() const { return *entity->getArgument(3); } +void IfcQuantityWeight::setWeightValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcQuantityWeight::is(Type::Enum v) const { return v == Type::IfcQuantityWeight || IfcPhysicalSimpleQuantity::is(v); } Type::Enum IfcQuantityWeight::type() const { return Type::IfcQuantityWeight; } Type::Enum IfcQuantityWeight::Class() { return Type::IfcQuantityWeight; } IfcQuantityWeight::IfcQuantityWeight(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityWeight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityWeight::IfcQuantityWeight(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcMassMeasure v4_WeightValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_WeightValue)); entity = e; EntityBuffer::Add(this); } +IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_WeightValue) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_WeightValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRadiusDimension bool IfcRadiusDimension::is(Type::Enum v) const { return v == Type::IfcRadiusDimension || IfcDimensionCurveDirectedCallout::is(v); } @@ -10009,7 +11413,7 @@ bool IfcRailing::is(Type::Enum v) const { return v == Type::IfcRailing || IfcBui Type::Enum IfcRailing::type() const { return Type::IfcRailing; } Type::Enum IfcRailing::Class() { return Type::IfcRailing; } IfcRailing::IfcRailing(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRailing)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRailing::IfcRailing(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcRailingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcRailing::IfcRailing(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcRailingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRailingType IfcRailingTypeEnum::IfcRailingTypeEnum IfcRailingType::PredefinedType() const { return IfcRailingTypeEnum::FromString(*entity->getArgument(9)); } @@ -10018,7 +11422,7 @@ bool IfcRailingType::is(Type::Enum v) const { return v == Type::IfcRailingType | Type::Enum IfcRailingType::type() const { return Type::IfcRailingType; } Type::Enum IfcRailingType::Class() { return Type::IfcRailingType; } IfcRailingType::IfcRailingType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRailingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRailingType::IfcRailingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRailingTypeEnum::IfcRailingTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRailingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcRailingType::IfcRailingType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRailingTypeEnum::IfcRailingTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRailingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRamp IfcRampTypeEnum::IfcRampTypeEnum IfcRamp::ShapeType() const { return IfcRampTypeEnum::FromString(*entity->getArgument(8)); } @@ -10027,14 +11431,14 @@ bool IfcRamp::is(Type::Enum v) const { return v == Type::IfcRamp || IfcBuildingE Type::Enum IfcRamp::type() const { return Type::IfcRamp; } Type::Enum IfcRamp::Class() { return Type::IfcRamp; } IfcRamp::IfcRamp(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRamp)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRamp::IfcRamp(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcRampTypeEnum::IfcRampTypeEnum v9_ShapeType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_ShapeType,IfcRampTypeEnum::ToString(v9_ShapeType)); entity = e; EntityBuffer::Add(this); } +IfcRamp::IfcRamp(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, IfcRampTypeEnum::IfcRampTypeEnum v9_ShapeType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_ShapeType,IfcRampTypeEnum::ToString(v9_ShapeType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRampFlight bool IfcRampFlight::is(Type::Enum v) const { return v == Type::IfcRampFlight || IfcBuildingElement::is(v); } Type::Enum IfcRampFlight::type() const { return Type::IfcRampFlight; } Type::Enum IfcRampFlight::Class() { return Type::IfcRampFlight; } IfcRampFlight::IfcRampFlight(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRampFlight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRampFlight::IfcRampFlight(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRampFlightType IfcRampFlightTypeEnum::IfcRampFlightTypeEnum IfcRampFlightType::PredefinedType() const { return IfcRampFlightTypeEnum::FromString(*entity->getArgument(9)); } @@ -10043,7 +11447,7 @@ bool IfcRampFlightType::is(Type::Enum v) const { return v == Type::IfcRampFlight Type::Enum IfcRampFlightType::type() const { return Type::IfcRampFlightType; } Type::Enum IfcRampFlightType::Class() { return Type::IfcRampFlightType; } IfcRampFlightType::IfcRampFlightType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRampFlightType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRampFlightType::IfcRampFlightType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRampFlightTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRampFlightTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRationalBezierCurve std::vector< double > /*[2:?]*/ IfcRationalBezierCurve::WeightsData() const { return *entity->getArgument(5); } @@ -10055,55 +11459,55 @@ IfcRationalBezierCurve::IfcRationalBezierCurve(IfcAbstractEntity* e) : IfcBezier IfcRationalBezierCurve::IfcRationalBezierCurve(int v1_Degree, IfcTemplatedEntityList< IfcCartesianPoint >::ptr v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector< double > /*[2:?]*/ v6_WeightsData) : IfcBezierCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Degree)); e->setArgument(1,(v2_ControlPointsList)->generalize()); e->setArgument(2,v3_CurveForm,IfcBSplineCurveForm::ToString(v3_CurveForm)); e->setArgument(3,(v4_ClosedCurve)); e->setArgument(4,(v5_SelfIntersect)); e->setArgument(5,(v6_WeightsData)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRectangleHollowProfileDef -IfcPositiveLengthMeasure IfcRectangleHollowProfileDef::WallThickness() const { return *entity->getArgument(5); } -void IfcRectangleHollowProfileDef::setWallThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcRectangleHollowProfileDef::WallThickness() const { return *entity->getArgument(5); } +void IfcRectangleHollowProfileDef::setWallThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcRectangleHollowProfileDef::hasInnerFilletRadius() const { return !entity->getArgument(6)->isNull(); } -IfcPositiveLengthMeasure IfcRectangleHollowProfileDef::InnerFilletRadius() const { return *entity->getArgument(6); } -void IfcRectangleHollowProfileDef::setInnerFilletRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcRectangleHollowProfileDef::InnerFilletRadius() const { return *entity->getArgument(6); } +void IfcRectangleHollowProfileDef::setInnerFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcRectangleHollowProfileDef::hasOuterFilletRadius() const { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcRectangleHollowProfileDef::OuterFilletRadius() const { return *entity->getArgument(7); } -void IfcRectangleHollowProfileDef::setOuterFilletRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcRectangleHollowProfileDef::OuterFilletRadius() const { return *entity->getArgument(7); } +void IfcRectangleHollowProfileDef::setOuterFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcRectangleHollowProfileDef::is(Type::Enum v) const { return v == Type::IfcRectangleHollowProfileDef || IfcRectangleProfileDef::is(v); } Type::Enum IfcRectangleHollowProfileDef::type() const { return Type::IfcRectangleHollowProfileDef; } Type::Enum IfcRectangleHollowProfileDef::Class() { return Type::IfcRectangleHollowProfileDef; } IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcAbstractEntity* e) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRectangleHollowProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim, IfcPositiveLengthMeasure v6_WallThickness, boost::optional< IfcPositiveLengthMeasure > v7_InnerFilletRadius, boost::optional< IfcPositiveLengthMeasure > v8_OuterFilletRadius) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_XDim)); e->setArgument(4,(v5_YDim)); e->setArgument(5,(v6_WallThickness)); if (v7_InnerFilletRadius) { e->setArgument(6,(*v7_InnerFilletRadius)); } else { e->setArgument(6); } if (v8_OuterFilletRadius) { e->setArgument(7,(*v8_OuterFilletRadius)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_XDim)); e->setArgument(4,(v5_YDim)); e->setArgument(5,(v6_WallThickness)); if (v7_InnerFilletRadius) { e->setArgument(6,(*v7_InnerFilletRadius)); } else { e->setArgument(6); } if (v8_OuterFilletRadius) { e->setArgument(7,(*v8_OuterFilletRadius)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRectangleProfileDef -IfcPositiveLengthMeasure IfcRectangleProfileDef::XDim() const { return *entity->getArgument(3); } -void IfcRectangleProfileDef::setXDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcRectangleProfileDef::YDim() const { return *entity->getArgument(4); } -void IfcRectangleProfileDef::setYDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcRectangleProfileDef::XDim() const { return *entity->getArgument(3); } +void IfcRectangleProfileDef::setXDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcRectangleProfileDef::YDim() const { return *entity->getArgument(4); } +void IfcRectangleProfileDef::setYDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcRectangleProfileDef::is(Type::Enum v) const { return v == Type::IfcRectangleProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcRectangleProfileDef::type() const { return Type::IfcRectangleProfileDef; } Type::Enum IfcRectangleProfileDef::Class() { return Type::IfcRectangleProfileDef; } IfcRectangleProfileDef::IfcRectangleProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRectangleProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRectangleProfileDef::IfcRectangleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_XDim)); e->setArgument(4,(v5_YDim)); entity = e; EntityBuffer::Add(this); } +IfcRectangleProfileDef::IfcRectangleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_XDim)); e->setArgument(4,(v5_YDim)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRectangularPyramid -IfcPositiveLengthMeasure IfcRectangularPyramid::XLength() const { return *entity->getArgument(1); } -void IfcRectangularPyramid::setXLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveLengthMeasure IfcRectangularPyramid::YLength() const { return *entity->getArgument(2); } -void IfcRectangularPyramid::setYLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcPositiveLengthMeasure IfcRectangularPyramid::Height() const { return *entity->getArgument(3); } -void IfcRectangularPyramid::setHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcRectangularPyramid::XLength() const { return *entity->getArgument(1); } +void IfcRectangularPyramid::setXLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcRectangularPyramid::YLength() const { return *entity->getArgument(2); } +void IfcRectangularPyramid::setYLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcRectangularPyramid::Height() const { return *entity->getArgument(3); } +void IfcRectangularPyramid::setHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcRectangularPyramid::is(Type::Enum v) const { return v == Type::IfcRectangularPyramid || IfcCsgPrimitive3D::is(v); } Type::Enum IfcRectangularPyramid::type() const { return Type::IfcRectangularPyramid; } Type::Enum IfcRectangularPyramid::Class() { return Type::IfcRectangularPyramid; } IfcRectangularPyramid::IfcRectangularPyramid(IfcAbstractEntity* e) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRectangularPyramid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRectangularPyramid::IfcRectangularPyramid(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_XLength, IfcPositiveLengthMeasure v3_YLength, IfcPositiveLengthMeasure v4_Height) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_XLength)); e->setArgument(2,(v3_YLength)); e->setArgument(3,(v4_Height)); entity = e; EntityBuffer::Add(this); } +IfcRectangularPyramid::IfcRectangularPyramid(IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_XLength)); e->setArgument(2,(v3_YLength)); e->setArgument(3,(v4_Height)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRectangularTrimmedSurface IfcSurface* IfcRectangularTrimmedSurface::BasisSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcRectangularTrimmedSurface::setBasisSurface(IfcSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcParameterValue IfcRectangularTrimmedSurface::U1() const { return *entity->getArgument(1); } -void IfcRectangularTrimmedSurface::setU1(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcParameterValue IfcRectangularTrimmedSurface::V1() const { return *entity->getArgument(2); } -void IfcRectangularTrimmedSurface::setV1(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcParameterValue IfcRectangularTrimmedSurface::U2() const { return *entity->getArgument(3); } -void IfcRectangularTrimmedSurface::setU2(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcParameterValue IfcRectangularTrimmedSurface::V2() const { return *entity->getArgument(4); } -void IfcRectangularTrimmedSurface::setV2(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcRectangularTrimmedSurface::U1() const { return *entity->getArgument(1); } +void IfcRectangularTrimmedSurface::setU1(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcRectangularTrimmedSurface::V1() const { return *entity->getArgument(2); } +void IfcRectangularTrimmedSurface::setV1(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcRectangularTrimmedSurface::U2() const { return *entity->getArgument(3); } +void IfcRectangularTrimmedSurface::setU2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcRectangularTrimmedSurface::V2() const { return *entity->getArgument(4); } +void IfcRectangularTrimmedSurface::setV2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcRectangularTrimmedSurface::Usense() const { return *entity->getArgument(5); } void IfcRectangularTrimmedSurface::setUsense(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcRectangularTrimmedSurface::Vsense() const { return *entity->getArgument(6); } @@ -10112,79 +11516,79 @@ bool IfcRectangularTrimmedSurface::is(Type::Enum v) const { return v == Type::If Type::Enum IfcRectangularTrimmedSurface::type() const { return Type::IfcRectangularTrimmedSurface; } Type::Enum IfcRectangularTrimmedSurface::Class() { return Type::IfcRectangularTrimmedSurface; } IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcAbstractEntity* e) : IfcBoundedSurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRectangularTrimmedSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcSurface* v1_BasisSurface, IfcParameterValue v2_U1, IfcParameterValue v3_V1, IfcParameterValue v4_U2, IfcParameterValue v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisSurface)); e->setArgument(1,(v2_U1)); e->setArgument(2,(v3_V1)); e->setArgument(3,(v4_U2)); e->setArgument(4,(v5_V2)); e->setArgument(5,(v6_Usense)); e->setArgument(6,(v7_Vsense)); entity = e; EntityBuffer::Add(this); } +IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisSurface)); e->setArgument(1,(v2_U1)); e->setArgument(2,(v3_V1)); e->setArgument(3,(v4_U2)); e->setArgument(4,(v5_V2)); e->setArgument(5,(v6_Usense)); e->setArgument(6,(v7_Vsense)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReferencesValueDocument -IfcDocumentSelect IfcReferencesValueDocument::ReferencedDocument() const { return *entity->getArgument(0); } -void IfcReferencesValueDocument::setReferencedDocument(IfcDocumentSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcDocumentSelect* IfcReferencesValueDocument::ReferencedDocument() const { return (IfcDocumentSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcReferencesValueDocument::setReferencedDocument(IfcDocumentSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } IfcTemplatedEntityList< IfcAppliedValue >::ptr IfcReferencesValueDocument::ReferencingValues() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } void IfcReferencesValueDocument::setReferencingValues(IfcTemplatedEntityList< IfcAppliedValue >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } bool IfcReferencesValueDocument::hasName() const { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcReferencesValueDocument::Name() const { return *entity->getArgument(2); } -void IfcReferencesValueDocument::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcReferencesValueDocument::Name() const { return *entity->getArgument(2); } +void IfcReferencesValueDocument::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcReferencesValueDocument::hasDescription() const { return !entity->getArgument(3)->isNull(); } -IfcText IfcReferencesValueDocument::Description() const { return *entity->getArgument(3); } -void IfcReferencesValueDocument::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcReferencesValueDocument::Description() const { return *entity->getArgument(3); } +void IfcReferencesValueDocument::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcReferencesValueDocument::is(Type::Enum v) const { return v == Type::IfcReferencesValueDocument; } Type::Enum IfcReferencesValueDocument::type() const { return Type::IfcReferencesValueDocument; } Type::Enum IfcReferencesValueDocument::Class() { return Type::IfcReferencesValueDocument; } IfcReferencesValueDocument::IfcReferencesValueDocument(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcReferencesValueDocument)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReferencesValueDocument::IfcReferencesValueDocument(IfcDocumentSelect v1_ReferencedDocument, IfcTemplatedEntityList< IfcAppliedValue >::ptr v2_ReferencingValues, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ReferencedDocument)); e->setArgument(1,(v2_ReferencingValues)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcReferencesValueDocument::IfcReferencesValueDocument(IfcDocumentSelect* v1_ReferencedDocument, IfcTemplatedEntityList< IfcAppliedValue >::ptr v2_ReferencingValues, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ReferencedDocument)); e->setArgument(1,(v2_ReferencingValues)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRegularTimeSeries -IfcTimeMeasure IfcRegularTimeSeries::TimeStep() const { return *entity->getArgument(8); } -void IfcRegularTimeSeries::setTimeStep(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcRegularTimeSeries::TimeStep() const { return *entity->getArgument(8); } +void IfcRegularTimeSeries::setTimeStep(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr IfcRegularTimeSeries::Values() const { IfcEntityList::ptr es = *entity->getArgument(9); return es->as(); } void IfcRegularTimeSeries::setValues(IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } 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; } IfcRegularTimeSeries::IfcRegularTimeSeries(IfcAbstractEntity* e) : IfcTimeSeries((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRegularTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRegularTimeSeries::IfcRegularTimeSeries(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTimeSelect v3_StartTime, IfcDateTimeSelect v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit, IfcTimeMeasure v9_TimeStep, IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } if (v8_Unit) { e->setArgument(7,(*v8_Unit)); } else { e->setArgument(7); } e->setArgument(8,(v9_TimeStep)); e->setArgument(9,(v10_Values)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, IfcDateTimeSelect* v3_StartTime, IfcDateTimeSelect* v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, IfcUnit* v8_Unit, double v9_TimeStep, IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } e->setArgument(7,(v8_Unit)); e->setArgument(8,(v9_TimeStep)); e->setArgument(9,(v10_Values)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcementBarProperties -IfcAreaMeasure IfcReinforcementBarProperties::TotalCrossSectionArea() const { return *entity->getArgument(0); } -void IfcReinforcementBarProperties::setTotalCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLabel IfcReinforcementBarProperties::SteelGrade() const { return *entity->getArgument(1); } -void IfcReinforcementBarProperties::setSteelGrade(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcReinforcementBarProperties::TotalCrossSectionArea() const { return *entity->getArgument(0); } +void IfcReinforcementBarProperties::setTotalCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcReinforcementBarProperties::SteelGrade() const { return *entity->getArgument(1); } +void IfcReinforcementBarProperties::setSteelGrade(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcReinforcementBarProperties::hasBarSurface() const { return !entity->getArgument(2)->isNull(); } IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum IfcReinforcementBarProperties::BarSurface() const { return IfcReinforcingBarSurfaceEnum::FromString(*entity->getArgument(2)); } void IfcReinforcementBarProperties::setBarSurface(IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcReinforcingBarSurfaceEnum::ToString(v)); } bool IfcReinforcementBarProperties::hasEffectiveDepth() const { return !entity->getArgument(3)->isNull(); } -IfcLengthMeasure IfcReinforcementBarProperties::EffectiveDepth() const { return *entity->getArgument(3); } -void IfcReinforcementBarProperties::setEffectiveDepth(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcReinforcementBarProperties::EffectiveDepth() const { return *entity->getArgument(3); } +void IfcReinforcementBarProperties::setEffectiveDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcReinforcementBarProperties::hasNominalBarDiameter() const { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcementBarProperties::NominalBarDiameter() const { return *entity->getArgument(4); } -void IfcReinforcementBarProperties::setNominalBarDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcReinforcementBarProperties::NominalBarDiameter() const { return *entity->getArgument(4); } +void IfcReinforcementBarProperties::setNominalBarDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcReinforcementBarProperties::hasBarCount() const { return !entity->getArgument(5)->isNull(); } -IfcCountMeasure IfcReinforcementBarProperties::BarCount() const { return *entity->getArgument(5); } -void IfcReinforcementBarProperties::setBarCount(IfcCountMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcReinforcementBarProperties::BarCount() const { return *entity->getArgument(5); } +void IfcReinforcementBarProperties::setBarCount(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcReinforcementBarProperties::is(Type::Enum v) const { return v == Type::IfcReinforcementBarProperties; } Type::Enum IfcReinforcementBarProperties::type() const { return Type::IfcReinforcementBarProperties; } Type::Enum IfcReinforcementBarProperties::Class() { return Type::IfcReinforcementBarProperties; } IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcReinforcementBarProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcAreaMeasure v1_TotalCrossSectionArea, IfcLabel v2_SteelGrade, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v3_BarSurface, boost::optional< IfcLengthMeasure > v4_EffectiveDepth, boost::optional< IfcPositiveLengthMeasure > v5_NominalBarDiameter, boost::optional< IfcCountMeasure > v6_BarCount) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TotalCrossSectionArea)); e->setArgument(1,(v2_SteelGrade)); if (v3_BarSurface) { e->setArgument(2,*v3_BarSurface,IfcReinforcingBarSurfaceEnum::ToString(*v3_BarSurface)); } else { e->setArgument(2); } if (v4_EffectiveDepth) { e->setArgument(3,(*v4_EffectiveDepth)); } else { e->setArgument(3); } if (v5_NominalBarDiameter) { e->setArgument(4,(*v5_NominalBarDiameter)); } else { e->setArgument(4); } if (v6_BarCount) { e->setArgument(5,(*v6_BarCount)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< double > v6_BarCount) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TotalCrossSectionArea)); e->setArgument(1,(v2_SteelGrade)); if (v3_BarSurface) { e->setArgument(2,*v3_BarSurface,IfcReinforcingBarSurfaceEnum::ToString(*v3_BarSurface)); } else { e->setArgument(2); } if (v4_EffectiveDepth) { e->setArgument(3,(*v4_EffectiveDepth)); } else { e->setArgument(3); } if (v5_NominalBarDiameter) { e->setArgument(4,(*v5_NominalBarDiameter)); } else { e->setArgument(4); } if (v6_BarCount) { e->setArgument(5,(*v6_BarCount)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcementDefinitionProperties bool IfcReinforcementDefinitionProperties::hasDefinitionType() const { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcReinforcementDefinitionProperties::DefinitionType() const { return *entity->getArgument(4); } -void IfcReinforcementDefinitionProperties::setDefinitionType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcReinforcementDefinitionProperties::DefinitionType() const { return *entity->getArgument(4); } +void IfcReinforcementDefinitionProperties::setDefinitionType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } void IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } 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; } IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcementDefinitionProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_DefinitionType, IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_DefinitionType) { e->setArgument(4,(*v5_DefinitionType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ReinforcementSectionDefinitions)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_DefinitionType) { e->setArgument(4,(*v5_DefinitionType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ReinforcementSectionDefinitions)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcingBar -IfcPositiveLengthMeasure IfcReinforcingBar::NominalDiameter() const { return *entity->getArgument(9); } -void IfcReinforcingBar::setNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -IfcAreaMeasure IfcReinforcingBar::CrossSectionArea() const { return *entity->getArgument(10); } -void IfcReinforcingBar::setCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcReinforcingBar::NominalDiameter() const { return *entity->getArgument(9); } +void IfcReinforcingBar::setNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcReinforcingBar::CrossSectionArea() const { return *entity->getArgument(10); } +void IfcReinforcingBar::setCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcReinforcingBar::hasBarLength() const { return !entity->getArgument(11)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingBar::BarLength() const { return *entity->getArgument(11); } -void IfcReinforcingBar::setBarLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcReinforcingBar::BarLength() const { return *entity->getArgument(11); } +void IfcReinforcingBar::setBarLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum IfcReinforcingBar::BarRole() const { return IfcReinforcingBarRoleEnum::FromString(*entity->getArgument(12)); } void IfcReinforcingBar::setBarRole(IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v,IfcReinforcingBarRoleEnum::ToString(v)); } bool IfcReinforcingBar::hasBarSurface() const { return !entity->getArgument(13)->isNull(); } @@ -10194,49 +11598,49 @@ bool IfcReinforcingBar::is(Type::Enum v) const { return v == Type::IfcReinforcin Type::Enum IfcReinforcingBar::type() const { return Type::IfcReinforcingBar; } Type::Enum IfcReinforcingBar::Class() { return Type::IfcReinforcingBar; } IfcReinforcingBar::IfcReinforcingBar(IfcAbstractEntity* e) : IfcReinforcingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingBar)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingBar::IfcReinforcingBar(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, IfcPositiveLengthMeasure v10_NominalDiameter, IfcAreaMeasure v11_CrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v12_BarLength, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v13_BarRole, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } e->setArgument(9,(v10_NominalDiameter)); e->setArgument(10,(v11_CrossSectionArea)); if (v12_BarLength) { e->setArgument(11,(*v12_BarLength)); } else { e->setArgument(11); } e->setArgument(12,v13_BarRole,IfcReinforcingBarRoleEnum::ToString(v13_BarRole)); if (v14_BarSurface) { e->setArgument(13,*v14_BarSurface,IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface)); } else { e->setArgument(13); } entity = e; EntityBuffer::Add(this); } +IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, double v10_NominalDiameter, double v11_CrossSectionArea, boost::optional< double > v12_BarLength, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v13_BarRole, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } e->setArgument(9,(v10_NominalDiameter)); e->setArgument(10,(v11_CrossSectionArea)); if (v12_BarLength) { e->setArgument(11,(*v12_BarLength)); } else { e->setArgument(11); } e->setArgument(12,v13_BarRole,IfcReinforcingBarRoleEnum::ToString(v13_BarRole)); if (v14_BarSurface) { e->setArgument(13,*v14_BarSurface,IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface)); } else { e->setArgument(13); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcingElement bool IfcReinforcingElement::hasSteelGrade() const { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcReinforcingElement::SteelGrade() const { return *entity->getArgument(8); } -void IfcReinforcingElement::setSteelGrade(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcReinforcingElement::SteelGrade() const { return *entity->getArgument(8); } +void IfcReinforcingElement::setSteelGrade(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcReinforcingElement::is(Type::Enum v) const { return v == Type::IfcReinforcingElement || IfcBuildingElementComponent::is(v); } Type::Enum IfcReinforcingElement::type() const { return Type::IfcReinforcingElement; } Type::Enum IfcReinforcingElement::Class() { return Type::IfcReinforcingElement; } IfcReinforcingElement::IfcReinforcingElement(IfcAbstractEntity* e) : IfcBuildingElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingElement::IfcReinforcingElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade) : IfcBuildingElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcBuildingElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcingMesh bool IfcReinforcingMesh::hasMeshLength() const { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMesh::MeshLength() const { return *entity->getArgument(9); } -void IfcReinforcingMesh::setMeshLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcReinforcingMesh::MeshLength() const { return *entity->getArgument(9); } +void IfcReinforcingMesh::setMeshLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcReinforcingMesh::hasMeshWidth() const { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMesh::MeshWidth() const { return *entity->getArgument(10); } -void IfcReinforcingMesh::setMeshWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -IfcPositiveLengthMeasure IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { return *entity->getArgument(11); } -void IfcReinforcingMesh::setLongitudinalBarNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -IfcPositiveLengthMeasure IfcReinforcingMesh::TransverseBarNominalDiameter() const { return *entity->getArgument(12); } -void IfcReinforcingMesh::setTransverseBarNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } -IfcAreaMeasure IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { return *entity->getArgument(13); } -void IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } -IfcAreaMeasure IfcReinforcingMesh::TransverseBarCrossSectionArea() const { return *entity->getArgument(14); } -void IfcReinforcingMesh::setTransverseBarCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } -IfcPositiveLengthMeasure IfcReinforcingMesh::LongitudinalBarSpacing() const { return *entity->getArgument(15); } -void IfcReinforcingMesh::setLongitudinalBarSpacing(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } -IfcPositiveLengthMeasure IfcReinforcingMesh::TransverseBarSpacing() const { return *entity->getArgument(16); } -void IfcReinforcingMesh::setTransverseBarSpacing(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } +double IfcReinforcingMesh::MeshWidth() const { return *entity->getArgument(10); } +void IfcReinforcingMesh::setMeshWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { return *entity->getArgument(11); } +void IfcReinforcingMesh::setLongitudinalBarNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcReinforcingMesh::TransverseBarNominalDiameter() const { return *entity->getArgument(12); } +void IfcReinforcingMesh::setTransverseBarNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +double IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { return *entity->getArgument(13); } +void IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } +double IfcReinforcingMesh::TransverseBarCrossSectionArea() const { return *entity->getArgument(14); } +void IfcReinforcingMesh::setTransverseBarCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } +double IfcReinforcingMesh::LongitudinalBarSpacing() const { return *entity->getArgument(15); } +void IfcReinforcingMesh::setLongitudinalBarSpacing(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } +double IfcReinforcingMesh::TransverseBarSpacing() const { return *entity->getArgument(16); } +void IfcReinforcingMesh::setTransverseBarSpacing(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } bool IfcReinforcingMesh::is(Type::Enum v) const { return v == Type::IfcReinforcingMesh || IfcReinforcingElement::is(v); } Type::Enum IfcReinforcingMesh::type() const { return Type::IfcReinforcingMesh; } Type::Enum IfcReinforcingMesh::Class() { return Type::IfcReinforcingMesh; } IfcReinforcingMesh::IfcReinforcingMesh(IfcAbstractEntity* e) : IfcReinforcingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingMesh)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingMesh::IfcReinforcingMesh(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, boost::optional< IfcPositiveLengthMeasure > v10_MeshLength, boost::optional< IfcPositiveLengthMeasure > v11_MeshWidth, IfcPositiveLengthMeasure v12_LongitudinalBarNominalDiameter, IfcPositiveLengthMeasure v13_TransverseBarNominalDiameter, IfcAreaMeasure v14_LongitudinalBarCrossSectionArea, IfcAreaMeasure v15_TransverseBarCrossSectionArea, IfcPositiveLengthMeasure v16_LongitudinalBarSpacing, IfcPositiveLengthMeasure v17_TransverseBarSpacing) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } if (v10_MeshLength) { e->setArgument(9,(*v10_MeshLength)); } else { e->setArgument(9); } if (v11_MeshWidth) { e->setArgument(10,(*v11_MeshWidth)); } else { e->setArgument(10); } e->setArgument(11,(v12_LongitudinalBarNominalDiameter)); e->setArgument(12,(v13_TransverseBarNominalDiameter)); e->setArgument(13,(v14_LongitudinalBarCrossSectionArea)); e->setArgument(14,(v15_TransverseBarCrossSectionArea)); e->setArgument(15,(v16_LongitudinalBarSpacing)); e->setArgument(16,(v17_TransverseBarSpacing)); entity = e; EntityBuffer::Add(this); } +IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_MeshLength, boost::optional< double > v11_MeshWidth, double v12_LongitudinalBarNominalDiameter, double v13_TransverseBarNominalDiameter, double v14_LongitudinalBarCrossSectionArea, double v15_TransverseBarCrossSectionArea, double v16_LongitudinalBarSpacing, double v17_TransverseBarSpacing) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } if (v10_MeshLength) { e->setArgument(9,(*v10_MeshLength)); } else { e->setArgument(9); } if (v11_MeshWidth) { e->setArgument(10,(*v11_MeshWidth)); } else { e->setArgument(10); } e->setArgument(11,(v12_LongitudinalBarNominalDiameter)); e->setArgument(12,(v13_TransverseBarNominalDiameter)); e->setArgument(13,(v14_LongitudinalBarCrossSectionArea)); e->setArgument(14,(v15_TransverseBarCrossSectionArea)); e->setArgument(15,(v16_LongitudinalBarSpacing)); e->setArgument(16,(v17_TransverseBarSpacing)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAggregates bool IfcRelAggregates::is(Type::Enum v) const { return v == Type::IfcRelAggregates || IfcRelDecomposes::is(v); } Type::Enum IfcRelAggregates::type() const { return Type::IfcRelAggregates; } Type::Enum IfcRelAggregates::Class() { return Type::IfcRelAggregates; } IfcRelAggregates::IfcRelAggregates(IfcAbstractEntity* e) : IfcRelDecomposes((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAggregates)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAggregates::IfcRelAggregates(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingObject)); e->setArgument(5,(v6_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingObject)); e->setArgument(5,(v6_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssigns IfcTemplatedEntityList< IfcObjectDefinition >::ptr IfcRelAssigns::RelatedObjects() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } @@ -10248,7 +11652,7 @@ bool IfcRelAssigns::is(Type::Enum v) const { return v == Type::IfcRelAssigns || Type::Enum IfcRelAssigns::type() const { return Type::IfcRelAssigns; } Type::Enum IfcRelAssigns::Class() { return Type::IfcRelAssigns; } IfcRelAssigns::IfcRelAssigns(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssigns)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssigns::IfcRelAssigns(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsTasks bool IfcRelAssignsTasks::hasTimeForTask() const { return !entity->getArgument(7)->isNull(); } @@ -10258,7 +11662,7 @@ bool IfcRelAssignsTasks::is(Type::Enum v) const { return v == Type::IfcRelAssign Type::Enum IfcRelAssignsTasks::type() const { return Type::IfcRelAssignsTasks; } Type::Enum IfcRelAssignsTasks::Class() { return Type::IfcRelAssignsTasks; } IfcRelAssignsTasks::IfcRelAssignsTasks(IfcAbstractEntity* e) : IfcRelAssignsToControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsTasks)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsTasks::IfcRelAssignsTasks(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl, IfcScheduleTimeControl* v8_TimeForTask) : IfcRelAssignsToControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingControl)); e->setArgument(7,(v8_TimeForTask)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsTasks::IfcRelAssignsTasks(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl, IfcScheduleTimeControl* v8_TimeForTask) : IfcRelAssignsToControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingControl)); e->setArgument(7,(v8_TimeForTask)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToActor IfcActor* IfcRelAssignsToActor::RelatingActor() const { return (IfcActor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } @@ -10270,7 +11674,7 @@ bool IfcRelAssignsToActor::is(Type::Enum v) const { return v == Type::IfcRelAssi Type::Enum IfcRelAssignsToActor::type() const { return Type::IfcRelAssignsToActor; } Type::Enum IfcRelAssignsToActor::Class() { return Type::IfcRelAssignsToActor; } IfcRelAssignsToActor::IfcRelAssignsToActor(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToActor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToActor::IfcRelAssignsToActor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingActor)); e->setArgument(7,(v8_ActingRole)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingActor)); e->setArgument(7,(v8_ActingRole)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToControl IfcControl* IfcRelAssignsToControl::RelatingControl() const { return (IfcControl*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } @@ -10279,7 +11683,7 @@ bool IfcRelAssignsToControl::is(Type::Enum v) const { return v == Type::IfcRelAs Type::Enum IfcRelAssignsToControl::type() const { return Type::IfcRelAssignsToControl; } Type::Enum IfcRelAssignsToControl::Class() { return Type::IfcRelAssignsToControl; } IfcRelAssignsToControl::IfcRelAssignsToControl(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToControl::IfcRelAssignsToControl(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingControl)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingControl)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToGroup IfcGroup* IfcRelAssignsToGroup::RelatingGroup() const { return (IfcGroup*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } @@ -10288,7 +11692,7 @@ bool IfcRelAssignsToGroup::is(Type::Enum v) const { return v == Type::IfcRelAssi Type::Enum IfcRelAssignsToGroup::type() const { return Type::IfcRelAssignsToGroup; } Type::Enum IfcRelAssignsToGroup::Class() { return Type::IfcRelAssignsToGroup; } IfcRelAssignsToGroup::IfcRelAssignsToGroup(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToGroup::IfcRelAssignsToGroup(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingGroup)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingGroup)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToProcess IfcProcess* IfcRelAssignsToProcess::RelatingProcess() const { return (IfcProcess*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } @@ -10300,7 +11704,7 @@ bool IfcRelAssignsToProcess::is(Type::Enum v) const { return v == Type::IfcRelAs Type::Enum IfcRelAssignsToProcess::type() const { return Type::IfcRelAssignsToProcess; } Type::Enum IfcRelAssignsToProcess::Class() { return Type::IfcRelAssignsToProcess; } IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToProcess)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProcess* v7_RelatingProcess, IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingProcess)); e->setArgument(7,(v8_QuantityInProcess)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProcess* v7_RelatingProcess, IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingProcess)); e->setArgument(7,(v8_QuantityInProcess)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToProduct IfcProduct* IfcRelAssignsToProduct::RelatingProduct() const { return (IfcProduct*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } @@ -10309,14 +11713,14 @@ bool IfcRelAssignsToProduct::is(Type::Enum v) const { return v == Type::IfcRelAs Type::Enum IfcRelAssignsToProduct::type() const { return Type::IfcRelAssignsToProduct; } Type::Enum IfcRelAssignsToProduct::Class() { return Type::IfcRelAssignsToProduct; } IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToProduct)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProduct* v7_RelatingProduct) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingProduct)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProduct* v7_RelatingProduct) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingProduct)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToProjectOrder bool IfcRelAssignsToProjectOrder::is(Type::Enum v) const { return v == Type::IfcRelAssignsToProjectOrder || IfcRelAssignsToControl::is(v); } Type::Enum IfcRelAssignsToProjectOrder::type() const { return Type::IfcRelAssignsToProjectOrder; } Type::Enum IfcRelAssignsToProjectOrder::Class() { return Type::IfcRelAssignsToProjectOrder; } IfcRelAssignsToProjectOrder::IfcRelAssignsToProjectOrder(IfcAbstractEntity* e) : IfcRelAssignsToControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToProjectOrder)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToProjectOrder::IfcRelAssignsToProjectOrder(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl) : IfcRelAssignsToControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingControl)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsToProjectOrder::IfcRelAssignsToProjectOrder(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl) : IfcRelAssignsToControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingControl)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToResource IfcResource* IfcRelAssignsToResource::RelatingResource() const { return (IfcResource*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } @@ -10325,7 +11729,7 @@ bool IfcRelAssignsToResource::is(Type::Enum v) const { return v == Type::IfcRelA Type::Enum IfcRelAssignsToResource::type() const { return Type::IfcRelAssignsToResource; } Type::Enum IfcRelAssignsToResource::Class() { return Type::IfcRelAssignsToResource; } IfcRelAssignsToResource::IfcRelAssignsToResource(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToResource::IfcRelAssignsToResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcResource* v7_RelatingResource) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingResource)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcResource* v7_RelatingResource) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingResource)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociates IfcTemplatedEntityList< IfcRoot >::ptr IfcRelAssociates::RelatedObjects() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } @@ -10334,7 +11738,7 @@ bool IfcRelAssociates::is(Type::Enum v) const { return v == Type::IfcRelAssociat Type::Enum IfcRelAssociates::type() const { return Type::IfcRelAssociates; } Type::Enum IfcRelAssociates::Class() { return Type::IfcRelAssociates; } IfcRelAssociates::IfcRelAssociates(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociates)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociates::IfcRelAssociates(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesAppliedValue IfcAppliedValue* IfcRelAssociatesAppliedValue::RelatingAppliedValue() const { return (IfcAppliedValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } @@ -10343,7 +11747,7 @@ bool IfcRelAssociatesAppliedValue::is(Type::Enum v) const { return v == Type::If Type::Enum IfcRelAssociatesAppliedValue::type() const { return Type::IfcRelAssociatesAppliedValue; } Type::Enum IfcRelAssociatesAppliedValue::Class() { return Type::IfcRelAssociatesAppliedValue; } IfcRelAssociatesAppliedValue::IfcRelAssociatesAppliedValue(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesAppliedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesAppliedValue::IfcRelAssociatesAppliedValue(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcAppliedValue* v6_RelatingAppliedValue) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingAppliedValue)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesAppliedValue::IfcRelAssociatesAppliedValue(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcAppliedValue* v6_RelatingAppliedValue) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingAppliedValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesApproval IfcApproval* IfcRelAssociatesApproval::RelatingApproval() const { return (IfcApproval*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } @@ -10352,54 +11756,54 @@ bool IfcRelAssociatesApproval::is(Type::Enum v) const { return v == Type::IfcRel Type::Enum IfcRelAssociatesApproval::type() const { return Type::IfcRelAssociatesApproval; } Type::Enum IfcRelAssociatesApproval::Class() { return Type::IfcRelAssociatesApproval; } IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesApproval)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingApproval)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingApproval)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesClassification -IfcClassificationNotationSelect IfcRelAssociatesClassification::RelatingClassification() const { return *entity->getArgument(5); } -void IfcRelAssociatesClassification::setRelatingClassification(IfcClassificationNotationSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +IfcClassificationNotationSelect* IfcRelAssociatesClassification::RelatingClassification() const { return (IfcClassificationNotationSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcRelAssociatesClassification::setRelatingClassification(IfcClassificationNotationSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcRelAssociatesClassification::is(Type::Enum v) const { return v == Type::IfcRelAssociatesClassification || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesClassification::type() const { return Type::IfcRelAssociatesClassification; } Type::Enum IfcRelAssociatesClassification::Class() { return Type::IfcRelAssociatesClassification; } IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesClassification)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcClassificationNotationSelect v6_RelatingClassification) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingClassification)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcClassificationNotationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingClassification)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesConstraint -IfcLabel IfcRelAssociatesConstraint::Intent() const { return *entity->getArgument(5); } -void IfcRelAssociatesConstraint::setIntent(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcRelAssociatesConstraint::Intent() const { return *entity->getArgument(5); } +void IfcRelAssociatesConstraint::setIntent(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } IfcConstraint* IfcRelAssociatesConstraint::RelatingConstraint() const { return (IfcConstraint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } void IfcRelAssociatesConstraint::setRelatingConstraint(IfcConstraint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcRelAssociatesConstraint::is(Type::Enum v) const { return v == Type::IfcRelAssociatesConstraint || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesConstraint::type() const { return Type::IfcRelAssociatesConstraint; } Type::Enum IfcRelAssociatesConstraint::Class() { return Type::IfcRelAssociatesConstraint; } IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesConstraint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcLabel v6_Intent, IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_Intent)); e->setArgument(6,(v7_RelatingConstraint)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, std::string v6_Intent, IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_Intent)); e->setArgument(6,(v7_RelatingConstraint)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesDocument -IfcDocumentSelect IfcRelAssociatesDocument::RelatingDocument() const { return *entity->getArgument(5); } -void IfcRelAssociatesDocument::setRelatingDocument(IfcDocumentSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +IfcDocumentSelect* IfcRelAssociatesDocument::RelatingDocument() const { return (IfcDocumentSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcRelAssociatesDocument::setRelatingDocument(IfcDocumentSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcRelAssociatesDocument::is(Type::Enum v) const { return v == Type::IfcRelAssociatesDocument || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesDocument::type() const { return Type::IfcRelAssociatesDocument; } Type::Enum IfcRelAssociatesDocument::Class() { return Type::IfcRelAssociatesDocument; } IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesDocument)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcDocumentSelect v6_RelatingDocument) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingDocument)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingDocument)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesLibrary -IfcLibrarySelect IfcRelAssociatesLibrary::RelatingLibrary() const { return *entity->getArgument(5); } -void IfcRelAssociatesLibrary::setRelatingLibrary(IfcLibrarySelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +IfcLibrarySelect* IfcRelAssociatesLibrary::RelatingLibrary() const { return (IfcLibrarySelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcRelAssociatesLibrary::setRelatingLibrary(IfcLibrarySelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcRelAssociatesLibrary::is(Type::Enum v) const { return v == Type::IfcRelAssociatesLibrary || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesLibrary::type() const { return Type::IfcRelAssociatesLibrary; } Type::Enum IfcRelAssociatesLibrary::Class() { return Type::IfcRelAssociatesLibrary; } IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesLibrary)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcLibrarySelect v6_RelatingLibrary) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingLibrary)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingLibrary)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesMaterial -IfcMaterialSelect IfcRelAssociatesMaterial::RelatingMaterial() const { return *entity->getArgument(5); } -void IfcRelAssociatesMaterial::setRelatingMaterial(IfcMaterialSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +IfcMaterialSelect* IfcRelAssociatesMaterial::RelatingMaterial() const { return (IfcMaterialSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcRelAssociatesMaterial::setRelatingMaterial(IfcMaterialSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcRelAssociatesMaterial::is(Type::Enum v) const { return v == Type::IfcRelAssociatesMaterial || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesMaterial::type() const { return Type::IfcRelAssociatesMaterial; } Type::Enum IfcRelAssociatesMaterial::Class() { return Type::IfcRelAssociatesMaterial; } IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesMaterial)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcMaterialSelect v6_RelatingMaterial) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingMaterial)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingMaterial)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesProfileProperties IfcProfileProperties* IfcRelAssociatesProfileProperties::RelatingProfileProperties() const { return (IfcProfileProperties*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } @@ -10408,20 +11812,20 @@ bool IfcRelAssociatesProfileProperties::hasProfileSectionLocation() const { retu IfcShapeAspect* IfcRelAssociatesProfileProperties::ProfileSectionLocation() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } void IfcRelAssociatesProfileProperties::setProfileSectionLocation(IfcShapeAspect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcRelAssociatesProfileProperties::hasProfileOrientation() const { return !entity->getArgument(7)->isNull(); } -IfcOrientationSelect IfcRelAssociatesProfileProperties::ProfileOrientation() const { return *entity->getArgument(7); } -void IfcRelAssociatesProfileProperties::setProfileOrientation(IfcOrientationSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +IfcOrientationSelect* IfcRelAssociatesProfileProperties::ProfileOrientation() const { return (IfcOrientationSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } +void IfcRelAssociatesProfileProperties::setProfileOrientation(IfcOrientationSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcRelAssociatesProfileProperties::is(Type::Enum v) const { return v == Type::IfcRelAssociatesProfileProperties || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesProfileProperties::type() const { return Type::IfcRelAssociatesProfileProperties; } Type::Enum IfcRelAssociatesProfileProperties::Class() { return Type::IfcRelAssociatesProfileProperties; } IfcRelAssociatesProfileProperties::IfcRelAssociatesProfileProperties(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesProfileProperties::IfcRelAssociatesProfileProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcProfileProperties* v6_RelatingProfileProperties, IfcShapeAspect* v7_ProfileSectionLocation, boost::optional< IfcOrientationSelect > v8_ProfileOrientation) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingProfileProperties)); e->setArgument(6,(v7_ProfileSectionLocation)); if (v8_ProfileOrientation) { e->setArgument(7,(*v8_ProfileOrientation)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesProfileProperties::IfcRelAssociatesProfileProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcProfileProperties* v6_RelatingProfileProperties, IfcShapeAspect* v7_ProfileSectionLocation, IfcOrientationSelect* v8_ProfileOrientation) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingProfileProperties)); e->setArgument(6,(v7_ProfileSectionLocation)); e->setArgument(7,(v8_ProfileOrientation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnects bool IfcRelConnects::is(Type::Enum v) const { return v == Type::IfcRelConnects || IfcRelationship::is(v); } Type::Enum IfcRelConnects::type() const { return Type::IfcRelConnects; } Type::Enum IfcRelConnects::Class() { return Type::IfcRelConnects; } IfcRelConnects::IfcRelConnects(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnects)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnects::IfcRelConnects(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsElements bool IfcRelConnectsElements::hasConnectionGeometry() const { return !entity->getArgument(4)->isNull(); } @@ -10435,7 +11839,7 @@ bool IfcRelConnectsElements::is(Type::Enum v) const { return v == Type::IfcRelCo Type::Enum IfcRelConnectsElements::type() const { return Type::IfcRelConnectsElements; } Type::Enum IfcRelConnectsElements::Class() { return Type::IfcRelConnectsElements; } IfcRelConnectsElements::IfcRelConnectsElements(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsElements::IfcRelConnectsElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsPathElements std::vector< int > /*[0:?]*/ IfcRelConnectsPathElements::RelatingPriorities() const { return *entity->getArgument(7); } @@ -10450,7 +11854,7 @@ bool IfcRelConnectsPathElements::is(Type::Enum v) const { return v == Type::IfcR Type::Enum IfcRelConnectsPathElements::type() const { return Type::IfcRelConnectsPathElements; } Type::Enum IfcRelConnectsPathElements::Class() { return Type::IfcRelConnectsPathElements; } IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcAbstractEntity* e) : IfcRelConnectsElements((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsPathElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType) : IfcRelConnectsElements((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); e->setArgument(7,(v8_RelatingPriorities)); e->setArgument(8,(v9_RelatedPriorities)); e->setArgument(9,v10_RelatedConnectionType,IfcConnectionTypeEnum::ToString(v10_RelatedConnectionType)); e->setArgument(10,v11_RelatingConnectionType,IfcConnectionTypeEnum::ToString(v11_RelatingConnectionType)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType) : IfcRelConnectsElements((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); e->setArgument(7,(v8_RelatingPriorities)); e->setArgument(8,(v9_RelatedPriorities)); e->setArgument(9,v10_RelatedConnectionType,IfcConnectionTypeEnum::ToString(v10_RelatedConnectionType)); e->setArgument(10,v11_RelatingConnectionType,IfcConnectionTypeEnum::ToString(v11_RelatingConnectionType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsPortToElement IfcPort* IfcRelConnectsPortToElement::RelatingPort() const { return (IfcPort*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -10461,7 +11865,7 @@ bool IfcRelConnectsPortToElement::is(Type::Enum v) const { return v == Type::Ifc Type::Enum IfcRelConnectsPortToElement::type() const { return Type::IfcRelConnectsPortToElement; } Type::Enum IfcRelConnectsPortToElement::Class() { return Type::IfcRelConnectsPortToElement; } IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsPortToElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPort* v5_RelatingPort, IfcElement* v6_RelatedElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingPort)); e->setArgument(5,(v6_RelatedElement)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPort* v5_RelatingPort, IfcElement* v6_RelatedElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingPort)); e->setArgument(5,(v6_RelatedElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsPorts IfcPort* IfcRelConnectsPorts::RelatingPort() const { return (IfcPort*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -10475,18 +11879,18 @@ bool IfcRelConnectsPorts::is(Type::Enum v) const { return v == Type::IfcRelConne Type::Enum IfcRelConnectsPorts::type() const { return Type::IfcRelConnectsPorts; } Type::Enum IfcRelConnectsPorts::Class() { return Type::IfcRelConnectsPorts; } IfcRelConnectsPorts::IfcRelConnectsPorts(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsPorts)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsPorts::IfcRelConnectsPorts(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPort* v5_RelatingPort, IfcPort* v6_RelatedPort, IfcElement* v7_RealizingElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingPort)); e->setArgument(5,(v6_RelatedPort)); e->setArgument(6,(v7_RealizingElement)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPort* v5_RelatingPort, IfcPort* v6_RelatedPort, IfcElement* v7_RealizingElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingPort)); e->setArgument(5,(v6_RelatedPort)); e->setArgument(6,(v7_RealizingElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsStructuralActivity -IfcStructuralActivityAssignmentSelect IfcRelConnectsStructuralActivity::RelatingElement() const { return *entity->getArgument(4); } -void IfcRelConnectsStructuralActivity::setRelatingElement(IfcStructuralActivityAssignmentSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +IfcStructuralActivityAssignmentSelect* IfcRelConnectsStructuralActivity::RelatingElement() const { return (IfcStructuralActivityAssignmentSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } +void IfcRelConnectsStructuralActivity::setRelatingElement(IfcStructuralActivityAssignmentSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } IfcStructuralActivity* IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return (IfcStructuralActivity*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } void IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(IfcStructuralActivity* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcRelConnectsStructuralActivity::is(Type::Enum v) const { return v == Type::IfcRelConnectsStructuralActivity || IfcRelConnects::is(v); } Type::Enum IfcRelConnectsStructuralActivity::type() const { return Type::IfcRelConnectsStructuralActivity; } Type::Enum IfcRelConnectsStructuralActivity::Class() { return Type::IfcRelConnectsStructuralActivity; } IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsStructuralActivity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralActivityAssignmentSelect v5_RelatingElement, IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingElement)); e->setArgument(5,(v6_RelatedStructuralActivity)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralActivityAssignmentSelect* v5_RelatingElement, IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingElement)); e->setArgument(5,(v6_RelatedStructuralActivity)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsStructuralElement IfcElement* IfcRelConnectsStructuralElement::RelatingElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -10497,7 +11901,7 @@ bool IfcRelConnectsStructuralElement::is(Type::Enum v) const { return v == Type: Type::Enum IfcRelConnectsStructuralElement::type() const { return Type::IfcRelConnectsStructuralElement; } Type::Enum IfcRelConnectsStructuralElement::Class() { return Type::IfcRelConnectsStructuralElement; } IfcRelConnectsStructuralElement::IfcRelConnectsStructuralElement(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsStructuralElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsStructuralElement::IfcRelConnectsStructuralElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingElement, IfcStructuralMember* v6_RelatedStructuralMember) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingElement)); e->setArgument(5,(v6_RelatedStructuralMember)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsStructuralElement::IfcRelConnectsStructuralElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingElement, IfcStructuralMember* v6_RelatedStructuralMember) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingElement)); e->setArgument(5,(v6_RelatedStructuralMember)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsStructuralMember IfcStructuralMember* IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return (IfcStructuralMember*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -10511,8 +11915,8 @@ bool IfcRelConnectsStructuralMember::hasAdditionalConditions() const { return !e IfcStructuralConnectionCondition* IfcRelConnectsStructuralMember::AdditionalConditions() const { return (IfcStructuralConnectionCondition*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } void IfcRelConnectsStructuralMember::setAdditionalConditions(IfcStructuralConnectionCondition* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcRelConnectsStructuralMember::hasSupportedLength() const { return !entity->getArgument(8)->isNull(); } -IfcLengthMeasure IfcRelConnectsStructuralMember::SupportedLength() const { return *entity->getArgument(8); } -void IfcRelConnectsStructuralMember::setSupportedLength(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcRelConnectsStructuralMember::SupportedLength() const { return *entity->getArgument(8); } +void IfcRelConnectsStructuralMember::setSupportedLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcRelConnectsStructuralMember::hasConditionCoordinateSystem() const { return !entity->getArgument(9)->isNull(); } IfcAxis2Placement3D* IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } void IfcRelConnectsStructuralMember::setConditionCoordinateSystem(IfcAxis2Placement3D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } @@ -10520,7 +11924,7 @@ bool IfcRelConnectsStructuralMember::is(Type::Enum v) const { return v == Type:: Type::Enum IfcRelConnectsStructuralMember::type() const { return Type::IfcRelConnectsStructuralMember; } Type::Enum IfcRelConnectsStructuralMember::Class() { return Type::IfcRelConnectsStructuralMember; } IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsStructuralMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< IfcLengthMeasure > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingStructuralMember)); e->setArgument(5,(v6_RelatedStructuralConnection)); e->setArgument(6,(v7_AppliedCondition)); e->setArgument(7,(v8_AdditionalConditions)); if (v9_SupportedLength) { e->setArgument(8,(*v9_SupportedLength)); } else { e->setArgument(8); } e->setArgument(9,(v10_ConditionCoordinateSystem)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingStructuralMember)); e->setArgument(5,(v6_RelatedStructuralConnection)); e->setArgument(6,(v7_AppliedCondition)); e->setArgument(7,(v8_AdditionalConditions)); if (v9_SupportedLength) { e->setArgument(8,(*v9_SupportedLength)); } else { e->setArgument(8); } e->setArgument(9,(v10_ConditionCoordinateSystem)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsWithEccentricity IfcConnectionGeometry* IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return (IfcConnectionGeometry*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } @@ -10529,19 +11933,19 @@ bool IfcRelConnectsWithEccentricity::is(Type::Enum v) const { return v == Type:: Type::Enum IfcRelConnectsWithEccentricity::type() const { return Type::IfcRelConnectsWithEccentricity; } Type::Enum IfcRelConnectsWithEccentricity::Class() { return Type::IfcRelConnectsWithEccentricity; } IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(IfcAbstractEntity* e) : IfcRelConnectsStructuralMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsWithEccentricity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< IfcLengthMeasure > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem, IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingStructuralMember)); e->setArgument(5,(v6_RelatedStructuralConnection)); e->setArgument(6,(v7_AppliedCondition)); e->setArgument(7,(v8_AdditionalConditions)); if (v9_SupportedLength) { e->setArgument(8,(*v9_SupportedLength)); } else { e->setArgument(8); } e->setArgument(9,(v10_ConditionCoordinateSystem)); e->setArgument(10,(v11_ConnectionConstraint)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem, IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingStructuralMember)); e->setArgument(5,(v6_RelatedStructuralConnection)); e->setArgument(6,(v7_AppliedCondition)); e->setArgument(7,(v8_AdditionalConditions)); if (v9_SupportedLength) { e->setArgument(8,(*v9_SupportedLength)); } else { e->setArgument(8); } e->setArgument(9,(v10_ConditionCoordinateSystem)); e->setArgument(10,(v11_ConnectionConstraint)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsWithRealizingElements IfcTemplatedEntityList< IfcElement >::ptr IfcRelConnectsWithRealizingElements::RealizingElements() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } void IfcRelConnectsWithRealizingElements::setRealizingElements(IfcTemplatedEntityList< IfcElement >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } bool IfcRelConnectsWithRealizingElements::hasConnectionType() const { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcRelConnectsWithRealizingElements::ConnectionType() const { return *entity->getArgument(8); } -void IfcRelConnectsWithRealizingElements::setConnectionType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcRelConnectsWithRealizingElements::ConnectionType() const { return *entity->getArgument(8); } +void IfcRelConnectsWithRealizingElements::setConnectionType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcRelConnectsWithRealizingElements::is(Type::Enum v) const { return v == Type::IfcRelConnectsWithRealizingElements || IfcRelConnectsElements::is(v); } Type::Enum IfcRelConnectsWithRealizingElements::type() const { return Type::IfcRelConnectsWithRealizingElements; } Type::Enum IfcRelConnectsWithRealizingElements::Class() { return Type::IfcRelConnectsWithRealizingElements; } IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(IfcAbstractEntity* e) : IfcRelConnectsElements((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsWithRealizingElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, IfcTemplatedEntityList< IfcElement >::ptr v8_RealizingElements, boost::optional< IfcLabel > v9_ConnectionType) : IfcRelConnectsElements((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); e->setArgument(7,(v8_RealizingElements)->generalize()); if (v9_ConnectionType) { e->setArgument(8,(*v9_ConnectionType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, IfcTemplatedEntityList< IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); e->setArgument(7,(v8_RealizingElements)->generalize()); if (v9_ConnectionType) { e->setArgument(8,(*v9_ConnectionType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelContainedInSpatialStructure IfcTemplatedEntityList< IfcProduct >::ptr IfcRelContainedInSpatialStructure::RelatedElements() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } @@ -10552,7 +11956,7 @@ bool IfcRelContainedInSpatialStructure::is(Type::Enum v) const { return v == Typ Type::Enum IfcRelContainedInSpatialStructure::type() const { return Type::IfcRelContainedInSpatialStructure; } Type::Enum IfcRelContainedInSpatialStructure::Class() { return Type::IfcRelContainedInSpatialStructure; } IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelContainedInSpatialStructure)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialStructureElement* v6_RelatingStructure) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedElements)->generalize()); e->setArgument(5,(v6_RelatingStructure)); entity = e; EntityBuffer::Add(this); } +IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialStructureElement* v6_RelatingStructure) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedElements)->generalize()); e->setArgument(5,(v6_RelatingStructure)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelCoversBldgElements IfcElement* IfcRelCoversBldgElements::RelatingBuildingElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -10563,7 +11967,7 @@ bool IfcRelCoversBldgElements::is(Type::Enum v) const { return v == Type::IfcRel Type::Enum IfcRelCoversBldgElements::type() const { return Type::IfcRelCoversBldgElements; } Type::Enum IfcRelCoversBldgElements::Class() { return Type::IfcRelCoversBldgElements; } IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelCoversBldgElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingBuildingElement)); e->setArgument(5,(v6_RelatedCoverings)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingBuildingElement)); e->setArgument(5,(v6_RelatedCoverings)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelCoversSpaces IfcSpace* IfcRelCoversSpaces::RelatedSpace() const { return (IfcSpace*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -10574,7 +11978,7 @@ bool IfcRelCoversSpaces::is(Type::Enum v) const { return v == Type::IfcRelCovers Type::Enum IfcRelCoversSpaces::type() const { return Type::IfcRelCoversSpaces; } Type::Enum IfcRelCoversSpaces::Class() { return Type::IfcRelCoversSpaces; } IfcRelCoversSpaces::IfcRelCoversSpaces(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelCoversSpaces)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelCoversSpaces::IfcRelCoversSpaces(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpace* v5_RelatedSpace, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedSpace)); e->setArgument(5,(v6_RelatedCoverings)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpace* v5_RelatedSpace, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedSpace)); e->setArgument(5,(v6_RelatedCoverings)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDecomposes IfcObjectDefinition* IfcRelDecomposes::RelatingObject() const { return (IfcObjectDefinition*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -10585,7 +11989,7 @@ bool IfcRelDecomposes::is(Type::Enum v) const { return v == Type::IfcRelDecompos Type::Enum IfcRelDecomposes::type() const { return Type::IfcRelDecomposes; } Type::Enum IfcRelDecomposes::Class() { return Type::IfcRelDecomposes; } IfcRelDecomposes::IfcRelDecomposes(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDecomposes)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDecomposes::IfcRelDecomposes(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingObject)); e->setArgument(5,(v6_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingObject)); e->setArgument(5,(v6_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDefines IfcTemplatedEntityList< IfcObject >::ptr IfcRelDefines::RelatedObjects() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } @@ -10594,7 +11998,7 @@ bool IfcRelDefines::is(Type::Enum v) const { return v == Type::IfcRelDefines || Type::Enum IfcRelDefines::type() const { return Type::IfcRelDefines; } Type::Enum IfcRelDefines::Class() { return Type::IfcRelDefines; } IfcRelDefines::IfcRelDefines(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDefines)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDefines::IfcRelDefines(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDefinesByProperties IfcPropertySetDefinition* IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return (IfcPropertySetDefinition*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } @@ -10603,7 +12007,7 @@ bool IfcRelDefinesByProperties::is(Type::Enum v) const { return v == Type::IfcRe Type::Enum IfcRelDefinesByProperties::type() const { return Type::IfcRelDefinesByProperties; } Type::Enum IfcRelDefinesByProperties::Class() { return Type::IfcRelDefinesByProperties; } IfcRelDefinesByProperties::IfcRelDefinesByProperties(IfcAbstractEntity* e) : IfcRelDefines((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDefinesByProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDefinesByProperties::IfcRelDefinesByProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcPropertySetDefinition* v6_RelatingPropertyDefinition) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingPropertyDefinition)); entity = e; EntityBuffer::Add(this); } +IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcPropertySetDefinition* v6_RelatingPropertyDefinition) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingPropertyDefinition)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDefinesByType IfcTypeObject* IfcRelDefinesByType::RelatingType() const { return (IfcTypeObject*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } @@ -10612,7 +12016,7 @@ bool IfcRelDefinesByType::is(Type::Enum v) const { return v == Type::IfcRelDefin Type::Enum IfcRelDefinesByType::type() const { return Type::IfcRelDefinesByType; } Type::Enum IfcRelDefinesByType::Class() { return Type::IfcRelDefinesByType; } IfcRelDefinesByType::IfcRelDefinesByType(IfcAbstractEntity* e) : IfcRelDefines((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDefinesByType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDefinesByType::IfcRelDefinesByType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcTypeObject* v6_RelatingType) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingType)); entity = e; EntityBuffer::Add(this); } +IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcTypeObject* v6_RelatingType) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelFillsElement IfcOpeningElement* IfcRelFillsElement::RelatingOpeningElement() const { return (IfcOpeningElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -10623,7 +12027,7 @@ bool IfcRelFillsElement::is(Type::Enum v) const { return v == Type::IfcRelFillsE Type::Enum IfcRelFillsElement::type() const { return Type::IfcRelFillsElement; } Type::Enum IfcRelFillsElement::Class() { return Type::IfcRelFillsElement; } IfcRelFillsElement::IfcRelFillsElement(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelFillsElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelFillsElement::IfcRelFillsElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcOpeningElement* v5_RelatingOpeningElement, IfcElement* v6_RelatedBuildingElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingOpeningElement)); e->setArgument(5,(v6_RelatedBuildingElement)); entity = e; EntityBuffer::Add(this); } +IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcOpeningElement* v5_RelatingOpeningElement, IfcElement* v6_RelatedBuildingElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingOpeningElement)); e->setArgument(5,(v6_RelatedBuildingElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelFlowControlElements IfcTemplatedEntityList< IfcDistributionControlElement >::ptr IfcRelFlowControlElements::RelatedControlElements() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } @@ -10634,15 +12038,15 @@ bool IfcRelFlowControlElements::is(Type::Enum v) const { return v == Type::IfcRe Type::Enum IfcRelFlowControlElements::type() const { return Type::IfcRelFlowControlElements; } Type::Enum IfcRelFlowControlElements::Class() { return Type::IfcRelFlowControlElements; } IfcRelFlowControlElements::IfcRelFlowControlElements(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelFlowControlElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelFlowControlElements::IfcRelFlowControlElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v5_RelatedControlElements, IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedControlElements)->generalize()); e->setArgument(5,(v6_RelatingFlowElement)); entity = e; EntityBuffer::Add(this); } +IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v5_RelatedControlElements, IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedControlElements)->generalize()); e->setArgument(5,(v6_RelatingFlowElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelInteractionRequirements bool IfcRelInteractionRequirements::hasDailyInteraction() const { return !entity->getArgument(4)->isNull(); } -IfcCountMeasure IfcRelInteractionRequirements::DailyInteraction() const { return *entity->getArgument(4); } -void IfcRelInteractionRequirements::setDailyInteraction(IfcCountMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcRelInteractionRequirements::DailyInteraction() const { return *entity->getArgument(4); } +void IfcRelInteractionRequirements::setDailyInteraction(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcRelInteractionRequirements::hasImportanceRating() const { return !entity->getArgument(5)->isNull(); } -IfcNormalisedRatioMeasure IfcRelInteractionRequirements::ImportanceRating() const { return *entity->getArgument(5); } -void IfcRelInteractionRequirements::setImportanceRating(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcRelInteractionRequirements::ImportanceRating() const { return *entity->getArgument(5); } +void IfcRelInteractionRequirements::setImportanceRating(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcRelInteractionRequirements::hasLocationOfInteraction() const { return !entity->getArgument(6)->isNull(); } IfcSpatialStructureElement* IfcRelInteractionRequirements::LocationOfInteraction() const { return (IfcSpatialStructureElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } void IfcRelInteractionRequirements::setLocationOfInteraction(IfcSpatialStructureElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } @@ -10654,21 +12058,21 @@ bool IfcRelInteractionRequirements::is(Type::Enum v) const { return v == Type::I Type::Enum IfcRelInteractionRequirements::type() const { return Type::IfcRelInteractionRequirements; } Type::Enum IfcRelInteractionRequirements::Class() { return Type::IfcRelInteractionRequirements; } IfcRelInteractionRequirements::IfcRelInteractionRequirements(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelInteractionRequirements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelInteractionRequirements::IfcRelInteractionRequirements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcCountMeasure > v5_DailyInteraction, boost::optional< IfcNormalisedRatioMeasure > v6_ImportanceRating, IfcSpatialStructureElement* v7_LocationOfInteraction, IfcSpaceProgram* v8_RelatedSpaceProgram, IfcSpaceProgram* v9_RelatingSpaceProgram) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_DailyInteraction) { e->setArgument(4,(*v5_DailyInteraction)); } else { e->setArgument(4); } if (v6_ImportanceRating) { e->setArgument(5,(*v6_ImportanceRating)); } else { e->setArgument(5); } e->setArgument(6,(v7_LocationOfInteraction)); e->setArgument(7,(v8_RelatedSpaceProgram)); e->setArgument(8,(v9_RelatingSpaceProgram)); entity = e; EntityBuffer::Add(this); } +IfcRelInteractionRequirements::IfcRelInteractionRequirements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_DailyInteraction, boost::optional< double > v6_ImportanceRating, IfcSpatialStructureElement* v7_LocationOfInteraction, IfcSpaceProgram* v8_RelatedSpaceProgram, IfcSpaceProgram* v9_RelatingSpaceProgram) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_DailyInteraction) { e->setArgument(4,(*v5_DailyInteraction)); } else { e->setArgument(4); } if (v6_ImportanceRating) { e->setArgument(5,(*v6_ImportanceRating)); } else { e->setArgument(5); } e->setArgument(6,(v7_LocationOfInteraction)); e->setArgument(7,(v8_RelatedSpaceProgram)); e->setArgument(8,(v9_RelatingSpaceProgram)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelNests bool IfcRelNests::is(Type::Enum v) const { return v == Type::IfcRelNests || IfcRelDecomposes::is(v); } Type::Enum IfcRelNests::type() const { return Type::IfcRelNests; } Type::Enum IfcRelNests::Class() { return Type::IfcRelNests; } IfcRelNests::IfcRelNests(IfcAbstractEntity* e) : IfcRelDecomposes((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelNests)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelNests::IfcRelNests(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingObject)); e->setArgument(5,(v6_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRelNests::IfcRelNests(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingObject)); e->setArgument(5,(v6_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelOccupiesSpaces bool IfcRelOccupiesSpaces::is(Type::Enum v) const { return v == Type::IfcRelOccupiesSpaces || IfcRelAssignsToActor::is(v); } Type::Enum IfcRelOccupiesSpaces::type() const { return Type::IfcRelOccupiesSpaces; } Type::Enum IfcRelOccupiesSpaces::Class() { return Type::IfcRelOccupiesSpaces; } IfcRelOccupiesSpaces::IfcRelOccupiesSpaces(IfcAbstractEntity* e) : IfcRelAssignsToActor((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelOccupiesSpaces)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelOccupiesSpaces::IfcRelOccupiesSpaces(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole) : IfcRelAssignsToActor((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingActor)); e->setArgument(7,(v8_ActingRole)); entity = e; EntityBuffer::Add(this); } +IfcRelOccupiesSpaces::IfcRelOccupiesSpaces(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole) : IfcRelAssignsToActor((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingActor)); e->setArgument(7,(v8_ActingRole)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelOverridesProperties IfcTemplatedEntityList< IfcProperty >::ptr IfcRelOverridesProperties::OverridingProperties() const { IfcEntityList::ptr es = *entity->getArgument(6); return es->as(); } @@ -10677,7 +12081,7 @@ bool IfcRelOverridesProperties::is(Type::Enum v) const { return v == Type::IfcRe Type::Enum IfcRelOverridesProperties::type() const { return Type::IfcRelOverridesProperties; } Type::Enum IfcRelOverridesProperties::Class() { return Type::IfcRelOverridesProperties; } IfcRelOverridesProperties::IfcRelOverridesProperties(IfcAbstractEntity* e) : IfcRelDefinesByProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelOverridesProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelOverridesProperties::IfcRelOverridesProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcPropertySetDefinition* v6_RelatingPropertyDefinition, IfcTemplatedEntityList< IfcProperty >::ptr v7_OverridingProperties) : IfcRelDefinesByProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingPropertyDefinition)); e->setArgument(6,(v7_OverridingProperties)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRelOverridesProperties::IfcRelOverridesProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcPropertySetDefinition* v6_RelatingPropertyDefinition, IfcTemplatedEntityList< IfcProperty >::ptr v7_OverridingProperties) : IfcRelDefinesByProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingPropertyDefinition)); e->setArgument(6,(v7_OverridingProperties)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelProjectsElement IfcElement* IfcRelProjectsElement::RelatingElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -10688,7 +12092,7 @@ bool IfcRelProjectsElement::is(Type::Enum v) const { return v == Type::IfcRelPro Type::Enum IfcRelProjectsElement::type() const { return Type::IfcRelProjectsElement; } Type::Enum IfcRelProjectsElement::Class() { return Type::IfcRelProjectsElement; } IfcRelProjectsElement::IfcRelProjectsElement(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelProjectsElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelProjectsElement::IfcRelProjectsElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingElement, IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingElement)); e->setArgument(5,(v6_RelatedFeatureElement)); entity = e; EntityBuffer::Add(this); } +IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingElement, IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingElement)); e->setArgument(5,(v6_RelatedFeatureElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelReferencedInSpatialStructure IfcTemplatedEntityList< IfcProduct >::ptr IfcRelReferencedInSpatialStructure::RelatedElements() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } @@ -10699,29 +12103,29 @@ bool IfcRelReferencedInSpatialStructure::is(Type::Enum v) const { return v == Ty Type::Enum IfcRelReferencedInSpatialStructure::type() const { return Type::IfcRelReferencedInSpatialStructure; } Type::Enum IfcRelReferencedInSpatialStructure::Class() { return Type::IfcRelReferencedInSpatialStructure; } IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelReferencedInSpatialStructure)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialStructureElement* v6_RelatingStructure) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedElements)->generalize()); e->setArgument(5,(v6_RelatingStructure)); entity = e; EntityBuffer::Add(this); } +IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialStructureElement* v6_RelatingStructure) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedElements)->generalize()); e->setArgument(5,(v6_RelatingStructure)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelSchedulesCostItems bool IfcRelSchedulesCostItems::is(Type::Enum v) const { return v == Type::IfcRelSchedulesCostItems || IfcRelAssignsToControl::is(v); } Type::Enum IfcRelSchedulesCostItems::type() const { return Type::IfcRelSchedulesCostItems; } Type::Enum IfcRelSchedulesCostItems::Class() { return Type::IfcRelSchedulesCostItems; } IfcRelSchedulesCostItems::IfcRelSchedulesCostItems(IfcAbstractEntity* e) : IfcRelAssignsToControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelSchedulesCostItems)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelSchedulesCostItems::IfcRelSchedulesCostItems(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl) : IfcRelAssignsToControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingControl)); entity = e; EntityBuffer::Add(this); } +IfcRelSchedulesCostItems::IfcRelSchedulesCostItems(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl) : IfcRelAssignsToControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingControl)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelSequence IfcProcess* IfcRelSequence::RelatingProcess() const { return (IfcProcess*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } void IfcRelSequence::setRelatingProcess(IfcProcess* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } IfcProcess* IfcRelSequence::RelatedProcess() const { return (IfcProcess*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } void IfcRelSequence::setRelatedProcess(IfcProcess* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcTimeMeasure IfcRelSequence::TimeLag() const { return *entity->getArgument(6); } -void IfcRelSequence::setTimeLag(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcRelSequence::TimeLag() const { return *entity->getArgument(6); } +void IfcRelSequence::setTimeLag(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } IfcSequenceEnum::IfcSequenceEnum IfcRelSequence::SequenceType() const { return IfcSequenceEnum::FromString(*entity->getArgument(7)); } void IfcRelSequence::setSequenceType(IfcSequenceEnum::IfcSequenceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcSequenceEnum::ToString(v)); } bool IfcRelSequence::is(Type::Enum v) const { return v == Type::IfcRelSequence || IfcRelConnects::is(v); } Type::Enum IfcRelSequence::type() const { return Type::IfcRelSequence; } Type::Enum IfcRelSequence::Class() { return Type::IfcRelSequence; } IfcRelSequence::IfcRelSequence(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelSequence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelSequence::IfcRelSequence(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcProcess* v5_RelatingProcess, IfcProcess* v6_RelatedProcess, IfcTimeMeasure v7_TimeLag, IfcSequenceEnum::IfcSequenceEnum v8_SequenceType) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingProcess)); e->setArgument(5,(v6_RelatedProcess)); e->setArgument(6,(v7_TimeLag)); e->setArgument(7,v8_SequenceType,IfcSequenceEnum::ToString(v8_SequenceType)); entity = e; EntityBuffer::Add(this); } +IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcProcess* v5_RelatingProcess, IfcProcess* v6_RelatedProcess, double v7_TimeLag, IfcSequenceEnum::IfcSequenceEnum v8_SequenceType) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingProcess)); e->setArgument(5,(v6_RelatedProcess)); e->setArgument(6,(v7_TimeLag)); e->setArgument(7,v8_SequenceType,IfcSequenceEnum::ToString(v8_SequenceType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelServicesBuildings IfcSystem* IfcRelServicesBuildings::RelatingSystem() const { return (IfcSystem*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -10732,7 +12136,7 @@ bool IfcRelServicesBuildings::is(Type::Enum v) const { return v == Type::IfcRelS Type::Enum IfcRelServicesBuildings::type() const { return Type::IfcRelServicesBuildings; } Type::Enum IfcRelServicesBuildings::Class() { return Type::IfcRelServicesBuildings; } IfcRelServicesBuildings::IfcRelServicesBuildings(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelServicesBuildings)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelServicesBuildings::IfcRelServicesBuildings(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSystem* v5_RelatingSystem, IfcTemplatedEntityList< IfcSpatialStructureElement >::ptr v6_RelatedBuildings) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSystem)); e->setArgument(5,(v6_RelatedBuildings)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSystem* v5_RelatingSystem, IfcTemplatedEntityList< IfcSpatialStructureElement >::ptr v6_RelatedBuildings) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSystem)); e->setArgument(5,(v6_RelatedBuildings)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelSpaceBoundary IfcSpace* IfcRelSpaceBoundary::RelatingSpace() const { return (IfcSpace*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -10751,7 +12155,7 @@ bool IfcRelSpaceBoundary::is(Type::Enum v) const { return v == Type::IfcRelSpace Type::Enum IfcRelSpaceBoundary::type() const { return Type::IfcRelSpaceBoundary; } Type::Enum IfcRelSpaceBoundary::Class() { return Type::IfcRelSpaceBoundary; } IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelSpaceBoundary)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpace* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSpace)); e->setArgument(5,(v6_RelatedBuildingElement)); e->setArgument(6,(v7_ConnectionGeometry)); e->setArgument(7,v8_PhysicalOrVirtualBoundary,IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary)); e->setArgument(8,v9_InternalOrExternalBoundary,IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary)); entity = e; EntityBuffer::Add(this); } +IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpace* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSpace)); e->setArgument(5,(v6_RelatedBuildingElement)); e->setArgument(6,(v7_ConnectionGeometry)); e->setArgument(7,v8_PhysicalOrVirtualBoundary,IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary)); e->setArgument(8,v9_InternalOrExternalBoundary,IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelVoidsElement IfcElement* IfcRelVoidsElement::RelatingBuildingElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -10762,35 +12166,35 @@ bool IfcRelVoidsElement::is(Type::Enum v) const { return v == Type::IfcRelVoidsE Type::Enum IfcRelVoidsElement::type() const { return Type::IfcRelVoidsElement; } Type::Enum IfcRelVoidsElement::Class() { return Type::IfcRelVoidsElement; } IfcRelVoidsElement::IfcRelVoidsElement(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelVoidsElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelVoidsElement::IfcRelVoidsElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingBuildingElement)); e->setArgument(5,(v6_RelatedOpeningElement)); entity = e; EntityBuffer::Add(this); } +IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingBuildingElement)); e->setArgument(5,(v6_RelatedOpeningElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelationship bool IfcRelationship::is(Type::Enum v) const { return v == Type::IfcRelationship || IfcRoot::is(v); } Type::Enum IfcRelationship::type() const { return Type::IfcRelationship; } Type::Enum IfcRelationship::Class() { return Type::IfcRelationship; } IfcRelationship::IfcRelationship(IfcAbstractEntity* e) : IfcRoot((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelationship::IfcRelationship(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRoot((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcRelationship::IfcRelationship(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelaxation -IfcNormalisedRatioMeasure IfcRelaxation::RelaxationValue() const { return *entity->getArgument(0); } -void IfcRelaxation::setRelaxationValue(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcNormalisedRatioMeasure IfcRelaxation::InitialStress() const { return *entity->getArgument(1); } -void IfcRelaxation::setInitialStress(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcRelaxation::RelaxationValue() const { return *entity->getArgument(0); } +void IfcRelaxation::setRelaxationValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +double IfcRelaxation::InitialStress() const { return *entity->getArgument(1); } +void IfcRelaxation::setInitialStress(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcRelaxation::is(Type::Enum v) const { return v == Type::IfcRelaxation; } Type::Enum IfcRelaxation::type() const { return Type::IfcRelaxation; } Type::Enum IfcRelaxation::Class() { return Type::IfcRelaxation; } IfcRelaxation::IfcRelaxation(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRelaxation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelaxation::IfcRelaxation(IfcNormalisedRatioMeasure v1_RelaxationValue, IfcNormalisedRatioMeasure v2_InitialStress) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RelaxationValue)); e->setArgument(1,(v2_InitialStress)); entity = e; EntityBuffer::Add(this); } +IfcRelaxation::IfcRelaxation(double v1_RelaxationValue, double v2_InitialStress) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RelaxationValue)); e->setArgument(1,(v2_InitialStress)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRepresentation IfcRepresentationContext* IfcRepresentation::ContextOfItems() const { return (IfcRepresentationContext*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcRepresentation::setContextOfItems(IfcRepresentationContext* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcRepresentation::hasRepresentationIdentifier() const { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcRepresentation::RepresentationIdentifier() const { return *entity->getArgument(1); } -void IfcRepresentation::setRepresentationIdentifier(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcRepresentation::RepresentationIdentifier() const { return *entity->getArgument(1); } +void IfcRepresentation::setRepresentationIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcRepresentation::hasRepresentationType() const { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcRepresentation::RepresentationType() const { return *entity->getArgument(2); } -void IfcRepresentation::setRepresentationType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcRepresentation::RepresentationType() const { return *entity->getArgument(2); } +void IfcRepresentation::setRepresentationType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcTemplatedEntityList< IfcRepresentationItem >::ptr IfcRepresentation::Items() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } void IfcRepresentation::setItems(IfcTemplatedEntityList< IfcRepresentationItem >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } IfcRepresentationMap::list::ptr IfcRepresentation::RepresentationMap() const { return entity->getInverse(Type::IfcRepresentationMap)->as(); } @@ -10800,21 +12204,21 @@ bool IfcRepresentation::is(Type::Enum v) const { return v == Type::IfcRepresenta Type::Enum IfcRepresentation::type() const { return Type::IfcRepresentation; } Type::Enum IfcRepresentation::Class() { return Type::IfcRepresentation; } IfcRepresentation::IfcRepresentation(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRepresentation::IfcRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRepresentation::IfcRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRepresentationContext bool IfcRepresentationContext::hasContextIdentifier() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcRepresentationContext::ContextIdentifier() const { return *entity->getArgument(0); } -void IfcRepresentationContext::setContextIdentifier(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcRepresentationContext::ContextIdentifier() const { return *entity->getArgument(0); } +void IfcRepresentationContext::setContextIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcRepresentationContext::hasContextType() const { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcRepresentationContext::ContextType() const { return *entity->getArgument(1); } -void IfcRepresentationContext::setContextType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcRepresentationContext::ContextType() const { return *entity->getArgument(1); } +void IfcRepresentationContext::setContextType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcRepresentation::list::ptr IfcRepresentationContext::RepresentationsInContext() const { return entity->getInverse(Type::IfcRepresentation)->as(); } bool IfcRepresentationContext::is(Type::Enum v) const { return v == Type::IfcRepresentationContext; } Type::Enum IfcRepresentationContext::type() const { return Type::IfcRepresentationContext; } Type::Enum IfcRepresentationContext::Class() { return Type::IfcRepresentationContext; } IfcRepresentationContext::IfcRepresentationContext(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRepresentationContext)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRepresentationContext::IfcRepresentationContext(boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ContextIdentifier) { e->setArgument(0,(*v1_ContextIdentifier)); } else { e->setArgument(0); } if (v2_ContextType) { e->setArgument(1,(*v2_ContextType)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ContextIdentifier) { e->setArgument(0,(*v1_ContextIdentifier)); } else { e->setArgument(0); } if (v2_ContextType) { e->setArgument(1,(*v2_ContextType)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRepresentationItem IfcPresentationLayerAssignment::list::ptr IfcRepresentationItem::LayerAssignments() const { return entity->getInverse(Type::IfcPresentationLayerAssignment)->as(); } @@ -10826,8 +12230,8 @@ IfcRepresentationItem::IfcRepresentationItem(IfcAbstractEntity* e) : IfcUtil::If IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRepresentationMap -IfcAxis2Placement IfcRepresentationMap::MappingOrigin() const { return *entity->getArgument(0); } -void IfcRepresentationMap::setMappingOrigin(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcAxis2Placement* IfcRepresentationMap::MappingOrigin() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcRepresentationMap::setMappingOrigin(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } IfcRepresentation* IfcRepresentationMap::MappedRepresentation() const { return (IfcRepresentation*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcRepresentationMap::setMappedRepresentation(IfcRepresentation* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcMappedItem::list::ptr IfcRepresentationMap::MapUsage() const { return entity->getInverse(Type::IfcMappedItem)->as(); } @@ -10835,7 +12239,7 @@ bool IfcRepresentationMap::is(Type::Enum v) const { return v == Type::IfcReprese Type::Enum IfcRepresentationMap::type() const { return Type::IfcRepresentationMap; } Type::Enum IfcRepresentationMap::Class() { return Type::IfcRepresentationMap; } IfcRepresentationMap::IfcRepresentationMap(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRepresentationMap)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRepresentationMap::IfcRepresentationMap(IfcAxis2Placement v1_MappingOrigin, IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MappingOrigin)); e->setArgument(1,(v2_MappedRepresentation)); entity = e; EntityBuffer::Add(this); } +IfcRepresentationMap::IfcRepresentationMap(IfcAxis2Placement* v1_MappingOrigin, IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MappingOrigin)); e->setArgument(1,(v2_MappedRepresentation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcResource IfcRelAssignsToResource::list::ptr IfcResource::ResourceOf() const { return entity->getInverse(Type::IfcRelAssignsToResource)->as(); } @@ -10843,61 +12247,61 @@ bool IfcResource::is(Type::Enum v) const { return v == Type::IfcResource || IfcO Type::Enum IfcResource::type() const { return Type::IfcResource; } Type::Enum IfcResource::Class() { return Type::IfcResource; } IfcResource::IfcResource(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcResource::IfcResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcResource::IfcResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRevolvedAreaSolid IfcAxis1Placement* IfcRevolvedAreaSolid::Axis() const { return (IfcAxis1Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcRevolvedAreaSolid::setAxis(IfcAxis1Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcPlaneAngleMeasure IfcRevolvedAreaSolid::Angle() const { return *entity->getArgument(3); } -void IfcRevolvedAreaSolid::setAngle(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcRevolvedAreaSolid::Angle() const { return *entity->getArgument(3); } +void IfcRevolvedAreaSolid::setAngle(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcRevolvedAreaSolid::is(Type::Enum v) const { return v == Type::IfcRevolvedAreaSolid || IfcSweptAreaSolid::is(v); } Type::Enum IfcRevolvedAreaSolid::type() const { return Type::IfcRevolvedAreaSolid; } Type::Enum IfcRevolvedAreaSolid::Class() { return Type::IfcRevolvedAreaSolid; } IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcAbstractEntity* e) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRevolvedAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, IfcPlaneAngleMeasure v4_Angle) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_Axis)); e->setArgument(3,(v4_Angle)); entity = e; EntityBuffer::Add(this); } +IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_Axis)); e->setArgument(3,(v4_Angle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRibPlateProfileProperties bool IfcRibPlateProfileProperties::hasThickness() const { return !entity->getArgument(2)->isNull(); } -IfcPositiveLengthMeasure IfcRibPlateProfileProperties::Thickness() const { return *entity->getArgument(2); } -void IfcRibPlateProfileProperties::setThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcRibPlateProfileProperties::Thickness() const { return *entity->getArgument(2); } +void IfcRibPlateProfileProperties::setThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcRibPlateProfileProperties::hasRibHeight() const { return !entity->getArgument(3)->isNull(); } -IfcPositiveLengthMeasure IfcRibPlateProfileProperties::RibHeight() const { return *entity->getArgument(3); } -void IfcRibPlateProfileProperties::setRibHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcRibPlateProfileProperties::RibHeight() const { return *entity->getArgument(3); } +void IfcRibPlateProfileProperties::setRibHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcRibPlateProfileProperties::hasRibWidth() const { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcRibPlateProfileProperties::RibWidth() const { return *entity->getArgument(4); } -void IfcRibPlateProfileProperties::setRibWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcRibPlateProfileProperties::RibWidth() const { return *entity->getArgument(4); } +void IfcRibPlateProfileProperties::setRibWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcRibPlateProfileProperties::hasRibSpacing() const { return !entity->getArgument(5)->isNull(); } -IfcPositiveLengthMeasure IfcRibPlateProfileProperties::RibSpacing() const { return *entity->getArgument(5); } -void IfcRibPlateProfileProperties::setRibSpacing(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcRibPlateProfileProperties::RibSpacing() const { return *entity->getArgument(5); } +void IfcRibPlateProfileProperties::setRibSpacing(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum IfcRibPlateProfileProperties::Direction() const { return IfcRibPlateDirectionEnum::FromString(*entity->getArgument(6)); } void IfcRibPlateProfileProperties::setDirection(IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcRibPlateDirectionEnum::ToString(v)); } bool IfcRibPlateProfileProperties::is(Type::Enum v) const { return v == Type::IfcRibPlateProfileProperties || IfcProfileProperties::is(v); } Type::Enum IfcRibPlateProfileProperties::type() const { return Type::IfcRibPlateProfileProperties; } Type::Enum IfcRibPlateProfileProperties::Class() { return Type::IfcRibPlateProfileProperties; } IfcRibPlateProfileProperties::IfcRibPlateProfileProperties(IfcAbstractEntity* e) : IfcProfileProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRibPlateProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRibPlateProfileProperties::IfcRibPlateProfileProperties(boost::optional< IfcLabel > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< IfcPositiveLengthMeasure > v3_Thickness, boost::optional< IfcPositiveLengthMeasure > v4_RibHeight, boost::optional< IfcPositiveLengthMeasure > v5_RibWidth, boost::optional< IfcPositiveLengthMeasure > v6_RibSpacing, IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum v7_Direction) : IfcProfileProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ProfileName) { e->setArgument(0,(*v1_ProfileName)); } else { e->setArgument(0); } e->setArgument(1,(v2_ProfileDefinition)); if (v3_Thickness) { e->setArgument(2,(*v3_Thickness)); } else { e->setArgument(2); } if (v4_RibHeight) { e->setArgument(3,(*v4_RibHeight)); } else { e->setArgument(3); } if (v5_RibWidth) { e->setArgument(4,(*v5_RibWidth)); } else { e->setArgument(4); } if (v6_RibSpacing) { e->setArgument(5,(*v6_RibSpacing)); } else { e->setArgument(5); } e->setArgument(6,v7_Direction,IfcRibPlateDirectionEnum::ToString(v7_Direction)); entity = e; EntityBuffer::Add(this); } +IfcRibPlateProfileProperties::IfcRibPlateProfileProperties(boost::optional< std::string > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< double > v3_Thickness, boost::optional< double > v4_RibHeight, boost::optional< double > v5_RibWidth, boost::optional< double > v6_RibSpacing, IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum v7_Direction) : IfcProfileProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ProfileName) { e->setArgument(0,(*v1_ProfileName)); } else { e->setArgument(0); } e->setArgument(1,(v2_ProfileDefinition)); if (v3_Thickness) { e->setArgument(2,(*v3_Thickness)); } else { e->setArgument(2); } if (v4_RibHeight) { e->setArgument(3,(*v4_RibHeight)); } else { e->setArgument(3); } if (v5_RibWidth) { e->setArgument(4,(*v5_RibWidth)); } else { e->setArgument(4); } if (v6_RibSpacing) { e->setArgument(5,(*v6_RibSpacing)); } else { e->setArgument(5); } e->setArgument(6,v7_Direction,IfcRibPlateDirectionEnum::ToString(v7_Direction)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRightCircularCone -IfcPositiveLengthMeasure IfcRightCircularCone::Height() const { return *entity->getArgument(1); } -void IfcRightCircularCone::setHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveLengthMeasure IfcRightCircularCone::BottomRadius() const { return *entity->getArgument(2); } -void IfcRightCircularCone::setBottomRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcRightCircularCone::Height() const { return *entity->getArgument(1); } +void IfcRightCircularCone::setHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcRightCircularCone::BottomRadius() const { return *entity->getArgument(2); } +void IfcRightCircularCone::setBottomRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcRightCircularCone::is(Type::Enum v) const { return v == Type::IfcRightCircularCone || IfcCsgPrimitive3D::is(v); } Type::Enum IfcRightCircularCone::type() const { return Type::IfcRightCircularCone; } Type::Enum IfcRightCircularCone::Class() { return Type::IfcRightCircularCone; } IfcRightCircularCone::IfcRightCircularCone(IfcAbstractEntity* e) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRightCircularCone)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRightCircularCone::IfcRightCircularCone(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Height, IfcPositiveLengthMeasure v3_BottomRadius) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Height)); e->setArgument(2,(v3_BottomRadius)); entity = e; EntityBuffer::Add(this); } +IfcRightCircularCone::IfcRightCircularCone(IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Height)); e->setArgument(2,(v3_BottomRadius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRightCircularCylinder -IfcPositiveLengthMeasure IfcRightCircularCylinder::Height() const { return *entity->getArgument(1); } -void IfcRightCircularCylinder::setHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveLengthMeasure IfcRightCircularCylinder::Radius() const { return *entity->getArgument(2); } -void IfcRightCircularCylinder::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcRightCircularCylinder::Height() const { return *entity->getArgument(1); } +void IfcRightCircularCylinder::setHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcRightCircularCylinder::Radius() const { return *entity->getArgument(2); } +void IfcRightCircularCylinder::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcRightCircularCylinder::is(Type::Enum v) const { return v == Type::IfcRightCircularCylinder || IfcCsgPrimitive3D::is(v); } Type::Enum IfcRightCircularCylinder::type() const { return Type::IfcRightCircularCylinder; } Type::Enum IfcRightCircularCylinder::Class() { return Type::IfcRightCircularCylinder; } IfcRightCircularCylinder::IfcRightCircularCylinder(IfcAbstractEntity* e) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRightCircularCylinder)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRightCircularCylinder::IfcRightCircularCylinder(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Height, IfcPositiveLengthMeasure v3_Radius) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Height)); e->setArgument(2,(v3_Radius)); entity = e; EntityBuffer::Add(this); } +IfcRightCircularCylinder::IfcRightCircularCylinder(IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Height)); e->setArgument(2,(v3_Radius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRoof IfcRoofTypeEnum::IfcRoofTypeEnum IfcRoof::ShapeType() const { return IfcRoofTypeEnum::FromString(*entity->getArgument(8)); } @@ -10906,43 +12310,43 @@ bool IfcRoof::is(Type::Enum v) const { return v == Type::IfcRoof || IfcBuildingE Type::Enum IfcRoof::type() const { return Type::IfcRoof; } Type::Enum IfcRoof::Class() { return Type::IfcRoof; } IfcRoof::IfcRoof(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRoof)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRoof::IfcRoof(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcRoofTypeEnum::IfcRoofTypeEnum v9_ShapeType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_ShapeType,IfcRoofTypeEnum::ToString(v9_ShapeType)); entity = e; EntityBuffer::Add(this); } +IfcRoof::IfcRoof(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, IfcRoofTypeEnum::IfcRoofTypeEnum v9_ShapeType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_ShapeType,IfcRoofTypeEnum::ToString(v9_ShapeType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRoot -IfcGloballyUniqueId IfcRoot::GlobalId() const { return *entity->getArgument(0); } -void IfcRoot::setGlobalId(IfcGloballyUniqueId v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcRoot::GlobalId() const { return *entity->getArgument(0); } +void IfcRoot::setGlobalId(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } IfcOwnerHistory* IfcRoot::OwnerHistory() const { return (IfcOwnerHistory*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcRoot::setOwnerHistory(IfcOwnerHistory* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcRoot::hasName() const { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcRoot::Name() const { return *entity->getArgument(2); } -void IfcRoot::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcRoot::Name() const { return *entity->getArgument(2); } +void IfcRoot::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcRoot::hasDescription() const { return !entity->getArgument(3)->isNull(); } -IfcText IfcRoot::Description() const { return *entity->getArgument(3); } -void IfcRoot::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcRoot::Description() const { return *entity->getArgument(3); } +void IfcRoot::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcRoot::is(Type::Enum v) const { return v == Type::IfcRoot; } Type::Enum IfcRoot::type() const { return Type::IfcRoot; } Type::Enum IfcRoot::Class() { return Type::IfcRoot; } IfcRoot::IfcRoot(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRoot)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRoot::IfcRoot(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcRoot::IfcRoot(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRoundedEdgeFeature bool IfcRoundedEdgeFeature::hasRadius() const { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcRoundedEdgeFeature::Radius() const { return *entity->getArgument(9); } -void IfcRoundedEdgeFeature::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcRoundedEdgeFeature::Radius() const { return *entity->getArgument(9); } +void IfcRoundedEdgeFeature::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcRoundedEdgeFeature::is(Type::Enum v) const { return v == Type::IfcRoundedEdgeFeature || IfcEdgeFeature::is(v); } Type::Enum IfcRoundedEdgeFeature::type() const { return Type::IfcRoundedEdgeFeature; } Type::Enum IfcRoundedEdgeFeature::Class() { return Type::IfcRoundedEdgeFeature; } IfcRoundedEdgeFeature::IfcRoundedEdgeFeature(IfcAbstractEntity* e) : IfcEdgeFeature((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRoundedEdgeFeature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRoundedEdgeFeature::IfcRoundedEdgeFeature(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_FeatureLength, boost::optional< IfcPositiveLengthMeasure > v10_Radius) : IfcEdgeFeature((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_FeatureLength) { e->setArgument(8,(*v9_FeatureLength)); } else { e->setArgument(8); } if (v10_Radius) { e->setArgument(9,(*v10_Radius)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcRoundedEdgeFeature::IfcRoundedEdgeFeature(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_FeatureLength, boost::optional< double > v10_Radius) : IfcEdgeFeature((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_FeatureLength) { e->setArgument(8,(*v9_FeatureLength)); } else { e->setArgument(8); } if (v10_Radius) { e->setArgument(9,(*v10_Radius)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRoundedRectangleProfileDef -IfcPositiveLengthMeasure IfcRoundedRectangleProfileDef::RoundingRadius() const { return *entity->getArgument(5); } -void IfcRoundedRectangleProfileDef::setRoundingRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcRoundedRectangleProfileDef::RoundingRadius() const { return *entity->getArgument(5); } +void IfcRoundedRectangleProfileDef::setRoundingRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcRoundedRectangleProfileDef::is(Type::Enum v) const { return v == Type::IfcRoundedRectangleProfileDef || IfcRectangleProfileDef::is(v); } Type::Enum IfcRoundedRectangleProfileDef::type() const { return Type::IfcRoundedRectangleProfileDef; } Type::Enum IfcRoundedRectangleProfileDef::Class() { return Type::IfcRoundedRectangleProfileDef; } IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcAbstractEntity* e) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRoundedRectangleProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim, IfcPositiveLengthMeasure v6_RoundingRadius) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_XDim)); e->setArgument(4,(v5_YDim)); e->setArgument(5,(v6_RoundingRadius)); entity = e; EntityBuffer::Add(this); } +IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_XDim)); e->setArgument(4,(v5_YDim)); e->setArgument(5,(v6_RoundingRadius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSIUnit bool IfcSIUnit::hasPrefix() const { return !entity->getArgument(2)->isNull(); } @@ -10963,69 +12367,69 @@ bool IfcSanitaryTerminalType::is(Type::Enum v) const { return v == Type::IfcSani Type::Enum IfcSanitaryTerminalType::type() const { return Type::IfcSanitaryTerminalType; } Type::Enum IfcSanitaryTerminalType::Class() { return Type::IfcSanitaryTerminalType; } IfcSanitaryTerminalType::IfcSanitaryTerminalType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSanitaryTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSanitaryTerminalType::IfcSanitaryTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSanitaryTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSanitaryTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcScheduleTimeControl bool IfcScheduleTimeControl::hasActualStart() const { return !entity->getArgument(5)->isNull(); } -IfcDateTimeSelect IfcScheduleTimeControl::ActualStart() const { return *entity->getArgument(5); } -void IfcScheduleTimeControl::setActualStart(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +IfcDateTimeSelect* IfcScheduleTimeControl::ActualStart() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcScheduleTimeControl::setActualStart(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcScheduleTimeControl::hasEarlyStart() const { return !entity->getArgument(6)->isNull(); } -IfcDateTimeSelect IfcScheduleTimeControl::EarlyStart() const { return *entity->getArgument(6); } -void IfcScheduleTimeControl::setEarlyStart(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +IfcDateTimeSelect* IfcScheduleTimeControl::EarlyStart() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } +void IfcScheduleTimeControl::setEarlyStart(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcScheduleTimeControl::hasLateStart() const { return !entity->getArgument(7)->isNull(); } -IfcDateTimeSelect IfcScheduleTimeControl::LateStart() const { return *entity->getArgument(7); } -void IfcScheduleTimeControl::setLateStart(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +IfcDateTimeSelect* IfcScheduleTimeControl::LateStart() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } +void IfcScheduleTimeControl::setLateStart(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcScheduleTimeControl::hasScheduleStart() const { return !entity->getArgument(8)->isNull(); } -IfcDateTimeSelect IfcScheduleTimeControl::ScheduleStart() const { return *entity->getArgument(8); } -void IfcScheduleTimeControl::setScheduleStart(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +IfcDateTimeSelect* IfcScheduleTimeControl::ScheduleStart() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } +void IfcScheduleTimeControl::setScheduleStart(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcScheduleTimeControl::hasActualFinish() const { return !entity->getArgument(9)->isNull(); } -IfcDateTimeSelect IfcScheduleTimeControl::ActualFinish() const { return *entity->getArgument(9); } -void IfcScheduleTimeControl::setActualFinish(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +IfcDateTimeSelect* IfcScheduleTimeControl::ActualFinish() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } +void IfcScheduleTimeControl::setActualFinish(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcScheduleTimeControl::hasEarlyFinish() const { return !entity->getArgument(10)->isNull(); } -IfcDateTimeSelect IfcScheduleTimeControl::EarlyFinish() const { return *entity->getArgument(10); } -void IfcScheduleTimeControl::setEarlyFinish(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +IfcDateTimeSelect* IfcScheduleTimeControl::EarlyFinish() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } +void IfcScheduleTimeControl::setEarlyFinish(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcScheduleTimeControl::hasLateFinish() const { return !entity->getArgument(11)->isNull(); } -IfcDateTimeSelect IfcScheduleTimeControl::LateFinish() const { return *entity->getArgument(11); } -void IfcScheduleTimeControl::setLateFinish(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +IfcDateTimeSelect* IfcScheduleTimeControl::LateFinish() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(11))); } +void IfcScheduleTimeControl::setLateFinish(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcScheduleTimeControl::hasScheduleFinish() const { return !entity->getArgument(12)->isNull(); } -IfcDateTimeSelect IfcScheduleTimeControl::ScheduleFinish() const { return *entity->getArgument(12); } -void IfcScheduleTimeControl::setScheduleFinish(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +IfcDateTimeSelect* IfcScheduleTimeControl::ScheduleFinish() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(12))); } +void IfcScheduleTimeControl::setScheduleFinish(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcScheduleTimeControl::hasScheduleDuration() const { return !entity->getArgument(13)->isNull(); } -IfcTimeMeasure IfcScheduleTimeControl::ScheduleDuration() const { return *entity->getArgument(13); } -void IfcScheduleTimeControl::setScheduleDuration(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } +double IfcScheduleTimeControl::ScheduleDuration() const { return *entity->getArgument(13); } +void IfcScheduleTimeControl::setScheduleDuration(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } bool IfcScheduleTimeControl::hasActualDuration() const { return !entity->getArgument(14)->isNull(); } -IfcTimeMeasure IfcScheduleTimeControl::ActualDuration() const { return *entity->getArgument(14); } -void IfcScheduleTimeControl::setActualDuration(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } +double IfcScheduleTimeControl::ActualDuration() const { return *entity->getArgument(14); } +void IfcScheduleTimeControl::setActualDuration(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } bool IfcScheduleTimeControl::hasRemainingTime() const { return !entity->getArgument(15)->isNull(); } -IfcTimeMeasure IfcScheduleTimeControl::RemainingTime() const { return *entity->getArgument(15); } -void IfcScheduleTimeControl::setRemainingTime(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } +double IfcScheduleTimeControl::RemainingTime() const { return *entity->getArgument(15); } +void IfcScheduleTimeControl::setRemainingTime(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } bool IfcScheduleTimeControl::hasFreeFloat() const { return !entity->getArgument(16)->isNull(); } -IfcTimeMeasure IfcScheduleTimeControl::FreeFloat() const { return *entity->getArgument(16); } -void IfcScheduleTimeControl::setFreeFloat(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } +double IfcScheduleTimeControl::FreeFloat() const { return *entity->getArgument(16); } +void IfcScheduleTimeControl::setFreeFloat(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } bool IfcScheduleTimeControl::hasTotalFloat() const { return !entity->getArgument(17)->isNull(); } -IfcTimeMeasure IfcScheduleTimeControl::TotalFloat() const { return *entity->getArgument(17); } -void IfcScheduleTimeControl::setTotalFloat(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v); } +double IfcScheduleTimeControl::TotalFloat() const { return *entity->getArgument(17); } +void IfcScheduleTimeControl::setTotalFloat(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v); } bool IfcScheduleTimeControl::hasIsCritical() const { return !entity->getArgument(18)->isNull(); } bool IfcScheduleTimeControl::IsCritical() const { return *entity->getArgument(18); } void IfcScheduleTimeControl::setIsCritical(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(18,v); } bool IfcScheduleTimeControl::hasStatusTime() const { return !entity->getArgument(19)->isNull(); } -IfcDateTimeSelect IfcScheduleTimeControl::StatusTime() const { return *entity->getArgument(19); } -void IfcScheduleTimeControl::setStatusTime(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(19,v); } +IfcDateTimeSelect* IfcScheduleTimeControl::StatusTime() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(19))); } +void IfcScheduleTimeControl::setStatusTime(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(19,v); } bool IfcScheduleTimeControl::hasStartFloat() const { return !entity->getArgument(20)->isNull(); } -IfcTimeMeasure IfcScheduleTimeControl::StartFloat() const { return *entity->getArgument(20); } -void IfcScheduleTimeControl::setStartFloat(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(20,v); } +double IfcScheduleTimeControl::StartFloat() const { return *entity->getArgument(20); } +void IfcScheduleTimeControl::setStartFloat(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(20,v); } bool IfcScheduleTimeControl::hasFinishFloat() const { return !entity->getArgument(21)->isNull(); } -IfcTimeMeasure IfcScheduleTimeControl::FinishFloat() const { return *entity->getArgument(21); } -void IfcScheduleTimeControl::setFinishFloat(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(21,v); } +double IfcScheduleTimeControl::FinishFloat() const { return *entity->getArgument(21); } +void IfcScheduleTimeControl::setFinishFloat(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(21,v); } bool IfcScheduleTimeControl::hasCompletion() const { return !entity->getArgument(22)->isNull(); } -IfcPositiveRatioMeasure IfcScheduleTimeControl::Completion() const { return *entity->getArgument(22); } -void IfcScheduleTimeControl::setCompletion(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(22,v); } +double IfcScheduleTimeControl::Completion() const { return *entity->getArgument(22); } +void IfcScheduleTimeControl::setCompletion(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(22,v); } IfcRelAssignsTasks::list::ptr IfcScheduleTimeControl::ScheduleTimeControlAssigned() const { return entity->getInverse(Type::IfcRelAssignsTasks)->as(); } bool IfcScheduleTimeControl::is(Type::Enum v) const { return v == Type::IfcScheduleTimeControl || IfcControl::is(v); } Type::Enum IfcScheduleTimeControl::type() const { return Type::IfcScheduleTimeControl; } Type::Enum IfcScheduleTimeControl::Class() { return Type::IfcScheduleTimeControl; } IfcScheduleTimeControl::IfcScheduleTimeControl(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcScheduleTimeControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcScheduleTimeControl::IfcScheduleTimeControl(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcDateTimeSelect > v6_ActualStart, boost::optional< IfcDateTimeSelect > v7_EarlyStart, boost::optional< IfcDateTimeSelect > v8_LateStart, boost::optional< IfcDateTimeSelect > v9_ScheduleStart, boost::optional< IfcDateTimeSelect > v10_ActualFinish, boost::optional< IfcDateTimeSelect > v11_EarlyFinish, boost::optional< IfcDateTimeSelect > v12_LateFinish, boost::optional< IfcDateTimeSelect > v13_ScheduleFinish, boost::optional< IfcTimeMeasure > v14_ScheduleDuration, boost::optional< IfcTimeMeasure > v15_ActualDuration, boost::optional< IfcTimeMeasure > v16_RemainingTime, boost::optional< IfcTimeMeasure > v17_FreeFloat, boost::optional< IfcTimeMeasure > v18_TotalFloat, boost::optional< bool > v19_IsCritical, boost::optional< IfcDateTimeSelect > v20_StatusTime, boost::optional< IfcTimeMeasure > v21_StartFloat, boost::optional< IfcTimeMeasure > v22_FinishFloat, boost::optional< IfcPositiveRatioMeasure > v23_Completion) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ActualStart) { e->setArgument(5,(*v6_ActualStart)); } else { e->setArgument(5); } if (v7_EarlyStart) { e->setArgument(6,(*v7_EarlyStart)); } else { e->setArgument(6); } if (v8_LateStart) { e->setArgument(7,(*v8_LateStart)); } else { e->setArgument(7); } if (v9_ScheduleStart) { e->setArgument(8,(*v9_ScheduleStart)); } else { e->setArgument(8); } if (v10_ActualFinish) { e->setArgument(9,(*v10_ActualFinish)); } else { e->setArgument(9); } if (v11_EarlyFinish) { e->setArgument(10,(*v11_EarlyFinish)); } else { e->setArgument(10); } if (v12_LateFinish) { e->setArgument(11,(*v12_LateFinish)); } else { e->setArgument(11); } if (v13_ScheduleFinish) { e->setArgument(12,(*v13_ScheduleFinish)); } else { e->setArgument(12); } if (v14_ScheduleDuration) { e->setArgument(13,(*v14_ScheduleDuration)); } else { e->setArgument(13); } if (v15_ActualDuration) { e->setArgument(14,(*v15_ActualDuration)); } else { e->setArgument(14); } if (v16_RemainingTime) { e->setArgument(15,(*v16_RemainingTime)); } else { e->setArgument(15); } if (v17_FreeFloat) { e->setArgument(16,(*v17_FreeFloat)); } else { e->setArgument(16); } if (v18_TotalFloat) { e->setArgument(17,(*v18_TotalFloat)); } else { e->setArgument(17); } if (v19_IsCritical) { e->setArgument(18,(*v19_IsCritical)); } else { e->setArgument(18); } if (v20_StatusTime) { e->setArgument(19,(*v20_StatusTime)); } else { e->setArgument(19); } if (v21_StartFloat) { e->setArgument(20,(*v21_StartFloat)); } else { e->setArgument(20); } if (v22_FinishFloat) { e->setArgument(21,(*v22_FinishFloat)); } else { e->setArgument(21); } if (v23_Completion) { e->setArgument(22,(*v23_Completion)); } else { e->setArgument(22); } entity = e; EntityBuffer::Add(this); } +IfcScheduleTimeControl::IfcScheduleTimeControl(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcDateTimeSelect* v6_ActualStart, IfcDateTimeSelect* v7_EarlyStart, IfcDateTimeSelect* v8_LateStart, IfcDateTimeSelect* v9_ScheduleStart, IfcDateTimeSelect* v10_ActualFinish, IfcDateTimeSelect* v11_EarlyFinish, IfcDateTimeSelect* v12_LateFinish, IfcDateTimeSelect* v13_ScheduleFinish, boost::optional< double > v14_ScheduleDuration, boost::optional< double > v15_ActualDuration, boost::optional< double > v16_RemainingTime, boost::optional< double > v17_FreeFloat, boost::optional< double > v18_TotalFloat, boost::optional< bool > v19_IsCritical, IfcDateTimeSelect* v20_StatusTime, boost::optional< double > v21_StartFloat, boost::optional< double > v22_FinishFloat, boost::optional< double > v23_Completion) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ActualStart)); e->setArgument(6,(v7_EarlyStart)); e->setArgument(7,(v8_LateStart)); e->setArgument(8,(v9_ScheduleStart)); e->setArgument(9,(v10_ActualFinish)); e->setArgument(10,(v11_EarlyFinish)); e->setArgument(11,(v12_LateFinish)); e->setArgument(12,(v13_ScheduleFinish)); if (v14_ScheduleDuration) { e->setArgument(13,(*v14_ScheduleDuration)); } else { e->setArgument(13); } if (v15_ActualDuration) { e->setArgument(14,(*v15_ActualDuration)); } else { e->setArgument(14); } if (v16_RemainingTime) { e->setArgument(15,(*v16_RemainingTime)); } else { e->setArgument(15); } if (v17_FreeFloat) { e->setArgument(16,(*v17_FreeFloat)); } else { e->setArgument(16); } if (v18_TotalFloat) { e->setArgument(17,(*v18_TotalFloat)); } else { e->setArgument(17); } if (v19_IsCritical) { e->setArgument(18,(*v19_IsCritical)); } else { e->setArgument(18); } e->setArgument(19,(v20_StatusTime)); if (v21_StartFloat) { e->setArgument(20,(*v21_StartFloat)); } else { e->setArgument(20); } if (v22_FinishFloat) { e->setArgument(21,(*v22_FinishFloat)); } else { e->setArgument(21); } if (v23_Completion) { e->setArgument(22,(*v23_Completion)); } else { e->setArgument(22); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSectionProperties IfcSectionTypeEnum::IfcSectionTypeEnum IfcSectionProperties::SectionType() const { return IfcSectionTypeEnum::FromString(*entity->getArgument(0)); } @@ -11042,13 +12446,13 @@ IfcSectionProperties::IfcSectionProperties(IfcAbstractEntity* e) : IfcUtil::IfcB IfcSectionProperties::IfcSectionProperties(IfcSectionTypeEnum::IfcSectionTypeEnum v1_SectionType, IfcProfileDef* v2_StartProfile, IfcProfileDef* v3_EndProfile) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_SectionType,IfcSectionTypeEnum::ToString(v1_SectionType)); e->setArgument(1,(v2_StartProfile)); e->setArgument(2,(v3_EndProfile)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSectionReinforcementProperties -IfcLengthMeasure IfcSectionReinforcementProperties::LongitudinalStartPosition() const { return *entity->getArgument(0); } -void IfcSectionReinforcementProperties::setLongitudinalStartPosition(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLengthMeasure IfcSectionReinforcementProperties::LongitudinalEndPosition() const { return *entity->getArgument(1); } -void IfcSectionReinforcementProperties::setLongitudinalEndPosition(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcSectionReinforcementProperties::LongitudinalStartPosition() const { return *entity->getArgument(0); } +void IfcSectionReinforcementProperties::setLongitudinalStartPosition(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +double IfcSectionReinforcementProperties::LongitudinalEndPosition() const { return *entity->getArgument(1); } +void IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcSectionReinforcementProperties::hasTransversePosition() const { return !entity->getArgument(2)->isNull(); } -IfcLengthMeasure IfcSectionReinforcementProperties::TransversePosition() const { return *entity->getArgument(2); } -void IfcSectionReinforcementProperties::setTransversePosition(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcSectionReinforcementProperties::TransversePosition() const { return *entity->getArgument(2); } +void IfcSectionReinforcementProperties::setTransversePosition(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum IfcSectionReinforcementProperties::ReinforcementRole() const { return IfcReinforcingBarRoleEnum::FromString(*entity->getArgument(3)); } void IfcSectionReinforcementProperties::setReinforcementRole(IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v,IfcReinforcingBarRoleEnum::ToString(v)); } IfcSectionProperties* IfcSectionReinforcementProperties::SectionDefinition() const { return (IfcSectionProperties*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -11059,7 +12463,7 @@ bool IfcSectionReinforcementProperties::is(Type::Enum v) const { return v == Typ Type::Enum IfcSectionReinforcementProperties::type() const { return Type::IfcSectionReinforcementProperties; } Type::Enum IfcSectionReinforcementProperties::Class() { return Type::IfcSectionReinforcementProperties; } IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcSectionReinforcementProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcLengthMeasure v1_LongitudinalStartPosition, IfcLengthMeasure v2_LongitudinalEndPosition, boost::optional< IfcLengthMeasure > v3_TransversePosition, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v4_ReinforcementRole, IfcSectionProperties* v5_SectionDefinition, IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_LongitudinalStartPosition)); e->setArgument(1,(v2_LongitudinalEndPosition)); if (v3_TransversePosition) { e->setArgument(2,(*v3_TransversePosition)); } else { e->setArgument(2); } e->setArgument(3,v4_ReinforcementRole,IfcReinforcingBarRoleEnum::ToString(v4_ReinforcementRole)); e->setArgument(4,(v5_SectionDefinition)); e->setArgument(5,(v6_CrossSectionReinforcementDefinitions)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v4_ReinforcementRole, IfcSectionProperties* v5_SectionDefinition, IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_LongitudinalStartPosition)); e->setArgument(1,(v2_LongitudinalEndPosition)); if (v3_TransversePosition) { e->setArgument(2,(*v3_TransversePosition)); } else { e->setArgument(2); } e->setArgument(3,v4_ReinforcementRole,IfcReinforcingBarRoleEnum::ToString(v4_ReinforcementRole)); e->setArgument(4,(v5_SectionDefinition)); e->setArgument(5,(v6_CrossSectionReinforcementDefinitions)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSectionedSpine IfcCompositeCurve* IfcSectionedSpine::SpineCurve() const { return (IfcCompositeCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -11081,45 +12485,45 @@ bool IfcSensorType::is(Type::Enum v) const { return v == Type::IfcSensorType || Type::Enum IfcSensorType::type() const { return Type::IfcSensorType; } Type::Enum IfcSensorType::Class() { return Type::IfcSensorType; } IfcSensorType::IfcSensorType(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSensorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSensorType::IfcSensorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSensorTypeEnum::IfcSensorTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSensorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcSensorType::IfcSensorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSensorTypeEnum::IfcSensorTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSensorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcServiceLife IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum IfcServiceLife::ServiceLifeType() const { return IfcServiceLifeTypeEnum::FromString(*entity->getArgument(5)); } void IfcServiceLife::setServiceLifeType(IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcServiceLifeTypeEnum::ToString(v)); } -IfcTimeMeasure IfcServiceLife::ServiceLifeDuration() const { return *entity->getArgument(6); } -void IfcServiceLife::setServiceLifeDuration(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcServiceLife::ServiceLifeDuration() const { return *entity->getArgument(6); } +void IfcServiceLife::setServiceLifeDuration(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcServiceLife::is(Type::Enum v) const { return v == Type::IfcServiceLife || IfcControl::is(v); } Type::Enum IfcServiceLife::type() const { return Type::IfcServiceLife; } Type::Enum IfcServiceLife::Class() { return Type::IfcServiceLife; } IfcServiceLife::IfcServiceLife(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcServiceLife)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcServiceLife::IfcServiceLife(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum v6_ServiceLifeType, IfcTimeMeasure v7_ServiceLifeDuration) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_ServiceLifeType,IfcServiceLifeTypeEnum::ToString(v6_ServiceLifeType)); e->setArgument(6,(v7_ServiceLifeDuration)); entity = e; EntityBuffer::Add(this); } +IfcServiceLife::IfcServiceLife(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum v6_ServiceLifeType, double v7_ServiceLifeDuration) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_ServiceLifeType,IfcServiceLifeTypeEnum::ToString(v6_ServiceLifeType)); e->setArgument(6,(v7_ServiceLifeDuration)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcServiceLifeFactor IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum IfcServiceLifeFactor::PredefinedType() const { return IfcServiceLifeFactorTypeEnum::FromString(*entity->getArgument(4)); } void IfcServiceLifeFactor::setPredefinedType(IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcServiceLifeFactorTypeEnum::ToString(v)); } bool IfcServiceLifeFactor::hasUpperValue() const { return !entity->getArgument(5)->isNull(); } -IfcMeasureValue IfcServiceLifeFactor::UpperValue() const { return *entity->getArgument(5); } -void IfcServiceLifeFactor::setUpperValue(IfcMeasureValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcMeasureValue IfcServiceLifeFactor::MostUsedValue() const { return *entity->getArgument(6); } -void IfcServiceLifeFactor::setMostUsedValue(IfcMeasureValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +IfcMeasureValue* IfcServiceLifeFactor::UpperValue() const { return (IfcMeasureValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcServiceLifeFactor::setUpperValue(IfcMeasureValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +IfcMeasureValue* IfcServiceLifeFactor::MostUsedValue() const { return (IfcMeasureValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } +void IfcServiceLifeFactor::setMostUsedValue(IfcMeasureValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcServiceLifeFactor::hasLowerValue() const { return !entity->getArgument(7)->isNull(); } -IfcMeasureValue IfcServiceLifeFactor::LowerValue() const { return *entity->getArgument(7); } -void IfcServiceLifeFactor::setLowerValue(IfcMeasureValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +IfcMeasureValue* IfcServiceLifeFactor::LowerValue() const { return (IfcMeasureValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } +void IfcServiceLifeFactor::setLowerValue(IfcMeasureValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcServiceLifeFactor::is(Type::Enum v) const { return v == Type::IfcServiceLifeFactor || IfcPropertySetDefinition::is(v); } Type::Enum IfcServiceLifeFactor::type() const { return Type::IfcServiceLifeFactor; } Type::Enum IfcServiceLifeFactor::Class() { return Type::IfcServiceLifeFactor; } IfcServiceLifeFactor::IfcServiceLifeFactor(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcServiceLifeFactor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcServiceLifeFactor::IfcServiceLifeFactor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum v5_PredefinedType, boost::optional< IfcMeasureValue > v6_UpperValue, IfcMeasureValue v7_MostUsedValue, boost::optional< IfcMeasureValue > v8_LowerValue) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_PredefinedType,IfcServiceLifeFactorTypeEnum::ToString(v5_PredefinedType)); if (v6_UpperValue) { e->setArgument(5,(*v6_UpperValue)); } else { e->setArgument(5); } e->setArgument(6,(v7_MostUsedValue)); if (v8_LowerValue) { e->setArgument(7,(*v8_LowerValue)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcServiceLifeFactor::IfcServiceLifeFactor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum v5_PredefinedType, IfcMeasureValue* v6_UpperValue, IfcMeasureValue* v7_MostUsedValue, IfcMeasureValue* v8_LowerValue) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_PredefinedType,IfcServiceLifeFactorTypeEnum::ToString(v5_PredefinedType)); e->setArgument(5,(v6_UpperValue)); e->setArgument(6,(v7_MostUsedValue)); e->setArgument(7,(v8_LowerValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcShapeAspect IfcTemplatedEntityList< IfcShapeModel >::ptr IfcShapeAspect::ShapeRepresentations() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } void IfcShapeAspect::setShapeRepresentations(IfcTemplatedEntityList< IfcShapeModel >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } bool IfcShapeAspect::hasName() const { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcShapeAspect::Name() const { return *entity->getArgument(1); } -void IfcShapeAspect::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcShapeAspect::Name() const { return *entity->getArgument(1); } +void IfcShapeAspect::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcShapeAspect::hasDescription() const { return !entity->getArgument(2)->isNull(); } -IfcText IfcShapeAspect::Description() const { return *entity->getArgument(2); } -void IfcShapeAspect::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcShapeAspect::Description() const { return *entity->getArgument(2); } +void IfcShapeAspect::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcShapeAspect::ProductDefinitional() const { return *entity->getArgument(3); } void IfcShapeAspect::setProductDefinitional(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } IfcProductDefinitionShape* IfcShapeAspect::PartOfProductDefinitionShape() const { return (IfcProductDefinitionShape*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -11128,7 +12532,7 @@ bool IfcShapeAspect::is(Type::Enum v) const { return v == Type::IfcShapeAspect; Type::Enum IfcShapeAspect::type() const { return Type::IfcShapeAspect; } Type::Enum IfcShapeAspect::Class() { return Type::IfcShapeAspect; } IfcShapeAspect::IfcShapeAspect(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcShapeAspect)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcShapeAspect::IfcShapeAspect(IfcTemplatedEntityList< IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< IfcLabel > v2_Name, boost::optional< IfcText > v3_Description, bool v4_ProductDefinitional, IfcProductDefinitionShape* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ShapeRepresentations)->generalize()); if (v2_Name) { e->setArgument(1,(*v2_Name)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } e->setArgument(3,(v4_ProductDefinitional)); e->setArgument(4,(v5_PartOfProductDefinitionShape)); entity = e; EntityBuffer::Add(this); } +IfcShapeAspect::IfcShapeAspect(IfcTemplatedEntityList< IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, bool v4_ProductDefinitional, IfcProductDefinitionShape* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ShapeRepresentations)->generalize()); if (v2_Name) { e->setArgument(1,(*v2_Name)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } e->setArgument(3,(v4_ProductDefinitional)); e->setArgument(4,(v5_PartOfProductDefinitionShape)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcShapeModel IfcShapeAspect::list::ptr IfcShapeModel::OfShapeAspect() const { return entity->getInverse(Type::IfcShapeAspect)->as(); } @@ -11136,18 +12540,18 @@ bool IfcShapeModel::is(Type::Enum v) const { return v == Type::IfcShapeModel || Type::Enum IfcShapeModel::type() const { return Type::IfcShapeModel; } Type::Enum IfcShapeModel::Class() { return Type::IfcShapeModel; } IfcShapeModel::IfcShapeModel(IfcAbstractEntity* e) : IfcRepresentation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcShapeModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcShapeModel::IfcShapeModel(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcShapeModel::IfcShapeModel(IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcShapeRepresentation bool IfcShapeRepresentation::is(Type::Enum v) const { return v == Type::IfcShapeRepresentation || IfcShapeModel::is(v); } Type::Enum IfcShapeRepresentation::type() const { return Type::IfcShapeRepresentation; } Type::Enum IfcShapeRepresentation::Class() { return Type::IfcShapeRepresentation; } IfcShapeRepresentation::IfcShapeRepresentation(IfcAbstractEntity* e) : IfcShapeModel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcShapeRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcShapeRepresentation::IfcShapeRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcShapeRepresentation::IfcShapeRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcShellBasedSurfaceModel -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcShellBasedSurfaceModel::SbsmBoundary() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcShellBasedSurfaceModel::setSbsmBoundary(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcEntityList::ptr IfcShellBasedSurfaceModel::SbsmBoundary() const { return *entity->getArgument(0); } +void IfcShellBasedSurfaceModel::setSbsmBoundary(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } 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; } @@ -11159,21 +12563,21 @@ bool IfcSimpleProperty::is(Type::Enum v) const { return v == Type::IfcSimpleProp Type::Enum IfcSimpleProperty::type() const { return Type::IfcSimpleProperty; } Type::Enum IfcSimpleProperty::Class() { return Type::IfcSimpleProperty; } IfcSimpleProperty::IfcSimpleProperty(IfcAbstractEntity* e) : IfcProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSimpleProperty)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSimpleProperty::IfcSimpleProperty(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description) : IfcProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSite bool IfcSite::hasRefLatitude() const { return !entity->getArgument(9)->isNull(); } -IfcCompoundPlaneAngleMeasure IfcSite::RefLatitude() const { return *entity->getArgument(9); } -void IfcSite::setRefLatitude(IfcCompoundPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +std::vector< int > /*[3:4]*/ IfcSite::RefLatitude() const { return *entity->getArgument(9); } +void IfcSite::setRefLatitude(std::vector< int > /*[3:4]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcSite::hasRefLongitude() const { return !entity->getArgument(10)->isNull(); } -IfcCompoundPlaneAngleMeasure IfcSite::RefLongitude() const { return *entity->getArgument(10); } -void IfcSite::setRefLongitude(IfcCompoundPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +std::vector< int > /*[3:4]*/ IfcSite::RefLongitude() const { return *entity->getArgument(10); } +void IfcSite::setRefLongitude(std::vector< int > /*[3:4]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcSite::hasRefElevation() const { return !entity->getArgument(11)->isNull(); } -IfcLengthMeasure IfcSite::RefElevation() const { return *entity->getArgument(11); } -void IfcSite::setRefElevation(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcSite::RefElevation() const { return *entity->getArgument(11); } +void IfcSite::setRefElevation(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcSite::hasLandTitleNumber() const { return !entity->getArgument(12)->isNull(); } -IfcLabel IfcSite::LandTitleNumber() const { return *entity->getArgument(12); } -void IfcSite::setLandTitleNumber(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +std::string IfcSite::LandTitleNumber() const { return *entity->getArgument(12); } +void IfcSite::setLandTitleNumber(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcSite::hasSiteAddress() const { return !entity->getArgument(13)->isNull(); } IfcPostalAddress* IfcSite::SiteAddress() const { return (IfcPostalAddress*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(13))); } void IfcSite::setSiteAddress(IfcPostalAddress* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } @@ -11181,7 +12585,7 @@ bool IfcSite::is(Type::Enum v) const { return v == Type::IfcSite || IfcSpatialSt Type::Enum IfcSite::type() const { return Type::IfcSite; } Type::Enum IfcSite::Class() { return Type::IfcSite; } IfcSite::IfcSite(IfcAbstractEntity* e) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSite)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSite::IfcSite(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< IfcCompoundPlaneAngleMeasure > v10_RefLatitude, boost::optional< IfcCompoundPlaneAngleMeasure > v11_RefLongitude, boost::optional< IfcLengthMeasure > v12_RefElevation, boost::optional< IfcLabel > v13_LandTitleNumber, IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } e->setArgument(8,v9_CompositionType,IfcElementCompositionEnum::ToString(v9_CompositionType)); if (v10_RefLatitude) { e->setArgument(9,(*v10_RefLatitude)); } else { e->setArgument(9); } if (v11_RefLongitude) { e->setArgument(10,(*v11_RefLongitude)); } else { e->setArgument(10); } if (v12_RefElevation) { e->setArgument(11,(*v12_RefElevation)); } else { e->setArgument(11); } if (v13_LandTitleNumber) { e->setArgument(12,(*v13_LandTitleNumber)); } else { e->setArgument(12); } e->setArgument(13,(v14_SiteAddress)); entity = e; EntityBuffer::Add(this); } +IfcSite::IfcSite(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, boost::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, boost::optional< double > v12_RefElevation, boost::optional< std::string > v13_LandTitleNumber, IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } e->setArgument(8,v9_CompositionType,IfcElementCompositionEnum::ToString(v9_CompositionType)); if (v10_RefLatitude) { e->setArgument(9,(*v10_RefLatitude)); } else { e->setArgument(9); } if (v11_RefLongitude) { e->setArgument(10,(*v11_RefLongitude)); } else { e->setArgument(10); } if (v12_RefElevation) { e->setArgument(11,(*v12_RefElevation)); } else { e->setArgument(11); } if (v13_LandTitleNumber) { e->setArgument(12,(*v13_LandTitleNumber)); } else { e->setArgument(12); } e->setArgument(13,(v14_SiteAddress)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSlab bool IfcSlab::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -11191,7 +12595,7 @@ bool IfcSlab::is(Type::Enum v) const { return v == Type::IfcSlab || IfcBuildingE Type::Enum IfcSlab::type() const { return Type::IfcSlab; } Type::Enum IfcSlab::Class() { return Type::IfcSlab; } IfcSlab::IfcSlab(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSlab)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSlab::IfcSlab(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSlabTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSlab::IfcSlab(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSlabTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSlabType IfcSlabTypeEnum::IfcSlabTypeEnum IfcSlabType::PredefinedType() const { return IfcSlabTypeEnum::FromString(*entity->getArgument(9)); } @@ -11200,23 +12604,23 @@ bool IfcSlabType::is(Type::Enum v) const { return v == Type::IfcSlabType || IfcB Type::Enum IfcSlabType::type() const { return Type::IfcSlabType; } Type::Enum IfcSlabType::Class() { return Type::IfcSlabType; } IfcSlabType::IfcSlabType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSlabType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSlabType::IfcSlabType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSlabTypeEnum::IfcSlabTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSlabTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcSlabType::IfcSlabType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSlabTypeEnum::IfcSlabTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSlabTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSlippageConnectionCondition bool IfcSlippageConnectionCondition::hasSlippageX() const { return !entity->getArgument(1)->isNull(); } -IfcLengthMeasure IfcSlippageConnectionCondition::SlippageX() const { return *entity->getArgument(1); } -void IfcSlippageConnectionCondition::setSlippageX(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcSlippageConnectionCondition::SlippageX() const { return *entity->getArgument(1); } +void IfcSlippageConnectionCondition::setSlippageX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcSlippageConnectionCondition::hasSlippageY() const { return !entity->getArgument(2)->isNull(); } -IfcLengthMeasure IfcSlippageConnectionCondition::SlippageY() const { return *entity->getArgument(2); } -void IfcSlippageConnectionCondition::setSlippageY(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcSlippageConnectionCondition::SlippageY() const { return *entity->getArgument(2); } +void IfcSlippageConnectionCondition::setSlippageY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcSlippageConnectionCondition::hasSlippageZ() const { return !entity->getArgument(3)->isNull(); } -IfcLengthMeasure IfcSlippageConnectionCondition::SlippageZ() const { return *entity->getArgument(3); } -void IfcSlippageConnectionCondition::setSlippageZ(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcSlippageConnectionCondition::SlippageZ() const { return *entity->getArgument(3); } +void IfcSlippageConnectionCondition::setSlippageZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcSlippageConnectionCondition::is(Type::Enum v) const { return v == Type::IfcSlippageConnectionCondition || IfcStructuralConnectionCondition::is(v); } Type::Enum IfcSlippageConnectionCondition::type() const { return Type::IfcSlippageConnectionCondition; } Type::Enum IfcSlippageConnectionCondition::Class() { return Type::IfcSlippageConnectionCondition; } IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(IfcAbstractEntity* e) : IfcStructuralConnectionCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSlippageConnectionCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_SlippageX, boost::optional< IfcLengthMeasure > v3_SlippageY, boost::optional< IfcLengthMeasure > v4_SlippageZ) : IfcStructuralConnectionCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_SlippageX) { e->setArgument(1,(*v2_SlippageX)); } else { e->setArgument(1); } if (v3_SlippageY) { e->setArgument(2,(*v3_SlippageY)); } else { e->setArgument(2); } if (v4_SlippageZ) { e->setArgument(3,(*v4_SlippageZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(boost::optional< std::string > v1_Name, boost::optional< double > v2_SlippageX, boost::optional< double > v3_SlippageY, boost::optional< double > v4_SlippageZ) : IfcStructuralConnectionCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_SlippageX) { e->setArgument(1,(*v2_SlippageX)); } else { e->setArgument(1); } if (v3_SlippageY) { e->setArgument(2,(*v3_SlippageY)); } else { e->setArgument(2); } if (v4_SlippageZ) { e->setArgument(3,(*v4_SlippageZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSolidModel bool IfcSolidModel::is(Type::Enum v) const { return v == Type::IfcSolidModel || IfcGeometricRepresentationItem::is(v); } @@ -11226,8 +12630,8 @@ IfcSolidModel::IfcSolidModel(IfcAbstractEntity* e) : IfcGeometricRepresentationI IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSoundProperties -IfcBoolean IfcSoundProperties::IsAttenuating() const { return *entity->getArgument(4); } -void IfcSoundProperties::setIsAttenuating(IfcBoolean v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +bool IfcSoundProperties::IsAttenuating() const { return *entity->getArgument(4); } +void IfcSoundProperties::setIsAttenuating(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcSoundProperties::hasSoundScale() const { return !entity->getArgument(5)->isNull(); } IfcSoundScaleEnum::IfcSoundScaleEnum IfcSoundProperties::SoundScale() const { return IfcSoundScaleEnum::FromString(*entity->getArgument(5)); } void IfcSoundProperties::setSoundScale(IfcSoundScaleEnum::IfcSoundScaleEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcSoundScaleEnum::ToString(v)); } @@ -11237,36 +12641,36 @@ bool IfcSoundProperties::is(Type::Enum v) const { return v == Type::IfcSoundProp Type::Enum IfcSoundProperties::type() const { return Type::IfcSoundProperties; } Type::Enum IfcSoundProperties::Class() { return Type::IfcSoundProperties; } IfcSoundProperties::IfcSoundProperties(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSoundProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSoundProperties::IfcSoundProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcBoolean v5_IsAttenuating, boost::optional< IfcSoundScaleEnum::IfcSoundScaleEnum > v6_SoundScale, IfcTemplatedEntityList< IfcSoundValue >::ptr v7_SoundValues) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_IsAttenuating)); if (v6_SoundScale) { e->setArgument(5,*v6_SoundScale,IfcSoundScaleEnum::ToString(*v6_SoundScale)); } else { e->setArgument(5); } e->setArgument(6,(v7_SoundValues)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcSoundProperties::IfcSoundProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, bool v5_IsAttenuating, boost::optional< IfcSoundScaleEnum::IfcSoundScaleEnum > v6_SoundScale, IfcTemplatedEntityList< IfcSoundValue >::ptr v7_SoundValues) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_IsAttenuating)); if (v6_SoundScale) { e->setArgument(5,*v6_SoundScale,IfcSoundScaleEnum::ToString(*v6_SoundScale)); } else { e->setArgument(5); } e->setArgument(6,(v7_SoundValues)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSoundValue bool IfcSoundValue::hasSoundLevelTimeSeries() const { return !entity->getArgument(4)->isNull(); } IfcTimeSeries* IfcSoundValue::SoundLevelTimeSeries() const { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } void IfcSoundValue::setSoundLevelTimeSeries(IfcTimeSeries* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcFrequencyMeasure IfcSoundValue::Frequency() const { return *entity->getArgument(5); } -void IfcSoundValue::setFrequency(IfcFrequencyMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcSoundValue::Frequency() const { return *entity->getArgument(5); } +void IfcSoundValue::setFrequency(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcSoundValue::hasSoundLevelSingleValue() const { return !entity->getArgument(6)->isNull(); } -IfcDerivedMeasureValue IfcSoundValue::SoundLevelSingleValue() const { return *entity->getArgument(6); } -void IfcSoundValue::setSoundLevelSingleValue(IfcDerivedMeasureValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +IfcDerivedMeasureValue* IfcSoundValue::SoundLevelSingleValue() const { return (IfcDerivedMeasureValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } +void IfcSoundValue::setSoundLevelSingleValue(IfcDerivedMeasureValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcSoundValue::is(Type::Enum v) const { return v == Type::IfcSoundValue || IfcPropertySetDefinition::is(v); } Type::Enum IfcSoundValue::type() const { return Type::IfcSoundValue; } Type::Enum IfcSoundValue::Class() { return Type::IfcSoundValue; } IfcSoundValue::IfcSoundValue(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSoundValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSoundValue::IfcSoundValue(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTimeSeries* v5_SoundLevelTimeSeries, IfcFrequencyMeasure v6_Frequency, boost::optional< IfcDerivedMeasureValue > v7_SoundLevelSingleValue) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_SoundLevelTimeSeries)); e->setArgument(5,(v6_Frequency)); if (v7_SoundLevelSingleValue) { e->setArgument(6,(*v7_SoundLevelSingleValue)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcSoundValue::IfcSoundValue(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTimeSeries* v5_SoundLevelTimeSeries, double v6_Frequency, IfcDerivedMeasureValue* v7_SoundLevelSingleValue) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_SoundLevelTimeSeries)); e->setArgument(5,(v6_Frequency)); e->setArgument(6,(v7_SoundLevelSingleValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpace IfcInternalOrExternalEnum::IfcInternalOrExternalEnum IfcSpace::InteriorOrExteriorSpace() const { return IfcInternalOrExternalEnum::FromString(*entity->getArgument(9)); } void IfcSpace::setInteriorOrExteriorSpace(IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcInternalOrExternalEnum::ToString(v)); } bool IfcSpace::hasElevationWithFlooring() const { return !entity->getArgument(10)->isNull(); } -IfcLengthMeasure IfcSpace::ElevationWithFlooring() const { return *entity->getArgument(10); } -void IfcSpace::setElevationWithFlooring(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcSpace::ElevationWithFlooring() const { return *entity->getArgument(10); } +void IfcSpace::setElevationWithFlooring(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } IfcRelCoversSpaces::list::ptr IfcSpace::HasCoverings() const { return entity->getInverse(Type::IfcRelCoversSpaces)->as(); } IfcRelSpaceBoundary::list::ptr IfcSpace::BoundedBy() const { return entity->getInverse(Type::IfcRelSpaceBoundary)->as(); } bool IfcSpace::is(Type::Enum v) const { return v == Type::IfcSpace || IfcSpatialStructureElement::is(v); } Type::Enum IfcSpace::type() const { return Type::IfcSpace; } Type::Enum IfcSpace::Class() { return Type::IfcSpace; } IfcSpace::IfcSpace(IfcAbstractEntity* e) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpace)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpace::IfcSpace(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v10_InteriorOrExteriorSpace, boost::optional< IfcLengthMeasure > v11_ElevationWithFlooring) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } e->setArgument(8,v9_CompositionType,IfcElementCompositionEnum::ToString(v9_CompositionType)); e->setArgument(9,v10_InteriorOrExteriorSpace,IfcInternalOrExternalEnum::ToString(v10_InteriorOrExteriorSpace)); if (v11_ElevationWithFlooring) { e->setArgument(10,(*v11_ElevationWithFlooring)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcSpace::IfcSpace(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v10_InteriorOrExteriorSpace, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } e->setArgument(8,v9_CompositionType,IfcElementCompositionEnum::ToString(v9_CompositionType)); e->setArgument(9,v10_InteriorOrExteriorSpace,IfcInternalOrExternalEnum::ToString(v10_InteriorOrExteriorSpace)); if (v11_ElevationWithFlooring) { e->setArgument(10,(*v11_ElevationWithFlooring)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpaceHeaterType IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum IfcSpaceHeaterType::PredefinedType() const { return IfcSpaceHeaterTypeEnum::FromString(*entity->getArgument(9)); } @@ -11275,62 +12679,62 @@ bool IfcSpaceHeaterType::is(Type::Enum v) const { return v == Type::IfcSpaceHeat Type::Enum IfcSpaceHeaterType::type() const { return Type::IfcSpaceHeaterType; } Type::Enum IfcSpaceHeaterType::Class() { return Type::IfcSpaceHeaterType; } IfcSpaceHeaterType::IfcSpaceHeaterType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpaceHeaterType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpaceHeaterType::IfcSpaceHeaterType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSpaceHeaterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSpaceHeaterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpaceProgram -IfcIdentifier IfcSpaceProgram::SpaceProgramIdentifier() const { return *entity->getArgument(5); } -void IfcSpaceProgram::setSpaceProgramIdentifier(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcSpaceProgram::SpaceProgramIdentifier() const { return *entity->getArgument(5); } +void IfcSpaceProgram::setSpaceProgramIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcSpaceProgram::hasMaxRequiredArea() const { return !entity->getArgument(6)->isNull(); } -IfcAreaMeasure IfcSpaceProgram::MaxRequiredArea() const { return *entity->getArgument(6); } -void IfcSpaceProgram::setMaxRequiredArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcSpaceProgram::MaxRequiredArea() const { return *entity->getArgument(6); } +void IfcSpaceProgram::setMaxRequiredArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcSpaceProgram::hasMinRequiredArea() const { return !entity->getArgument(7)->isNull(); } -IfcAreaMeasure IfcSpaceProgram::MinRequiredArea() const { return *entity->getArgument(7); } -void IfcSpaceProgram::setMinRequiredArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcSpaceProgram::MinRequiredArea() const { return *entity->getArgument(7); } +void IfcSpaceProgram::setMinRequiredArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcSpaceProgram::hasRequestedLocation() const { return !entity->getArgument(8)->isNull(); } IfcSpatialStructureElement* IfcSpaceProgram::RequestedLocation() const { return (IfcSpatialStructureElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } void IfcSpaceProgram::setRequestedLocation(IfcSpatialStructureElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -IfcAreaMeasure IfcSpaceProgram::StandardRequiredArea() const { return *entity->getArgument(9); } -void IfcSpaceProgram::setStandardRequiredArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcSpaceProgram::StandardRequiredArea() const { return *entity->getArgument(9); } +void IfcSpaceProgram::setStandardRequiredArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } IfcRelInteractionRequirements::list::ptr IfcSpaceProgram::HasInteractionReqsFrom() const { return entity->getInverse(Type::IfcRelInteractionRequirements)->as(); } IfcRelInteractionRequirements::list::ptr IfcSpaceProgram::HasInteractionReqsTo() const { return entity->getInverse(Type::IfcRelInteractionRequirements)->as(); } bool IfcSpaceProgram::is(Type::Enum v) const { return v == Type::IfcSpaceProgram || IfcControl::is(v); } Type::Enum IfcSpaceProgram::type() const { return Type::IfcSpaceProgram; } Type::Enum IfcSpaceProgram::Class() { return Type::IfcSpaceProgram; } IfcSpaceProgram::IfcSpaceProgram(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpaceProgram)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpaceProgram::IfcSpaceProgram(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_SpaceProgramIdentifier, boost::optional< IfcAreaMeasure > v7_MaxRequiredArea, boost::optional< IfcAreaMeasure > v8_MinRequiredArea, IfcSpatialStructureElement* v9_RequestedLocation, IfcAreaMeasure v10_StandardRequiredArea) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_SpaceProgramIdentifier)); if (v7_MaxRequiredArea) { e->setArgument(6,(*v7_MaxRequiredArea)); } else { e->setArgument(6); } if (v8_MinRequiredArea) { e->setArgument(7,(*v8_MinRequiredArea)); } else { e->setArgument(7); } e->setArgument(8,(v9_RequestedLocation)); e->setArgument(9,(v10_StandardRequiredArea)); entity = e; EntityBuffer::Add(this); } +IfcSpaceProgram::IfcSpaceProgram(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_SpaceProgramIdentifier, boost::optional< double > v7_MaxRequiredArea, boost::optional< double > v8_MinRequiredArea, IfcSpatialStructureElement* v9_RequestedLocation, double v10_StandardRequiredArea) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_SpaceProgramIdentifier)); if (v7_MaxRequiredArea) { e->setArgument(6,(*v7_MaxRequiredArea)); } else { e->setArgument(6); } if (v8_MinRequiredArea) { e->setArgument(7,(*v8_MinRequiredArea)); } else { e->setArgument(7); } e->setArgument(8,(v9_RequestedLocation)); e->setArgument(9,(v10_StandardRequiredArea)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpaceThermalLoadProperties bool IfcSpaceThermalLoadProperties::hasApplicableValueRatio() const { return !entity->getArgument(4)->isNull(); } -IfcPositiveRatioMeasure IfcSpaceThermalLoadProperties::ApplicableValueRatio() const { return *entity->getArgument(4); } -void IfcSpaceThermalLoadProperties::setApplicableValueRatio(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcSpaceThermalLoadProperties::ApplicableValueRatio() const { return *entity->getArgument(4); } +void IfcSpaceThermalLoadProperties::setApplicableValueRatio(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum IfcSpaceThermalLoadProperties::ThermalLoadSource() const { return IfcThermalLoadSourceEnum::FromString(*entity->getArgument(5)); } void IfcSpaceThermalLoadProperties::setThermalLoadSource(IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcThermalLoadSourceEnum::ToString(v)); } IfcPropertySourceEnum::IfcPropertySourceEnum IfcSpaceThermalLoadProperties::PropertySource() const { return IfcPropertySourceEnum::FromString(*entity->getArgument(6)); } void IfcSpaceThermalLoadProperties::setPropertySource(IfcPropertySourceEnum::IfcPropertySourceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcPropertySourceEnum::ToString(v)); } bool IfcSpaceThermalLoadProperties::hasSourceDescription() const { return !entity->getArgument(7)->isNull(); } -IfcText IfcSpaceThermalLoadProperties::SourceDescription() const { return *entity->getArgument(7); } -void IfcSpaceThermalLoadProperties::setSourceDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcPowerMeasure IfcSpaceThermalLoadProperties::MaximumValue() const { return *entity->getArgument(8); } -void IfcSpaceThermalLoadProperties::setMaximumValue(IfcPowerMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcSpaceThermalLoadProperties::SourceDescription() const { return *entity->getArgument(7); } +void IfcSpaceThermalLoadProperties::setSourceDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcSpaceThermalLoadProperties::MaximumValue() const { return *entity->getArgument(8); } +void IfcSpaceThermalLoadProperties::setMaximumValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcSpaceThermalLoadProperties::hasMinimumValue() const { return !entity->getArgument(9)->isNull(); } -IfcPowerMeasure IfcSpaceThermalLoadProperties::MinimumValue() const { return *entity->getArgument(9); } -void IfcSpaceThermalLoadProperties::setMinimumValue(IfcPowerMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcSpaceThermalLoadProperties::MinimumValue() const { return *entity->getArgument(9); } +void IfcSpaceThermalLoadProperties::setMinimumValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcSpaceThermalLoadProperties::hasThermalLoadTimeSeriesValues() const { return !entity->getArgument(10)->isNull(); } IfcTimeSeries* IfcSpaceThermalLoadProperties::ThermalLoadTimeSeriesValues() const { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } void IfcSpaceThermalLoadProperties::setThermalLoadTimeSeriesValues(IfcTimeSeries* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcSpaceThermalLoadProperties::hasUserDefinedThermalLoadSource() const { return !entity->getArgument(11)->isNull(); } -IfcLabel IfcSpaceThermalLoadProperties::UserDefinedThermalLoadSource() const { return *entity->getArgument(11); } -void IfcSpaceThermalLoadProperties::setUserDefinedThermalLoadSource(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +std::string IfcSpaceThermalLoadProperties::UserDefinedThermalLoadSource() const { return *entity->getArgument(11); } +void IfcSpaceThermalLoadProperties::setUserDefinedThermalLoadSource(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcSpaceThermalLoadProperties::hasUserDefinedPropertySource() const { return !entity->getArgument(12)->isNull(); } -IfcLabel IfcSpaceThermalLoadProperties::UserDefinedPropertySource() const { return *entity->getArgument(12); } -void IfcSpaceThermalLoadProperties::setUserDefinedPropertySource(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +std::string IfcSpaceThermalLoadProperties::UserDefinedPropertySource() const { return *entity->getArgument(12); } +void IfcSpaceThermalLoadProperties::setUserDefinedPropertySource(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum IfcSpaceThermalLoadProperties::ThermalLoadType() const { return IfcThermalLoadTypeEnum::FromString(*entity->getArgument(13)); } void IfcSpaceThermalLoadProperties::setThermalLoadType(IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v,IfcThermalLoadTypeEnum::ToString(v)); } bool IfcSpaceThermalLoadProperties::is(Type::Enum v) const { return v == Type::IfcSpaceThermalLoadProperties || IfcPropertySetDefinition::is(v); } Type::Enum IfcSpaceThermalLoadProperties::type() const { return Type::IfcSpaceThermalLoadProperties; } Type::Enum IfcSpaceThermalLoadProperties::Class() { return Type::IfcSpaceThermalLoadProperties; } IfcSpaceThermalLoadProperties::IfcSpaceThermalLoadProperties(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpaceThermalLoadProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpaceThermalLoadProperties::IfcSpaceThermalLoadProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveRatioMeasure > v5_ApplicableValueRatio, IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum v6_ThermalLoadSource, IfcPropertySourceEnum::IfcPropertySourceEnum v7_PropertySource, boost::optional< IfcText > v8_SourceDescription, IfcPowerMeasure v9_MaximumValue, boost::optional< IfcPowerMeasure > v10_MinimumValue, IfcTimeSeries* v11_ThermalLoadTimeSeriesValues, boost::optional< IfcLabel > v12_UserDefinedThermalLoadSource, boost::optional< IfcLabel > v13_UserDefinedPropertySource, IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum v14_ThermalLoadType) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableValueRatio) { e->setArgument(4,(*v5_ApplicableValueRatio)); } else { e->setArgument(4); } e->setArgument(5,v6_ThermalLoadSource,IfcThermalLoadSourceEnum::ToString(v6_ThermalLoadSource)); e->setArgument(6,v7_PropertySource,IfcPropertySourceEnum::ToString(v7_PropertySource)); if (v8_SourceDescription) { e->setArgument(7,(*v8_SourceDescription)); } else { e->setArgument(7); } e->setArgument(8,(v9_MaximumValue)); if (v10_MinimumValue) { e->setArgument(9,(*v10_MinimumValue)); } else { e->setArgument(9); } e->setArgument(10,(v11_ThermalLoadTimeSeriesValues)); if (v12_UserDefinedThermalLoadSource) { e->setArgument(11,(*v12_UserDefinedThermalLoadSource)); } else { e->setArgument(11); } if (v13_UserDefinedPropertySource) { e->setArgument(12,(*v13_UserDefinedPropertySource)); } else { e->setArgument(12); } e->setArgument(13,v14_ThermalLoadType,IfcThermalLoadTypeEnum::ToString(v14_ThermalLoadType)); entity = e; EntityBuffer::Add(this); } +IfcSpaceThermalLoadProperties::IfcSpaceThermalLoadProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_ApplicableValueRatio, IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum v6_ThermalLoadSource, IfcPropertySourceEnum::IfcPropertySourceEnum v7_PropertySource, boost::optional< std::string > v8_SourceDescription, double v9_MaximumValue, boost::optional< double > v10_MinimumValue, IfcTimeSeries* v11_ThermalLoadTimeSeriesValues, boost::optional< std::string > v12_UserDefinedThermalLoadSource, boost::optional< std::string > v13_UserDefinedPropertySource, IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum v14_ThermalLoadType) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableValueRatio) { e->setArgument(4,(*v5_ApplicableValueRatio)); } else { e->setArgument(4); } e->setArgument(5,v6_ThermalLoadSource,IfcThermalLoadSourceEnum::ToString(v6_ThermalLoadSource)); e->setArgument(6,v7_PropertySource,IfcPropertySourceEnum::ToString(v7_PropertySource)); if (v8_SourceDescription) { e->setArgument(7,(*v8_SourceDescription)); } else { e->setArgument(7); } e->setArgument(8,(v9_MaximumValue)); if (v10_MinimumValue) { e->setArgument(9,(*v10_MinimumValue)); } else { e->setArgument(9); } e->setArgument(10,(v11_ThermalLoadTimeSeriesValues)); if (v12_UserDefinedThermalLoadSource) { e->setArgument(11,(*v12_UserDefinedThermalLoadSource)); } else { e->setArgument(11); } if (v13_UserDefinedPropertySource) { e->setArgument(12,(*v13_UserDefinedPropertySource)); } else { e->setArgument(12); } e->setArgument(13,v14_ThermalLoadType,IfcThermalLoadTypeEnum::ToString(v14_ThermalLoadType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpaceType IfcSpaceTypeEnum::IfcSpaceTypeEnum IfcSpaceType::PredefinedType() const { return IfcSpaceTypeEnum::FromString(*entity->getArgument(9)); } @@ -11339,12 +12743,12 @@ bool IfcSpaceType::is(Type::Enum v) const { return v == Type::IfcSpaceType || If Type::Enum IfcSpaceType::type() const { return Type::IfcSpaceType; } Type::Enum IfcSpaceType::Class() { return Type::IfcSpaceType; } IfcSpaceType::IfcSpaceType(IfcAbstractEntity* e) : IfcSpatialStructureElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpaceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpaceType::IfcSpaceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpaceTypeEnum::IfcSpaceTypeEnum v10_PredefinedType) : IfcSpatialStructureElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSpaceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSpaceTypeEnum::IfcSpaceTypeEnum v10_PredefinedType) : IfcSpatialStructureElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSpaceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpatialStructureElement bool IfcSpatialStructureElement::hasLongName() const { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcSpatialStructureElement::LongName() const { return *entity->getArgument(7); } -void IfcSpatialStructureElement::setLongName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcSpatialStructureElement::LongName() const { return *entity->getArgument(7); } +void IfcSpatialStructureElement::setLongName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } IfcElementCompositionEnum::IfcElementCompositionEnum IfcSpatialStructureElement::CompositionType() const { return IfcElementCompositionEnum::FromString(*entity->getArgument(8)); } void IfcSpatialStructureElement::setCompositionType(IfcElementCompositionEnum::IfcElementCompositionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcElementCompositionEnum::ToString(v)); } IfcRelReferencedInSpatialStructure::list::ptr IfcSpatialStructureElement::ReferencesElements() const { return entity->getInverse(Type::IfcRelReferencedInSpatialStructure)->as(); } @@ -11354,23 +12758,23 @@ bool IfcSpatialStructureElement::is(Type::Enum v) const { return v == Type::IfcS Type::Enum IfcSpatialStructureElement::type() const { return Type::IfcSpatialStructureElement; } Type::Enum IfcSpatialStructureElement::Class() { return Type::IfcSpatialStructureElement; } IfcSpatialStructureElement::IfcSpatialStructureElement(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpatialStructureElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpatialStructureElement::IfcSpatialStructureElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } e->setArgument(8,v9_CompositionType,IfcElementCompositionEnum::ToString(v9_CompositionType)); entity = e; EntityBuffer::Add(this); } +IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } e->setArgument(8,v9_CompositionType,IfcElementCompositionEnum::ToString(v9_CompositionType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpatialStructureElementType bool IfcSpatialStructureElementType::is(Type::Enum v) const { return v == Type::IfcSpatialStructureElementType || IfcElementType::is(v); } Type::Enum IfcSpatialStructureElementType::type() const { return Type::IfcSpatialStructureElementType; } Type::Enum IfcSpatialStructureElementType::Class() { return Type::IfcSpatialStructureElementType; } IfcSpatialStructureElementType::IfcSpatialStructureElementType(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpatialStructureElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpatialStructureElementType::IfcSpatialStructureElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSphere -IfcPositiveLengthMeasure IfcSphere::Radius() const { return *entity->getArgument(1); } -void IfcSphere::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcSphere::Radius() const { return *entity->getArgument(1); } +void IfcSphere::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcSphere::is(Type::Enum v) const { return v == Type::IfcSphere || IfcCsgPrimitive3D::is(v); } Type::Enum IfcSphere::type() const { return Type::IfcSphere; } Type::Enum IfcSphere::Class() { return Type::IfcSphere; } IfcSphere::IfcSphere(IfcAbstractEntity* e) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSphere)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSphere::IfcSphere(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Radius) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Radius)); entity = e; EntityBuffer::Add(this); } +IfcSphere::IfcSphere(IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Radius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStackTerminalType IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum IfcStackTerminalType::PredefinedType() const { return IfcStackTerminalTypeEnum::FromString(*entity->getArgument(9)); } @@ -11379,7 +12783,7 @@ bool IfcStackTerminalType::is(Type::Enum v) const { return v == Type::IfcStackTe Type::Enum IfcStackTerminalType::type() const { return Type::IfcStackTerminalType; } Type::Enum IfcStackTerminalType::Class() { return Type::IfcStackTerminalType; } IfcStackTerminalType::IfcStackTerminalType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStackTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStackTerminalType::IfcStackTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcStackTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcStackTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStair IfcStairTypeEnum::IfcStairTypeEnum IfcStair::ShapeType() const { return IfcStairTypeEnum::FromString(*entity->getArgument(8)); } @@ -11388,7 +12792,7 @@ bool IfcStair::is(Type::Enum v) const { return v == Type::IfcStair || IfcBuildin Type::Enum IfcStair::type() const { return Type::IfcStair; } Type::Enum IfcStair::Class() { return Type::IfcStair; } IfcStair::IfcStair(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStair)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStair::IfcStair(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcStairTypeEnum::IfcStairTypeEnum v9_ShapeType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_ShapeType,IfcStairTypeEnum::ToString(v9_ShapeType)); entity = e; EntityBuffer::Add(this); } +IfcStair::IfcStair(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, IfcStairTypeEnum::IfcStairTypeEnum v9_ShapeType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_ShapeType,IfcStairTypeEnum::ToString(v9_ShapeType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStairFlight bool IfcStairFlight::hasNumberOfRiser() const { return !entity->getArgument(8)->isNull(); } @@ -11398,16 +12802,16 @@ bool IfcStairFlight::hasNumberOfTreads() const { return !entity->getArgument(9)- int IfcStairFlight::NumberOfTreads() const { return *entity->getArgument(9); } void IfcStairFlight::setNumberOfTreads(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcStairFlight::hasRiserHeight() const { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcStairFlight::RiserHeight() const { return *entity->getArgument(10); } -void IfcStairFlight::setRiserHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcStairFlight::RiserHeight() const { return *entity->getArgument(10); } +void IfcStairFlight::setRiserHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcStairFlight::hasTreadLength() const { return !entity->getArgument(11)->isNull(); } -IfcPositiveLengthMeasure IfcStairFlight::TreadLength() const { return *entity->getArgument(11); } -void IfcStairFlight::setTreadLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcStairFlight::TreadLength() const { return *entity->getArgument(11); } +void IfcStairFlight::setTreadLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcStairFlight::is(Type::Enum v) const { return v == Type::IfcStairFlight || IfcBuildingElement::is(v); } Type::Enum IfcStairFlight::type() const { return Type::IfcStairFlight; } Type::Enum IfcStairFlight::Class() { return Type::IfcStairFlight; } IfcStairFlight::IfcStairFlight(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStairFlight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStairFlight::IfcStairFlight(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< IfcPositiveLengthMeasure > v11_RiserHeight, boost::optional< IfcPositiveLengthMeasure > v12_TreadLength) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_NumberOfRiser) { e->setArgument(8,(*v9_NumberOfRiser)); } else { e->setArgument(8); } if (v10_NumberOfTreads) { e->setArgument(9,(*v10_NumberOfTreads)); } else { e->setArgument(9); } if (v11_RiserHeight) { e->setArgument(10,(*v11_RiserHeight)); } else { e->setArgument(10); } if (v12_TreadLength) { e->setArgument(11,(*v12_TreadLength)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } +IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_NumberOfRiser) { e->setArgument(8,(*v9_NumberOfRiser)); } else { e->setArgument(8); } if (v10_NumberOfTreads) { e->setArgument(9,(*v10_NumberOfTreads)); } else { e->setArgument(9); } if (v11_RiserHeight) { e->setArgument(10,(*v11_RiserHeight)); } else { e->setArgument(10); } if (v12_TreadLength) { e->setArgument(11,(*v12_TreadLength)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStairFlightType IfcStairFlightTypeEnum::IfcStairFlightTypeEnum IfcStairFlightType::PredefinedType() const { return IfcStairFlightTypeEnum::FromString(*entity->getArgument(9)); } @@ -11416,7 +12820,7 @@ bool IfcStairFlightType::is(Type::Enum v) const { return v == Type::IfcStairFlig Type::Enum IfcStairFlightType::type() const { return Type::IfcStairFlightType; } Type::Enum IfcStairFlightType::Class() { return Type::IfcStairFlightType; } IfcStairFlightType::IfcStairFlightType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStairFlightType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStairFlightType::IfcStairFlightType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcStairFlightTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcStairFlightTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralAction bool IfcStructuralAction::DestabilizingLoad() const { return *entity->getArgument(9); } @@ -11428,7 +12832,7 @@ bool IfcStructuralAction::is(Type::Enum v) const { return v == Type::IfcStructur Type::Enum IfcStructuralAction::type() const { return Type::IfcStructuralAction; } Type::Enum IfcStructuralAction::Class() { return Type::IfcStructuralAction; } IfcStructuralAction::IfcStructuralAction(IfcAbstractEntity* e) : IfcStructuralActivity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralAction::IfcStructuralAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy) : IfcStructuralActivity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); e->setArgument(10,(v11_CausedBy)); entity = e; EntityBuffer::Add(this); } +IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy) : IfcStructuralActivity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); e->setArgument(10,(v11_CausedBy)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralActivity IfcStructuralLoad* IfcStructuralActivity::AppliedLoad() const { return (IfcStructuralLoad*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } @@ -11440,7 +12844,7 @@ bool IfcStructuralActivity::is(Type::Enum v) const { return v == Type::IfcStruct Type::Enum IfcStructuralActivity::type() const { return Type::IfcStructuralActivity; } Type::Enum IfcStructuralActivity::Class() { return Type::IfcStructuralActivity; } IfcStructuralActivity::IfcStructuralActivity(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralActivity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralActivity::IfcStructuralActivity(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } +IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralAnalysisModel IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum IfcStructuralAnalysisModel::PredefinedType() const { return IfcAnalysisModelTypeEnum::FromString(*entity->getArgument(5)); } @@ -11458,7 +12862,7 @@ bool IfcStructuralAnalysisModel::is(Type::Enum v) const { return v == Type::IfcS Type::Enum IfcStructuralAnalysisModel::type() const { return Type::IfcStructuralAnalysisModel; } Type::Enum IfcStructuralAnalysisModel::Class() { return Type::IfcStructuralAnalysisModel; } IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcAbstractEntity* e) : IfcSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralAnalysisModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v6_PredefinedType, IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > v9_HasResults) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_PredefinedType,IfcAnalysisModelTypeEnum::ToString(v6_PredefinedType)); e->setArgument(6,(v7_OrientationOf2DPlane)); if (v8_LoadedBy) { e->setArgument(7,(*v8_LoadedBy)->generalize()); } else { e->setArgument(7); } if (v9_HasResults) { e->setArgument(8,(*v9_HasResults)->generalize()); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v6_PredefinedType, IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > v9_HasResults) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_PredefinedType,IfcAnalysisModelTypeEnum::ToString(v6_PredefinedType)); e->setArgument(6,(v7_OrientationOf2DPlane)); if (v8_LoadedBy) { e->setArgument(7,(*v8_LoadedBy)->generalize()); } else { e->setArgument(7); } if (v9_HasResults) { e->setArgument(8,(*v9_HasResults)->generalize()); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralConnection bool IfcStructuralConnection::hasAppliedCondition() const { return !entity->getArgument(7)->isNull(); } @@ -11469,24 +12873,24 @@ bool IfcStructuralConnection::is(Type::Enum v) const { return v == Type::IfcStru Type::Enum IfcStructuralConnection::type() const { return Type::IfcStructuralConnection; } Type::Enum IfcStructuralConnection::Class() { return Type::IfcStructuralConnection; } IfcStructuralConnection::IfcStructuralConnection(IfcAbstractEntity* e) : IfcStructuralItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralConnection::IfcStructuralConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); entity = e; EntityBuffer::Add(this); } +IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralConnectionCondition bool IfcStructuralConnectionCondition::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcStructuralConnectionCondition::Name() const { return *entity->getArgument(0); } -void IfcStructuralConnectionCondition::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcStructuralConnectionCondition::Name() const { return *entity->getArgument(0); } +void IfcStructuralConnectionCondition::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcStructuralConnectionCondition::is(Type::Enum v) const { return v == Type::IfcStructuralConnectionCondition; } Type::Enum IfcStructuralConnectionCondition::type() const { return Type::IfcStructuralConnectionCondition; } Type::Enum IfcStructuralConnectionCondition::Class() { return Type::IfcStructuralConnectionCondition; } IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcStructuralConnectionCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< IfcLabel > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } +IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralCurveConnection bool IfcStructuralCurveConnection::is(Type::Enum v) const { return v == Type::IfcStructuralCurveConnection || IfcStructuralConnection::is(v); } Type::Enum IfcStructuralCurveConnection::type() const { return Type::IfcStructuralCurveConnection; } Type::Enum IfcStructuralCurveConnection::Class() { return Type::IfcStructuralCurveConnection; } IfcStructuralCurveConnection::IfcStructuralCurveConnection(IfcAbstractEntity* e) : IfcStructuralConnection((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralCurveConnection::IfcStructuralCurveConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); entity = e; EntityBuffer::Add(this); } +IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralCurveMember IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum IfcStructuralCurveMember::PredefinedType() const { return IfcStructuralCurveTypeEnum::FromString(*entity->getArgument(7)); } @@ -11495,14 +12899,14 @@ bool IfcStructuralCurveMember::is(Type::Enum v) const { return v == Type::IfcStr Type::Enum IfcStructuralCurveMember::type() const { return Type::IfcStructuralCurveMember; } Type::Enum IfcStructuralCurveMember::Class() { return Type::IfcStructuralCurveMember; } IfcStructuralCurveMember::IfcStructuralCurveMember(IfcAbstractEntity* e) : IfcStructuralMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralCurveMember::IfcStructuralCurveMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v8_PredefinedType) : IfcStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralCurveTypeEnum::ToString(v8_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v8_PredefinedType) : IfcStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralCurveTypeEnum::ToString(v8_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralCurveMemberVarying bool IfcStructuralCurveMemberVarying::is(Type::Enum v) const { return v == Type::IfcStructuralCurveMemberVarying || IfcStructuralCurveMember::is(v); } Type::Enum IfcStructuralCurveMemberVarying::type() const { return Type::IfcStructuralCurveMemberVarying; } Type::Enum IfcStructuralCurveMemberVarying::Class() { return Type::IfcStructuralCurveMemberVarying; } IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(IfcAbstractEntity* e) : IfcStructuralCurveMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveMemberVarying)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v8_PredefinedType) : IfcStructuralCurveMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralCurveTypeEnum::ToString(v8_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v8_PredefinedType) : IfcStructuralCurveMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralCurveTypeEnum::ToString(v8_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralItem IfcRelConnectsStructuralActivity::list::ptr IfcStructuralItem::AssignedStructuralActivity() const { return entity->getInverse(Type::IfcRelConnectsStructuralActivity)->as(); } @@ -11510,7 +12914,7 @@ bool IfcStructuralItem::is(Type::Enum v) const { return v == Type::IfcStructural Type::Enum IfcStructuralItem::type() const { return Type::IfcStructuralItem; } Type::Enum IfcStructuralItem::Class() { return Type::IfcStructuralItem; } IfcStructuralItem::IfcStructuralItem(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralItem::IfcStructuralItem(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } +IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLinearAction IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum IfcStructuralLinearAction::ProjectedOrTrue() const { return IfcProjectedOrTrueLengthEnum::FromString(*entity->getArgument(11)); } @@ -11519,7 +12923,7 @@ bool IfcStructuralLinearAction::is(Type::Enum v) const { return v == Type::IfcSt Type::Enum IfcStructuralLinearAction::type() const { return Type::IfcStructuralLinearAction; } Type::Enum IfcStructuralLinearAction::Class() { return Type::IfcStructuralLinearAction; } IfcStructuralLinearAction::IfcStructuralLinearAction(IfcAbstractEntity* e) : IfcStructuralAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLinearAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLinearAction::IfcStructuralLinearAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); e->setArgument(10,(v11_CausedBy)); e->setArgument(11,v12_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(v12_ProjectedOrTrue)); entity = e; EntityBuffer::Add(this); } +IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); e->setArgument(10,(v11_CausedBy)); e->setArgument(11,v12_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(v12_ProjectedOrTrue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLinearActionVarying IfcShapeAspect* IfcStructuralLinearActionVarying::VaryingAppliedLoadLocation() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(12))); } @@ -11530,17 +12934,17 @@ bool IfcStructuralLinearActionVarying::is(Type::Enum v) const { return v == Type Type::Enum IfcStructuralLinearActionVarying::type() const { return Type::IfcStructuralLinearActionVarying; } Type::Enum IfcStructuralLinearActionVarying::Class() { return Type::IfcStructuralLinearActionVarying; } IfcStructuralLinearActionVarying::IfcStructuralLinearActionVarying(IfcAbstractEntity* e) : IfcStructuralLinearAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLinearActionVarying)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLinearActionVarying::IfcStructuralLinearActionVarying(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue, IfcShapeAspect* v13_VaryingAppliedLoadLocation, IfcTemplatedEntityList< IfcStructuralLoad >::ptr v14_SubsequentAppliedLoads) : IfcStructuralLinearAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); e->setArgument(10,(v11_CausedBy)); e->setArgument(11,v12_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(v12_ProjectedOrTrue)); e->setArgument(12,(v13_VaryingAppliedLoadLocation)); e->setArgument(13,(v14_SubsequentAppliedLoads)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcStructuralLinearActionVarying::IfcStructuralLinearActionVarying(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue, IfcShapeAspect* v13_VaryingAppliedLoadLocation, IfcTemplatedEntityList< IfcStructuralLoad >::ptr v14_SubsequentAppliedLoads) : IfcStructuralLinearAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); e->setArgument(10,(v11_CausedBy)); e->setArgument(11,v12_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(v12_ProjectedOrTrue)); e->setArgument(12,(v13_VaryingAppliedLoadLocation)); e->setArgument(13,(v14_SubsequentAppliedLoads)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoad bool IfcStructuralLoad::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcStructuralLoad::Name() const { return *entity->getArgument(0); } -void IfcStructuralLoad::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcStructuralLoad::Name() const { return *entity->getArgument(0); } +void IfcStructuralLoad::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcStructuralLoad::is(Type::Enum v) const { return v == Type::IfcStructuralLoad; } Type::Enum IfcStructuralLoad::type() const { return Type::IfcStructuralLoad; } Type::Enum IfcStructuralLoad::Class() { return Type::IfcStructuralLoad; } IfcStructuralLoad::IfcStructuralLoad(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcStructuralLoad)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoad::IfcStructuralLoad(boost::optional< IfcLabel > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadGroup IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum IfcStructuralLoadGroup::PredefinedType() const { return IfcLoadGroupTypeEnum::FromString(*entity->getArgument(5)); } @@ -11550,152 +12954,152 @@ void IfcStructuralLoadGroup::setActionType(IfcActionTypeEnum::IfcActionTypeEnum IfcActionSourceTypeEnum::IfcActionSourceTypeEnum IfcStructuralLoadGroup::ActionSource() const { return IfcActionSourceTypeEnum::FromString(*entity->getArgument(7)); } void IfcStructuralLoadGroup::setActionSource(IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcActionSourceTypeEnum::ToString(v)); } bool IfcStructuralLoadGroup::hasCoefficient() const { return !entity->getArgument(8)->isNull(); } -IfcRatioMeasure IfcStructuralLoadGroup::Coefficient() const { return *entity->getArgument(8); } -void IfcStructuralLoadGroup::setCoefficient(IfcRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcStructuralLoadGroup::Coefficient() const { return *entity->getArgument(8); } +void IfcStructuralLoadGroup::setCoefficient(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcStructuralLoadGroup::hasPurpose() const { return !entity->getArgument(9)->isNull(); } -IfcLabel IfcStructuralLoadGroup::Purpose() const { return *entity->getArgument(9); } -void IfcStructuralLoadGroup::setPurpose(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +std::string IfcStructuralLoadGroup::Purpose() const { return *entity->getArgument(9); } +void IfcStructuralLoadGroup::setPurpose(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } IfcStructuralResultGroup::list::ptr IfcStructuralLoadGroup::SourceOfResultGroup() const { return entity->getInverse(Type::IfcStructuralResultGroup)->as(); } IfcStructuralAnalysisModel::list::ptr IfcStructuralLoadGroup::LoadGroupFor() const { return entity->getInverse(Type::IfcStructuralAnalysisModel)->as(); } bool IfcStructuralLoadGroup::is(Type::Enum v) const { return v == Type::IfcStructuralLoadGroup || IfcGroup::is(v); } Type::Enum IfcStructuralLoadGroup::type() const { return Type::IfcStructuralLoadGroup; } Type::Enum IfcStructuralLoadGroup::Class() { return Type::IfcStructuralLoadGroup; } IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< IfcRatioMeasure > v9_Coefficient, boost::optional< IfcLabel > v10_Purpose) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_PredefinedType,IfcLoadGroupTypeEnum::ToString(v6_PredefinedType)); e->setArgument(6,v7_ActionType,IfcActionTypeEnum::ToString(v7_ActionType)); e->setArgument(7,v8_ActionSource,IfcActionSourceTypeEnum::ToString(v8_ActionSource)); if (v9_Coefficient) { e->setArgument(8,(*v9_Coefficient)); } else { e->setArgument(8); } if (v10_Purpose) { e->setArgument(9,(*v10_Purpose)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_PredefinedType,IfcLoadGroupTypeEnum::ToString(v6_PredefinedType)); e->setArgument(6,v7_ActionType,IfcActionTypeEnum::ToString(v7_ActionType)); e->setArgument(7,v8_ActionSource,IfcActionSourceTypeEnum::ToString(v8_ActionSource)); if (v9_Coefficient) { e->setArgument(8,(*v9_Coefficient)); } else { e->setArgument(8); } if (v10_Purpose) { e->setArgument(9,(*v10_Purpose)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadLinearForce bool IfcStructuralLoadLinearForce::hasLinearForceX() const { return !entity->getArgument(1)->isNull(); } -IfcLinearForceMeasure IfcStructuralLoadLinearForce::LinearForceX() const { return *entity->getArgument(1); } -void IfcStructuralLoadLinearForce::setLinearForceX(IfcLinearForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcStructuralLoadLinearForce::LinearForceX() const { return *entity->getArgument(1); } +void IfcStructuralLoadLinearForce::setLinearForceX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcStructuralLoadLinearForce::hasLinearForceY() const { return !entity->getArgument(2)->isNull(); } -IfcLinearForceMeasure IfcStructuralLoadLinearForce::LinearForceY() const { return *entity->getArgument(2); } -void IfcStructuralLoadLinearForce::setLinearForceY(IfcLinearForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcStructuralLoadLinearForce::LinearForceY() const { return *entity->getArgument(2); } +void IfcStructuralLoadLinearForce::setLinearForceY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcStructuralLoadLinearForce::hasLinearForceZ() const { return !entity->getArgument(3)->isNull(); } -IfcLinearForceMeasure IfcStructuralLoadLinearForce::LinearForceZ() const { return *entity->getArgument(3); } -void IfcStructuralLoadLinearForce::setLinearForceZ(IfcLinearForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcStructuralLoadLinearForce::LinearForceZ() const { return *entity->getArgument(3); } +void IfcStructuralLoadLinearForce::setLinearForceZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcStructuralLoadLinearForce::hasLinearMomentX() const { return !entity->getArgument(4)->isNull(); } -IfcLinearMomentMeasure IfcStructuralLoadLinearForce::LinearMomentX() const { return *entity->getArgument(4); } -void IfcStructuralLoadLinearForce::setLinearMomentX(IfcLinearMomentMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcStructuralLoadLinearForce::LinearMomentX() const { return *entity->getArgument(4); } +void IfcStructuralLoadLinearForce::setLinearMomentX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcStructuralLoadLinearForce::hasLinearMomentY() const { return !entity->getArgument(5)->isNull(); } -IfcLinearMomentMeasure IfcStructuralLoadLinearForce::LinearMomentY() const { return *entity->getArgument(5); } -void IfcStructuralLoadLinearForce::setLinearMomentY(IfcLinearMomentMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcStructuralLoadLinearForce::LinearMomentY() const { return *entity->getArgument(5); } +void IfcStructuralLoadLinearForce::setLinearMomentY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcStructuralLoadLinearForce::hasLinearMomentZ() const { return !entity->getArgument(6)->isNull(); } -IfcLinearMomentMeasure IfcStructuralLoadLinearForce::LinearMomentZ() const { return *entity->getArgument(6); } -void IfcStructuralLoadLinearForce::setLinearMomentZ(IfcLinearMomentMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcStructuralLoadLinearForce::LinearMomentZ() const { return *entity->getArgument(6); } +void IfcStructuralLoadLinearForce::setLinearMomentZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcStructuralLoadLinearForce::is(Type::Enum v) const { return v == Type::IfcStructuralLoadLinearForce || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadLinearForce::type() const { return Type::IfcStructuralLoadLinearForce; } Type::Enum IfcStructuralLoadLinearForce::Class() { return Type::IfcStructuralLoadLinearForce; } IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(IfcAbstractEntity* e) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadLinearForce)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLinearForceMeasure > v2_LinearForceX, boost::optional< IfcLinearForceMeasure > v3_LinearForceY, boost::optional< IfcLinearForceMeasure > v4_LinearForceZ, boost::optional< IfcLinearMomentMeasure > v5_LinearMomentX, boost::optional< IfcLinearMomentMeasure > v6_LinearMomentY, boost::optional< IfcLinearMomentMeasure > v7_LinearMomentZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearForceX) { e->setArgument(1,(*v2_LinearForceX)); } else { e->setArgument(1); } if (v3_LinearForceY) { e->setArgument(2,(*v3_LinearForceY)); } else { e->setArgument(2); } if (v4_LinearForceZ) { e->setArgument(3,(*v4_LinearForceZ)); } else { e->setArgument(3); } if (v5_LinearMomentX) { e->setArgument(4,(*v5_LinearMomentX)); } else { e->setArgument(4); } if (v6_LinearMomentY) { e->setArgument(5,(*v6_LinearMomentY)); } else { e->setArgument(5); } if (v7_LinearMomentZ) { e->setArgument(6,(*v7_LinearMomentZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(boost::optional< std::string > v1_Name, boost::optional< double > v2_LinearForceX, boost::optional< double > v3_LinearForceY, boost::optional< double > v4_LinearForceZ, boost::optional< double > v5_LinearMomentX, boost::optional< double > v6_LinearMomentY, boost::optional< double > v7_LinearMomentZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearForceX) { e->setArgument(1,(*v2_LinearForceX)); } else { e->setArgument(1); } if (v3_LinearForceY) { e->setArgument(2,(*v3_LinearForceY)); } else { e->setArgument(2); } if (v4_LinearForceZ) { e->setArgument(3,(*v4_LinearForceZ)); } else { e->setArgument(3); } if (v5_LinearMomentX) { e->setArgument(4,(*v5_LinearMomentX)); } else { e->setArgument(4); } if (v6_LinearMomentY) { e->setArgument(5,(*v6_LinearMomentY)); } else { e->setArgument(5); } if (v7_LinearMomentZ) { e->setArgument(6,(*v7_LinearMomentZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadPlanarForce bool IfcStructuralLoadPlanarForce::hasPlanarForceX() const { return !entity->getArgument(1)->isNull(); } -IfcPlanarForceMeasure IfcStructuralLoadPlanarForce::PlanarForceX() const { return *entity->getArgument(1); } -void IfcStructuralLoadPlanarForce::setPlanarForceX(IfcPlanarForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcStructuralLoadPlanarForce::PlanarForceX() const { return *entity->getArgument(1); } +void IfcStructuralLoadPlanarForce::setPlanarForceX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcStructuralLoadPlanarForce::hasPlanarForceY() const { return !entity->getArgument(2)->isNull(); } -IfcPlanarForceMeasure IfcStructuralLoadPlanarForce::PlanarForceY() const { return *entity->getArgument(2); } -void IfcStructuralLoadPlanarForce::setPlanarForceY(IfcPlanarForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcStructuralLoadPlanarForce::PlanarForceY() const { return *entity->getArgument(2); } +void IfcStructuralLoadPlanarForce::setPlanarForceY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcStructuralLoadPlanarForce::hasPlanarForceZ() const { return !entity->getArgument(3)->isNull(); } -IfcPlanarForceMeasure IfcStructuralLoadPlanarForce::PlanarForceZ() const { return *entity->getArgument(3); } -void IfcStructuralLoadPlanarForce::setPlanarForceZ(IfcPlanarForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcStructuralLoadPlanarForce::PlanarForceZ() const { return *entity->getArgument(3); } +void IfcStructuralLoadPlanarForce::setPlanarForceZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcStructuralLoadPlanarForce::is(Type::Enum v) const { return v == Type::IfcStructuralLoadPlanarForce || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadPlanarForce::type() const { return Type::IfcStructuralLoadPlanarForce; } Type::Enum IfcStructuralLoadPlanarForce::Class() { return Type::IfcStructuralLoadPlanarForce; } IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(IfcAbstractEntity* e) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadPlanarForce)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(boost::optional< IfcLabel > v1_Name, boost::optional< IfcPlanarForceMeasure > v2_PlanarForceX, boost::optional< IfcPlanarForceMeasure > v3_PlanarForceY, boost::optional< IfcPlanarForceMeasure > v4_PlanarForceZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_PlanarForceX) { e->setArgument(1,(*v2_PlanarForceX)); } else { e->setArgument(1); } if (v3_PlanarForceY) { e->setArgument(2,(*v3_PlanarForceY)); } else { e->setArgument(2); } if (v4_PlanarForceZ) { e->setArgument(3,(*v4_PlanarForceZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(boost::optional< std::string > v1_Name, boost::optional< double > v2_PlanarForceX, boost::optional< double > v3_PlanarForceY, boost::optional< double > v4_PlanarForceZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_PlanarForceX) { e->setArgument(1,(*v2_PlanarForceX)); } else { e->setArgument(1); } if (v3_PlanarForceY) { e->setArgument(2,(*v3_PlanarForceY)); } else { e->setArgument(2); } if (v4_PlanarForceZ) { e->setArgument(3,(*v4_PlanarForceZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadSingleDisplacement bool IfcStructuralLoadSingleDisplacement::hasDisplacementX() const { return !entity->getArgument(1)->isNull(); } -IfcLengthMeasure IfcStructuralLoadSingleDisplacement::DisplacementX() const { return *entity->getArgument(1); } -void IfcStructuralLoadSingleDisplacement::setDisplacementX(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcStructuralLoadSingleDisplacement::DisplacementX() const { return *entity->getArgument(1); } +void IfcStructuralLoadSingleDisplacement::setDisplacementX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcStructuralLoadSingleDisplacement::hasDisplacementY() const { return !entity->getArgument(2)->isNull(); } -IfcLengthMeasure IfcStructuralLoadSingleDisplacement::DisplacementY() const { return *entity->getArgument(2); } -void IfcStructuralLoadSingleDisplacement::setDisplacementY(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcStructuralLoadSingleDisplacement::DisplacementY() const { return *entity->getArgument(2); } +void IfcStructuralLoadSingleDisplacement::setDisplacementY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcStructuralLoadSingleDisplacement::hasDisplacementZ() const { return !entity->getArgument(3)->isNull(); } -IfcLengthMeasure IfcStructuralLoadSingleDisplacement::DisplacementZ() const { return *entity->getArgument(3); } -void IfcStructuralLoadSingleDisplacement::setDisplacementZ(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcStructuralLoadSingleDisplacement::DisplacementZ() const { return *entity->getArgument(3); } +void IfcStructuralLoadSingleDisplacement::setDisplacementZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRX() const { return !entity->getArgument(4)->isNull(); } -IfcPlaneAngleMeasure IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { return *entity->getArgument(4); } -void IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { return *entity->getArgument(4); } +void IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRY() const { return !entity->getArgument(5)->isNull(); } -IfcPlaneAngleMeasure IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { return *entity->getArgument(5); } -void IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { return *entity->getArgument(5); } +void IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRZ() const { return !entity->getArgument(6)->isNull(); } -IfcPlaneAngleMeasure IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { return *entity->getArgument(6); } -void IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { return *entity->getArgument(6); } +void IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcStructuralLoadSingleDisplacement::is(Type::Enum v) const { return v == Type::IfcStructuralLoadSingleDisplacement || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadSingleDisplacement::type() const { return Type::IfcStructuralLoadSingleDisplacement; } Type::Enum IfcStructuralLoadSingleDisplacement::Class() { return Type::IfcStructuralLoadSingleDisplacement; } IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(IfcAbstractEntity* e) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadSingleDisplacement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_DisplacementX, boost::optional< IfcLengthMeasure > v3_DisplacementY, boost::optional< IfcLengthMeasure > v4_DisplacementZ, boost::optional< IfcPlaneAngleMeasure > v5_RotationalDisplacementRX, boost::optional< IfcPlaneAngleMeasure > v6_RotationalDisplacementRY, boost::optional< IfcPlaneAngleMeasure > v7_RotationalDisplacementRZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DisplacementX) { e->setArgument(1,(*v2_DisplacementX)); } else { e->setArgument(1); } if (v3_DisplacementY) { e->setArgument(2,(*v3_DisplacementY)); } else { e->setArgument(2); } if (v4_DisplacementZ) { e->setArgument(3,(*v4_DisplacementZ)); } else { e->setArgument(3); } if (v5_RotationalDisplacementRX) { e->setArgument(4,(*v5_RotationalDisplacementRX)); } else { e->setArgument(4); } if (v6_RotationalDisplacementRY) { e->setArgument(5,(*v6_RotationalDisplacementRY)); } else { e->setArgument(5); } if (v7_RotationalDisplacementRZ) { e->setArgument(6,(*v7_RotationalDisplacementRZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(boost::optional< std::string > v1_Name, boost::optional< double > v2_DisplacementX, boost::optional< double > v3_DisplacementY, boost::optional< double > v4_DisplacementZ, boost::optional< double > v5_RotationalDisplacementRX, boost::optional< double > v6_RotationalDisplacementRY, boost::optional< double > v7_RotationalDisplacementRZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DisplacementX) { e->setArgument(1,(*v2_DisplacementX)); } else { e->setArgument(1); } if (v3_DisplacementY) { e->setArgument(2,(*v3_DisplacementY)); } else { e->setArgument(2); } if (v4_DisplacementZ) { e->setArgument(3,(*v4_DisplacementZ)); } else { e->setArgument(3); } if (v5_RotationalDisplacementRX) { e->setArgument(4,(*v5_RotationalDisplacementRX)); } else { e->setArgument(4); } if (v6_RotationalDisplacementRY) { e->setArgument(5,(*v6_RotationalDisplacementRY)); } else { e->setArgument(5); } if (v7_RotationalDisplacementRZ) { e->setArgument(6,(*v7_RotationalDisplacementRZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion bool IfcStructuralLoadSingleDisplacementDistortion::hasDistortion() const { return !entity->getArgument(7)->isNull(); } -IfcCurvatureMeasure IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { return *entity->getArgument(7); } -void IfcStructuralLoadSingleDisplacementDistortion::setDistortion(IfcCurvatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { return *entity->getArgument(7); } +void IfcStructuralLoadSingleDisplacementDistortion::setDistortion(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcStructuralLoadSingleDisplacementDistortion::is(Type::Enum v) const { return v == Type::IfcStructuralLoadSingleDisplacementDistortion || IfcStructuralLoadSingleDisplacement::is(v); } Type::Enum IfcStructuralLoadSingleDisplacementDistortion::type() const { return Type::IfcStructuralLoadSingleDisplacementDistortion; } Type::Enum IfcStructuralLoadSingleDisplacementDistortion::Class() { return Type::IfcStructuralLoadSingleDisplacementDistortion; } IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(IfcAbstractEntity* e) : IfcStructuralLoadSingleDisplacement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadSingleDisplacementDistortion)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_DisplacementX, boost::optional< IfcLengthMeasure > v3_DisplacementY, boost::optional< IfcLengthMeasure > v4_DisplacementZ, boost::optional< IfcPlaneAngleMeasure > v5_RotationalDisplacementRX, boost::optional< IfcPlaneAngleMeasure > v6_RotationalDisplacementRY, boost::optional< IfcPlaneAngleMeasure > v7_RotationalDisplacementRZ, boost::optional< IfcCurvatureMeasure > v8_Distortion) : IfcStructuralLoadSingleDisplacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DisplacementX) { e->setArgument(1,(*v2_DisplacementX)); } else { e->setArgument(1); } if (v3_DisplacementY) { e->setArgument(2,(*v3_DisplacementY)); } else { e->setArgument(2); } if (v4_DisplacementZ) { e->setArgument(3,(*v4_DisplacementZ)); } else { e->setArgument(3); } if (v5_RotationalDisplacementRX) { e->setArgument(4,(*v5_RotationalDisplacementRX)); } else { e->setArgument(4); } if (v6_RotationalDisplacementRY) { e->setArgument(5,(*v6_RotationalDisplacementRY)); } else { e->setArgument(5); } if (v7_RotationalDisplacementRZ) { e->setArgument(6,(*v7_RotationalDisplacementRZ)); } else { e->setArgument(6); } if (v8_Distortion) { e->setArgument(7,(*v8_Distortion)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(boost::optional< std::string > v1_Name, boost::optional< double > v2_DisplacementX, boost::optional< double > v3_DisplacementY, boost::optional< double > v4_DisplacementZ, boost::optional< double > v5_RotationalDisplacementRX, boost::optional< double > v6_RotationalDisplacementRY, boost::optional< double > v7_RotationalDisplacementRZ, boost::optional< double > v8_Distortion) : IfcStructuralLoadSingleDisplacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DisplacementX) { e->setArgument(1,(*v2_DisplacementX)); } else { e->setArgument(1); } if (v3_DisplacementY) { e->setArgument(2,(*v3_DisplacementY)); } else { e->setArgument(2); } if (v4_DisplacementZ) { e->setArgument(3,(*v4_DisplacementZ)); } else { e->setArgument(3); } if (v5_RotationalDisplacementRX) { e->setArgument(4,(*v5_RotationalDisplacementRX)); } else { e->setArgument(4); } if (v6_RotationalDisplacementRY) { e->setArgument(5,(*v6_RotationalDisplacementRY)); } else { e->setArgument(5); } if (v7_RotationalDisplacementRZ) { e->setArgument(6,(*v7_RotationalDisplacementRZ)); } else { e->setArgument(6); } if (v8_Distortion) { e->setArgument(7,(*v8_Distortion)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadSingleForce bool IfcStructuralLoadSingleForce::hasForceX() const { return !entity->getArgument(1)->isNull(); } -IfcForceMeasure IfcStructuralLoadSingleForce::ForceX() const { return *entity->getArgument(1); } -void IfcStructuralLoadSingleForce::setForceX(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcStructuralLoadSingleForce::ForceX() const { return *entity->getArgument(1); } +void IfcStructuralLoadSingleForce::setForceX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcStructuralLoadSingleForce::hasForceY() const { return !entity->getArgument(2)->isNull(); } -IfcForceMeasure IfcStructuralLoadSingleForce::ForceY() const { return *entity->getArgument(2); } -void IfcStructuralLoadSingleForce::setForceY(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcStructuralLoadSingleForce::ForceY() const { return *entity->getArgument(2); } +void IfcStructuralLoadSingleForce::setForceY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcStructuralLoadSingleForce::hasForceZ() const { return !entity->getArgument(3)->isNull(); } -IfcForceMeasure IfcStructuralLoadSingleForce::ForceZ() const { return *entity->getArgument(3); } -void IfcStructuralLoadSingleForce::setForceZ(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcStructuralLoadSingleForce::ForceZ() const { return *entity->getArgument(3); } +void IfcStructuralLoadSingleForce::setForceZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcStructuralLoadSingleForce::hasMomentX() const { return !entity->getArgument(4)->isNull(); } -IfcTorqueMeasure IfcStructuralLoadSingleForce::MomentX() const { return *entity->getArgument(4); } -void IfcStructuralLoadSingleForce::setMomentX(IfcTorqueMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcStructuralLoadSingleForce::MomentX() const { return *entity->getArgument(4); } +void IfcStructuralLoadSingleForce::setMomentX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcStructuralLoadSingleForce::hasMomentY() const { return !entity->getArgument(5)->isNull(); } -IfcTorqueMeasure IfcStructuralLoadSingleForce::MomentY() const { return *entity->getArgument(5); } -void IfcStructuralLoadSingleForce::setMomentY(IfcTorqueMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcStructuralLoadSingleForce::MomentY() const { return *entity->getArgument(5); } +void IfcStructuralLoadSingleForce::setMomentY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcStructuralLoadSingleForce::hasMomentZ() const { return !entity->getArgument(6)->isNull(); } -IfcTorqueMeasure IfcStructuralLoadSingleForce::MomentZ() const { return *entity->getArgument(6); } -void IfcStructuralLoadSingleForce::setMomentZ(IfcTorqueMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcStructuralLoadSingleForce::MomentZ() const { return *entity->getArgument(6); } +void IfcStructuralLoadSingleForce::setMomentZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcStructuralLoadSingleForce::is(Type::Enum v) const { return v == Type::IfcStructuralLoadSingleForce || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadSingleForce::type() const { return Type::IfcStructuralLoadSingleForce; } Type::Enum IfcStructuralLoadSingleForce::Class() { return Type::IfcStructuralLoadSingleForce; } IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(IfcAbstractEntity* e) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadSingleForce)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_ForceX, boost::optional< IfcForceMeasure > v3_ForceY, boost::optional< IfcForceMeasure > v4_ForceZ, boost::optional< IfcTorqueMeasure > v5_MomentX, boost::optional< IfcTorqueMeasure > v6_MomentY, boost::optional< IfcTorqueMeasure > v7_MomentZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_ForceX) { e->setArgument(1,(*v2_ForceX)); } else { e->setArgument(1); } if (v3_ForceY) { e->setArgument(2,(*v3_ForceY)); } else { e->setArgument(2); } if (v4_ForceZ) { e->setArgument(3,(*v4_ForceZ)); } else { e->setArgument(3); } if (v5_MomentX) { e->setArgument(4,(*v5_MomentX)); } else { e->setArgument(4); } if (v6_MomentY) { e->setArgument(5,(*v6_MomentY)); } else { e->setArgument(5); } if (v7_MomentZ) { e->setArgument(6,(*v7_MomentZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(boost::optional< std::string > v1_Name, boost::optional< double > v2_ForceX, boost::optional< double > v3_ForceY, boost::optional< double > v4_ForceZ, boost::optional< double > v5_MomentX, boost::optional< double > v6_MomentY, boost::optional< double > v7_MomentZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_ForceX) { e->setArgument(1,(*v2_ForceX)); } else { e->setArgument(1); } if (v3_ForceY) { e->setArgument(2,(*v3_ForceY)); } else { e->setArgument(2); } if (v4_ForceZ) { e->setArgument(3,(*v4_ForceZ)); } else { e->setArgument(3); } if (v5_MomentX) { e->setArgument(4,(*v5_MomentX)); } else { e->setArgument(4); } if (v6_MomentY) { e->setArgument(5,(*v6_MomentY)); } else { e->setArgument(5); } if (v7_MomentZ) { e->setArgument(6,(*v7_MomentZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadSingleForceWarping bool IfcStructuralLoadSingleForceWarping::hasWarpingMoment() const { return !entity->getArgument(7)->isNull(); } -IfcWarpingMomentMeasure IfcStructuralLoadSingleForceWarping::WarpingMoment() const { return *entity->getArgument(7); } -void IfcStructuralLoadSingleForceWarping::setWarpingMoment(IfcWarpingMomentMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcStructuralLoadSingleForceWarping::WarpingMoment() const { return *entity->getArgument(7); } +void IfcStructuralLoadSingleForceWarping::setWarpingMoment(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcStructuralLoadSingleForceWarping::is(Type::Enum v) const { return v == Type::IfcStructuralLoadSingleForceWarping || IfcStructuralLoadSingleForce::is(v); } Type::Enum IfcStructuralLoadSingleForceWarping::type() const { return Type::IfcStructuralLoadSingleForceWarping; } Type::Enum IfcStructuralLoadSingleForceWarping::Class() { return Type::IfcStructuralLoadSingleForceWarping; } IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(IfcAbstractEntity* e) : IfcStructuralLoadSingleForce((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadSingleForceWarping)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_ForceX, boost::optional< IfcForceMeasure > v3_ForceY, boost::optional< IfcForceMeasure > v4_ForceZ, boost::optional< IfcTorqueMeasure > v5_MomentX, boost::optional< IfcTorqueMeasure > v6_MomentY, boost::optional< IfcTorqueMeasure > v7_MomentZ, boost::optional< IfcWarpingMomentMeasure > v8_WarpingMoment) : IfcStructuralLoadSingleForce((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_ForceX) { e->setArgument(1,(*v2_ForceX)); } else { e->setArgument(1); } if (v3_ForceY) { e->setArgument(2,(*v3_ForceY)); } else { e->setArgument(2); } if (v4_ForceZ) { e->setArgument(3,(*v4_ForceZ)); } else { e->setArgument(3); } if (v5_MomentX) { e->setArgument(4,(*v5_MomentX)); } else { e->setArgument(4); } if (v6_MomentY) { e->setArgument(5,(*v6_MomentY)); } else { e->setArgument(5); } if (v7_MomentZ) { e->setArgument(6,(*v7_MomentZ)); } else { e->setArgument(6); } if (v8_WarpingMoment) { e->setArgument(7,(*v8_WarpingMoment)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(boost::optional< std::string > v1_Name, boost::optional< double > v2_ForceX, boost::optional< double > v3_ForceY, boost::optional< double > v4_ForceZ, boost::optional< double > v5_MomentX, boost::optional< double > v6_MomentY, boost::optional< double > v7_MomentZ, boost::optional< double > v8_WarpingMoment) : IfcStructuralLoadSingleForce((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_ForceX) { e->setArgument(1,(*v2_ForceX)); } else { e->setArgument(1); } if (v3_ForceY) { e->setArgument(2,(*v3_ForceY)); } else { e->setArgument(2); } if (v4_ForceZ) { e->setArgument(3,(*v4_ForceZ)); } else { e->setArgument(3); } if (v5_MomentX) { e->setArgument(4,(*v5_MomentX)); } else { e->setArgument(4); } if (v6_MomentY) { e->setArgument(5,(*v6_MomentY)); } else { e->setArgument(5); } if (v7_MomentZ) { e->setArgument(6,(*v7_MomentZ)); } else { e->setArgument(6); } if (v8_WarpingMoment) { e->setArgument(7,(*v8_WarpingMoment)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadStatic bool IfcStructuralLoadStatic::is(Type::Enum v) const { return v == Type::IfcStructuralLoadStatic || IfcStructuralLoad::is(v); } Type::Enum IfcStructuralLoadStatic::type() const { return Type::IfcStructuralLoadStatic; } Type::Enum IfcStructuralLoadStatic::Class() { return Type::IfcStructuralLoadStatic; } IfcStructuralLoadStatic::IfcStructuralLoadStatic(IfcAbstractEntity* e) : IfcStructuralLoad((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadStatic)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< IfcLabel > v1_Name) : IfcStructuralLoad((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoad((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadTemperature bool IfcStructuralLoadTemperature::hasDeltaT_Constant() const { return !entity->getArgument(1)->isNull(); } -IfcThermodynamicTemperatureMeasure IfcStructuralLoadTemperature::DeltaT_Constant() const { return *entity->getArgument(1); } -void IfcStructuralLoadTemperature::setDeltaT_Constant(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcStructuralLoadTemperature::DeltaT_Constant() const { return *entity->getArgument(1); } +void IfcStructuralLoadTemperature::setDeltaT_Constant(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcStructuralLoadTemperature::hasDeltaT_Y() const { return !entity->getArgument(2)->isNull(); } -IfcThermodynamicTemperatureMeasure IfcStructuralLoadTemperature::DeltaT_Y() const { return *entity->getArgument(2); } -void IfcStructuralLoadTemperature::setDeltaT_Y(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcStructuralLoadTemperature::DeltaT_Y() const { return *entity->getArgument(2); } +void IfcStructuralLoadTemperature::setDeltaT_Y(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcStructuralLoadTemperature::hasDeltaT_Z() const { return !entity->getArgument(3)->isNull(); } -IfcThermodynamicTemperatureMeasure IfcStructuralLoadTemperature::DeltaT_Z() const { return *entity->getArgument(3); } -void IfcStructuralLoadTemperature::setDeltaT_Z(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcStructuralLoadTemperature::DeltaT_Z() const { return *entity->getArgument(3); } +void IfcStructuralLoadTemperature::setDeltaT_Z(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcStructuralLoadTemperature::is(Type::Enum v) const { return v == Type::IfcStructuralLoadTemperature || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadTemperature::type() const { return Type::IfcStructuralLoadTemperature; } Type::Enum IfcStructuralLoadTemperature::Class() { return Type::IfcStructuralLoadTemperature; } IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(IfcAbstractEntity* e) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadTemperature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< IfcLabel > v1_Name, boost::optional< IfcThermodynamicTemperatureMeasure > v2_DeltaT_Constant, boost::optional< IfcThermodynamicTemperatureMeasure > v3_DeltaT_Y, boost::optional< IfcThermodynamicTemperatureMeasure > v4_DeltaT_Z) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DeltaT_Constant) { e->setArgument(1,(*v2_DeltaT_Constant)); } else { e->setArgument(1); } if (v3_DeltaT_Y) { e->setArgument(2,(*v3_DeltaT_Y)); } else { e->setArgument(2); } if (v4_DeltaT_Z) { e->setArgument(3,(*v4_DeltaT_Z)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaT_Constant, boost::optional< double > v3_DeltaT_Y, boost::optional< double > v4_DeltaT_Z) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DeltaT_Constant) { e->setArgument(1,(*v2_DeltaT_Constant)); } else { e->setArgument(1); } if (v3_DeltaT_Y) { e->setArgument(2,(*v3_DeltaT_Y)); } else { e->setArgument(2); } if (v4_DeltaT_Z) { e->setArgument(3,(*v4_DeltaT_Z)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralMember IfcRelConnectsStructuralElement::list::ptr IfcStructuralMember::ReferencesElement() const { return entity->getInverse(Type::IfcRelConnectsStructuralElement)->as(); } @@ -11704,7 +13108,7 @@ bool IfcStructuralMember::is(Type::Enum v) const { return v == Type::IfcStructur Type::Enum IfcStructuralMember::type() const { return Type::IfcStructuralMember; } Type::Enum IfcStructuralMember::Class() { return Type::IfcStructuralMember; } IfcStructuralMember::IfcStructuralMember(IfcAbstractEntity* e) : IfcStructuralItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralMember::IfcStructuralMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcStructuralItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } +IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcStructuralItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralPlanarAction IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum IfcStructuralPlanarAction::ProjectedOrTrue() const { return IfcProjectedOrTrueLengthEnum::FromString(*entity->getArgument(11)); } @@ -11713,7 +13117,7 @@ bool IfcStructuralPlanarAction::is(Type::Enum v) const { return v == Type::IfcSt Type::Enum IfcStructuralPlanarAction::type() const { return Type::IfcStructuralPlanarAction; } Type::Enum IfcStructuralPlanarAction::Class() { return Type::IfcStructuralPlanarAction; } IfcStructuralPlanarAction::IfcStructuralPlanarAction(IfcAbstractEntity* e) : IfcStructuralAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPlanarAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPlanarAction::IfcStructuralPlanarAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); e->setArgument(10,(v11_CausedBy)); e->setArgument(11,v12_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(v12_ProjectedOrTrue)); entity = e; EntityBuffer::Add(this); } +IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); e->setArgument(10,(v11_CausedBy)); e->setArgument(11,v12_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(v12_ProjectedOrTrue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralPlanarActionVarying IfcShapeAspect* IfcStructuralPlanarActionVarying::VaryingAppliedLoadLocation() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(12))); } @@ -11724,83 +13128,83 @@ bool IfcStructuralPlanarActionVarying::is(Type::Enum v) const { return v == Type Type::Enum IfcStructuralPlanarActionVarying::type() const { return Type::IfcStructuralPlanarActionVarying; } Type::Enum IfcStructuralPlanarActionVarying::Class() { return Type::IfcStructuralPlanarActionVarying; } IfcStructuralPlanarActionVarying::IfcStructuralPlanarActionVarying(IfcAbstractEntity* e) : IfcStructuralPlanarAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPlanarActionVarying)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPlanarActionVarying::IfcStructuralPlanarActionVarying(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue, IfcShapeAspect* v13_VaryingAppliedLoadLocation, IfcTemplatedEntityList< IfcStructuralLoad >::ptr v14_SubsequentAppliedLoads) : IfcStructuralPlanarAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); e->setArgument(10,(v11_CausedBy)); e->setArgument(11,v12_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(v12_ProjectedOrTrue)); e->setArgument(12,(v13_VaryingAppliedLoadLocation)); e->setArgument(13,(v14_SubsequentAppliedLoads)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcStructuralPlanarActionVarying::IfcStructuralPlanarActionVarying(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue, IfcShapeAspect* v13_VaryingAppliedLoadLocation, IfcTemplatedEntityList< IfcStructuralLoad >::ptr v14_SubsequentAppliedLoads) : IfcStructuralPlanarAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); e->setArgument(10,(v11_CausedBy)); e->setArgument(11,v12_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(v12_ProjectedOrTrue)); e->setArgument(12,(v13_VaryingAppliedLoadLocation)); e->setArgument(13,(v14_SubsequentAppliedLoads)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralPointAction bool IfcStructuralPointAction::is(Type::Enum v) const { return v == Type::IfcStructuralPointAction || IfcStructuralAction::is(v); } Type::Enum IfcStructuralPointAction::type() const { return Type::IfcStructuralPointAction; } Type::Enum IfcStructuralPointAction::Class() { return Type::IfcStructuralPointAction; } IfcStructuralPointAction::IfcStructuralPointAction(IfcAbstractEntity* e) : IfcStructuralAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPointAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPointAction::IfcStructuralPointAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); e->setArgument(10,(v11_CausedBy)); entity = e; EntityBuffer::Add(this); } +IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,(v10_DestabilizingLoad)); e->setArgument(10,(v11_CausedBy)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralPointConnection bool IfcStructuralPointConnection::is(Type::Enum v) const { return v == Type::IfcStructuralPointConnection || IfcStructuralConnection::is(v); } Type::Enum IfcStructuralPointConnection::type() const { return Type::IfcStructuralPointConnection; } Type::Enum IfcStructuralPointConnection::Class() { return Type::IfcStructuralPointConnection; } IfcStructuralPointConnection::IfcStructuralPointConnection(IfcAbstractEntity* e) : IfcStructuralConnection((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPointConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPointConnection::IfcStructuralPointConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); entity = e; EntityBuffer::Add(this); } +IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralPointReaction bool IfcStructuralPointReaction::is(Type::Enum v) const { return v == Type::IfcStructuralPointReaction || IfcStructuralReaction::is(v); } Type::Enum IfcStructuralPointReaction::type() const { return Type::IfcStructuralPointReaction; } Type::Enum IfcStructuralPointReaction::Class() { return Type::IfcStructuralPointReaction; } IfcStructuralPointReaction::IfcStructuralPointReaction(IfcAbstractEntity* e) : IfcStructuralReaction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPointReaction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPointReaction::IfcStructuralPointReaction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcStructuralReaction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } +IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcStructuralReaction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralProfileProperties bool IfcStructuralProfileProperties::hasTorsionalConstantX() const { return !entity->getArgument(7)->isNull(); } -IfcMomentOfInertiaMeasure IfcStructuralProfileProperties::TorsionalConstantX() const { return *entity->getArgument(7); } -void IfcStructuralProfileProperties::setTorsionalConstantX(IfcMomentOfInertiaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcStructuralProfileProperties::TorsionalConstantX() const { return *entity->getArgument(7); } +void IfcStructuralProfileProperties::setTorsionalConstantX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcStructuralProfileProperties::hasMomentOfInertiaYZ() const { return !entity->getArgument(8)->isNull(); } -IfcMomentOfInertiaMeasure IfcStructuralProfileProperties::MomentOfInertiaYZ() const { return *entity->getArgument(8); } -void IfcStructuralProfileProperties::setMomentOfInertiaYZ(IfcMomentOfInertiaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcStructuralProfileProperties::MomentOfInertiaYZ() const { return *entity->getArgument(8); } +void IfcStructuralProfileProperties::setMomentOfInertiaYZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcStructuralProfileProperties::hasMomentOfInertiaY() const { return !entity->getArgument(9)->isNull(); } -IfcMomentOfInertiaMeasure IfcStructuralProfileProperties::MomentOfInertiaY() const { return *entity->getArgument(9); } -void IfcStructuralProfileProperties::setMomentOfInertiaY(IfcMomentOfInertiaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcStructuralProfileProperties::MomentOfInertiaY() const { return *entity->getArgument(9); } +void IfcStructuralProfileProperties::setMomentOfInertiaY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcStructuralProfileProperties::hasMomentOfInertiaZ() const { return !entity->getArgument(10)->isNull(); } -IfcMomentOfInertiaMeasure IfcStructuralProfileProperties::MomentOfInertiaZ() const { return *entity->getArgument(10); } -void IfcStructuralProfileProperties::setMomentOfInertiaZ(IfcMomentOfInertiaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcStructuralProfileProperties::MomentOfInertiaZ() const { return *entity->getArgument(10); } +void IfcStructuralProfileProperties::setMomentOfInertiaZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcStructuralProfileProperties::hasWarpingConstant() const { return !entity->getArgument(11)->isNull(); } -IfcWarpingConstantMeasure IfcStructuralProfileProperties::WarpingConstant() const { return *entity->getArgument(11); } -void IfcStructuralProfileProperties::setWarpingConstant(IfcWarpingConstantMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcStructuralProfileProperties::WarpingConstant() const { return *entity->getArgument(11); } +void IfcStructuralProfileProperties::setWarpingConstant(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcStructuralProfileProperties::hasShearCentreZ() const { return !entity->getArgument(12)->isNull(); } -IfcLengthMeasure IfcStructuralProfileProperties::ShearCentreZ() const { return *entity->getArgument(12); } -void IfcStructuralProfileProperties::setShearCentreZ(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +double IfcStructuralProfileProperties::ShearCentreZ() const { return *entity->getArgument(12); } +void IfcStructuralProfileProperties::setShearCentreZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcStructuralProfileProperties::hasShearCentreY() const { return !entity->getArgument(13)->isNull(); } -IfcLengthMeasure IfcStructuralProfileProperties::ShearCentreY() const { return *entity->getArgument(13); } -void IfcStructuralProfileProperties::setShearCentreY(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } +double IfcStructuralProfileProperties::ShearCentreY() const { return *entity->getArgument(13); } +void IfcStructuralProfileProperties::setShearCentreY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } bool IfcStructuralProfileProperties::hasShearDeformationAreaZ() const { return !entity->getArgument(14)->isNull(); } -IfcAreaMeasure IfcStructuralProfileProperties::ShearDeformationAreaZ() const { return *entity->getArgument(14); } -void IfcStructuralProfileProperties::setShearDeformationAreaZ(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } +double IfcStructuralProfileProperties::ShearDeformationAreaZ() const { return *entity->getArgument(14); } +void IfcStructuralProfileProperties::setShearDeformationAreaZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } bool IfcStructuralProfileProperties::hasShearDeformationAreaY() const { return !entity->getArgument(15)->isNull(); } -IfcAreaMeasure IfcStructuralProfileProperties::ShearDeformationAreaY() const { return *entity->getArgument(15); } -void IfcStructuralProfileProperties::setShearDeformationAreaY(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } +double IfcStructuralProfileProperties::ShearDeformationAreaY() const { return *entity->getArgument(15); } +void IfcStructuralProfileProperties::setShearDeformationAreaY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } bool IfcStructuralProfileProperties::hasMaximumSectionModulusY() const { return !entity->getArgument(16)->isNull(); } -IfcSectionModulusMeasure IfcStructuralProfileProperties::MaximumSectionModulusY() const { return *entity->getArgument(16); } -void IfcStructuralProfileProperties::setMaximumSectionModulusY(IfcSectionModulusMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } +double IfcStructuralProfileProperties::MaximumSectionModulusY() const { return *entity->getArgument(16); } +void IfcStructuralProfileProperties::setMaximumSectionModulusY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } bool IfcStructuralProfileProperties::hasMinimumSectionModulusY() const { return !entity->getArgument(17)->isNull(); } -IfcSectionModulusMeasure IfcStructuralProfileProperties::MinimumSectionModulusY() const { return *entity->getArgument(17); } -void IfcStructuralProfileProperties::setMinimumSectionModulusY(IfcSectionModulusMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v); } +double IfcStructuralProfileProperties::MinimumSectionModulusY() const { return *entity->getArgument(17); } +void IfcStructuralProfileProperties::setMinimumSectionModulusY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v); } bool IfcStructuralProfileProperties::hasMaximumSectionModulusZ() const { return !entity->getArgument(18)->isNull(); } -IfcSectionModulusMeasure IfcStructuralProfileProperties::MaximumSectionModulusZ() const { return *entity->getArgument(18); } -void IfcStructuralProfileProperties::setMaximumSectionModulusZ(IfcSectionModulusMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(18,v); } +double IfcStructuralProfileProperties::MaximumSectionModulusZ() const { return *entity->getArgument(18); } +void IfcStructuralProfileProperties::setMaximumSectionModulusZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(18,v); } bool IfcStructuralProfileProperties::hasMinimumSectionModulusZ() const { return !entity->getArgument(19)->isNull(); } -IfcSectionModulusMeasure IfcStructuralProfileProperties::MinimumSectionModulusZ() const { return *entity->getArgument(19); } -void IfcStructuralProfileProperties::setMinimumSectionModulusZ(IfcSectionModulusMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(19,v); } +double IfcStructuralProfileProperties::MinimumSectionModulusZ() const { return *entity->getArgument(19); } +void IfcStructuralProfileProperties::setMinimumSectionModulusZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(19,v); } bool IfcStructuralProfileProperties::hasTorsionalSectionModulus() const { return !entity->getArgument(20)->isNull(); } -IfcSectionModulusMeasure IfcStructuralProfileProperties::TorsionalSectionModulus() const { return *entity->getArgument(20); } -void IfcStructuralProfileProperties::setTorsionalSectionModulus(IfcSectionModulusMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(20,v); } +double IfcStructuralProfileProperties::TorsionalSectionModulus() const { return *entity->getArgument(20); } +void IfcStructuralProfileProperties::setTorsionalSectionModulus(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(20,v); } bool IfcStructuralProfileProperties::hasCentreOfGravityInX() const { return !entity->getArgument(21)->isNull(); } -IfcLengthMeasure IfcStructuralProfileProperties::CentreOfGravityInX() const { return *entity->getArgument(21); } -void IfcStructuralProfileProperties::setCentreOfGravityInX(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(21,v); } +double IfcStructuralProfileProperties::CentreOfGravityInX() const { return *entity->getArgument(21); } +void IfcStructuralProfileProperties::setCentreOfGravityInX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(21,v); } bool IfcStructuralProfileProperties::hasCentreOfGravityInY() const { return !entity->getArgument(22)->isNull(); } -IfcLengthMeasure IfcStructuralProfileProperties::CentreOfGravityInY() const { return *entity->getArgument(22); } -void IfcStructuralProfileProperties::setCentreOfGravityInY(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(22,v); } +double IfcStructuralProfileProperties::CentreOfGravityInY() const { return *entity->getArgument(22); } +void IfcStructuralProfileProperties::setCentreOfGravityInY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(22,v); } bool IfcStructuralProfileProperties::is(Type::Enum v) const { return v == Type::IfcStructuralProfileProperties || IfcGeneralProfileProperties::is(v); } Type::Enum IfcStructuralProfileProperties::type() const { return Type::IfcStructuralProfileProperties; } Type::Enum IfcStructuralProfileProperties::Class() { return Type::IfcStructuralProfileProperties; } IfcStructuralProfileProperties::IfcStructuralProfileProperties(IfcAbstractEntity* e) : IfcGeneralProfileProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralProfileProperties::IfcStructuralProfileProperties(boost::optional< IfcLabel > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< IfcMassPerLengthMeasure > v3_PhysicalWeight, boost::optional< IfcPositiveLengthMeasure > v4_Perimeter, boost::optional< IfcPositiveLengthMeasure > v5_MinimumPlateThickness, boost::optional< IfcPositiveLengthMeasure > v6_MaximumPlateThickness, boost::optional< IfcAreaMeasure > v7_CrossSectionArea, boost::optional< IfcMomentOfInertiaMeasure > v8_TorsionalConstantX, boost::optional< IfcMomentOfInertiaMeasure > v9_MomentOfInertiaYZ, boost::optional< IfcMomentOfInertiaMeasure > v10_MomentOfInertiaY, boost::optional< IfcMomentOfInertiaMeasure > v11_MomentOfInertiaZ, boost::optional< IfcWarpingConstantMeasure > v12_WarpingConstant, boost::optional< IfcLengthMeasure > v13_ShearCentreZ, boost::optional< IfcLengthMeasure > v14_ShearCentreY, boost::optional< IfcAreaMeasure > v15_ShearDeformationAreaZ, boost::optional< IfcAreaMeasure > v16_ShearDeformationAreaY, boost::optional< IfcSectionModulusMeasure > v17_MaximumSectionModulusY, boost::optional< IfcSectionModulusMeasure > v18_MinimumSectionModulusY, boost::optional< IfcSectionModulusMeasure > v19_MaximumSectionModulusZ, boost::optional< IfcSectionModulusMeasure > v20_MinimumSectionModulusZ, boost::optional< IfcSectionModulusMeasure > v21_TorsionalSectionModulus, boost::optional< IfcLengthMeasure > v22_CentreOfGravityInX, boost::optional< IfcLengthMeasure > v23_CentreOfGravityInY) : IfcGeneralProfileProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ProfileName) { e->setArgument(0,(*v1_ProfileName)); } else { e->setArgument(0); } e->setArgument(1,(v2_ProfileDefinition)); if (v3_PhysicalWeight) { e->setArgument(2,(*v3_PhysicalWeight)); } else { e->setArgument(2); } if (v4_Perimeter) { e->setArgument(3,(*v4_Perimeter)); } else { e->setArgument(3); } if (v5_MinimumPlateThickness) { e->setArgument(4,(*v5_MinimumPlateThickness)); } else { e->setArgument(4); } if (v6_MaximumPlateThickness) { e->setArgument(5,(*v6_MaximumPlateThickness)); } else { e->setArgument(5); } if (v7_CrossSectionArea) { e->setArgument(6,(*v7_CrossSectionArea)); } else { e->setArgument(6); } if (v8_TorsionalConstantX) { e->setArgument(7,(*v8_TorsionalConstantX)); } else { e->setArgument(7); } if (v9_MomentOfInertiaYZ) { e->setArgument(8,(*v9_MomentOfInertiaYZ)); } else { e->setArgument(8); } if (v10_MomentOfInertiaY) { e->setArgument(9,(*v10_MomentOfInertiaY)); } else { e->setArgument(9); } if (v11_MomentOfInertiaZ) { e->setArgument(10,(*v11_MomentOfInertiaZ)); } else { e->setArgument(10); } if (v12_WarpingConstant) { e->setArgument(11,(*v12_WarpingConstant)); } else { e->setArgument(11); } if (v13_ShearCentreZ) { e->setArgument(12,(*v13_ShearCentreZ)); } else { e->setArgument(12); } if (v14_ShearCentreY) { e->setArgument(13,(*v14_ShearCentreY)); } else { e->setArgument(13); } if (v15_ShearDeformationAreaZ) { e->setArgument(14,(*v15_ShearDeformationAreaZ)); } else { e->setArgument(14); } if (v16_ShearDeformationAreaY) { e->setArgument(15,(*v16_ShearDeformationAreaY)); } else { e->setArgument(15); } if (v17_MaximumSectionModulusY) { e->setArgument(16,(*v17_MaximumSectionModulusY)); } else { e->setArgument(16); } if (v18_MinimumSectionModulusY) { e->setArgument(17,(*v18_MinimumSectionModulusY)); } else { e->setArgument(17); } if (v19_MaximumSectionModulusZ) { e->setArgument(18,(*v19_MaximumSectionModulusZ)); } else { e->setArgument(18); } if (v20_MinimumSectionModulusZ) { e->setArgument(19,(*v20_MinimumSectionModulusZ)); } else { e->setArgument(19); } if (v21_TorsionalSectionModulus) { e->setArgument(20,(*v21_TorsionalSectionModulus)); } else { e->setArgument(20); } if (v22_CentreOfGravityInX) { e->setArgument(21,(*v22_CentreOfGravityInX)); } else { e->setArgument(21); } if (v23_CentreOfGravityInY) { e->setArgument(22,(*v23_CentreOfGravityInY)); } else { e->setArgument(22); } entity = e; EntityBuffer::Add(this); } +IfcStructuralProfileProperties::IfcStructuralProfileProperties(boost::optional< std::string > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< double > v3_PhysicalWeight, boost::optional< double > v4_Perimeter, boost::optional< double > v5_MinimumPlateThickness, boost::optional< double > v6_MaximumPlateThickness, boost::optional< double > v7_CrossSectionArea, boost::optional< double > v8_TorsionalConstantX, boost::optional< double > v9_MomentOfInertiaYZ, boost::optional< double > v10_MomentOfInertiaY, boost::optional< double > v11_MomentOfInertiaZ, boost::optional< double > v12_WarpingConstant, boost::optional< double > v13_ShearCentreZ, boost::optional< double > v14_ShearCentreY, boost::optional< double > v15_ShearDeformationAreaZ, boost::optional< double > v16_ShearDeformationAreaY, boost::optional< double > v17_MaximumSectionModulusY, boost::optional< double > v18_MinimumSectionModulusY, boost::optional< double > v19_MaximumSectionModulusZ, boost::optional< double > v20_MinimumSectionModulusZ, boost::optional< double > v21_TorsionalSectionModulus, boost::optional< double > v22_CentreOfGravityInX, boost::optional< double > v23_CentreOfGravityInY) : IfcGeneralProfileProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ProfileName) { e->setArgument(0,(*v1_ProfileName)); } else { e->setArgument(0); } e->setArgument(1,(v2_ProfileDefinition)); if (v3_PhysicalWeight) { e->setArgument(2,(*v3_PhysicalWeight)); } else { e->setArgument(2); } if (v4_Perimeter) { e->setArgument(3,(*v4_Perimeter)); } else { e->setArgument(3); } if (v5_MinimumPlateThickness) { e->setArgument(4,(*v5_MinimumPlateThickness)); } else { e->setArgument(4); } if (v6_MaximumPlateThickness) { e->setArgument(5,(*v6_MaximumPlateThickness)); } else { e->setArgument(5); } if (v7_CrossSectionArea) { e->setArgument(6,(*v7_CrossSectionArea)); } else { e->setArgument(6); } if (v8_TorsionalConstantX) { e->setArgument(7,(*v8_TorsionalConstantX)); } else { e->setArgument(7); } if (v9_MomentOfInertiaYZ) { e->setArgument(8,(*v9_MomentOfInertiaYZ)); } else { e->setArgument(8); } if (v10_MomentOfInertiaY) { e->setArgument(9,(*v10_MomentOfInertiaY)); } else { e->setArgument(9); } if (v11_MomentOfInertiaZ) { e->setArgument(10,(*v11_MomentOfInertiaZ)); } else { e->setArgument(10); } if (v12_WarpingConstant) { e->setArgument(11,(*v12_WarpingConstant)); } else { e->setArgument(11); } if (v13_ShearCentreZ) { e->setArgument(12,(*v13_ShearCentreZ)); } else { e->setArgument(12); } if (v14_ShearCentreY) { e->setArgument(13,(*v14_ShearCentreY)); } else { e->setArgument(13); } if (v15_ShearDeformationAreaZ) { e->setArgument(14,(*v15_ShearDeformationAreaZ)); } else { e->setArgument(14); } if (v16_ShearDeformationAreaY) { e->setArgument(15,(*v16_ShearDeformationAreaY)); } else { e->setArgument(15); } if (v17_MaximumSectionModulusY) { e->setArgument(16,(*v17_MaximumSectionModulusY)); } else { e->setArgument(16); } if (v18_MinimumSectionModulusY) { e->setArgument(17,(*v18_MinimumSectionModulusY)); } else { e->setArgument(17); } if (v19_MaximumSectionModulusZ) { e->setArgument(18,(*v19_MaximumSectionModulusZ)); } else { e->setArgument(18); } if (v20_MinimumSectionModulusZ) { e->setArgument(19,(*v20_MinimumSectionModulusZ)); } else { e->setArgument(19); } if (v21_TorsionalSectionModulus) { e->setArgument(20,(*v21_TorsionalSectionModulus)); } else { e->setArgument(20); } if (v22_CentreOfGravityInX) { e->setArgument(21,(*v22_CentreOfGravityInX)); } else { e->setArgument(21); } if (v23_CentreOfGravityInY) { e->setArgument(22,(*v23_CentreOfGravityInY)); } else { e->setArgument(22); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralReaction IfcStructuralAction::list::ptr IfcStructuralReaction::Causes() const { return entity->getInverse(Type::IfcStructuralAction)->as(); } @@ -11808,7 +13212,7 @@ bool IfcStructuralReaction::is(Type::Enum v) const { return v == Type::IfcStruct Type::Enum IfcStructuralReaction::type() const { return Type::IfcStructuralReaction; } Type::Enum IfcStructuralReaction::Class() { return Type::IfcStructuralReaction; } IfcStructuralReaction::IfcStructuralReaction(IfcAbstractEntity* e) : IfcStructuralActivity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralReaction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralReaction::IfcStructuralReaction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcStructuralActivity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } +IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcStructuralActivity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralResultGroup IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum IfcStructuralResultGroup::TheoryType() const { return IfcAnalysisTheoryTypeEnum::FromString(*entity->getArgument(5)); } @@ -11823,56 +13227,56 @@ bool IfcStructuralResultGroup::is(Type::Enum v) const { return v == Type::IfcStr Type::Enum IfcStructuralResultGroup::type() const { return Type::IfcStructuralResultGroup; } Type::Enum IfcStructuralResultGroup::Class() { return Type::IfcStructuralResultGroup; } IfcStructuralResultGroup::IfcStructuralResultGroup(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralResultGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralResultGroup::IfcStructuralResultGroup(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v6_TheoryType, IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_TheoryType,IfcAnalysisTheoryTypeEnum::ToString(v6_TheoryType)); e->setArgument(6,(v7_ResultForLoadGroup)); e->setArgument(7,(v8_IsLinear)); entity = e; EntityBuffer::Add(this); } +IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v6_TheoryType, IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_TheoryType,IfcAnalysisTheoryTypeEnum::ToString(v6_TheoryType)); e->setArgument(6,(v7_ResultForLoadGroup)); e->setArgument(7,(v8_IsLinear)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralSteelProfileProperties bool IfcStructuralSteelProfileProperties::hasShearAreaZ() const { return !entity->getArgument(23)->isNull(); } -IfcAreaMeasure IfcStructuralSteelProfileProperties::ShearAreaZ() const { return *entity->getArgument(23); } -void IfcStructuralSteelProfileProperties::setShearAreaZ(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(23,v); } +double IfcStructuralSteelProfileProperties::ShearAreaZ() const { return *entity->getArgument(23); } +void IfcStructuralSteelProfileProperties::setShearAreaZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(23,v); } bool IfcStructuralSteelProfileProperties::hasShearAreaY() const { return !entity->getArgument(24)->isNull(); } -IfcAreaMeasure IfcStructuralSteelProfileProperties::ShearAreaY() const { return *entity->getArgument(24); } -void IfcStructuralSteelProfileProperties::setShearAreaY(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(24,v); } +double IfcStructuralSteelProfileProperties::ShearAreaY() const { return *entity->getArgument(24); } +void IfcStructuralSteelProfileProperties::setShearAreaY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(24,v); } bool IfcStructuralSteelProfileProperties::hasPlasticShapeFactorY() const { return !entity->getArgument(25)->isNull(); } -IfcPositiveRatioMeasure IfcStructuralSteelProfileProperties::PlasticShapeFactorY() const { return *entity->getArgument(25); } -void IfcStructuralSteelProfileProperties::setPlasticShapeFactorY(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(25,v); } +double IfcStructuralSteelProfileProperties::PlasticShapeFactorY() const { return *entity->getArgument(25); } +void IfcStructuralSteelProfileProperties::setPlasticShapeFactorY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(25,v); } bool IfcStructuralSteelProfileProperties::hasPlasticShapeFactorZ() const { return !entity->getArgument(26)->isNull(); } -IfcPositiveRatioMeasure IfcStructuralSteelProfileProperties::PlasticShapeFactorZ() const { return *entity->getArgument(26); } -void IfcStructuralSteelProfileProperties::setPlasticShapeFactorZ(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(26,v); } +double IfcStructuralSteelProfileProperties::PlasticShapeFactorZ() const { return *entity->getArgument(26); } +void IfcStructuralSteelProfileProperties::setPlasticShapeFactorZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(26,v); } bool IfcStructuralSteelProfileProperties::is(Type::Enum v) const { return v == Type::IfcStructuralSteelProfileProperties || IfcStructuralProfileProperties::is(v); } Type::Enum IfcStructuralSteelProfileProperties::type() const { return Type::IfcStructuralSteelProfileProperties; } Type::Enum IfcStructuralSteelProfileProperties::Class() { return Type::IfcStructuralSteelProfileProperties; } IfcStructuralSteelProfileProperties::IfcStructuralSteelProfileProperties(IfcAbstractEntity* e) : IfcStructuralProfileProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSteelProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSteelProfileProperties::IfcStructuralSteelProfileProperties(boost::optional< IfcLabel > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< IfcMassPerLengthMeasure > v3_PhysicalWeight, boost::optional< IfcPositiveLengthMeasure > v4_Perimeter, boost::optional< IfcPositiveLengthMeasure > v5_MinimumPlateThickness, boost::optional< IfcPositiveLengthMeasure > v6_MaximumPlateThickness, boost::optional< IfcAreaMeasure > v7_CrossSectionArea, boost::optional< IfcMomentOfInertiaMeasure > v8_TorsionalConstantX, boost::optional< IfcMomentOfInertiaMeasure > v9_MomentOfInertiaYZ, boost::optional< IfcMomentOfInertiaMeasure > v10_MomentOfInertiaY, boost::optional< IfcMomentOfInertiaMeasure > v11_MomentOfInertiaZ, boost::optional< IfcWarpingConstantMeasure > v12_WarpingConstant, boost::optional< IfcLengthMeasure > v13_ShearCentreZ, boost::optional< IfcLengthMeasure > v14_ShearCentreY, boost::optional< IfcAreaMeasure > v15_ShearDeformationAreaZ, boost::optional< IfcAreaMeasure > v16_ShearDeformationAreaY, boost::optional< IfcSectionModulusMeasure > v17_MaximumSectionModulusY, boost::optional< IfcSectionModulusMeasure > v18_MinimumSectionModulusY, boost::optional< IfcSectionModulusMeasure > v19_MaximumSectionModulusZ, boost::optional< IfcSectionModulusMeasure > v20_MinimumSectionModulusZ, boost::optional< IfcSectionModulusMeasure > v21_TorsionalSectionModulus, boost::optional< IfcLengthMeasure > v22_CentreOfGravityInX, boost::optional< IfcLengthMeasure > v23_CentreOfGravityInY, boost::optional< IfcAreaMeasure > v24_ShearAreaZ, boost::optional< IfcAreaMeasure > v25_ShearAreaY, boost::optional< IfcPositiveRatioMeasure > v26_PlasticShapeFactorY, boost::optional< IfcPositiveRatioMeasure > v27_PlasticShapeFactorZ) : IfcStructuralProfileProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ProfileName) { e->setArgument(0,(*v1_ProfileName)); } else { e->setArgument(0); } e->setArgument(1,(v2_ProfileDefinition)); if (v3_PhysicalWeight) { e->setArgument(2,(*v3_PhysicalWeight)); } else { e->setArgument(2); } if (v4_Perimeter) { e->setArgument(3,(*v4_Perimeter)); } else { e->setArgument(3); } if (v5_MinimumPlateThickness) { e->setArgument(4,(*v5_MinimumPlateThickness)); } else { e->setArgument(4); } if (v6_MaximumPlateThickness) { e->setArgument(5,(*v6_MaximumPlateThickness)); } else { e->setArgument(5); } if (v7_CrossSectionArea) { e->setArgument(6,(*v7_CrossSectionArea)); } else { e->setArgument(6); } if (v8_TorsionalConstantX) { e->setArgument(7,(*v8_TorsionalConstantX)); } else { e->setArgument(7); } if (v9_MomentOfInertiaYZ) { e->setArgument(8,(*v9_MomentOfInertiaYZ)); } else { e->setArgument(8); } if (v10_MomentOfInertiaY) { e->setArgument(9,(*v10_MomentOfInertiaY)); } else { e->setArgument(9); } if (v11_MomentOfInertiaZ) { e->setArgument(10,(*v11_MomentOfInertiaZ)); } else { e->setArgument(10); } if (v12_WarpingConstant) { e->setArgument(11,(*v12_WarpingConstant)); } else { e->setArgument(11); } if (v13_ShearCentreZ) { e->setArgument(12,(*v13_ShearCentreZ)); } else { e->setArgument(12); } if (v14_ShearCentreY) { e->setArgument(13,(*v14_ShearCentreY)); } else { e->setArgument(13); } if (v15_ShearDeformationAreaZ) { e->setArgument(14,(*v15_ShearDeformationAreaZ)); } else { e->setArgument(14); } if (v16_ShearDeformationAreaY) { e->setArgument(15,(*v16_ShearDeformationAreaY)); } else { e->setArgument(15); } if (v17_MaximumSectionModulusY) { e->setArgument(16,(*v17_MaximumSectionModulusY)); } else { e->setArgument(16); } if (v18_MinimumSectionModulusY) { e->setArgument(17,(*v18_MinimumSectionModulusY)); } else { e->setArgument(17); } if (v19_MaximumSectionModulusZ) { e->setArgument(18,(*v19_MaximumSectionModulusZ)); } else { e->setArgument(18); } if (v20_MinimumSectionModulusZ) { e->setArgument(19,(*v20_MinimumSectionModulusZ)); } else { e->setArgument(19); } if (v21_TorsionalSectionModulus) { e->setArgument(20,(*v21_TorsionalSectionModulus)); } else { e->setArgument(20); } if (v22_CentreOfGravityInX) { e->setArgument(21,(*v22_CentreOfGravityInX)); } else { e->setArgument(21); } if (v23_CentreOfGravityInY) { e->setArgument(22,(*v23_CentreOfGravityInY)); } else { e->setArgument(22); } if (v24_ShearAreaZ) { e->setArgument(23,(*v24_ShearAreaZ)); } else { e->setArgument(23); } if (v25_ShearAreaY) { e->setArgument(24,(*v25_ShearAreaY)); } else { e->setArgument(24); } if (v26_PlasticShapeFactorY) { e->setArgument(25,(*v26_PlasticShapeFactorY)); } else { e->setArgument(25); } if (v27_PlasticShapeFactorZ) { e->setArgument(26,(*v27_PlasticShapeFactorZ)); } else { e->setArgument(26); } entity = e; EntityBuffer::Add(this); } +IfcStructuralSteelProfileProperties::IfcStructuralSteelProfileProperties(boost::optional< std::string > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< double > v3_PhysicalWeight, boost::optional< double > v4_Perimeter, boost::optional< double > v5_MinimumPlateThickness, boost::optional< double > v6_MaximumPlateThickness, boost::optional< double > v7_CrossSectionArea, boost::optional< double > v8_TorsionalConstantX, boost::optional< double > v9_MomentOfInertiaYZ, boost::optional< double > v10_MomentOfInertiaY, boost::optional< double > v11_MomentOfInertiaZ, boost::optional< double > v12_WarpingConstant, boost::optional< double > v13_ShearCentreZ, boost::optional< double > v14_ShearCentreY, boost::optional< double > v15_ShearDeformationAreaZ, boost::optional< double > v16_ShearDeformationAreaY, boost::optional< double > v17_MaximumSectionModulusY, boost::optional< double > v18_MinimumSectionModulusY, boost::optional< double > v19_MaximumSectionModulusZ, boost::optional< double > v20_MinimumSectionModulusZ, boost::optional< double > v21_TorsionalSectionModulus, boost::optional< double > v22_CentreOfGravityInX, boost::optional< double > v23_CentreOfGravityInY, boost::optional< double > v24_ShearAreaZ, boost::optional< double > v25_ShearAreaY, boost::optional< double > v26_PlasticShapeFactorY, boost::optional< double > v27_PlasticShapeFactorZ) : IfcStructuralProfileProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ProfileName) { e->setArgument(0,(*v1_ProfileName)); } else { e->setArgument(0); } e->setArgument(1,(v2_ProfileDefinition)); if (v3_PhysicalWeight) { e->setArgument(2,(*v3_PhysicalWeight)); } else { e->setArgument(2); } if (v4_Perimeter) { e->setArgument(3,(*v4_Perimeter)); } else { e->setArgument(3); } if (v5_MinimumPlateThickness) { e->setArgument(4,(*v5_MinimumPlateThickness)); } else { e->setArgument(4); } if (v6_MaximumPlateThickness) { e->setArgument(5,(*v6_MaximumPlateThickness)); } else { e->setArgument(5); } if (v7_CrossSectionArea) { e->setArgument(6,(*v7_CrossSectionArea)); } else { e->setArgument(6); } if (v8_TorsionalConstantX) { e->setArgument(7,(*v8_TorsionalConstantX)); } else { e->setArgument(7); } if (v9_MomentOfInertiaYZ) { e->setArgument(8,(*v9_MomentOfInertiaYZ)); } else { e->setArgument(8); } if (v10_MomentOfInertiaY) { e->setArgument(9,(*v10_MomentOfInertiaY)); } else { e->setArgument(9); } if (v11_MomentOfInertiaZ) { e->setArgument(10,(*v11_MomentOfInertiaZ)); } else { e->setArgument(10); } if (v12_WarpingConstant) { e->setArgument(11,(*v12_WarpingConstant)); } else { e->setArgument(11); } if (v13_ShearCentreZ) { e->setArgument(12,(*v13_ShearCentreZ)); } else { e->setArgument(12); } if (v14_ShearCentreY) { e->setArgument(13,(*v14_ShearCentreY)); } else { e->setArgument(13); } if (v15_ShearDeformationAreaZ) { e->setArgument(14,(*v15_ShearDeformationAreaZ)); } else { e->setArgument(14); } if (v16_ShearDeformationAreaY) { e->setArgument(15,(*v16_ShearDeformationAreaY)); } else { e->setArgument(15); } if (v17_MaximumSectionModulusY) { e->setArgument(16,(*v17_MaximumSectionModulusY)); } else { e->setArgument(16); } if (v18_MinimumSectionModulusY) { e->setArgument(17,(*v18_MinimumSectionModulusY)); } else { e->setArgument(17); } if (v19_MaximumSectionModulusZ) { e->setArgument(18,(*v19_MaximumSectionModulusZ)); } else { e->setArgument(18); } if (v20_MinimumSectionModulusZ) { e->setArgument(19,(*v20_MinimumSectionModulusZ)); } else { e->setArgument(19); } if (v21_TorsionalSectionModulus) { e->setArgument(20,(*v21_TorsionalSectionModulus)); } else { e->setArgument(20); } if (v22_CentreOfGravityInX) { e->setArgument(21,(*v22_CentreOfGravityInX)); } else { e->setArgument(21); } if (v23_CentreOfGravityInY) { e->setArgument(22,(*v23_CentreOfGravityInY)); } else { e->setArgument(22); } if (v24_ShearAreaZ) { e->setArgument(23,(*v24_ShearAreaZ)); } else { e->setArgument(23); } if (v25_ShearAreaY) { e->setArgument(24,(*v25_ShearAreaY)); } else { e->setArgument(24); } if (v26_PlasticShapeFactorY) { e->setArgument(25,(*v26_PlasticShapeFactorY)); } else { e->setArgument(25); } if (v27_PlasticShapeFactorZ) { e->setArgument(26,(*v27_PlasticShapeFactorZ)); } else { e->setArgument(26); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralSurfaceConnection bool IfcStructuralSurfaceConnection::is(Type::Enum v) const { return v == Type::IfcStructuralSurfaceConnection || IfcStructuralConnection::is(v); } Type::Enum IfcStructuralSurfaceConnection::type() const { return Type::IfcStructuralSurfaceConnection; } Type::Enum IfcStructuralSurfaceConnection::Class() { return Type::IfcStructuralSurfaceConnection; } IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(IfcAbstractEntity* e) : IfcStructuralConnection((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); entity = e; EntityBuffer::Add(this); } +IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralSurfaceMember IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum IfcStructuralSurfaceMember::PredefinedType() const { return IfcStructuralSurfaceTypeEnum::FromString(*entity->getArgument(7)); } void IfcStructuralSurfaceMember::setPredefinedType(IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcStructuralSurfaceTypeEnum::ToString(v)); } bool IfcStructuralSurfaceMember::hasThickness() const { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcStructuralSurfaceMember::Thickness() const { return *entity->getArgument(8); } -void IfcStructuralSurfaceMember::setThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcStructuralSurfaceMember::Thickness() const { return *entity->getArgument(8); } +void IfcStructuralSurfaceMember::setThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcStructuralSurfaceMember::is(Type::Enum v) const { return v == Type::IfcStructuralSurfaceMember || IfcStructuralMember::is(v); } Type::Enum IfcStructuralSurfaceMember::type() const { return Type::IfcStructuralSurfaceMember; } Type::Enum IfcStructuralSurfaceMember::Class() { return Type::IfcStructuralSurfaceMember; } IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(IfcAbstractEntity* e) : IfcStructuralMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v8_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v9_Thickness) : IfcStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralSurfaceTypeEnum::ToString(v8_PredefinedType)); if (v9_Thickness) { e->setArgument(8,(*v9_Thickness)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralSurfaceTypeEnum::ToString(v8_PredefinedType)); if (v9_Thickness) { e->setArgument(8,(*v9_Thickness)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralSurfaceMemberVarying -std::vector< IfcPositiveLengthMeasure > /*[2:?]*/ IfcStructuralSurfaceMemberVarying::SubsequentThickness() const { return *entity->getArgument(9); } -void IfcStructuralSurfaceMemberVarying::setSubsequentThickness(std::vector< IfcPositiveLengthMeasure > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +std::vector< double > /*[2:?]*/ IfcStructuralSurfaceMemberVarying::SubsequentThickness() const { return *entity->getArgument(9); } +void IfcStructuralSurfaceMemberVarying::setSubsequentThickness(std::vector< double > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } IfcShapeAspect* IfcStructuralSurfaceMemberVarying::VaryingThicknessLocation() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } void IfcStructuralSurfaceMemberVarying::setVaryingThicknessLocation(IfcShapeAspect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcStructuralSurfaceMemberVarying::is(Type::Enum v) const { return v == Type::IfcStructuralSurfaceMemberVarying || IfcStructuralSurfaceMember::is(v); } Type::Enum IfcStructuralSurfaceMemberVarying::type() const { return Type::IfcStructuralSurfaceMemberVarying; } Type::Enum IfcStructuralSurfaceMemberVarying::Class() { return Type::IfcStructuralSurfaceMemberVarying; } IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(IfcAbstractEntity* e) : IfcStructuralSurfaceMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceMemberVarying)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v8_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v9_Thickness, std::vector< IfcPositiveLengthMeasure > /*[2:?]*/ v10_SubsequentThickness, IfcShapeAspect* v11_VaryingThicknessLocation) : IfcStructuralSurfaceMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralSurfaceTypeEnum::ToString(v8_PredefinedType)); if (v9_Thickness) { e->setArgument(8,(*v9_Thickness)); } else { e->setArgument(8); } e->setArgument(9,(v10_SubsequentThickness)); e->setArgument(10,(v11_VaryingThicknessLocation)); entity = e; EntityBuffer::Add(this); } +IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v8_PredefinedType, boost::optional< double > v9_Thickness, std::vector< double > /*[2:?]*/ v10_SubsequentThickness, IfcShapeAspect* v11_VaryingThicknessLocation) : IfcStructuralSurfaceMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralSurfaceTypeEnum::ToString(v8_PredefinedType)); if (v9_Thickness) { e->setArgument(8,(*v9_Thickness)); } else { e->setArgument(8); } e->setArgument(9,(v10_SubsequentThickness)); e->setArgument(10,(v11_VaryingThicknessLocation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuredDimensionCallout bool IfcStructuredDimensionCallout::is(Type::Enum v) const { return v == Type::IfcStructuredDimensionCallout || IfcDraughtingCallout::is(v); } @@ -11886,7 +13290,7 @@ bool IfcStyleModel::is(Type::Enum v) const { return v == Type::IfcStyleModel || Type::Enum IfcStyleModel::type() const { return Type::IfcStyleModel; } Type::Enum IfcStyleModel::Class() { return Type::IfcStyleModel; } IfcStyleModel::IfcStyleModel(IfcAbstractEntity* e) : IfcRepresentation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStyleModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStyleModel::IfcStyleModel(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcStyleModel::IfcStyleModel(IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStyledItem bool IfcStyledItem::hasItem() const { return !entity->getArgument(0)->isNull(); } @@ -11895,33 +13299,33 @@ void IfcStyledItem::setItem(IfcRepresentationItem* v) { if ( ! entity->isWritabl IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr IfcStyledItem::Styles() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } void IfcStyledItem::setStyles(IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } bool IfcStyledItem::hasName() const { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcStyledItem::Name() const { return *entity->getArgument(2); } -void IfcStyledItem::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcStyledItem::Name() const { return *entity->getArgument(2); } +void IfcStyledItem::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcStyledItem::is(Type::Enum v) const { return v == Type::IfcStyledItem || IfcRepresentationItem::is(v); } Type::Enum IfcStyledItem::type() const { return Type::IfcStyledItem; } Type::Enum IfcStyledItem::Class() { return Type::IfcStyledItem; } IfcStyledItem::IfcStyledItem(IfcAbstractEntity* e) : IfcRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStyledItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStyledItem::IfcStyledItem(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcStyledItem::IfcStyledItem(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStyledRepresentation bool IfcStyledRepresentation::is(Type::Enum v) const { return v == Type::IfcStyledRepresentation || IfcStyleModel::is(v); } Type::Enum IfcStyledRepresentation::type() const { return Type::IfcStyledRepresentation; } Type::Enum IfcStyledRepresentation::Class() { return Type::IfcStyledRepresentation; } IfcStyledRepresentation::IfcStyledRepresentation(IfcAbstractEntity* e) : IfcStyleModel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStyledRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStyledRepresentation::IfcStyledRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcStyledRepresentation::IfcStyledRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSubContractResource bool IfcSubContractResource::hasSubContractor() const { return !entity->getArgument(9)->isNull(); } -IfcActorSelect IfcSubContractResource::SubContractor() const { return *entity->getArgument(9); } -void IfcSubContractResource::setSubContractor(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +IfcActorSelect* IfcSubContractResource::SubContractor() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } +void IfcSubContractResource::setSubContractor(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcSubContractResource::hasJobDescription() const { return !entity->getArgument(10)->isNull(); } -IfcText IfcSubContractResource::JobDescription() const { return *entity->getArgument(10); } -void IfcSubContractResource::setJobDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +std::string IfcSubContractResource::JobDescription() const { return *entity->getArgument(10); } +void IfcSubContractResource::setJobDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcSubContractResource::is(Type::Enum v) const { return v == Type::IfcSubContractResource || IfcConstructionResource::is(v); } Type::Enum IfcSubContractResource::type() const { return Type::IfcSubContractResource; } Type::Enum IfcSubContractResource::Class() { return Type::IfcSubContractResource; } IfcSubContractResource::IfcSubContractResource(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSubContractResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSubContractResource::IfcSubContractResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< IfcActorSelect > v10_SubContractor, boost::optional< IfcText > v11_JobDescription) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); if (v10_SubContractor) { e->setArgument(9,(*v10_SubContractor)); } else { e->setArgument(9); } if (v11_JobDescription) { e->setArgument(10,(*v11_JobDescription)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, IfcActorSelect* v10_SubContractor, boost::optional< std::string > v11_JobDescription) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ResourceIdentifier) { e->setArgument(5,(*v6_ResourceIdentifier)); } else { e->setArgument(5); } if (v7_ResourceGroup) { e->setArgument(6,(*v7_ResourceGroup)); } else { e->setArgument(6); } if (v8_ResourceConsumption) { e->setArgument(7,*v8_ResourceConsumption,IfcResourceConsumptionEnum::ToString(*v8_ResourceConsumption)); } else { e->setArgument(7); } e->setArgument(8,(v9_BaseQuantity)); e->setArgument(9,(v10_SubContractor)); if (v11_JobDescription) { e->setArgument(10,(*v11_JobDescription)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSubedge IfcEdge* IfcSubedge::ParentEdge() const { return (IfcEdge*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } @@ -11942,28 +13346,28 @@ IfcSurface::IfcSurface() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) // Function implementations for IfcSurfaceCurveSweptAreaSolid IfcCurve* IfcSurfaceCurveSweptAreaSolid::Directrix() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcSurfaceCurveSweptAreaSolid::setDirectrix(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcParameterValue IfcSurfaceCurveSweptAreaSolid::StartParam() const { return *entity->getArgument(3); } -void IfcSurfaceCurveSweptAreaSolid::setStartParam(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcParameterValue IfcSurfaceCurveSweptAreaSolid::EndParam() const { return *entity->getArgument(4); } -void IfcSurfaceCurveSweptAreaSolid::setEndParam(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcSurfaceCurveSweptAreaSolid::StartParam() const { return *entity->getArgument(3); } +void IfcSurfaceCurveSweptAreaSolid::setStartParam(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcSurfaceCurveSweptAreaSolid::EndParam() const { return *entity->getArgument(4); } +void IfcSurfaceCurveSweptAreaSolid::setEndParam(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } IfcSurface* IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } void IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(IfcSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcSurfaceCurveSweptAreaSolid::is(Type::Enum v) const { return v == Type::IfcSurfaceCurveSweptAreaSolid || IfcSweptAreaSolid::is(v); } Type::Enum IfcSurfaceCurveSweptAreaSolid::type() const { return Type::IfcSurfaceCurveSweptAreaSolid; } Type::Enum IfcSurfaceCurveSweptAreaSolid::Class() { return Type::IfcSurfaceCurveSweptAreaSolid; } IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcAbstractEntity* e) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceCurveSweptAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcCurve* v3_Directrix, IfcParameterValue v4_StartParam, IfcParameterValue v5_EndParam, IfcSurface* v6_ReferenceSurface) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_Directrix)); e->setArgument(3,(v4_StartParam)); e->setArgument(4,(v5_EndParam)); e->setArgument(5,(v6_ReferenceSurface)); entity = e; EntityBuffer::Add(this); } +IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcCurve* v3_Directrix, double v4_StartParam, double v5_EndParam, IfcSurface* v6_ReferenceSurface) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_Directrix)); e->setArgument(3,(v4_StartParam)); e->setArgument(4,(v5_EndParam)); e->setArgument(5,(v6_ReferenceSurface)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceOfLinearExtrusion IfcDirection* IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcSurfaceOfLinearExtrusion::setExtrudedDirection(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcLengthMeasure IfcSurfaceOfLinearExtrusion::Depth() const { return *entity->getArgument(3); } -void IfcSurfaceOfLinearExtrusion::setDepth(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcSurfaceOfLinearExtrusion::Depth() const { return *entity->getArgument(3); } +void IfcSurfaceOfLinearExtrusion::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcSurfaceOfLinearExtrusion::is(Type::Enum v) const { return v == Type::IfcSurfaceOfLinearExtrusion || IfcSweptSurface::is(v); } Type::Enum IfcSurfaceOfLinearExtrusion::type() const { return Type::IfcSurfaceOfLinearExtrusion; } Type::Enum IfcSurfaceOfLinearExtrusion::Class() { return Type::IfcSurfaceOfLinearExtrusion; } IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcAbstractEntity* e) : IfcSweptSurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceOfLinearExtrusion)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcProfileDef* v1_SweptCurve, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, IfcLengthMeasure v4_Depth) : IfcSweptSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptCurve)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_ExtrudedDirection)); e->setArgument(3,(v4_Depth)); entity = e; EntityBuffer::Add(this); } +IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcProfileDef* v1_SweptCurve, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptCurve)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_ExtrudedDirection)); e->setArgument(3,(v4_Depth)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceOfRevolution IfcAxis1Placement* IfcSurfaceOfRevolution::AxisPosition() const { return (IfcAxis1Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } @@ -11977,13 +13381,13 @@ IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(IfcProfileDef* v1_SweptCurve, Ifc // Function implementations for IfcSurfaceStyle IfcSurfaceSide::IfcSurfaceSide IfcSurfaceStyle::Side() const { return IfcSurfaceSide::FromString(*entity->getArgument(1)); } void IfcSurfaceStyle::setSide(IfcSurfaceSide::IfcSurfaceSide v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v,IfcSurfaceSide::ToString(v)); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcSurfaceStyle::Styles() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcSurfaceStyle::setStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +IfcEntityList::ptr IfcSurfaceStyle::Styles() const { return *entity->getArgument(2); } +void IfcSurfaceStyle::setStyles(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } 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; } IfcSurfaceStyle::IfcSurfaceStyle(IfcAbstractEntity* e) : IfcPresentationStyle((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< IfcLabel > v1_Name, IfcSurfaceSide::IfcSurfaceSide v2_Side, IfcEntityList::ptr v3_Styles) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,v2_Side,IfcSurfaceSide::ToString(v2_Side)); e->setArgument(2,(v3_Styles)); entity = e; EntityBuffer::Add(this); } +IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, IfcSurfaceSide::IfcSurfaceSide v2_Side, IfcEntityList::ptr v3_Styles) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,v2_Side,IfcSurfaceSide::ToString(v2_Side)); e->setArgument(2,(v3_Styles)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceStyleLighting IfcColourRgb* IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -12002,46 +13406,46 @@ IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(IfcColourRgb* v1_DiffuseTransmi // Function implementations for IfcSurfaceStyleRefraction bool IfcSurfaceStyleRefraction::hasRefractionIndex() const { return !entity->getArgument(0)->isNull(); } -IfcReal IfcSurfaceStyleRefraction::RefractionIndex() const { return *entity->getArgument(0); } -void IfcSurfaceStyleRefraction::setRefractionIndex(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +double IfcSurfaceStyleRefraction::RefractionIndex() const { return *entity->getArgument(0); } +void IfcSurfaceStyleRefraction::setRefractionIndex(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcSurfaceStyleRefraction::hasDispersionFactor() const { return !entity->getArgument(1)->isNull(); } -IfcReal IfcSurfaceStyleRefraction::DispersionFactor() const { return *entity->getArgument(1); } -void IfcSurfaceStyleRefraction::setDispersionFactor(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcSurfaceStyleRefraction::DispersionFactor() const { return *entity->getArgument(1); } +void IfcSurfaceStyleRefraction::setDispersionFactor(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcSurfaceStyleRefraction::is(Type::Enum v) const { return v == Type::IfcSurfaceStyleRefraction; } Type::Enum IfcSurfaceStyleRefraction::type() const { return Type::IfcSurfaceStyleRefraction; } Type::Enum IfcSurfaceStyleRefraction::Class() { return Type::IfcSurfaceStyleRefraction; } IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcSurfaceStyleRefraction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< IfcReal > v1_RefractionIndex, boost::optional< IfcReal > v2_DispersionFactor) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_RefractionIndex) { e->setArgument(0,(*v1_RefractionIndex)); } else { e->setArgument(0); } if (v2_DispersionFactor) { e->setArgument(1,(*v2_DispersionFactor)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_RefractionIndex) { e->setArgument(0,(*v1_RefractionIndex)); } else { e->setArgument(0); } if (v2_DispersionFactor) { e->setArgument(1,(*v2_DispersionFactor)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceStyleRendering bool IfcSurfaceStyleRendering::hasTransparency() const { return !entity->getArgument(1)->isNull(); } -IfcNormalisedRatioMeasure IfcSurfaceStyleRendering::Transparency() const { return *entity->getArgument(1); } -void IfcSurfaceStyleRendering::setTransparency(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcSurfaceStyleRendering::Transparency() const { return *entity->getArgument(1); } +void IfcSurfaceStyleRendering::setTransparency(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcSurfaceStyleRendering::hasDiffuseColour() const { return !entity->getArgument(2)->isNull(); } -IfcColourOrFactor IfcSurfaceStyleRendering::DiffuseColour() const { return *entity->getArgument(2); } -void IfcSurfaceStyleRendering::setDiffuseColour(IfcColourOrFactor v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +IfcColourOrFactor* IfcSurfaceStyleRendering::DiffuseColour() const { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } +void IfcSurfaceStyleRendering::setDiffuseColour(IfcColourOrFactor* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcSurfaceStyleRendering::hasTransmissionColour() const { return !entity->getArgument(3)->isNull(); } -IfcColourOrFactor IfcSurfaceStyleRendering::TransmissionColour() const { return *entity->getArgument(3); } -void IfcSurfaceStyleRendering::setTransmissionColour(IfcColourOrFactor v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +IfcColourOrFactor* IfcSurfaceStyleRendering::TransmissionColour() const { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } +void IfcSurfaceStyleRendering::setTransmissionColour(IfcColourOrFactor* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcSurfaceStyleRendering::hasDiffuseTransmissionColour() const { return !entity->getArgument(4)->isNull(); } -IfcColourOrFactor IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { return *entity->getArgument(4); } -void IfcSurfaceStyleRendering::setDiffuseTransmissionColour(IfcColourOrFactor v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +IfcColourOrFactor* IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } +void IfcSurfaceStyleRendering::setDiffuseTransmissionColour(IfcColourOrFactor* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcSurfaceStyleRendering::hasReflectionColour() const { return !entity->getArgument(5)->isNull(); } -IfcColourOrFactor IfcSurfaceStyleRendering::ReflectionColour() const { return *entity->getArgument(5); } -void IfcSurfaceStyleRendering::setReflectionColour(IfcColourOrFactor v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +IfcColourOrFactor* IfcSurfaceStyleRendering::ReflectionColour() const { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcSurfaceStyleRendering::setReflectionColour(IfcColourOrFactor* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcSurfaceStyleRendering::hasSpecularColour() const { return !entity->getArgument(6)->isNull(); } -IfcColourOrFactor IfcSurfaceStyleRendering::SpecularColour() const { return *entity->getArgument(6); } -void IfcSurfaceStyleRendering::setSpecularColour(IfcColourOrFactor v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +IfcColourOrFactor* IfcSurfaceStyleRendering::SpecularColour() const { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } +void IfcSurfaceStyleRendering::setSpecularColour(IfcColourOrFactor* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcSurfaceStyleRendering::hasSpecularHighlight() const { return !entity->getArgument(7)->isNull(); } -IfcSpecularHighlightSelect IfcSurfaceStyleRendering::SpecularHighlight() const { return *entity->getArgument(7); } -void IfcSurfaceStyleRendering::setSpecularHighlight(IfcSpecularHighlightSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +IfcSpecularHighlightSelect* IfcSurfaceStyleRendering::SpecularHighlight() const { return (IfcSpecularHighlightSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } +void IfcSurfaceStyleRendering::setSpecularHighlight(IfcSpecularHighlightSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } IfcReflectanceMethodEnum::IfcReflectanceMethodEnum IfcSurfaceStyleRendering::ReflectanceMethod() const { return IfcReflectanceMethodEnum::FromString(*entity->getArgument(8)); } void IfcSurfaceStyleRendering::setReflectanceMethod(IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcReflectanceMethodEnum::ToString(v)); } bool IfcSurfaceStyleRendering::is(Type::Enum v) const { return v == Type::IfcSurfaceStyleRendering || IfcSurfaceStyleShading::is(v); } Type::Enum IfcSurfaceStyleRendering::type() const { return Type::IfcSurfaceStyleRendering; } Type::Enum IfcSurfaceStyleRendering::Class() { return Type::IfcSurfaceStyleRendering; } IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcAbstractEntity* e) : IfcSurfaceStyleShading((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceStyleRendering)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcColourRgb* v1_SurfaceColour, boost::optional< IfcNormalisedRatioMeasure > v2_Transparency, boost::optional< IfcColourOrFactor > v3_DiffuseColour, boost::optional< IfcColourOrFactor > v4_TransmissionColour, boost::optional< IfcColourOrFactor > v5_DiffuseTransmissionColour, boost::optional< IfcColourOrFactor > v6_ReflectionColour, boost::optional< IfcColourOrFactor > v7_SpecularColour, boost::optional< IfcSpecularHighlightSelect > v8_SpecularHighlight, IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v9_ReflectanceMethod) : IfcSurfaceStyleShading((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceColour)); if (v2_Transparency) { e->setArgument(1,(*v2_Transparency)); } else { e->setArgument(1); } if (v3_DiffuseColour) { e->setArgument(2,(*v3_DiffuseColour)); } else { e->setArgument(2); } if (v4_TransmissionColour) { e->setArgument(3,(*v4_TransmissionColour)); } else { e->setArgument(3); } if (v5_DiffuseTransmissionColour) { e->setArgument(4,(*v5_DiffuseTransmissionColour)); } else { e->setArgument(4); } if (v6_ReflectionColour) { e->setArgument(5,(*v6_ReflectionColour)); } else { e->setArgument(5); } if (v7_SpecularColour) { e->setArgument(6,(*v7_SpecularColour)); } else { e->setArgument(6); } if (v8_SpecularHighlight) { e->setArgument(7,(*v8_SpecularHighlight)); } else { e->setArgument(7); } e->setArgument(8,v9_ReflectanceMethod,IfcReflectanceMethodEnum::ToString(v9_ReflectanceMethod)); entity = e; EntityBuffer::Add(this); } +IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, IfcColourOrFactor* v3_DiffuseColour, IfcColourOrFactor* v4_TransmissionColour, IfcColourOrFactor* v5_DiffuseTransmissionColour, IfcColourOrFactor* v6_ReflectionColour, IfcColourOrFactor* v7_SpecularColour, IfcSpecularHighlightSelect* v8_SpecularHighlight, IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v9_ReflectanceMethod) : IfcSurfaceStyleShading((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceColour)); if (v2_Transparency) { e->setArgument(1,(*v2_Transparency)); } else { e->setArgument(1); } e->setArgument(2,(v3_DiffuseColour)); e->setArgument(3,(v4_TransmissionColour)); e->setArgument(4,(v5_DiffuseTransmissionColour)); e->setArgument(5,(v6_ReflectionColour)); e->setArgument(6,(v7_SpecularColour)); e->setArgument(7,(v8_SpecularHighlight)); e->setArgument(8,v9_ReflectanceMethod,IfcReflectanceMethodEnum::ToString(v9_ReflectanceMethod)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceStyleShading IfcColourRgb* IfcSurfaceStyleShading::SurfaceColour() const { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -12091,20 +13495,20 @@ IfcSweptAreaSolid::IfcSweptAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placem // Function implementations for IfcSweptDiskSolid IfcCurve* IfcSweptDiskSolid::Directrix() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcSweptDiskSolid::setDirectrix(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcPositiveLengthMeasure IfcSweptDiskSolid::Radius() const { return *entity->getArgument(1); } -void IfcSweptDiskSolid::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcSweptDiskSolid::Radius() const { return *entity->getArgument(1); } +void IfcSweptDiskSolid::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcSweptDiskSolid::hasInnerRadius() const { return !entity->getArgument(2)->isNull(); } -IfcPositiveLengthMeasure IfcSweptDiskSolid::InnerRadius() const { return *entity->getArgument(2); } -void IfcSweptDiskSolid::setInnerRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcParameterValue IfcSweptDiskSolid::StartParam() const { return *entity->getArgument(3); } -void IfcSweptDiskSolid::setStartParam(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcParameterValue IfcSweptDiskSolid::EndParam() const { return *entity->getArgument(4); } -void IfcSweptDiskSolid::setEndParam(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcSweptDiskSolid::InnerRadius() const { return *entity->getArgument(2); } +void IfcSweptDiskSolid::setInnerRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcSweptDiskSolid::StartParam() const { return *entity->getArgument(3); } +void IfcSweptDiskSolid::setStartParam(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcSweptDiskSolid::EndParam() const { return *entity->getArgument(4); } +void IfcSweptDiskSolid::setEndParam(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcSweptDiskSolid::is(Type::Enum v) const { return v == Type::IfcSweptDiskSolid || IfcSolidModel::is(v); } Type::Enum IfcSweptDiskSolid::type() const { return Type::IfcSweptDiskSolid; } Type::Enum IfcSweptDiskSolid::Class() { return Type::IfcSweptDiskSolid; } IfcSweptDiskSolid::IfcSweptDiskSolid(IfcAbstractEntity* e) : IfcSolidModel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSweptDiskSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSweptDiskSolid::IfcSweptDiskSolid(IfcCurve* v1_Directrix, IfcPositiveLengthMeasure v2_Radius, boost::optional< IfcPositiveLengthMeasure > v3_InnerRadius, IfcParameterValue v4_StartParam, IfcParameterValue v5_EndParam) : IfcSolidModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Directrix)); e->setArgument(1,(v2_Radius)); if (v3_InnerRadius) { e->setArgument(2,(*v3_InnerRadius)); } else { e->setArgument(2); } e->setArgument(3,(v4_StartParam)); e->setArgument(4,(v5_EndParam)); entity = e; EntityBuffer::Add(this); } +IfcSweptDiskSolid::IfcSweptDiskSolid(IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, double v4_StartParam, double v5_EndParam) : IfcSolidModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Directrix)); e->setArgument(1,(v2_Radius)); if (v3_InnerRadius) { e->setArgument(2,(*v3_InnerRadius)); } else { e->setArgument(2); } e->setArgument(3,(v4_StartParam)); e->setArgument(4,(v5_EndParam)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSweptSurface IfcProfileDef* IfcSweptSurface::SweptCurve() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -12124,16 +13528,16 @@ bool IfcSwitchingDeviceType::is(Type::Enum v) const { return v == Type::IfcSwitc Type::Enum IfcSwitchingDeviceType::type() const { return Type::IfcSwitchingDeviceType; } Type::Enum IfcSwitchingDeviceType::Class() { return Type::IfcSwitchingDeviceType; } IfcSwitchingDeviceType::IfcSwitchingDeviceType(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSwitchingDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSwitchingDeviceType::IfcSwitchingDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSwitchingDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSwitchingDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSymbolStyle -IfcSymbolStyleSelect IfcSymbolStyle::StyleOfSymbol() const { return *entity->getArgument(1); } -void IfcSymbolStyle::setStyleOfSymbol(IfcSymbolStyleSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcSymbolStyleSelect* IfcSymbolStyle::StyleOfSymbol() const { return (IfcSymbolStyleSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcSymbolStyle::setStyleOfSymbol(IfcSymbolStyleSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcSymbolStyle::is(Type::Enum v) const { return v == Type::IfcSymbolStyle || IfcPresentationStyle::is(v); } Type::Enum IfcSymbolStyle::type() const { return Type::IfcSymbolStyle; } Type::Enum IfcSymbolStyle::Class() { return Type::IfcSymbolStyle; } IfcSymbolStyle::IfcSymbolStyle(IfcAbstractEntity* e) : IfcPresentationStyle((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSymbolStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSymbolStyle::IfcSymbolStyle(boost::optional< IfcLabel > v1_Name, IfcSymbolStyleSelect v2_StyleOfSymbol) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_StyleOfSymbol)); entity = e; EntityBuffer::Add(this); } +IfcSymbolStyle::IfcSymbolStyle(boost::optional< std::string > v1_Name, IfcSymbolStyleSelect* v2_StyleOfSymbol) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_StyleOfSymbol)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSystem IfcRelServicesBuildings::list::ptr IfcSystem::ServicesBuildings() const { return entity->getInverse(Type::IfcRelServicesBuildings)->as(); } @@ -12141,47 +13545,47 @@ bool IfcSystem::is(Type::Enum v) const { return v == Type::IfcSystem || IfcGroup Type::Enum IfcSystem::type() const { return Type::IfcSystem; } Type::Enum IfcSystem::Class() { return Type::IfcSystem; } IfcSystem::IfcSystem(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSystem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSystem::IfcSystem(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcSystem::IfcSystem(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSystemFurnitureElementType bool IfcSystemFurnitureElementType::is(Type::Enum v) const { return v == Type::IfcSystemFurnitureElementType || IfcFurnishingElementType::is(v); } Type::Enum IfcSystemFurnitureElementType::type() const { return Type::IfcSystemFurnitureElementType; } Type::Enum IfcSystemFurnitureElementType::Class() { return Type::IfcSystemFurnitureElementType; } IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(IfcAbstractEntity* e) : IfcFurnishingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSystemFurnitureElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcFurnishingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcFurnishingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTShapeProfileDef -IfcPositiveLengthMeasure IfcTShapeProfileDef::Depth() const { return *entity->getArgument(3); } -void IfcTShapeProfileDef::setDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcTShapeProfileDef::FlangeWidth() const { return *entity->getArgument(4); } -void IfcTShapeProfileDef::setFlangeWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcTShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } -void IfcTShapeProfileDef::setWebThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcTShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } -void IfcTShapeProfileDef::setFlangeThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcTShapeProfileDef::Depth() const { return *entity->getArgument(3); } +void IfcTShapeProfileDef::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcTShapeProfileDef::FlangeWidth() const { return *entity->getArgument(4); } +void IfcTShapeProfileDef::setFlangeWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcTShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } +void IfcTShapeProfileDef::setWebThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcTShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } +void IfcTShapeProfileDef::setFlangeThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcTShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcTShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } -void IfcTShapeProfileDef::setFilletRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcTShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } +void IfcTShapeProfileDef::setFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcTShapeProfileDef::hasFlangeEdgeRadius() const { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcTShapeProfileDef::FlangeEdgeRadius() const { return *entity->getArgument(8); } -void IfcTShapeProfileDef::setFlangeEdgeRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcTShapeProfileDef::FlangeEdgeRadius() const { return *entity->getArgument(8); } +void IfcTShapeProfileDef::setFlangeEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcTShapeProfileDef::hasWebEdgeRadius() const { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcTShapeProfileDef::WebEdgeRadius() const { return *entity->getArgument(9); } -void IfcTShapeProfileDef::setWebEdgeRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcTShapeProfileDef::WebEdgeRadius() const { return *entity->getArgument(9); } +void IfcTShapeProfileDef::setWebEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcTShapeProfileDef::hasWebSlope() const { return !entity->getArgument(10)->isNull(); } -IfcPlaneAngleMeasure IfcTShapeProfileDef::WebSlope() const { return *entity->getArgument(10); } -void IfcTShapeProfileDef::setWebSlope(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcTShapeProfileDef::WebSlope() const { return *entity->getArgument(10); } +void IfcTShapeProfileDef::setWebSlope(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcTShapeProfileDef::hasFlangeSlope() const { return !entity->getArgument(11)->isNull(); } -IfcPlaneAngleMeasure IfcTShapeProfileDef::FlangeSlope() const { return *entity->getArgument(11); } -void IfcTShapeProfileDef::setFlangeSlope(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcTShapeProfileDef::FlangeSlope() const { return *entity->getArgument(11); } +void IfcTShapeProfileDef::setFlangeSlope(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcTShapeProfileDef::hasCentreOfGravityInY() const { return !entity->getArgument(12)->isNull(); } -IfcPositiveLengthMeasure IfcTShapeProfileDef::CentreOfGravityInY() const { return *entity->getArgument(12); } -void IfcTShapeProfileDef::setCentreOfGravityInY(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +double IfcTShapeProfileDef::CentreOfGravityInY() const { return *entity->getArgument(12); } +void IfcTShapeProfileDef::setCentreOfGravityInY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcTShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcTShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcTShapeProfileDef::type() const { return Type::IfcTShapeProfileDef; } Type::Enum IfcTShapeProfileDef::Class() { return Type::IfcTShapeProfileDef; } IfcTShapeProfileDef::IfcTShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTShapeProfileDef::IfcTShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcPositiveLengthMeasure > v8_FilletRadius, boost::optional< IfcPositiveLengthMeasure > v9_FlangeEdgeRadius, boost::optional< IfcPositiveLengthMeasure > v10_WebEdgeRadius, boost::optional< IfcPlaneAngleMeasure > v11_WebSlope, boost::optional< IfcPlaneAngleMeasure > v12_FlangeSlope, boost::optional< IfcPositiveLengthMeasure > v13_CentreOfGravityInY) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_FlangeEdgeRadius) { e->setArgument(8,(*v9_FlangeEdgeRadius)); } else { e->setArgument(8); } if (v10_WebEdgeRadius) { e->setArgument(9,(*v10_WebEdgeRadius)); } else { e->setArgument(9); } if (v11_WebSlope) { e->setArgument(10,(*v11_WebSlope)); } else { e->setArgument(10); } if (v12_FlangeSlope) { e->setArgument(11,(*v12_FlangeSlope)); } else { e->setArgument(11); } if (v13_CentreOfGravityInY) { e->setArgument(12,(*v13_CentreOfGravityInY)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcTShapeProfileDef::IfcTShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_FlangeEdgeRadius, boost::optional< double > v10_WebEdgeRadius, boost::optional< double > v11_WebSlope, boost::optional< double > v12_FlangeSlope, boost::optional< double > v13_CentreOfGravityInY) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_FlangeEdgeRadius) { e->setArgument(8,(*v9_FlangeEdgeRadius)); } else { e->setArgument(8); } if (v10_WebEdgeRadius) { e->setArgument(9,(*v10_WebEdgeRadius)); } else { e->setArgument(9); } if (v11_WebSlope) { e->setArgument(10,(*v11_WebSlope)); } else { e->setArgument(10); } if (v12_FlangeSlope) { e->setArgument(11,(*v12_FlangeSlope)); } else { e->setArgument(11); } if (v13_CentreOfGravityInY) { e->setArgument(12,(*v13_CentreOfGravityInY)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTable std::string IfcTable::Name() const { return *entity->getArgument(0); } @@ -12195,8 +13599,8 @@ IfcTable::IfcTable(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) re IfcTable::IfcTable(std::string v1_Name, IfcTemplatedEntityList< IfcTableRow >::ptr v2_Rows) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); e->setArgument(1,(v2_Rows)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTableRow -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcTableRow::RowCells() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcTableRow::setRowCells(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcEntityList::ptr IfcTableRow::RowCells() const { return *entity->getArgument(0); } +void IfcTableRow::setRowCells(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcTableRow::IsHeading() const { return *entity->getArgument(1); } void IfcTableRow::setIsHeading(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcTable::list::ptr IfcTableRow::OfTable() const { return entity->getInverse(Type::IfcTable)->as(); } @@ -12213,17 +13617,17 @@ bool IfcTankType::is(Type::Enum v) const { return v == Type::IfcTankType || IfcF Type::Enum IfcTankType::type() const { return Type::IfcTankType; } Type::Enum IfcTankType::Class() { return Type::IfcTankType; } IfcTankType::IfcTankType(IfcAbstractEntity* e) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTankType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTankType::IfcTankType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTankTypeEnum::IfcTankTypeEnum v10_PredefinedType) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTankTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcTankType::IfcTankType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTankTypeEnum::IfcTankTypeEnum v10_PredefinedType) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTankTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTask -IfcIdentifier IfcTask::TaskId() const { return *entity->getArgument(5); } -void IfcTask::setTaskId(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcTask::TaskId() const { return *entity->getArgument(5); } +void IfcTask::setTaskId(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcTask::hasStatus() const { return !entity->getArgument(6)->isNull(); } -IfcLabel IfcTask::Status() const { return *entity->getArgument(6); } -void IfcTask::setStatus(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcTask::Status() const { return *entity->getArgument(6); } +void IfcTask::setStatus(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcTask::hasWorkMethod() const { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcTask::WorkMethod() const { return *entity->getArgument(7); } -void IfcTask::setWorkMethod(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcTask::WorkMethod() const { return *entity->getArgument(7); } +void IfcTask::setWorkMethod(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcTask::IsMilestone() const { return *entity->getArgument(8); } void IfcTask::setIsMilestone(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcTask::hasPriority() const { return !entity->getArgument(9)->isNull(); } @@ -12233,64 +13637,64 @@ bool IfcTask::is(Type::Enum v) const { return v == Type::IfcTask || IfcProcess:: Type::Enum IfcTask::type() const { return Type::IfcTask; } Type::Enum IfcTask::Class() { return Type::IfcTask; } IfcTask::IfcTask(IfcAbstractEntity* e) : IfcProcess((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTask)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTask::IfcTask(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_TaskId, boost::optional< IfcLabel > v7_Status, boost::optional< IfcLabel > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority) : IfcProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TaskId)); if (v7_Status) { e->setArgument(6,(*v7_Status)); } else { e->setArgument(6); } if (v8_WorkMethod) { e->setArgument(7,(*v8_WorkMethod)); } else { e->setArgument(7); } e->setArgument(8,(v9_IsMilestone)); if (v10_Priority) { e->setArgument(9,(*v10_Priority)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcTask::IfcTask(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_TaskId, boost::optional< std::string > v7_Status, boost::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority) : IfcProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TaskId)); if (v7_Status) { e->setArgument(6,(*v7_Status)); } else { e->setArgument(6); } if (v8_WorkMethod) { e->setArgument(7,(*v8_WorkMethod)); } else { e->setArgument(7); } e->setArgument(8,(v9_IsMilestone)); if (v10_Priority) { e->setArgument(9,(*v10_Priority)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTelecomAddress bool IfcTelecomAddress::hasTelephoneNumbers() const { return !entity->getArgument(3)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcTelecomAddress::TelephoneNumbers() const { return *entity->getArgument(3); } -void IfcTelecomAddress::setTelephoneNumbers(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::vector< std::string > /*[1:?]*/ IfcTelecomAddress::TelephoneNumbers() const { return *entity->getArgument(3); } +void IfcTelecomAddress::setTelephoneNumbers(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcTelecomAddress::hasFacsimileNumbers() const { return !entity->getArgument(4)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcTelecomAddress::FacsimileNumbers() const { return *entity->getArgument(4); } -void IfcTelecomAddress::setFacsimileNumbers(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::vector< std::string > /*[1:?]*/ IfcTelecomAddress::FacsimileNumbers() const { return *entity->getArgument(4); } +void IfcTelecomAddress::setFacsimileNumbers(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcTelecomAddress::hasPagerNumber() const { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcTelecomAddress::PagerNumber() const { return *entity->getArgument(5); } -void IfcTelecomAddress::setPagerNumber(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcTelecomAddress::PagerNumber() const { return *entity->getArgument(5); } +void IfcTelecomAddress::setPagerNumber(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcTelecomAddress::hasElectronicMailAddresses() const { return !entity->getArgument(6)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcTelecomAddress::ElectronicMailAddresses() const { return *entity->getArgument(6); } -void IfcTelecomAddress::setElectronicMailAddresses(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::vector< std::string > /*[1:?]*/ IfcTelecomAddress::ElectronicMailAddresses() const { return *entity->getArgument(6); } +void IfcTelecomAddress::setElectronicMailAddresses(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcTelecomAddress::hasWWWHomePageURL() const { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcTelecomAddress::WWWHomePageURL() const { return *entity->getArgument(7); } -void IfcTelecomAddress::setWWWHomePageURL(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcTelecomAddress::WWWHomePageURL() const { return *entity->getArgument(7); } +void IfcTelecomAddress::setWWWHomePageURL(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcTelecomAddress::is(Type::Enum v) const { return v == Type::IfcTelecomAddress || IfcAddress::is(v); } Type::Enum IfcTelecomAddress::type() const { return Type::IfcTelecomAddress; } Type::Enum IfcTelecomAddress::Class() { return Type::IfcTelecomAddress; } IfcTelecomAddress::IfcTelecomAddress(IfcAbstractEntity* e) : IfcAddress((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTelecomAddress)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTelecomAddress::IfcTelecomAddress(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v4_TelephoneNumbers, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_FacsimileNumbers, boost::optional< IfcLabel > v6_PagerNumber, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v7_ElectronicMailAddresses, boost::optional< IfcLabel > v8_WWWHomePageURL) : IfcAddress((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Purpose) { e->setArgument(0,*v1_Purpose,IfcAddressTypeEnum::ToString(*v1_Purpose)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UserDefinedPurpose) { e->setArgument(2,(*v3_UserDefinedPurpose)); } else { e->setArgument(2); } if (v4_TelephoneNumbers) { e->setArgument(3,(*v4_TelephoneNumbers)); } else { e->setArgument(3); } if (v5_FacsimileNumbers) { e->setArgument(4,(*v5_FacsimileNumbers)); } else { e->setArgument(4); } if (v6_PagerNumber) { e->setArgument(5,(*v6_PagerNumber)); } else { e->setArgument(5); } if (v7_ElectronicMailAddresses) { e->setArgument(6,(*v7_ElectronicMailAddresses)); } else { e->setArgument(6); } if (v8_WWWHomePageURL) { e->setArgument(7,(*v8_WWWHomePageURL)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcTelecomAddress::IfcTelecomAddress(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, boost::optional< std::string > v6_PagerNumber, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, boost::optional< std::string > v8_WWWHomePageURL) : IfcAddress((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Purpose) { e->setArgument(0,*v1_Purpose,IfcAddressTypeEnum::ToString(*v1_Purpose)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UserDefinedPurpose) { e->setArgument(2,(*v3_UserDefinedPurpose)); } else { e->setArgument(2); } if (v4_TelephoneNumbers) { e->setArgument(3,(*v4_TelephoneNumbers)); } else { e->setArgument(3); } if (v5_FacsimileNumbers) { e->setArgument(4,(*v5_FacsimileNumbers)); } else { e->setArgument(4); } if (v6_PagerNumber) { e->setArgument(5,(*v6_PagerNumber)); } else { e->setArgument(5); } if (v7_ElectronicMailAddresses) { e->setArgument(6,(*v7_ElectronicMailAddresses)); } else { e->setArgument(6); } if (v8_WWWHomePageURL) { e->setArgument(7,(*v8_WWWHomePageURL)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTendon IfcTendonTypeEnum::IfcTendonTypeEnum IfcTendon::PredefinedType() const { return IfcTendonTypeEnum::FromString(*entity->getArgument(9)); } void IfcTendon::setPredefinedType(IfcTendonTypeEnum::IfcTendonTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcTendonTypeEnum::ToString(v)); } -IfcPositiveLengthMeasure IfcTendon::NominalDiameter() const { return *entity->getArgument(10); } -void IfcTendon::setNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -IfcAreaMeasure IfcTendon::CrossSectionArea() const { return *entity->getArgument(11); } -void IfcTendon::setCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcTendon::NominalDiameter() const { return *entity->getArgument(10); } +void IfcTendon::setNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcTendon::CrossSectionArea() const { return *entity->getArgument(11); } +void IfcTendon::setCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcTendon::hasTensionForce() const { return !entity->getArgument(12)->isNull(); } -IfcForceMeasure IfcTendon::TensionForce() const { return *entity->getArgument(12); } -void IfcTendon::setTensionForce(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +double IfcTendon::TensionForce() const { return *entity->getArgument(12); } +void IfcTendon::setTensionForce(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcTendon::hasPreStress() const { return !entity->getArgument(13)->isNull(); } -IfcPressureMeasure IfcTendon::PreStress() const { return *entity->getArgument(13); } -void IfcTendon::setPreStress(IfcPressureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } +double IfcTendon::PreStress() const { return *entity->getArgument(13); } +void IfcTendon::setPreStress(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } bool IfcTendon::hasFrictionCoefficient() const { return !entity->getArgument(14)->isNull(); } -IfcNormalisedRatioMeasure IfcTendon::FrictionCoefficient() const { return *entity->getArgument(14); } -void IfcTendon::setFrictionCoefficient(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } +double IfcTendon::FrictionCoefficient() const { return *entity->getArgument(14); } +void IfcTendon::setFrictionCoefficient(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } bool IfcTendon::hasAnchorageSlip() const { return !entity->getArgument(15)->isNull(); } -IfcPositiveLengthMeasure IfcTendon::AnchorageSlip() const { return *entity->getArgument(15); } -void IfcTendon::setAnchorageSlip(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } +double IfcTendon::AnchorageSlip() const { return *entity->getArgument(15); } +void IfcTendon::setAnchorageSlip(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } bool IfcTendon::hasMinCurvatureRadius() const { return !entity->getArgument(16)->isNull(); } -IfcPositiveLengthMeasure IfcTendon::MinCurvatureRadius() const { return *entity->getArgument(16); } -void IfcTendon::setMinCurvatureRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } +double IfcTendon::MinCurvatureRadius() const { return *entity->getArgument(16); } +void IfcTendon::setMinCurvatureRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } bool IfcTendon::is(Type::Enum v) const { return v == Type::IfcTendon || IfcReinforcingElement::is(v); } Type::Enum IfcTendon::type() const { return Type::IfcTendon; } Type::Enum IfcTendon::Class() { return Type::IfcTendon; } IfcTendon::IfcTendon(IfcAbstractEntity* e) : IfcReinforcingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTendon)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTendon::IfcTendon(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, IfcPositiveLengthMeasure v11_NominalDiameter, IfcAreaMeasure v12_CrossSectionArea, boost::optional< IfcForceMeasure > v13_TensionForce, boost::optional< IfcPressureMeasure > v14_PreStress, boost::optional< IfcNormalisedRatioMeasure > v15_FrictionCoefficient, boost::optional< IfcPositiveLengthMeasure > v16_AnchorageSlip, boost::optional< IfcPositiveLengthMeasure > v17_MinCurvatureRadius) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTendonTypeEnum::ToString(v10_PredefinedType)); e->setArgument(10,(v11_NominalDiameter)); e->setArgument(11,(v12_CrossSectionArea)); if (v13_TensionForce) { e->setArgument(12,(*v13_TensionForce)); } else { e->setArgument(12); } if (v14_PreStress) { e->setArgument(13,(*v14_PreStress)); } else { e->setArgument(13); } if (v15_FrictionCoefficient) { e->setArgument(14,(*v15_FrictionCoefficient)); } else { e->setArgument(14); } if (v16_AnchorageSlip) { e->setArgument(15,(*v16_AnchorageSlip)); } else { e->setArgument(15); } if (v17_MinCurvatureRadius) { e->setArgument(16,(*v17_MinCurvatureRadius)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } +IfcTendon::IfcTendon(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, double v11_NominalDiameter, double v12_CrossSectionArea, boost::optional< double > v13_TensionForce, boost::optional< double > v14_PreStress, boost::optional< double > v15_FrictionCoefficient, boost::optional< double > v16_AnchorageSlip, boost::optional< double > v17_MinCurvatureRadius) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTendonTypeEnum::ToString(v10_PredefinedType)); e->setArgument(10,(v11_NominalDiameter)); e->setArgument(11,(v12_CrossSectionArea)); if (v13_TensionForce) { e->setArgument(12,(*v13_TensionForce)); } else { e->setArgument(12); } if (v14_PreStress) { e->setArgument(13,(*v14_PreStress)); } else { e->setArgument(13); } if (v15_FrictionCoefficient) { e->setArgument(14,(*v15_FrictionCoefficient)); } else { e->setArgument(14); } if (v16_AnchorageSlip) { e->setArgument(15,(*v16_AnchorageSlip)); } else { e->setArgument(15); } if (v17_MinCurvatureRadius) { e->setArgument(16,(*v17_MinCurvatureRadius)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTendonAnchor bool IfcTendonAnchor::is(Type::Enum v) const { return v == Type::IfcTendonAnchor || IfcReinforcingElement::is(v); } Type::Enum IfcTendonAnchor::type() const { return Type::IfcTendonAnchor; } Type::Enum IfcTendonAnchor::Class() { return Type::IfcTendonAnchor; } IfcTendonAnchor::IfcTendonAnchor(IfcAbstractEntity* e) : IfcReinforcingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTendonAnchor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTendonAnchor::IfcTendonAnchor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTerminatorSymbol IfcAnnotationCurveOccurrence* IfcTerminatorSymbol::AnnotatedCurve() const { return (IfcAnnotationCurveOccurrence*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } @@ -12299,129 +13703,129 @@ bool IfcTerminatorSymbol::is(Type::Enum v) const { return v == Type::IfcTerminat Type::Enum IfcTerminatorSymbol::type() const { return Type::IfcTerminatorSymbol; } Type::Enum IfcTerminatorSymbol::Class() { return Type::IfcTerminatorSymbol; } IfcTerminatorSymbol::IfcTerminatorSymbol(IfcAbstractEntity* e) : IfcAnnotationSymbolOccurrence((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTerminatorSymbol)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTerminatorSymbol::IfcTerminatorSymbol(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name, IfcAnnotationCurveOccurrence* v4_AnnotatedCurve) : IfcAnnotationSymbolOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } e->setArgument(3,(v4_AnnotatedCurve)); entity = e; EntityBuffer::Add(this); } +IfcTerminatorSymbol::IfcTerminatorSymbol(IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name, IfcAnnotationCurveOccurrence* v4_AnnotatedCurve) : IfcAnnotationSymbolOccurrence((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)->generalize()); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } e->setArgument(3,(v4_AnnotatedCurve)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextLiteral -IfcPresentableText IfcTextLiteral::Literal() const { return *entity->getArgument(0); } -void IfcTextLiteral::setLiteral(IfcPresentableText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcAxis2Placement IfcTextLiteral::Placement() const { return *entity->getArgument(1); } -void IfcTextLiteral::setPlacement(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcTextLiteral::Literal() const { return *entity->getArgument(0); } +void IfcTextLiteral::setLiteral(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcAxis2Placement* IfcTextLiteral::Placement() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcTextLiteral::setPlacement(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcTextPath::IfcTextPath IfcTextLiteral::Path() const { return IfcTextPath::FromString(*entity->getArgument(2)); } void IfcTextLiteral::setPath(IfcTextPath::IfcTextPath v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcTextPath::ToString(v)); } bool IfcTextLiteral::is(Type::Enum v) const { return v == Type::IfcTextLiteral || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcTextLiteral::type() const { return Type::IfcTextLiteral; } Type::Enum IfcTextLiteral::Class() { return Type::IfcTextLiteral; } IfcTextLiteral::IfcTextLiteral(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextLiteral)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextLiteral::IfcTextLiteral(IfcPresentableText v1_Literal, IfcAxis2Placement v2_Placement, IfcTextPath::IfcTextPath v3_Path) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Literal)); e->setArgument(1,(v2_Placement)); e->setArgument(2,v3_Path,IfcTextPath::ToString(v3_Path)); entity = e; EntityBuffer::Add(this); } +IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, IfcAxis2Placement* v2_Placement, IfcTextPath::IfcTextPath v3_Path) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Literal)); e->setArgument(1,(v2_Placement)); e->setArgument(2,v3_Path,IfcTextPath::ToString(v3_Path)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextLiteralWithExtent IfcPlanarExtent* IfcTextLiteralWithExtent::Extent() const { return (IfcPlanarExtent*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcTextLiteralWithExtent::setExtent(IfcPlanarExtent* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcBoxAlignment IfcTextLiteralWithExtent::BoxAlignment() const { return *entity->getArgument(4); } -void IfcTextLiteralWithExtent::setBoxAlignment(IfcBoxAlignment v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcTextLiteralWithExtent::BoxAlignment() const { return *entity->getArgument(4); } +void IfcTextLiteralWithExtent::setBoxAlignment(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcTextLiteralWithExtent::is(Type::Enum v) const { return v == Type::IfcTextLiteralWithExtent || IfcTextLiteral::is(v); } Type::Enum IfcTextLiteralWithExtent::type() const { return Type::IfcTextLiteralWithExtent; } Type::Enum IfcTextLiteralWithExtent::Class() { return Type::IfcTextLiteralWithExtent; } IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcAbstractEntity* e) : IfcTextLiteral((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextLiteralWithExtent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcPresentableText v1_Literal, IfcAxis2Placement v2_Placement, IfcTextPath::IfcTextPath v3_Path, IfcPlanarExtent* v4_Extent, IfcBoxAlignment v5_BoxAlignment) : IfcTextLiteral((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Literal)); e->setArgument(1,(v2_Placement)); e->setArgument(2,v3_Path,IfcTextPath::ToString(v3_Path)); e->setArgument(3,(v4_Extent)); e->setArgument(4,(v5_BoxAlignment)); entity = e; EntityBuffer::Add(this); } +IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, IfcAxis2Placement* v2_Placement, IfcTextPath::IfcTextPath v3_Path, IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Literal)); e->setArgument(1,(v2_Placement)); e->setArgument(2,v3_Path,IfcTextPath::ToString(v3_Path)); e->setArgument(3,(v4_Extent)); e->setArgument(4,(v5_BoxAlignment)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextStyle bool IfcTextStyle::hasTextCharacterAppearance() const { return !entity->getArgument(1)->isNull(); } -IfcCharacterStyleSelect IfcTextStyle::TextCharacterAppearance() const { return *entity->getArgument(1); } -void IfcTextStyle::setTextCharacterAppearance(IfcCharacterStyleSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcCharacterStyleSelect* IfcTextStyle::TextCharacterAppearance() const { return (IfcCharacterStyleSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcTextStyle::setTextCharacterAppearance(IfcCharacterStyleSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcTextStyle::hasTextStyle() const { return !entity->getArgument(2)->isNull(); } -IfcTextStyleSelect IfcTextStyle::TextStyle() const { return *entity->getArgument(2); } -void IfcTextStyle::setTextStyle(IfcTextStyleSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcTextFontSelect IfcTextStyle::TextFontStyle() const { return *entity->getArgument(3); } -void IfcTextStyle::setTextFontStyle(IfcTextFontSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +IfcTextStyleSelect* IfcTextStyle::TextStyle() const { return (IfcTextStyleSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } +void IfcTextStyle::setTextStyle(IfcTextStyleSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +IfcTextFontSelect* IfcTextStyle::TextFontStyle() const { return (IfcTextFontSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } +void IfcTextStyle::setTextFontStyle(IfcTextFontSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcTextStyle::is(Type::Enum v) const { return v == Type::IfcTextStyle || IfcPresentationStyle::is(v); } Type::Enum IfcTextStyle::type() const { return Type::IfcTextStyle; } Type::Enum IfcTextStyle::Class() { return Type::IfcTextStyle; } IfcTextStyle::IfcTextStyle(IfcAbstractEntity* e) : IfcPresentationStyle((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextStyle::IfcTextStyle(boost::optional< IfcLabel > v1_Name, boost::optional< IfcCharacterStyleSelect > v2_TextCharacterAppearance, boost::optional< IfcTextStyleSelect > v3_TextStyle, IfcTextFontSelect v4_TextFontStyle) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TextCharacterAppearance) { e->setArgument(1,(*v2_TextCharacterAppearance)); } else { e->setArgument(1); } if (v3_TextStyle) { e->setArgument(2,(*v3_TextStyle)); } else { e->setArgument(2); } e->setArgument(3,(v4_TextFontStyle)); entity = e; EntityBuffer::Add(this); } +IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, IfcCharacterStyleSelect* v2_TextCharacterAppearance, IfcTextStyleSelect* v3_TextStyle, IfcTextFontSelect* v4_TextFontStyle) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_TextCharacterAppearance)); e->setArgument(2,(v3_TextStyle)); e->setArgument(3,(v4_TextFontStyle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextStyleFontModel bool IfcTextStyleFontModel::hasFontFamily() const { return !entity->getArgument(1)->isNull(); } -std::vector< IfcTextFontName > /*[1:?]*/ IfcTextStyleFontModel::FontFamily() const { return *entity->getArgument(1); } -void IfcTextStyleFontModel::setFontFamily(std::vector< IfcTextFontName > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::vector< std::string > /*[1:?]*/ IfcTextStyleFontModel::FontFamily() const { return *entity->getArgument(1); } +void IfcTextStyleFontModel::setFontFamily(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcTextStyleFontModel::hasFontStyle() const { return !entity->getArgument(2)->isNull(); } -IfcFontStyle IfcTextStyleFontModel::FontStyle() const { return *entity->getArgument(2); } -void IfcTextStyleFontModel::setFontStyle(IfcFontStyle v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcTextStyleFontModel::FontStyle() const { return *entity->getArgument(2); } +void IfcTextStyleFontModel::setFontStyle(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcTextStyleFontModel::hasFontVariant() const { return !entity->getArgument(3)->isNull(); } -IfcFontVariant IfcTextStyleFontModel::FontVariant() const { return *entity->getArgument(3); } -void IfcTextStyleFontModel::setFontVariant(IfcFontVariant v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcTextStyleFontModel::FontVariant() const { return *entity->getArgument(3); } +void IfcTextStyleFontModel::setFontVariant(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcTextStyleFontModel::hasFontWeight() const { return !entity->getArgument(4)->isNull(); } -IfcFontWeight IfcTextStyleFontModel::FontWeight() const { return *entity->getArgument(4); } -void IfcTextStyleFontModel::setFontWeight(IfcFontWeight v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcSizeSelect IfcTextStyleFontModel::FontSize() const { return *entity->getArgument(5); } -void IfcTextStyleFontModel::setFontSize(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcTextStyleFontModel::FontWeight() const { return *entity->getArgument(4); } +void IfcTextStyleFontModel::setFontWeight(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +IfcSizeSelect* IfcTextStyleFontModel::FontSize() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcTextStyleFontModel::setFontSize(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcTextStyleFontModel::is(Type::Enum v) const { return v == Type::IfcTextStyleFontModel || IfcPreDefinedTextFont::is(v); } Type::Enum IfcTextStyleFontModel::type() const { return Type::IfcTextStyleFontModel; } Type::Enum IfcTextStyleFontModel::Class() { return Type::IfcTextStyleFontModel; } IfcTextStyleFontModel::IfcTextStyleFontModel(IfcAbstractEntity* e) : IfcPreDefinedTextFont((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextStyleFontModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextStyleFontModel::IfcTextStyleFontModel(IfcLabel v1_Name, boost::optional< std::vector< IfcTextFontName > /*[1:?]*/ > v2_FontFamily, boost::optional< IfcFontStyle > v3_FontStyle, boost::optional< IfcFontVariant > v4_FontVariant, boost::optional< IfcFontWeight > v5_FontWeight, IfcSizeSelect v6_FontSize) : IfcPreDefinedTextFont((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_FontFamily) { e->setArgument(1,(*v2_FontFamily)); } else { e->setArgument(1); } if (v3_FontStyle) { e->setArgument(2,(*v3_FontStyle)); } else { e->setArgument(2); } if (v4_FontVariant) { e->setArgument(3,(*v4_FontVariant)); } else { e->setArgument(3); } if (v5_FontWeight) { e->setArgument(4,(*v5_FontWeight)); } else { e->setArgument(4); } e->setArgument(5,(v6_FontSize)); entity = e; EntityBuffer::Add(this); } +IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_FontFamily) { e->setArgument(1,(*v2_FontFamily)); } else { e->setArgument(1); } if (v3_FontStyle) { e->setArgument(2,(*v3_FontStyle)); } else { e->setArgument(2); } if (v4_FontVariant) { e->setArgument(3,(*v4_FontVariant)); } else { e->setArgument(3); } if (v5_FontWeight) { e->setArgument(4,(*v5_FontWeight)); } else { e->setArgument(4); } e->setArgument(5,(v6_FontSize)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextStyleForDefinedFont -IfcColour IfcTextStyleForDefinedFont::Colour() const { return *entity->getArgument(0); } -void IfcTextStyleForDefinedFont::setColour(IfcColour v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcColour* IfcTextStyleForDefinedFont::Colour() const { return (IfcColour*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcTextStyleForDefinedFont::setColour(IfcColour* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcTextStyleForDefinedFont::hasBackgroundColour() const { return !entity->getArgument(1)->isNull(); } -IfcColour IfcTextStyleForDefinedFont::BackgroundColour() const { return *entity->getArgument(1); } -void IfcTextStyleForDefinedFont::setBackgroundColour(IfcColour v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcColour* IfcTextStyleForDefinedFont::BackgroundColour() const { return (IfcColour*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcTextStyleForDefinedFont::setBackgroundColour(IfcColour* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcTextStyleForDefinedFont::is(Type::Enum v) const { return v == Type::IfcTextStyleForDefinedFont; } Type::Enum IfcTextStyleForDefinedFont::type() const { return Type::IfcTextStyleForDefinedFont; } Type::Enum IfcTextStyleForDefinedFont::Class() { return Type::IfcTextStyleForDefinedFont; } IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTextStyleForDefinedFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcColour v1_Colour, boost::optional< IfcColour > v2_BackgroundColour) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Colour)); if (v2_BackgroundColour) { e->setArgument(1,(*v2_BackgroundColour)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcColour* v1_Colour, IfcColour* v2_BackgroundColour) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Colour)); e->setArgument(1,(v2_BackgroundColour)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextStyleTextModel bool IfcTextStyleTextModel::hasTextIndent() const { return !entity->getArgument(0)->isNull(); } -IfcSizeSelect IfcTextStyleTextModel::TextIndent() const { return *entity->getArgument(0); } -void IfcTextStyleTextModel::setTextIndent(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcSizeSelect* IfcTextStyleTextModel::TextIndent() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcTextStyleTextModel::setTextIndent(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcTextStyleTextModel::hasTextAlign() const { return !entity->getArgument(1)->isNull(); } -IfcTextAlignment IfcTextStyleTextModel::TextAlign() const { return *entity->getArgument(1); } -void IfcTextStyleTextModel::setTextAlign(IfcTextAlignment v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcTextStyleTextModel::TextAlign() const { return *entity->getArgument(1); } +void IfcTextStyleTextModel::setTextAlign(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcTextStyleTextModel::hasTextDecoration() const { return !entity->getArgument(2)->isNull(); } -IfcTextDecoration IfcTextStyleTextModel::TextDecoration() const { return *entity->getArgument(2); } -void IfcTextStyleTextModel::setTextDecoration(IfcTextDecoration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcTextStyleTextModel::TextDecoration() const { return *entity->getArgument(2); } +void IfcTextStyleTextModel::setTextDecoration(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcTextStyleTextModel::hasLetterSpacing() const { return !entity->getArgument(3)->isNull(); } -IfcSizeSelect IfcTextStyleTextModel::LetterSpacing() const { return *entity->getArgument(3); } -void IfcTextStyleTextModel::setLetterSpacing(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +IfcSizeSelect* IfcTextStyleTextModel::LetterSpacing() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } +void IfcTextStyleTextModel::setLetterSpacing(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcTextStyleTextModel::hasWordSpacing() const { return !entity->getArgument(4)->isNull(); } -IfcSizeSelect IfcTextStyleTextModel::WordSpacing() const { return *entity->getArgument(4); } -void IfcTextStyleTextModel::setWordSpacing(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +IfcSizeSelect* IfcTextStyleTextModel::WordSpacing() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } +void IfcTextStyleTextModel::setWordSpacing(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcTextStyleTextModel::hasTextTransform() const { return !entity->getArgument(5)->isNull(); } -IfcTextTransformation IfcTextStyleTextModel::TextTransform() const { return *entity->getArgument(5); } -void IfcTextStyleTextModel::setTextTransform(IfcTextTransformation v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcTextStyleTextModel::TextTransform() const { return *entity->getArgument(5); } +void IfcTextStyleTextModel::setTextTransform(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcTextStyleTextModel::hasLineHeight() const { return !entity->getArgument(6)->isNull(); } -IfcSizeSelect IfcTextStyleTextModel::LineHeight() const { return *entity->getArgument(6); } -void IfcTextStyleTextModel::setLineHeight(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +IfcSizeSelect* IfcTextStyleTextModel::LineHeight() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } +void IfcTextStyleTextModel::setLineHeight(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcTextStyleTextModel::is(Type::Enum v) const { return v == Type::IfcTextStyleTextModel; } Type::Enum IfcTextStyleTextModel::type() const { return Type::IfcTextStyleTextModel; } Type::Enum IfcTextStyleTextModel::Class() { return Type::IfcTextStyleTextModel; } IfcTextStyleTextModel::IfcTextStyleTextModel(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTextStyleTextModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextStyleTextModel::IfcTextStyleTextModel(boost::optional< IfcSizeSelect > v1_TextIndent, boost::optional< IfcTextAlignment > v2_TextAlign, boost::optional< IfcTextDecoration > v3_TextDecoration, boost::optional< IfcSizeSelect > v4_LetterSpacing, boost::optional< IfcSizeSelect > v5_WordSpacing, boost::optional< IfcTextTransformation > v6_TextTransform, boost::optional< IfcSizeSelect > v7_LineHeight) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_TextIndent) { e->setArgument(0,(*v1_TextIndent)); } else { e->setArgument(0); } if (v2_TextAlign) { e->setArgument(1,(*v2_TextAlign)); } else { e->setArgument(1); } if (v3_TextDecoration) { e->setArgument(2,(*v3_TextDecoration)); } else { e->setArgument(2); } if (v4_LetterSpacing) { e->setArgument(3,(*v4_LetterSpacing)); } else { e->setArgument(3); } if (v5_WordSpacing) { e->setArgument(4,(*v5_WordSpacing)); } else { e->setArgument(4); } if (v6_TextTransform) { e->setArgument(5,(*v6_TextTransform)); } else { e->setArgument(5); } if (v7_LineHeight) { e->setArgument(6,(*v7_LineHeight)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcTextStyleTextModel::IfcTextStyleTextModel(IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, IfcSizeSelect* v4_LetterSpacing, IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, IfcSizeSelect* v7_LineHeight) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TextIndent)); if (v2_TextAlign) { e->setArgument(1,(*v2_TextAlign)); } else { e->setArgument(1); } if (v3_TextDecoration) { e->setArgument(2,(*v3_TextDecoration)); } else { e->setArgument(2); } e->setArgument(3,(v4_LetterSpacing)); e->setArgument(4,(v5_WordSpacing)); if (v6_TextTransform) { e->setArgument(5,(*v6_TextTransform)); } else { e->setArgument(5); } e->setArgument(6,(v7_LineHeight)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextStyleWithBoxCharacteristics bool IfcTextStyleWithBoxCharacteristics::hasBoxHeight() const { return !entity->getArgument(0)->isNull(); } -IfcPositiveLengthMeasure IfcTextStyleWithBoxCharacteristics::BoxHeight() const { return *entity->getArgument(0); } -void IfcTextStyleWithBoxCharacteristics::setBoxHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +double IfcTextStyleWithBoxCharacteristics::BoxHeight() const { return *entity->getArgument(0); } +void IfcTextStyleWithBoxCharacteristics::setBoxHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcTextStyleWithBoxCharacteristics::hasBoxWidth() const { return !entity->getArgument(1)->isNull(); } -IfcPositiveLengthMeasure IfcTextStyleWithBoxCharacteristics::BoxWidth() const { return *entity->getArgument(1); } -void IfcTextStyleWithBoxCharacteristics::setBoxWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcTextStyleWithBoxCharacteristics::BoxWidth() const { return *entity->getArgument(1); } +void IfcTextStyleWithBoxCharacteristics::setBoxWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcTextStyleWithBoxCharacteristics::hasBoxSlantAngle() const { return !entity->getArgument(2)->isNull(); } -IfcPlaneAngleMeasure IfcTextStyleWithBoxCharacteristics::BoxSlantAngle() const { return *entity->getArgument(2); } -void IfcTextStyleWithBoxCharacteristics::setBoxSlantAngle(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcTextStyleWithBoxCharacteristics::BoxSlantAngle() const { return *entity->getArgument(2); } +void IfcTextStyleWithBoxCharacteristics::setBoxSlantAngle(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcTextStyleWithBoxCharacteristics::hasBoxRotateAngle() const { return !entity->getArgument(3)->isNull(); } -IfcPlaneAngleMeasure IfcTextStyleWithBoxCharacteristics::BoxRotateAngle() const { return *entity->getArgument(3); } -void IfcTextStyleWithBoxCharacteristics::setBoxRotateAngle(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcTextStyleWithBoxCharacteristics::BoxRotateAngle() const { return *entity->getArgument(3); } +void IfcTextStyleWithBoxCharacteristics::setBoxRotateAngle(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcTextStyleWithBoxCharacteristics::hasCharacterSpacing() const { return !entity->getArgument(4)->isNull(); } -IfcSizeSelect IfcTextStyleWithBoxCharacteristics::CharacterSpacing() const { return *entity->getArgument(4); } -void IfcTextStyleWithBoxCharacteristics::setCharacterSpacing(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +IfcSizeSelect* IfcTextStyleWithBoxCharacteristics::CharacterSpacing() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } +void IfcTextStyleWithBoxCharacteristics::setCharacterSpacing(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcTextStyleWithBoxCharacteristics::is(Type::Enum v) const { return v == Type::IfcTextStyleWithBoxCharacteristics; } Type::Enum IfcTextStyleWithBoxCharacteristics::type() const { return Type::IfcTextStyleWithBoxCharacteristics; } Type::Enum IfcTextStyleWithBoxCharacteristics::Class() { return Type::IfcTextStyleWithBoxCharacteristics; } IfcTextStyleWithBoxCharacteristics::IfcTextStyleWithBoxCharacteristics(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTextStyleWithBoxCharacteristics)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextStyleWithBoxCharacteristics::IfcTextStyleWithBoxCharacteristics(boost::optional< IfcPositiveLengthMeasure > v1_BoxHeight, boost::optional< IfcPositiveLengthMeasure > v2_BoxWidth, boost::optional< IfcPlaneAngleMeasure > v3_BoxSlantAngle, boost::optional< IfcPlaneAngleMeasure > v4_BoxRotateAngle, boost::optional< IfcSizeSelect > v5_CharacterSpacing) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_BoxHeight) { e->setArgument(0,(*v1_BoxHeight)); } else { e->setArgument(0); } if (v2_BoxWidth) { e->setArgument(1,(*v2_BoxWidth)); } else { e->setArgument(1); } if (v3_BoxSlantAngle) { e->setArgument(2,(*v3_BoxSlantAngle)); } else { e->setArgument(2); } if (v4_BoxRotateAngle) { e->setArgument(3,(*v4_BoxRotateAngle)); } else { e->setArgument(3); } if (v5_CharacterSpacing) { e->setArgument(4,(*v5_CharacterSpacing)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcTextStyleWithBoxCharacteristics::IfcTextStyleWithBoxCharacteristics(boost::optional< double > v1_BoxHeight, boost::optional< double > v2_BoxWidth, boost::optional< double > v3_BoxSlantAngle, boost::optional< double > v4_BoxRotateAngle, IfcSizeSelect* v5_CharacterSpacing) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_BoxHeight) { e->setArgument(0,(*v1_BoxHeight)); } else { e->setArgument(0); } if (v2_BoxWidth) { e->setArgument(1,(*v2_BoxWidth)); } else { e->setArgument(1); } if (v3_BoxSlantAngle) { e->setArgument(2,(*v3_BoxSlantAngle)); } else { e->setArgument(2); } if (v4_BoxRotateAngle) { e->setArgument(3,(*v4_BoxRotateAngle)); } else { e->setArgument(3); } e->setArgument(4,(v5_CharacterSpacing)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextureCoordinate IfcAnnotationSurface::list::ptr IfcTextureCoordinate::AnnotatedSurface() const { return entity->getInverse(Type::IfcAnnotationSurface)->as(); } @@ -12432,15 +13836,15 @@ IfcTextureCoordinate::IfcTextureCoordinate(IfcAbstractEntity* e) : IfcUtil::IfcB IfcTextureCoordinate::IfcTextureCoordinate() : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextureCoordinateGenerator -IfcLabel IfcTextureCoordinateGenerator::Mode() const { return *entity->getArgument(0); } -void IfcTextureCoordinateGenerator::setMode(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcTextureCoordinateGenerator::Parameter() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcTextureCoordinateGenerator::setParameter(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +std::string IfcTextureCoordinateGenerator::Mode() const { return *entity->getArgument(0); } +void IfcTextureCoordinateGenerator::setMode(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcEntityList::ptr IfcTextureCoordinateGenerator::Parameter() const { return *entity->getArgument(1); } +void IfcTextureCoordinateGenerator::setParameter(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } 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(IfcAbstractEntity* e) : IfcTextureCoordinate((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextureCoordinateGenerator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcLabel v1_Mode, IfcEntityList::ptr v2_Parameter) : IfcTextureCoordinate((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Mode)); e->setArgument(1,(v2_Parameter)); entity = e; EntityBuffer::Add(this); } +IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(std::string v1_Mode, IfcEntityList::ptr v2_Parameter) : IfcTextureCoordinate((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Mode)); e->setArgument(1,(v2_Parameter)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextureMap IfcTemplatedEntityList< IfcVertexBasedTextureMap >::ptr IfcTextureMap::TextureMaps() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } @@ -12452,65 +13856,65 @@ IfcTextureMap::IfcTextureMap(IfcAbstractEntity* e) : IfcTextureCoordinate((IfcAb IfcTextureMap::IfcTextureMap(IfcTemplatedEntityList< IfcVertexBasedTextureMap >::ptr v1_TextureMaps) : IfcTextureCoordinate((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TextureMaps)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextureVertex -std::vector< IfcParameterValue > /*[2:2]*/ IfcTextureVertex::Coordinates() const { return *entity->getArgument(0); } -void IfcTextureVertex::setCoordinates(std::vector< IfcParameterValue > /*[2:2]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::vector< double > /*[2:2]*/ IfcTextureVertex::Coordinates() const { return *entity->getArgument(0); } +void IfcTextureVertex::setCoordinates(std::vector< double > /*[2:2]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } 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; } IfcTextureVertex::IfcTextureVertex(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTextureVertex)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextureVertex::IfcTextureVertex(std::vector< IfcParameterValue > /*[2:2]*/ v1_Coordinates) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); entity = e; EntityBuffer::Add(this); } +IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcThermalMaterialProperties bool IfcThermalMaterialProperties::hasSpecificHeatCapacity() const { return !entity->getArgument(1)->isNull(); } -IfcSpecificHeatCapacityMeasure IfcThermalMaterialProperties::SpecificHeatCapacity() const { return *entity->getArgument(1); } -void IfcThermalMaterialProperties::setSpecificHeatCapacity(IfcSpecificHeatCapacityMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcThermalMaterialProperties::SpecificHeatCapacity() const { return *entity->getArgument(1); } +void IfcThermalMaterialProperties::setSpecificHeatCapacity(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcThermalMaterialProperties::hasBoilingPoint() const { return !entity->getArgument(2)->isNull(); } -IfcThermodynamicTemperatureMeasure IfcThermalMaterialProperties::BoilingPoint() const { return *entity->getArgument(2); } -void IfcThermalMaterialProperties::setBoilingPoint(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcThermalMaterialProperties::BoilingPoint() const { return *entity->getArgument(2); } +void IfcThermalMaterialProperties::setBoilingPoint(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcThermalMaterialProperties::hasFreezingPoint() const { return !entity->getArgument(3)->isNull(); } -IfcThermodynamicTemperatureMeasure IfcThermalMaterialProperties::FreezingPoint() const { return *entity->getArgument(3); } -void IfcThermalMaterialProperties::setFreezingPoint(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcThermalMaterialProperties::FreezingPoint() const { return *entity->getArgument(3); } +void IfcThermalMaterialProperties::setFreezingPoint(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcThermalMaterialProperties::hasThermalConductivity() const { return !entity->getArgument(4)->isNull(); } -IfcThermalConductivityMeasure IfcThermalMaterialProperties::ThermalConductivity() const { return *entity->getArgument(4); } -void IfcThermalMaterialProperties::setThermalConductivity(IfcThermalConductivityMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcThermalMaterialProperties::ThermalConductivity() const { return *entity->getArgument(4); } +void IfcThermalMaterialProperties::setThermalConductivity(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcThermalMaterialProperties::is(Type::Enum v) const { return v == Type::IfcThermalMaterialProperties || IfcMaterialProperties::is(v); } Type::Enum IfcThermalMaterialProperties::type() const { return Type::IfcThermalMaterialProperties; } Type::Enum IfcThermalMaterialProperties::Class() { return Type::IfcThermalMaterialProperties; } IfcThermalMaterialProperties::IfcThermalMaterialProperties(IfcAbstractEntity* e) : IfcMaterialProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcThermalMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcThermalMaterialProperties::IfcThermalMaterialProperties(IfcMaterial* v1_Material, boost::optional< IfcSpecificHeatCapacityMeasure > v2_SpecificHeatCapacity, boost::optional< IfcThermodynamicTemperatureMeasure > v3_BoilingPoint, boost::optional< IfcThermodynamicTemperatureMeasure > v4_FreezingPoint, boost::optional< IfcThermalConductivityMeasure > v5_ThermalConductivity) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_SpecificHeatCapacity) { e->setArgument(1,(*v2_SpecificHeatCapacity)); } else { e->setArgument(1); } if (v3_BoilingPoint) { e->setArgument(2,(*v3_BoilingPoint)); } else { e->setArgument(2); } if (v4_FreezingPoint) { e->setArgument(3,(*v4_FreezingPoint)); } else { e->setArgument(3); } if (v5_ThermalConductivity) { e->setArgument(4,(*v5_ThermalConductivity)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcThermalMaterialProperties::IfcThermalMaterialProperties(IfcMaterial* v1_Material, boost::optional< double > v2_SpecificHeatCapacity, boost::optional< double > v3_BoilingPoint, boost::optional< double > v4_FreezingPoint, boost::optional< double > v5_ThermalConductivity) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_SpecificHeatCapacity) { e->setArgument(1,(*v2_SpecificHeatCapacity)); } else { e->setArgument(1); } if (v3_BoilingPoint) { e->setArgument(2,(*v3_BoilingPoint)); } else { e->setArgument(2); } if (v4_FreezingPoint) { e->setArgument(3,(*v4_FreezingPoint)); } else { e->setArgument(3); } if (v5_ThermalConductivity) { e->setArgument(4,(*v5_ThermalConductivity)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTimeSeries -IfcLabel IfcTimeSeries::Name() const { return *entity->getArgument(0); } -void IfcTimeSeries::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcTimeSeries::Name() const { return *entity->getArgument(0); } +void IfcTimeSeries::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcTimeSeries::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcTimeSeries::Description() const { return *entity->getArgument(1); } -void IfcTimeSeries::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcDateTimeSelect IfcTimeSeries::StartTime() const { return *entity->getArgument(2); } -void IfcTimeSeries::setStartTime(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcDateTimeSelect IfcTimeSeries::EndTime() const { return *entity->getArgument(3); } -void IfcTimeSeries::setEndTime(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcTimeSeries::Description() const { return *entity->getArgument(1); } +void IfcTimeSeries::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcDateTimeSelect* IfcTimeSeries::StartTime() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } +void IfcTimeSeries::setStartTime(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +IfcDateTimeSelect* IfcTimeSeries::EndTime() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } +void IfcTimeSeries::setEndTime(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum IfcTimeSeries::TimeSeriesDataType() const { return IfcTimeSeriesDataTypeEnum::FromString(*entity->getArgument(4)); } void IfcTimeSeries::setTimeSeriesDataType(IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcTimeSeriesDataTypeEnum::ToString(v)); } IfcDataOriginEnum::IfcDataOriginEnum IfcTimeSeries::DataOrigin() const { return IfcDataOriginEnum::FromString(*entity->getArgument(5)); } void IfcTimeSeries::setDataOrigin(IfcDataOriginEnum::IfcDataOriginEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcDataOriginEnum::ToString(v)); } bool IfcTimeSeries::hasUserDefinedDataOrigin() const { return !entity->getArgument(6)->isNull(); } -IfcLabel IfcTimeSeries::UserDefinedDataOrigin() const { return *entity->getArgument(6); } -void IfcTimeSeries::setUserDefinedDataOrigin(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcTimeSeries::UserDefinedDataOrigin() const { return *entity->getArgument(6); } +void IfcTimeSeries::setUserDefinedDataOrigin(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcTimeSeries::hasUnit() const { return !entity->getArgument(7)->isNull(); } -IfcUnit IfcTimeSeries::Unit() const { return *entity->getArgument(7); } -void IfcTimeSeries::setUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +IfcUnit* IfcTimeSeries::Unit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } +void IfcTimeSeries::setUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } IfcTimeSeriesReferenceRelationship::list::ptr IfcTimeSeries::DocumentedBy() const { return entity->getInverse(Type::IfcTimeSeriesReferenceRelationship)->as(); } bool IfcTimeSeries::is(Type::Enum v) const { return v == Type::IfcTimeSeries; } Type::Enum IfcTimeSeries::type() const { return Type::IfcTimeSeries; } Type::Enum IfcTimeSeries::Class() { return Type::IfcTimeSeries; } IfcTimeSeries::IfcTimeSeries(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTimeSeries::IfcTimeSeries(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTimeSelect v3_StartTime, IfcDateTimeSelect v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } if (v8_Unit) { e->setArgument(7,(*v8_Unit)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, IfcDateTimeSelect* v3_StartTime, IfcDateTimeSelect* v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } e->setArgument(7,(v8_Unit)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTimeSeriesReferenceRelationship IfcTimeSeries* IfcTimeSeriesReferenceRelationship::ReferencedTimeSeries() const { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcTimeSeriesReferenceRelationship::setReferencedTimeSeries(IfcTimeSeries* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcTimeSeriesReferenceRelationship::TimeSeriesReferences() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcTimeSeriesReferenceRelationship::setTimeSeriesReferences(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +IfcEntityList::ptr IfcTimeSeriesReferenceRelationship::TimeSeriesReferences() const { return *entity->getArgument(1); } +void IfcTimeSeriesReferenceRelationship::setTimeSeriesReferences(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } 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; } @@ -12519,8 +13923,8 @@ IfcTimeSeriesReferenceRelationship::IfcTimeSeriesReferenceRelationship(IfcTimeSe // Function implementations for IfcTimeSeriesSchedule bool IfcTimeSeriesSchedule::hasApplicableDates() const { return !entity->getArgument(5)->isNull(); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcTimeSeriesSchedule::ApplicableDates() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } -void IfcTimeSeriesSchedule::setApplicableDates(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +IfcEntityList::ptr IfcTimeSeriesSchedule::ApplicableDates() const { return *entity->getArgument(5); } +void IfcTimeSeriesSchedule::setApplicableDates(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum IfcTimeSeriesSchedule::TimeSeriesScheduleType() const { return IfcTimeSeriesScheduleTypeEnum::FromString(*entity->getArgument(6)); } void IfcTimeSeriesSchedule::setTimeSeriesScheduleType(IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcTimeSeriesScheduleTypeEnum::ToString(v)); } IfcTimeSeries* IfcTimeSeriesSchedule::TimeSeries() const { return (IfcTimeSeries*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } @@ -12529,11 +13933,11 @@ bool IfcTimeSeriesSchedule::is(Type::Enum v) const { return v == Type::IfcTimeSe Type::Enum IfcTimeSeriesSchedule::type() const { return Type::IfcTimeSeriesSchedule; } Type::Enum IfcTimeSeriesSchedule::Class() { return Type::IfcTimeSeriesSchedule; } IfcTimeSeriesSchedule::IfcTimeSeriesSchedule(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTimeSeriesSchedule)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTimeSeriesSchedule::IfcTimeSeriesSchedule(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcEntityList::ptr > v6_ApplicableDates, IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum v7_TimeSeriesScheduleType, IfcTimeSeries* v8_TimeSeries) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ApplicableDates) { e->setArgument(5,(*v6_ApplicableDates)); } else { e->setArgument(5); } e->setArgument(6,v7_TimeSeriesScheduleType,IfcTimeSeriesScheduleTypeEnum::ToString(v7_TimeSeriesScheduleType)); e->setArgument(7,(v8_TimeSeries)); entity = e; EntityBuffer::Add(this); } +IfcTimeSeriesSchedule::IfcTimeSeriesSchedule(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcEntityList::ptr > v6_ApplicableDates, IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum v7_TimeSeriesScheduleType, IfcTimeSeries* v8_TimeSeries) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_ApplicableDates) { e->setArgument(5,(*v6_ApplicableDates)); } else { e->setArgument(5); } e->setArgument(6,v7_TimeSeriesScheduleType,IfcTimeSeriesScheduleTypeEnum::ToString(v7_TimeSeriesScheduleType)); e->setArgument(7,(v8_TimeSeries)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTimeSeriesValue -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcTimeSeriesValue::ListValues() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcTimeSeriesValue::setListValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcEntityList::ptr IfcTimeSeriesValue::ListValues() const { return *entity->getArgument(0); } +void IfcTimeSeriesValue::setListValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } 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; } @@ -12552,7 +13956,7 @@ bool IfcTopologyRepresentation::is(Type::Enum v) const { return v == Type::IfcTo Type::Enum IfcTopologyRepresentation::type() const { return Type::IfcTopologyRepresentation; } Type::Enum IfcTopologyRepresentation::Class() { return Type::IfcTopologyRepresentation; } IfcTopologyRepresentation::IfcTopologyRepresentation(IfcAbstractEntity* e) : IfcShapeModel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTopologyRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTopologyRepresentation::IfcTopologyRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcTopologyRepresentation::IfcTopologyRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTransformerType IfcTransformerTypeEnum::IfcTransformerTypeEnum IfcTransformerType::PredefinedType() const { return IfcTransformerTypeEnum::FromString(*entity->getArgument(9)); } @@ -12561,23 +13965,23 @@ bool IfcTransformerType::is(Type::Enum v) const { return v == Type::IfcTransform Type::Enum IfcTransformerType::type() const { return Type::IfcTransformerType; } Type::Enum IfcTransformerType::Class() { return Type::IfcTransformerType; } IfcTransformerType::IfcTransformerType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTransformerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTransformerType::IfcTransformerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTransformerTypeEnum::IfcTransformerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTransformerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTransformerTypeEnum::IfcTransformerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTransformerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTransportElement bool IfcTransportElement::hasOperationType() const { return !entity->getArgument(8)->isNull(); } IfcTransportElementTypeEnum::IfcTransportElementTypeEnum IfcTransportElement::OperationType() const { return IfcTransportElementTypeEnum::FromString(*entity->getArgument(8)); } void IfcTransportElement::setOperationType(IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcTransportElementTypeEnum::ToString(v)); } bool IfcTransportElement::hasCapacityByWeight() const { return !entity->getArgument(9)->isNull(); } -IfcMassMeasure IfcTransportElement::CapacityByWeight() const { return *entity->getArgument(9); } -void IfcTransportElement::setCapacityByWeight(IfcMassMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcTransportElement::CapacityByWeight() const { return *entity->getArgument(9); } +void IfcTransportElement::setCapacityByWeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcTransportElement::hasCapacityByNumber() const { return !entity->getArgument(10)->isNull(); } -IfcCountMeasure IfcTransportElement::CapacityByNumber() const { return *entity->getArgument(10); } -void IfcTransportElement::setCapacityByNumber(IfcCountMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcTransportElement::CapacityByNumber() const { return *entity->getArgument(10); } +void IfcTransportElement::setCapacityByNumber(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcTransportElement::is(Type::Enum v) const { return v == Type::IfcTransportElement || IfcElement::is(v); } Type::Enum IfcTransportElement::type() const { return Type::IfcTransportElement; } Type::Enum IfcTransportElement::Class() { return Type::IfcTransportElement; } IfcTransportElement::IfcTransportElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTransportElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTransportElement::IfcTransportElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v9_OperationType, boost::optional< IfcMassMeasure > v10_CapacityByWeight, boost::optional< IfcCountMeasure > v11_CapacityByNumber) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OperationType) { e->setArgument(8,*v9_OperationType,IfcTransportElementTypeEnum::ToString(*v9_OperationType)); } else { e->setArgument(8); } if (v10_CapacityByWeight) { e->setArgument(9,(*v10_CapacityByWeight)); } else { e->setArgument(9); } if (v11_CapacityByNumber) { e->setArgument(10,(*v11_CapacityByNumber)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v9_OperationType, boost::optional< double > v10_CapacityByWeight, boost::optional< double > v11_CapacityByNumber) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OperationType) { e->setArgument(8,*v9_OperationType,IfcTransportElementTypeEnum::ToString(*v9_OperationType)); } else { e->setArgument(8); } if (v10_CapacityByWeight) { e->setArgument(9,(*v10_CapacityByWeight)); } else { e->setArgument(9); } if (v11_CapacityByNumber) { e->setArgument(10,(*v11_CapacityByNumber)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTransportElementType IfcTransportElementTypeEnum::IfcTransportElementTypeEnum IfcTransportElementType::PredefinedType() const { return IfcTransportElementTypeEnum::FromString(*entity->getArgument(9)); } @@ -12586,30 +13990,30 @@ bool IfcTransportElementType::is(Type::Enum v) const { return v == Type::IfcTran Type::Enum IfcTransportElementType::type() const { return Type::IfcTransportElementType; } Type::Enum IfcTransportElementType::Class() { return Type::IfcTransportElementType; } IfcTransportElementType::IfcTransportElementType(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTransportElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTransportElementType::IfcTransportElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v10_PredefinedType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTransportElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v10_PredefinedType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTransportElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTrapeziumProfileDef -IfcPositiveLengthMeasure IfcTrapeziumProfileDef::BottomXDim() const { return *entity->getArgument(3); } -void IfcTrapeziumProfileDef::setBottomXDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcTrapeziumProfileDef::TopXDim() const { return *entity->getArgument(4); } -void IfcTrapeziumProfileDef::setTopXDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcTrapeziumProfileDef::YDim() const { return *entity->getArgument(5); } -void IfcTrapeziumProfileDef::setYDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcLengthMeasure IfcTrapeziumProfileDef::TopXOffset() const { return *entity->getArgument(6); } -void IfcTrapeziumProfileDef::setTopXOffset(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcTrapeziumProfileDef::BottomXDim() const { return *entity->getArgument(3); } +void IfcTrapeziumProfileDef::setBottomXDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcTrapeziumProfileDef::TopXDim() const { return *entity->getArgument(4); } +void IfcTrapeziumProfileDef::setTopXDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcTrapeziumProfileDef::YDim() const { return *entity->getArgument(5); } +void IfcTrapeziumProfileDef::setYDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcTrapeziumProfileDef::TopXOffset() const { return *entity->getArgument(6); } +void IfcTrapeziumProfileDef::setTopXOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcTrapeziumProfileDef::is(Type::Enum v) const { return v == Type::IfcTrapeziumProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcTrapeziumProfileDef::type() const { return Type::IfcTrapeziumProfileDef; } Type::Enum IfcTrapeziumProfileDef::Class() { return Type::IfcTrapeziumProfileDef; } IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTrapeziumProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_BottomXDim, IfcPositiveLengthMeasure v5_TopXDim, IfcPositiveLengthMeasure v6_YDim, IfcLengthMeasure v7_TopXOffset) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_BottomXDim)); e->setArgument(4,(v5_TopXDim)); e->setArgument(5,(v6_YDim)); e->setArgument(6,(v7_TopXOffset)); entity = e; EntityBuffer::Add(this); } +IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_BottomXDim)); e->setArgument(4,(v5_TopXDim)); e->setArgument(5,(v6_YDim)); e->setArgument(6,(v7_TopXOffset)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTrimmedCurve IfcCurve* IfcTrimmedCurve::BasisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcTrimmedCurve::setBasisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcTrimmedCurve::Trim1() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcTrimmedCurve::setTrim1(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcTrimmedCurve::Trim2() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcTrimmedCurve::setTrim2(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +IfcEntityList::ptr IfcTrimmedCurve::Trim1() const { return *entity->getArgument(1); } +void IfcTrimmedCurve::setTrim1(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcEntityList::ptr IfcTrimmedCurve::Trim2() const { return *entity->getArgument(2); } +void IfcTrimmedCurve::setTrim2(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcTrimmedCurve::SenseAgreement() const { return *entity->getArgument(3); } void IfcTrimmedCurve::setSenseAgreement(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } IfcTrimmingPreference::IfcTrimmingPreference IfcTrimmedCurve::MasterRepresentation() const { return IfcTrimmingPreference::FromString(*entity->getArgument(4)); } @@ -12627,7 +14031,7 @@ bool IfcTubeBundleType::is(Type::Enum v) const { return v == Type::IfcTubeBundle Type::Enum IfcTubeBundleType::type() const { return Type::IfcTubeBundleType; } Type::Enum IfcTubeBundleType::Class() { return Type::IfcTubeBundleType; } IfcTubeBundleType::IfcTubeBundleType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTubeBundleType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTubeBundleType::IfcTubeBundleType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTubeBundleTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTubeBundleTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTwoDirectionRepeatFactor IfcVector* IfcTwoDirectionRepeatFactor::SecondRepeatFactor() const { return (IfcVector*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } @@ -12640,8 +14044,8 @@ IfcTwoDirectionRepeatFactor::IfcTwoDirectionRepeatFactor(IfcVector* v1_RepeatFac // Function implementations for IfcTypeObject bool IfcTypeObject::hasApplicableOccurrence() const { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcTypeObject::ApplicableOccurrence() const { return *entity->getArgument(4); } -void IfcTypeObject::setApplicableOccurrence(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcTypeObject::ApplicableOccurrence() const { return *entity->getArgument(4); } +void IfcTypeObject::setApplicableOccurrence(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcTypeObject::hasHasPropertySets() const { return !entity->getArgument(5)->isNull(); } IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr IfcTypeObject::HasPropertySets() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } void IfcTypeObject::setHasPropertySets(IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } @@ -12650,51 +14054,51 @@ bool IfcTypeObject::is(Type::Enum v) const { return v == Type::IfcTypeObject || Type::Enum IfcTypeObject::type() const { return Type::IfcTypeObject; } Type::Enum IfcTypeObject::Class() { return Type::IfcTypeObject; } IfcTypeObject::IfcTypeObject(IfcAbstractEntity* e) : IfcObjectDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTypeObject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTypeObject::IfcTypeObject(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTypeProduct bool IfcTypeProduct::hasRepresentationMaps() const { return !entity->getArgument(6)->isNull(); } IfcTemplatedEntityList< IfcRepresentationMap >::ptr IfcTypeProduct::RepresentationMaps() const { IfcEntityList::ptr es = *entity->getArgument(6); return es->as(); } void IfcTypeProduct::setRepresentationMaps(IfcTemplatedEntityList< IfcRepresentationMap >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } bool IfcTypeProduct::hasTag() const { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcTypeProduct::Tag() const { return *entity->getArgument(7); } -void IfcTypeProduct::setTag(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcTypeProduct::Tag() const { return *entity->getArgument(7); } +void IfcTypeProduct::setTag(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcTypeProduct::is(Type::Enum v) const { return v == Type::IfcTypeProduct || IfcTypeObject::is(v); } Type::Enum IfcTypeProduct::type() const { return Type::IfcTypeProduct; } Type::Enum IfcTypeProduct::Class() { return Type::IfcTypeProduct; } IfcTypeProduct::IfcTypeProduct(IfcAbstractEntity* e) : IfcTypeObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTypeProduct)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTypeProduct::IfcTypeProduct(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag) : IfcTypeObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcUShapeProfileDef -IfcPositiveLengthMeasure IfcUShapeProfileDef::Depth() const { return *entity->getArgument(3); } -void IfcUShapeProfileDef::setDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcUShapeProfileDef::FlangeWidth() const { return *entity->getArgument(4); } -void IfcUShapeProfileDef::setFlangeWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcUShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } -void IfcUShapeProfileDef::setWebThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcUShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } -void IfcUShapeProfileDef::setFlangeThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcUShapeProfileDef::Depth() const { return *entity->getArgument(3); } +void IfcUShapeProfileDef::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcUShapeProfileDef::FlangeWidth() const { return *entity->getArgument(4); } +void IfcUShapeProfileDef::setFlangeWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcUShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } +void IfcUShapeProfileDef::setWebThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcUShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } +void IfcUShapeProfileDef::setFlangeThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcUShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcUShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } -void IfcUShapeProfileDef::setFilletRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcUShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } +void IfcUShapeProfileDef::setFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcUShapeProfileDef::hasEdgeRadius() const { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcUShapeProfileDef::EdgeRadius() const { return *entity->getArgument(8); } -void IfcUShapeProfileDef::setEdgeRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcUShapeProfileDef::EdgeRadius() const { return *entity->getArgument(8); } +void IfcUShapeProfileDef::setEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcUShapeProfileDef::hasFlangeSlope() const { return !entity->getArgument(9)->isNull(); } -IfcPlaneAngleMeasure IfcUShapeProfileDef::FlangeSlope() const { return *entity->getArgument(9); } -void IfcUShapeProfileDef::setFlangeSlope(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcUShapeProfileDef::FlangeSlope() const { return *entity->getArgument(9); } +void IfcUShapeProfileDef::setFlangeSlope(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcUShapeProfileDef::hasCentreOfGravityInX() const { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcUShapeProfileDef::CentreOfGravityInX() const { return *entity->getArgument(10); } -void IfcUShapeProfileDef::setCentreOfGravityInX(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcUShapeProfileDef::CentreOfGravityInX() const { return *entity->getArgument(10); } +void IfcUShapeProfileDef::setCentreOfGravityInX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcUShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcUShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcUShapeProfileDef::type() const { return Type::IfcUShapeProfileDef; } Type::Enum IfcUShapeProfileDef::Class() { return Type::IfcUShapeProfileDef; } IfcUShapeProfileDef::IfcUShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcUShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcUShapeProfileDef::IfcUShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcPositiveLengthMeasure > v8_FilletRadius, boost::optional< IfcPositiveLengthMeasure > v9_EdgeRadius, boost::optional< IfcPlaneAngleMeasure > v10_FlangeSlope, boost::optional< IfcPositiveLengthMeasure > v11_CentreOfGravityInX) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_EdgeRadius) { e->setArgument(8,(*v9_EdgeRadius)); } else { e->setArgument(8); } if (v10_FlangeSlope) { e->setArgument(9,(*v10_FlangeSlope)); } else { e->setArgument(9); } if (v11_CentreOfGravityInX) { e->setArgument(10,(*v11_CentreOfGravityInX)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcUShapeProfileDef::IfcUShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_EdgeRadius, boost::optional< double > v10_FlangeSlope, boost::optional< double > v11_CentreOfGravityInX) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_EdgeRadius) { e->setArgument(8,(*v9_EdgeRadius)); } else { e->setArgument(8); } if (v10_FlangeSlope) { e->setArgument(9,(*v10_FlangeSlope)); } else { e->setArgument(9); } if (v11_CentreOfGravityInX) { e->setArgument(10,(*v11_CentreOfGravityInX)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcUnitAssignment -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcUnitAssignment::Units() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcUnitAssignment::setUnits(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcEntityList::ptr IfcUnitAssignment::Units() const { return *entity->getArgument(0); } +void IfcUnitAssignment::setUnits(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } 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; } @@ -12708,7 +14112,7 @@ bool IfcUnitaryEquipmentType::is(Type::Enum v) const { return v == Type::IfcUnit Type::Enum IfcUnitaryEquipmentType::type() const { return Type::IfcUnitaryEquipmentType; } Type::Enum IfcUnitaryEquipmentType::Class() { return Type::IfcUnitaryEquipmentType; } IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcUnitaryEquipmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcUnitaryEquipmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcUnitaryEquipmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcValveType IfcValveTypeEnum::IfcValveTypeEnum IfcValveType::PredefinedType() const { return IfcValveTypeEnum::FromString(*entity->getArgument(9)); } @@ -12717,18 +14121,18 @@ bool IfcValveType::is(Type::Enum v) const { return v == Type::IfcValveType || If Type::Enum IfcValveType::type() const { return Type::IfcValveType; } Type::Enum IfcValveType::Class() { return Type::IfcValveType; } IfcValveType::IfcValveType(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcValveType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcValveType::IfcValveType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcValveTypeEnum::IfcValveTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcValveTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcValveType::IfcValveType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcValveTypeEnum::IfcValveTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcValveTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVector IfcDirection* IfcVector::Orientation() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcVector::setOrientation(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLengthMeasure IfcVector::Magnitude() const { return *entity->getArgument(1); } -void IfcVector::setMagnitude(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcVector::Magnitude() const { return *entity->getArgument(1); } +void IfcVector::setMagnitude(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcVector::is(Type::Enum v) const { return v == Type::IfcVector || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcVector::type() const { return Type::IfcVector; } Type::Enum IfcVector::Class() { return Type::IfcVector; } IfcVector::IfcVector(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVector)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVector::IfcVector(IfcDirection* v1_Orientation, IfcLengthMeasure v2_Magnitude) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Orientation)); e->setArgument(1,(v2_Magnitude)); entity = e; EntityBuffer::Add(this); } +IfcVector::IfcVector(IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Orientation)); e->setArgument(1,(v2_Magnitude)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVertex bool IfcVertex::is(Type::Enum v) const { return v == Type::IfcVertex || IfcTopologicalRepresentationItem::is(v); } @@ -12773,39 +14177,39 @@ bool IfcVibrationIsolatorType::is(Type::Enum v) const { return v == Type::IfcVib Type::Enum IfcVibrationIsolatorType::type() const { return Type::IfcVibrationIsolatorType; } Type::Enum IfcVibrationIsolatorType::Class() { return Type::IfcVibrationIsolatorType; } IfcVibrationIsolatorType::IfcVibrationIsolatorType(IfcAbstractEntity* e) : IfcDiscreteAccessoryType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVibrationIsolatorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVibrationIsolatorType::IfcVibrationIsolatorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v10_PredefinedType) : IfcDiscreteAccessoryType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcVibrationIsolatorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v10_PredefinedType) : IfcDiscreteAccessoryType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcVibrationIsolatorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVirtualElement bool IfcVirtualElement::is(Type::Enum v) const { return v == Type::IfcVirtualElement || IfcElement::is(v); } Type::Enum IfcVirtualElement::type() const { return Type::IfcVirtualElement; } Type::Enum IfcVirtualElement::Class() { return Type::IfcVirtualElement; } IfcVirtualElement::IfcVirtualElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVirtualElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVirtualElement::IfcVirtualElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVirtualGridIntersection IfcTemplatedEntityList< IfcGridAxis >::ptr IfcVirtualGridIntersection::IntersectingAxes() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } void IfcVirtualGridIntersection::setIntersectingAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } -std::vector< IfcLengthMeasure > /*[2:3]*/ IfcVirtualGridIntersection::OffsetDistances() const { return *entity->getArgument(1); } -void IfcVirtualGridIntersection::setOffsetDistances(std::vector< IfcLengthMeasure > /*[2:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::vector< double > /*[2:3]*/ IfcVirtualGridIntersection::OffsetDistances() const { return *entity->getArgument(1); } +void IfcVirtualGridIntersection::setOffsetDistances(std::vector< double > /*[2:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } 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; } IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcVirtualGridIntersection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcTemplatedEntityList< IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< IfcLengthMeasure > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_IntersectingAxes)->generalize()); e->setArgument(1,(v2_OffsetDistances)); entity = e; EntityBuffer::Add(this); } +IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcTemplatedEntityList< IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_IntersectingAxes)->generalize()); e->setArgument(1,(v2_OffsetDistances)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWall bool IfcWall::is(Type::Enum v) const { return v == Type::IfcWall || IfcBuildingElement::is(v); } Type::Enum IfcWall::type() const { return Type::IfcWall; } Type::Enum IfcWall::Class() { return Type::IfcWall; } IfcWall::IfcWall(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWall)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWall::IfcWall(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcWall::IfcWall(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWallStandardCase bool IfcWallStandardCase::is(Type::Enum v) const { return v == Type::IfcWallStandardCase || IfcWall::is(v); } Type::Enum IfcWallStandardCase::type() const { return Type::IfcWallStandardCase; } Type::Enum IfcWallStandardCase::Class() { return Type::IfcWallStandardCase; } IfcWallStandardCase::IfcWallStandardCase(IfcAbstractEntity* e) : IfcWall((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWallStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWallStandardCase::IfcWallStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcWall((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcWall((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWallType IfcWallTypeEnum::IfcWallTypeEnum IfcWallType::PredefinedType() const { return IfcWallTypeEnum::FromString(*entity->getArgument(9)); } @@ -12814,7 +14218,7 @@ bool IfcWallType::is(Type::Enum v) const { return v == Type::IfcWallType || IfcB Type::Enum IfcWallType::type() const { return Type::IfcWallType; } Type::Enum IfcWallType::Class() { return Type::IfcWallType; } IfcWallType::IfcWallType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWallType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWallType::IfcWallType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWallTypeEnum::IfcWallTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcWallTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcWallType::IfcWallType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcWallTypeEnum::IfcWallTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcWallTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWasteTerminalType IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum IfcWasteTerminalType::PredefinedType() const { return IfcWasteTerminalTypeEnum::FromString(*entity->getArgument(9)); } @@ -12823,74 +14227,74 @@ bool IfcWasteTerminalType::is(Type::Enum v) const { return v == Type::IfcWasteTe Type::Enum IfcWasteTerminalType::type() const { return Type::IfcWasteTerminalType; } Type::Enum IfcWasteTerminalType::Class() { return Type::IfcWasteTerminalType; } IfcWasteTerminalType::IfcWasteTerminalType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWasteTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWasteTerminalType::IfcWasteTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcWasteTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcWasteTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWaterProperties bool IfcWaterProperties::hasIsPotable() const { return !entity->getArgument(1)->isNull(); } bool IfcWaterProperties::IsPotable() const { return *entity->getArgument(1); } void IfcWaterProperties::setIsPotable(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcWaterProperties::hasHardness() const { return !entity->getArgument(2)->isNull(); } -IfcIonConcentrationMeasure IfcWaterProperties::Hardness() const { return *entity->getArgument(2); } -void IfcWaterProperties::setHardness(IfcIonConcentrationMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcWaterProperties::Hardness() const { return *entity->getArgument(2); } +void IfcWaterProperties::setHardness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcWaterProperties::hasAlkalinityConcentration() const { return !entity->getArgument(3)->isNull(); } -IfcIonConcentrationMeasure IfcWaterProperties::AlkalinityConcentration() const { return *entity->getArgument(3); } -void IfcWaterProperties::setAlkalinityConcentration(IfcIonConcentrationMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcWaterProperties::AlkalinityConcentration() const { return *entity->getArgument(3); } +void IfcWaterProperties::setAlkalinityConcentration(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcWaterProperties::hasAcidityConcentration() const { return !entity->getArgument(4)->isNull(); } -IfcIonConcentrationMeasure IfcWaterProperties::AcidityConcentration() const { return *entity->getArgument(4); } -void IfcWaterProperties::setAcidityConcentration(IfcIonConcentrationMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcWaterProperties::AcidityConcentration() const { return *entity->getArgument(4); } +void IfcWaterProperties::setAcidityConcentration(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcWaterProperties::hasImpuritiesContent() const { return !entity->getArgument(5)->isNull(); } -IfcNormalisedRatioMeasure IfcWaterProperties::ImpuritiesContent() const { return *entity->getArgument(5); } -void IfcWaterProperties::setImpuritiesContent(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcWaterProperties::ImpuritiesContent() const { return *entity->getArgument(5); } +void IfcWaterProperties::setImpuritiesContent(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcWaterProperties::hasPHLevel() const { return !entity->getArgument(6)->isNull(); } -IfcPHMeasure IfcWaterProperties::PHLevel() const { return *entity->getArgument(6); } -void IfcWaterProperties::setPHLevel(IfcPHMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcWaterProperties::PHLevel() const { return *entity->getArgument(6); } +void IfcWaterProperties::setPHLevel(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcWaterProperties::hasDissolvedSolidsContent() const { return !entity->getArgument(7)->isNull(); } -IfcNormalisedRatioMeasure IfcWaterProperties::DissolvedSolidsContent() const { return *entity->getArgument(7); } -void IfcWaterProperties::setDissolvedSolidsContent(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcWaterProperties::DissolvedSolidsContent() const { return *entity->getArgument(7); } +void IfcWaterProperties::setDissolvedSolidsContent(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcWaterProperties::is(Type::Enum v) const { return v == Type::IfcWaterProperties || IfcMaterialProperties::is(v); } Type::Enum IfcWaterProperties::type() const { return Type::IfcWaterProperties; } Type::Enum IfcWaterProperties::Class() { return Type::IfcWaterProperties; } IfcWaterProperties::IfcWaterProperties(IfcAbstractEntity* e) : IfcMaterialProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWaterProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWaterProperties::IfcWaterProperties(IfcMaterial* v1_Material, boost::optional< bool > v2_IsPotable, boost::optional< IfcIonConcentrationMeasure > v3_Hardness, boost::optional< IfcIonConcentrationMeasure > v4_AlkalinityConcentration, boost::optional< IfcIonConcentrationMeasure > v5_AcidityConcentration, boost::optional< IfcNormalisedRatioMeasure > v6_ImpuritiesContent, boost::optional< IfcPHMeasure > v7_PHLevel, boost::optional< IfcNormalisedRatioMeasure > v8_DissolvedSolidsContent) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_IsPotable) { e->setArgument(1,(*v2_IsPotable)); } else { e->setArgument(1); } if (v3_Hardness) { e->setArgument(2,(*v3_Hardness)); } else { e->setArgument(2); } if (v4_AlkalinityConcentration) { e->setArgument(3,(*v4_AlkalinityConcentration)); } else { e->setArgument(3); } if (v5_AcidityConcentration) { e->setArgument(4,(*v5_AcidityConcentration)); } else { e->setArgument(4); } if (v6_ImpuritiesContent) { e->setArgument(5,(*v6_ImpuritiesContent)); } else { e->setArgument(5); } if (v7_PHLevel) { e->setArgument(6,(*v7_PHLevel)); } else { e->setArgument(6); } if (v8_DissolvedSolidsContent) { e->setArgument(7,(*v8_DissolvedSolidsContent)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcWaterProperties::IfcWaterProperties(IfcMaterial* v1_Material, boost::optional< bool > v2_IsPotable, boost::optional< double > v3_Hardness, boost::optional< double > v4_AlkalinityConcentration, boost::optional< double > v5_AcidityConcentration, boost::optional< double > v6_ImpuritiesContent, boost::optional< double > v7_PHLevel, boost::optional< double > v8_DissolvedSolidsContent) : IfcMaterialProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); if (v2_IsPotable) { e->setArgument(1,(*v2_IsPotable)); } else { e->setArgument(1); } if (v3_Hardness) { e->setArgument(2,(*v3_Hardness)); } else { e->setArgument(2); } if (v4_AlkalinityConcentration) { e->setArgument(3,(*v4_AlkalinityConcentration)); } else { e->setArgument(3); } if (v5_AcidityConcentration) { e->setArgument(4,(*v5_AcidityConcentration)); } else { e->setArgument(4); } if (v6_ImpuritiesContent) { e->setArgument(5,(*v6_ImpuritiesContent)); } else { e->setArgument(5); } if (v7_PHLevel) { e->setArgument(6,(*v7_PHLevel)); } else { e->setArgument(6); } if (v8_DissolvedSolidsContent) { e->setArgument(7,(*v8_DissolvedSolidsContent)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindow bool IfcWindow::hasOverallHeight() const { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcWindow::OverallHeight() const { return *entity->getArgument(8); } -void IfcWindow::setOverallHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcWindow::OverallHeight() const { return *entity->getArgument(8); } +void IfcWindow::setOverallHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcWindow::hasOverallWidth() const { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcWindow::OverallWidth() const { return *entity->getArgument(9); } -void IfcWindow::setOverallWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcWindow::OverallWidth() const { return *entity->getArgument(9); } +void IfcWindow::setOverallWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcWindow::is(Type::Enum v) const { return v == Type::IfcWindow || IfcBuildingElement::is(v); } Type::Enum IfcWindow::type() const { return Type::IfcWindow; } Type::Enum IfcWindow::Class() { return Type::IfcWindow; } IfcWindow::IfcWindow(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindow)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindow::IfcWindow(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcWindow::IfcWindow(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindowLiningProperties bool IfcWindowLiningProperties::hasLiningDepth() const { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcWindowLiningProperties::LiningDepth() const { return *entity->getArgument(4); } -void IfcWindowLiningProperties::setLiningDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcWindowLiningProperties::LiningDepth() const { return *entity->getArgument(4); } +void IfcWindowLiningProperties::setLiningDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcWindowLiningProperties::hasLiningThickness() const { return !entity->getArgument(5)->isNull(); } -IfcPositiveLengthMeasure IfcWindowLiningProperties::LiningThickness() const { return *entity->getArgument(5); } -void IfcWindowLiningProperties::setLiningThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcWindowLiningProperties::LiningThickness() const { return *entity->getArgument(5); } +void IfcWindowLiningProperties::setLiningThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcWindowLiningProperties::hasTransomThickness() const { return !entity->getArgument(6)->isNull(); } -IfcPositiveLengthMeasure IfcWindowLiningProperties::TransomThickness() const { return *entity->getArgument(6); } -void IfcWindowLiningProperties::setTransomThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcWindowLiningProperties::TransomThickness() const { return *entity->getArgument(6); } +void IfcWindowLiningProperties::setTransomThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcWindowLiningProperties::hasMullionThickness() const { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcWindowLiningProperties::MullionThickness() const { return *entity->getArgument(7); } -void IfcWindowLiningProperties::setMullionThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcWindowLiningProperties::MullionThickness() const { return *entity->getArgument(7); } +void IfcWindowLiningProperties::setMullionThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcWindowLiningProperties::hasFirstTransomOffset() const { return !entity->getArgument(8)->isNull(); } -IfcNormalisedRatioMeasure IfcWindowLiningProperties::FirstTransomOffset() const { return *entity->getArgument(8); } -void IfcWindowLiningProperties::setFirstTransomOffset(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcWindowLiningProperties::FirstTransomOffset() const { return *entity->getArgument(8); } +void IfcWindowLiningProperties::setFirstTransomOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcWindowLiningProperties::hasSecondTransomOffset() const { return !entity->getArgument(9)->isNull(); } -IfcNormalisedRatioMeasure IfcWindowLiningProperties::SecondTransomOffset() const { return *entity->getArgument(9); } -void IfcWindowLiningProperties::setSecondTransomOffset(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcWindowLiningProperties::SecondTransomOffset() const { return *entity->getArgument(9); } +void IfcWindowLiningProperties::setSecondTransomOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcWindowLiningProperties::hasFirstMullionOffset() const { return !entity->getArgument(10)->isNull(); } -IfcNormalisedRatioMeasure IfcWindowLiningProperties::FirstMullionOffset() const { return *entity->getArgument(10); } -void IfcWindowLiningProperties::setFirstMullionOffset(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcWindowLiningProperties::FirstMullionOffset() const { return *entity->getArgument(10); } +void IfcWindowLiningProperties::setFirstMullionOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcWindowLiningProperties::hasSecondMullionOffset() const { return !entity->getArgument(11)->isNull(); } -IfcNormalisedRatioMeasure IfcWindowLiningProperties::SecondMullionOffset() const { return *entity->getArgument(11); } -void IfcWindowLiningProperties::setSecondMullionOffset(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcWindowLiningProperties::SecondMullionOffset() const { return *entity->getArgument(11); } +void IfcWindowLiningProperties::setSecondMullionOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcWindowLiningProperties::hasShapeAspectStyle() const { return !entity->getArgument(12)->isNull(); } IfcShapeAspect* IfcWindowLiningProperties::ShapeAspectStyle() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(12))); } void IfcWindowLiningProperties::setShapeAspectStyle(IfcShapeAspect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } @@ -12898,7 +14302,7 @@ bool IfcWindowLiningProperties::is(Type::Enum v) const { return v == Type::IfcWi Type::Enum IfcWindowLiningProperties::type() const { return Type::IfcWindowLiningProperties; } Type::Enum IfcWindowLiningProperties::Class() { return Type::IfcWindowLiningProperties; } IfcWindowLiningProperties::IfcWindowLiningProperties(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindowLiningProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindowLiningProperties::IfcWindowLiningProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_LiningDepth, boost::optional< IfcPositiveLengthMeasure > v6_LiningThickness, boost::optional< IfcPositiveLengthMeasure > v7_TransomThickness, boost::optional< IfcPositiveLengthMeasure > v8_MullionThickness, boost::optional< IfcNormalisedRatioMeasure > v9_FirstTransomOffset, boost::optional< IfcNormalisedRatioMeasure > v10_SecondTransomOffset, boost::optional< IfcNormalisedRatioMeasure > v11_FirstMullionOffset, boost::optional< IfcNormalisedRatioMeasure > v12_SecondMullionOffset, IfcShapeAspect* v13_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_LiningDepth) { e->setArgument(4,(*v5_LiningDepth)); } else { e->setArgument(4); } if (v6_LiningThickness) { e->setArgument(5,(*v6_LiningThickness)); } else { e->setArgument(5); } if (v7_TransomThickness) { e->setArgument(6,(*v7_TransomThickness)); } else { e->setArgument(6); } if (v8_MullionThickness) { e->setArgument(7,(*v8_MullionThickness)); } else { e->setArgument(7); } if (v9_FirstTransomOffset) { e->setArgument(8,(*v9_FirstTransomOffset)); } else { e->setArgument(8); } if (v10_SecondTransomOffset) { e->setArgument(9,(*v10_SecondTransomOffset)); } else { e->setArgument(9); } if (v11_FirstMullionOffset) { e->setArgument(10,(*v11_FirstMullionOffset)); } else { e->setArgument(10); } if (v12_SecondMullionOffset) { e->setArgument(11,(*v12_SecondMullionOffset)); } else { e->setArgument(11); } e->setArgument(12,(v13_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } +IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_TransomThickness, boost::optional< double > v8_MullionThickness, boost::optional< double > v9_FirstTransomOffset, boost::optional< double > v10_SecondTransomOffset, boost::optional< double > v11_FirstMullionOffset, boost::optional< double > v12_SecondMullionOffset, IfcShapeAspect* v13_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_LiningDepth) { e->setArgument(4,(*v5_LiningDepth)); } else { e->setArgument(4); } if (v6_LiningThickness) { e->setArgument(5,(*v6_LiningThickness)); } else { e->setArgument(5); } if (v7_TransomThickness) { e->setArgument(6,(*v7_TransomThickness)); } else { e->setArgument(6); } if (v8_MullionThickness) { e->setArgument(7,(*v8_MullionThickness)); } else { e->setArgument(7); } if (v9_FirstTransomOffset) { e->setArgument(8,(*v9_FirstTransomOffset)); } else { e->setArgument(8); } if (v10_SecondTransomOffset) { e->setArgument(9,(*v10_SecondTransomOffset)); } else { e->setArgument(9); } if (v11_FirstMullionOffset) { e->setArgument(10,(*v11_FirstMullionOffset)); } else { e->setArgument(10); } if (v12_SecondMullionOffset) { e->setArgument(11,(*v12_SecondMullionOffset)); } else { e->setArgument(11); } e->setArgument(12,(v13_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindowPanelProperties IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum IfcWindowPanelProperties::OperationType() const { return IfcWindowPanelOperationEnum::FromString(*entity->getArgument(4)); } @@ -12906,11 +14310,11 @@ void IfcWindowPanelProperties::setOperationType(IfcWindowPanelOperationEnum::Ifc IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum IfcWindowPanelProperties::PanelPosition() const { return IfcWindowPanelPositionEnum::FromString(*entity->getArgument(5)); } void IfcWindowPanelProperties::setPanelPosition(IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcWindowPanelPositionEnum::ToString(v)); } bool IfcWindowPanelProperties::hasFrameDepth() const { return !entity->getArgument(6)->isNull(); } -IfcPositiveLengthMeasure IfcWindowPanelProperties::FrameDepth() const { return *entity->getArgument(6); } -void IfcWindowPanelProperties::setFrameDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcWindowPanelProperties::FrameDepth() const { return *entity->getArgument(6); } +void IfcWindowPanelProperties::setFrameDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcWindowPanelProperties::hasFrameThickness() const { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcWindowPanelProperties::FrameThickness() const { return *entity->getArgument(7); } -void IfcWindowPanelProperties::setFrameThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcWindowPanelProperties::FrameThickness() const { return *entity->getArgument(7); } +void IfcWindowPanelProperties::setFrameThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcWindowPanelProperties::hasShapeAspectStyle() const { return !entity->getArgument(8)->isNull(); } IfcShapeAspect* IfcWindowPanelProperties::ShapeAspectStyle() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } void IfcWindowPanelProperties::setShapeAspectStyle(IfcShapeAspect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } @@ -12918,7 +14322,7 @@ bool IfcWindowPanelProperties::is(Type::Enum v) const { return v == Type::IfcWin Type::Enum IfcWindowPanelProperties::type() const { return Type::IfcWindowPanelProperties; } Type::Enum IfcWindowPanelProperties::Class() { return Type::IfcWindowPanelProperties; } IfcWindowPanelProperties::IfcWindowPanelProperties(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindowPanelProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindowPanelProperties::IfcWindowPanelProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< IfcPositiveLengthMeasure > v7_FrameDepth, boost::optional< IfcPositiveLengthMeasure > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_OperationType,IfcWindowPanelOperationEnum::ToString(v5_OperationType)); e->setArgument(5,v6_PanelPosition,IfcWindowPanelPositionEnum::ToString(v6_PanelPosition)); if (v7_FrameDepth) { e->setArgument(6,(*v7_FrameDepth)); } else { e->setArgument(6); } if (v8_FrameThickness) { e->setArgument(7,(*v8_FrameThickness)); } else { e->setArgument(7); } e->setArgument(8,(v9_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } +IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_OperationType,IfcWindowPanelOperationEnum::ToString(v5_OperationType)); e->setArgument(5,v6_PanelPosition,IfcWindowPanelPositionEnum::ToString(v6_PanelPosition)); if (v7_FrameDepth) { e->setArgument(6,(*v7_FrameDepth)); } else { e->setArgument(6); } if (v8_FrameThickness) { e->setArgument(7,(*v8_FrameThickness)); } else { e->setArgument(7); } e->setArgument(8,(v9_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindowStyle IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum IfcWindowStyle::ConstructionType() const { return IfcWindowStyleConstructionEnum::FromString(*entity->getArgument(8)); } @@ -12933,82 +14337,82 @@ bool IfcWindowStyle::is(Type::Enum v) const { return v == Type::IfcWindowStyle | Type::Enum IfcWindowStyle::type() const { return Type::IfcWindowStyle; } Type::Enum IfcWindowStyle::Class() { return Type::IfcWindowStyle; } IfcWindowStyle::IfcWindowStyle(IfcAbstractEntity* e) : IfcTypeProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindowStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindowStyle::IfcWindowStyle(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v9_ConstructionType, IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_ConstructionType,IfcWindowStyleConstructionEnum::ToString(v9_ConstructionType)); e->setArgument(9,v10_OperationType,IfcWindowStyleOperationEnum::ToString(v10_OperationType)); e->setArgument(10,(v11_ParameterTakesPrecedence)); e->setArgument(11,(v12_Sizeable)); entity = e; EntityBuffer::Add(this); } +IfcWindowStyle::IfcWindowStyle(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v9_ConstructionType, IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_ConstructionType,IfcWindowStyleConstructionEnum::ToString(v9_ConstructionType)); e->setArgument(9,v10_OperationType,IfcWindowStyleOperationEnum::ToString(v10_OperationType)); e->setArgument(10,(v11_ParameterTakesPrecedence)); e->setArgument(11,(v12_Sizeable)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWorkControl -IfcIdentifier IfcWorkControl::Identifier() const { return *entity->getArgument(5); } -void IfcWorkControl::setIdentifier(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcDateTimeSelect IfcWorkControl::CreationDate() const { return *entity->getArgument(6); } -void IfcWorkControl::setCreationDate(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcWorkControl::Identifier() const { return *entity->getArgument(5); } +void IfcWorkControl::setIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +IfcDateTimeSelect* IfcWorkControl::CreationDate() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } +void IfcWorkControl::setCreationDate(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcWorkControl::hasCreators() const { return !entity->getArgument(7)->isNull(); } IfcTemplatedEntityList< IfcPerson >::ptr IfcWorkControl::Creators() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } void IfcWorkControl::setCreators(IfcTemplatedEntityList< IfcPerson >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } bool IfcWorkControl::hasPurpose() const { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcWorkControl::Purpose() const { return *entity->getArgument(8); } -void IfcWorkControl::setPurpose(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcWorkControl::Purpose() const { return *entity->getArgument(8); } +void IfcWorkControl::setPurpose(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcWorkControl::hasDuration() const { return !entity->getArgument(9)->isNull(); } -IfcTimeMeasure IfcWorkControl::Duration() const { return *entity->getArgument(9); } -void IfcWorkControl::setDuration(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcWorkControl::Duration() const { return *entity->getArgument(9); } +void IfcWorkControl::setDuration(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcWorkControl::hasTotalFloat() const { return !entity->getArgument(10)->isNull(); } -IfcTimeMeasure IfcWorkControl::TotalFloat() const { return *entity->getArgument(10); } -void IfcWorkControl::setTotalFloat(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -IfcDateTimeSelect IfcWorkControl::StartTime() const { return *entity->getArgument(11); } -void IfcWorkControl::setStartTime(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcWorkControl::TotalFloat() const { return *entity->getArgument(10); } +void IfcWorkControl::setTotalFloat(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +IfcDateTimeSelect* IfcWorkControl::StartTime() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(11))); } +void IfcWorkControl::setStartTime(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcWorkControl::hasFinishTime() const { return !entity->getArgument(12)->isNull(); } -IfcDateTimeSelect IfcWorkControl::FinishTime() const { return *entity->getArgument(12); } -void IfcWorkControl::setFinishTime(IfcDateTimeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +IfcDateTimeSelect* IfcWorkControl::FinishTime() const { return (IfcDateTimeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(12))); } +void IfcWorkControl::setFinishTime(IfcDateTimeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcWorkControl::hasWorkControlType() const { return !entity->getArgument(13)->isNull(); } IfcWorkControlTypeEnum::IfcWorkControlTypeEnum IfcWorkControl::WorkControlType() const { return IfcWorkControlTypeEnum::FromString(*entity->getArgument(13)); } void IfcWorkControl::setWorkControlType(IfcWorkControlTypeEnum::IfcWorkControlTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v,IfcWorkControlTypeEnum::ToString(v)); } bool IfcWorkControl::hasUserDefinedControlType() const { return !entity->getArgument(14)->isNull(); } -IfcLabel IfcWorkControl::UserDefinedControlType() const { return *entity->getArgument(14); } -void IfcWorkControl::setUserDefinedControlType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } +std::string IfcWorkControl::UserDefinedControlType() const { return *entity->getArgument(14); } +void IfcWorkControl::setUserDefinedControlType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } bool IfcWorkControl::is(Type::Enum v) const { return v == Type::IfcWorkControl || IfcControl::is(v); } Type::Enum IfcWorkControl::type() const { return Type::IfcWorkControl; } Type::Enum IfcWorkControl::Class() { return Type::IfcWorkControl; } IfcWorkControl::IfcWorkControl(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWorkControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWorkControl::IfcWorkControl(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_Identifier, IfcDateTimeSelect v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcTimeMeasure > v10_Duration, boost::optional< IfcTimeMeasure > v11_TotalFloat, IfcDateTimeSelect v12_StartTime, boost::optional< IfcDateTimeSelect > v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< IfcLabel > v15_UserDefinedControlType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Identifier)); e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } if (v14_WorkControlType) { e->setArgument(13,*v14_WorkControlType,IfcWorkControlTypeEnum::ToString(*v14_WorkControlType)); } else { e->setArgument(13); } if (v15_UserDefinedControlType) { e->setArgument(14,(*v15_UserDefinedControlType)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } +IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_Identifier, IfcDateTimeSelect* v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< double > v10_Duration, boost::optional< double > v11_TotalFloat, IfcDateTimeSelect* v12_StartTime, IfcDateTimeSelect* v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< std::string > v15_UserDefinedControlType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Identifier)); e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); e->setArgument(12,(v13_FinishTime)); if (v14_WorkControlType) { e->setArgument(13,*v14_WorkControlType,IfcWorkControlTypeEnum::ToString(*v14_WorkControlType)); } else { e->setArgument(13); } if (v15_UserDefinedControlType) { e->setArgument(14,(*v15_UserDefinedControlType)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWorkPlan bool IfcWorkPlan::is(Type::Enum v) const { return v == Type::IfcWorkPlan || IfcWorkControl::is(v); } Type::Enum IfcWorkPlan::type() const { return Type::IfcWorkPlan; } Type::Enum IfcWorkPlan::Class() { return Type::IfcWorkPlan; } IfcWorkPlan::IfcWorkPlan(IfcAbstractEntity* e) : IfcWorkControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWorkPlan)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWorkPlan::IfcWorkPlan(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_Identifier, IfcDateTimeSelect v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcTimeMeasure > v10_Duration, boost::optional< IfcTimeMeasure > v11_TotalFloat, IfcDateTimeSelect v12_StartTime, boost::optional< IfcDateTimeSelect > v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< IfcLabel > v15_UserDefinedControlType) : IfcWorkControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Identifier)); e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } if (v14_WorkControlType) { e->setArgument(13,*v14_WorkControlType,IfcWorkControlTypeEnum::ToString(*v14_WorkControlType)); } else { e->setArgument(13); } if (v15_UserDefinedControlType) { e->setArgument(14,(*v15_UserDefinedControlType)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } +IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_Identifier, IfcDateTimeSelect* v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< double > v10_Duration, boost::optional< double > v11_TotalFloat, IfcDateTimeSelect* v12_StartTime, IfcDateTimeSelect* v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< std::string > v15_UserDefinedControlType) : IfcWorkControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Identifier)); e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); e->setArgument(12,(v13_FinishTime)); if (v14_WorkControlType) { e->setArgument(13,*v14_WorkControlType,IfcWorkControlTypeEnum::ToString(*v14_WorkControlType)); } else { e->setArgument(13); } if (v15_UserDefinedControlType) { e->setArgument(14,(*v15_UserDefinedControlType)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWorkSchedule bool IfcWorkSchedule::is(Type::Enum v) const { return v == Type::IfcWorkSchedule || IfcWorkControl::is(v); } Type::Enum IfcWorkSchedule::type() const { return Type::IfcWorkSchedule; } Type::Enum IfcWorkSchedule::Class() { return Type::IfcWorkSchedule; } IfcWorkSchedule::IfcWorkSchedule(IfcAbstractEntity* e) : IfcWorkControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWorkSchedule)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWorkSchedule::IfcWorkSchedule(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_Identifier, IfcDateTimeSelect v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcTimeMeasure > v10_Duration, boost::optional< IfcTimeMeasure > v11_TotalFloat, IfcDateTimeSelect v12_StartTime, boost::optional< IfcDateTimeSelect > v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< IfcLabel > v15_UserDefinedControlType) : IfcWorkControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Identifier)); e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } if (v14_WorkControlType) { e->setArgument(13,*v14_WorkControlType,IfcWorkControlTypeEnum::ToString(*v14_WorkControlType)); } else { e->setArgument(13); } if (v15_UserDefinedControlType) { e->setArgument(14,(*v15_UserDefinedControlType)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } +IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_Identifier, IfcDateTimeSelect* v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< double > v10_Duration, boost::optional< double > v11_TotalFloat, IfcDateTimeSelect* v12_StartTime, IfcDateTimeSelect* v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< std::string > v15_UserDefinedControlType) : IfcWorkControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_Identifier)); e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); e->setArgument(12,(v13_FinishTime)); if (v14_WorkControlType) { e->setArgument(13,*v14_WorkControlType,IfcWorkControlTypeEnum::ToString(*v14_WorkControlType)); } else { e->setArgument(13); } if (v15_UserDefinedControlType) { e->setArgument(14,(*v15_UserDefinedControlType)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcZShapeProfileDef -IfcPositiveLengthMeasure IfcZShapeProfileDef::Depth() const { return *entity->getArgument(3); } -void IfcZShapeProfileDef::setDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcZShapeProfileDef::FlangeWidth() const { return *entity->getArgument(4); } -void IfcZShapeProfileDef::setFlangeWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcZShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } -void IfcZShapeProfileDef::setWebThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcZShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } -void IfcZShapeProfileDef::setFlangeThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcZShapeProfileDef::Depth() const { return *entity->getArgument(3); } +void IfcZShapeProfileDef::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcZShapeProfileDef::FlangeWidth() const { return *entity->getArgument(4); } +void IfcZShapeProfileDef::setFlangeWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcZShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } +void IfcZShapeProfileDef::setWebThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcZShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } +void IfcZShapeProfileDef::setFlangeThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcZShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcZShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } -void IfcZShapeProfileDef::setFilletRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcZShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } +void IfcZShapeProfileDef::setFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcZShapeProfileDef::hasEdgeRadius() const { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcZShapeProfileDef::EdgeRadius() const { return *entity->getArgument(8); } -void IfcZShapeProfileDef::setEdgeRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcZShapeProfileDef::EdgeRadius() const { return *entity->getArgument(8); } +void IfcZShapeProfileDef::setEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcZShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcZShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcZShapeProfileDef::type() const { return Type::IfcZShapeProfileDef; } Type::Enum IfcZShapeProfileDef::Class() { return Type::IfcZShapeProfileDef; } IfcZShapeProfileDef::IfcZShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcZShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcZShapeProfileDef::IfcZShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcPositiveLengthMeasure > v8_FilletRadius, boost::optional< IfcPositiveLengthMeasure > v9_EdgeRadius) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_EdgeRadius) { e->setArgument(8,(*v9_EdgeRadius)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcZShapeProfileDef::IfcZShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_EdgeRadius) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_EdgeRadius) { e->setArgument(8,(*v9_EdgeRadius)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcZone bool IfcZone::is(Type::Enum v) const { return v == Type::IfcZone || IfcGroup::is(v); } Type::Enum IfcZone::type() const { return Type::IfcZone; } Type::Enum IfcZone::Class() { return Type::IfcZone; } IfcZone::IfcZone(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcZone)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcZone::IfcZone(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcZone::IfcZone(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } #endif diff --git a/src/ifcparse/Ifc2x3.h b/src/ifcparse/Ifc2x3.h index 7a801d9d35..27db772898 100644 --- a/src/ifcparse/Ifc2x3.h +++ b/src/ifcparse/Ifc2x3.h @@ -42,939 +42,8 @@ namespace Ifc2x3 { // Forward definitions -class Ifc2DCompositeCurve; class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuatorType; class IfcAddress; class IfcAirTerminalBoxType; class IfcAirTerminalType; class IfcAirToAirHeatRecoveryType; class IfcAlarmType; class IfcAngularDimension; class IfcAnnotation; class IfcAnnotationCurveOccurrence; class IfcAnnotationFillArea; class IfcAnnotationFillAreaOccurrence; class IfcAnnotationOccurrence; class IfcAnnotationSurface; class IfcAnnotationSurfaceOccurrence; class IfcAnnotationSymbolOccurrence; class IfcAnnotationTextOccurrence; class IfcApplication; class IfcAppliedValue; class IfcAppliedValueRelationship; class IfcApproval; class IfcApprovalActorRelationship; class IfcApprovalPropertyRelationship; class IfcApprovalRelationship; class IfcArbitraryClosedProfileDef; class IfcArbitraryOpenProfileDef; class IfcArbitraryProfileDefWithVoids; class IfcAsset; class IfcAsymmetricIShapeProfileDef; class IfcAxis1Placement; class IfcAxis2Placement2D; class IfcAxis2Placement3D; class IfcBSplineCurve; class IfcBeam; class IfcBeamType; class IfcBezierCurve; class IfcBlobTexture; class IfcBlock; class IfcBoilerType; class IfcBooleanClippingResult; class IfcBooleanResult; class IfcBoundaryCondition; class IfcBoundaryEdgeCondition; class IfcBoundaryFaceCondition; class IfcBoundaryNodeCondition; class IfcBoundaryNodeConditionWarping; class IfcBoundedCurve; class IfcBoundedSurface; class IfcBoundingBox; class IfcBoxedHalfSpace; class IfcBuilding; class IfcBuildingElement; class IfcBuildingElementComponent; class IfcBuildingElementPart; class IfcBuildingElementProxy; class IfcBuildingElementProxyType; class IfcBuildingElementType; class IfcBuildingStorey; class IfcCShapeProfileDef; class IfcCableCarrierFittingType; class IfcCableCarrierSegmentType; class IfcCableSegmentType; class IfcCalendarDate; class IfcCartesianPoint; class IfcCartesianTransformationOperator; class IfcCartesianTransformationOperator2D; class IfcCartesianTransformationOperator2DnonUniform; class IfcCartesianTransformationOperator3D; class IfcCartesianTransformationOperator3DnonUniform; class IfcCenterLineProfileDef; class IfcChamferEdgeFeature; class IfcChillerType; class IfcCircle; class IfcCircleHollowProfileDef; class IfcCircleProfileDef; class IfcClassification; class IfcClassificationItem; class IfcClassificationItemRelationship; class IfcClassificationNotation; class IfcClassificationNotationFacet; class IfcClassificationReference; class IfcClosedShell; class IfcCoilType; class IfcColourRgb; class IfcColourSpecification; class IfcColumn; class IfcColumnType; class IfcComplexProperty; class IfcCompositeCurve; class IfcCompositeCurveSegment; class IfcCompositeProfileDef; class IfcCompressorType; class IfcCondenserType; class IfcCondition; class IfcConditionCriterion; class IfcConic; class IfcConnectedFaceSet; class IfcConnectionCurveGeometry; class IfcConnectionGeometry; class IfcConnectionPointEccentricity; class IfcConnectionPointGeometry; class IfcConnectionPortGeometry; class IfcConnectionSurfaceGeometry; class IfcConstraint; class IfcConstraintAggregationRelationship; class IfcConstraintClassificationRelationship; class IfcConstraintRelationship; class IfcConstructionEquipmentResource; class IfcConstructionMaterialResource; class IfcConstructionProductResource; class IfcConstructionResource; class IfcContextDependentUnit; class IfcControl; class IfcControllerType; class IfcConversionBasedUnit; class IfcCooledBeamType; class IfcCoolingTowerType; class IfcCoordinatedUniversalTimeOffset; class IfcCostItem; class IfcCostSchedule; class IfcCostValue; class IfcCovering; class IfcCoveringType; class IfcCraneRailAShapeProfileDef; class IfcCraneRailFShapeProfileDef; class IfcCrewResource; class IfcCsgPrimitive3D; class IfcCsgSolid; class IfcCurrencyRelationship; class IfcCurtainWall; class IfcCurtainWallType; class IfcCurve; class IfcCurveBoundedPlane; class IfcCurveStyle; class IfcCurveStyleFont; class IfcCurveStyleFontAndScaling; class IfcCurveStyleFontPattern; class IfcDamperType; class IfcDateAndTime; class IfcDefinedSymbol; class IfcDerivedProfileDef; class IfcDerivedUnit; class IfcDerivedUnitElement; class IfcDiameterDimension; class IfcDimensionCalloutRelationship; class IfcDimensionCurve; class IfcDimensionCurveDirectedCallout; class IfcDimensionCurveTerminator; class IfcDimensionPair; class IfcDimensionalExponents; class IfcDirection; class IfcDiscreteAccessory; class IfcDiscreteAccessoryType; class IfcDistributionChamberElement; class IfcDistributionChamberElementType; class IfcDistributionControlElement; class IfcDistributionControlElementType; class IfcDistributionElement; class IfcDistributionElementType; class IfcDistributionFlowElement; class IfcDistributionFlowElementType; class IfcDistributionPort; class IfcDocumentElectronicFormat; class IfcDocumentInformation; class IfcDocumentInformationRelationship; class IfcDocumentReference; class IfcDoor; class IfcDoorLiningProperties; class IfcDoorPanelProperties; class IfcDoorStyle; class IfcDraughtingCallout; class IfcDraughtingCalloutRelationship; class IfcDraughtingPreDefinedColour; class IfcDraughtingPreDefinedCurveFont; class IfcDraughtingPreDefinedTextFont; class IfcDuctFittingType; class IfcDuctSegmentType; class IfcDuctSilencerType; class IfcEdge; class IfcEdgeCurve; class IfcEdgeFeature; class IfcEdgeLoop; class IfcElectricApplianceType; class IfcElectricDistributionPoint; class IfcElectricFlowStorageDeviceType; class IfcElectricGeneratorType; class IfcElectricHeaterType; class IfcElectricMotorType; class IfcElectricTimeControlType; class IfcElectricalBaseProperties; class IfcElectricalCircuit; class IfcElectricalElement; class IfcElement; class IfcElementAssembly; class IfcElementComponent; class IfcElementComponentType; class IfcElementQuantity; class IfcElementType; class IfcElementarySurface; class IfcEllipse; class IfcEllipseProfileDef; class IfcEnergyConversionDevice; class IfcEnergyConversionDeviceType; class IfcEnergyProperties; class IfcEnvironmentalImpactValue; class IfcEquipmentElement; class IfcEquipmentStandard; class IfcEvaporativeCoolerType; class IfcEvaporatorType; class IfcExtendedMaterialProperties; class IfcExternalReference; class IfcExternallyDefinedHatchStyle; class IfcExternallyDefinedSurfaceStyle; class IfcExternallyDefinedSymbol; class IfcExternallyDefinedTextFont; class IfcExtrudedAreaSolid; class IfcFace; class IfcFaceBasedSurfaceModel; class IfcFaceBound; class IfcFaceOuterBound; class IfcFaceSurface; class IfcFacetedBrep; class IfcFacetedBrepWithVoids; class IfcFailureConnectionCondition; class IfcFanType; class IfcFastener; class IfcFastenerType; class IfcFeatureElement; class IfcFeatureElementAddition; class IfcFeatureElementSubtraction; class IfcFillAreaStyle; class IfcFillAreaStyleHatching; class IfcFillAreaStyleTileSymbolWithStyle; class IfcFillAreaStyleTiles; class IfcFilterType; class IfcFireSuppressionTerminalType; class IfcFlowController; class IfcFlowControllerType; class IfcFlowFitting; class IfcFlowFittingType; class IfcFlowInstrumentType; class IfcFlowMeterType; class IfcFlowMovingDevice; class IfcFlowMovingDeviceType; class IfcFlowSegment; class IfcFlowSegmentType; class IfcFlowStorageDevice; class IfcFlowStorageDeviceType; class IfcFlowTerminal; class IfcFlowTerminalType; class IfcFlowTreatmentDevice; class IfcFlowTreatmentDeviceType; class IfcFluidFlowProperties; class IfcFooting; class IfcFuelProperties; class IfcFurnishingElement; class IfcFurnishingElementType; class IfcFurnitureStandard; class IfcFurnitureType; class IfcGasTerminalType; class IfcGeneralMaterialProperties; class IfcGeneralProfileProperties; class IfcGeometricCurveSet; class IfcGeometricRepresentationContext; class IfcGeometricRepresentationItem; class IfcGeometricRepresentationSubContext; class IfcGeometricSet; class IfcGrid; class IfcGridAxis; class IfcGridPlacement; class IfcGroup; class IfcHalfSpaceSolid; class IfcHeatExchangerType; class IfcHumidifierType; class IfcHygroscopicMaterialProperties; class IfcIShapeProfileDef; class IfcImageTexture; class IfcInventory; class IfcIrregularTimeSeries; class IfcIrregularTimeSeriesValue; class IfcJunctionBoxType; class IfcLShapeProfileDef; class IfcLaborResource; class IfcLampType; class IfcLibraryInformation; class IfcLibraryReference; class IfcLightDistributionData; class IfcLightFixtureType; class IfcLightIntensityDistribution; class IfcLightSource; class IfcLightSourceAmbient; class IfcLightSourceDirectional; class IfcLightSourceGoniometric; class IfcLightSourcePositional; class IfcLightSourceSpot; class IfcLine; class IfcLinearDimension; class IfcLocalPlacement; class IfcLocalTime; class IfcLoop; class IfcManifoldSolidBrep; class IfcMappedItem; class IfcMaterial; class IfcMaterialClassificationRelationship; class IfcMaterialDefinitionRepresentation; class IfcMaterialLayer; class IfcMaterialLayerSet; class IfcMaterialLayerSetUsage; class IfcMaterialList; class IfcMaterialProperties; class IfcMeasureWithUnit; class IfcMechanicalConcreteMaterialProperties; class IfcMechanicalFastener; class IfcMechanicalFastenerType; class IfcMechanicalMaterialProperties; class IfcMechanicalSteelMaterialProperties; class IfcMember; class IfcMemberType; class IfcMetric; class IfcMonetaryUnit; class IfcMotorConnectionType; class IfcMove; class IfcNamedUnit; class IfcObject; class IfcObjectDefinition; class IfcObjectPlacement; class IfcObjective; class IfcOccupant; class IfcOffsetCurve2D; class IfcOffsetCurve3D; class IfcOneDirectionRepeatFactor; class IfcOpenShell; class IfcOpeningElement; class IfcOpticalMaterialProperties; class IfcOrderAction; class IfcOrganization; class IfcOrganizationRelationship; class IfcOrientedEdge; class IfcOutletType; class IfcOwnerHistory; class IfcParameterizedProfileDef; class IfcPath; class IfcPerformanceHistory; class IfcPermeableCoveringProperties; class IfcPermit; class IfcPerson; class IfcPersonAndOrganization; class IfcPhysicalComplexQuantity; class IfcPhysicalQuantity; class IfcPhysicalSimpleQuantity; class IfcPile; class IfcPipeFittingType; class IfcPipeSegmentType; class IfcPixelTexture; class IfcPlacement; class IfcPlanarBox; class IfcPlanarExtent; class IfcPlane; class IfcPlate; class IfcPlateType; class IfcPoint; class IfcPointOnCurve; class IfcPointOnSurface; class IfcPolyLoop; class IfcPolygonalBoundedHalfSpace; class IfcPolyline; class IfcPort; class IfcPostalAddress; class IfcPreDefinedColour; class IfcPreDefinedCurveFont; class IfcPreDefinedDimensionSymbol; class IfcPreDefinedItem; class IfcPreDefinedPointMarkerSymbol; class IfcPreDefinedSymbol; class IfcPreDefinedTerminatorSymbol; class IfcPreDefinedTextFont; class IfcPresentationLayerAssignment; class IfcPresentationLayerWithStyle; class IfcPresentationStyle; class IfcPresentationStyleAssignment; class IfcProcedure; class IfcProcess; class IfcProduct; class IfcProductDefinitionShape; class IfcProductRepresentation; class IfcProductsOfCombustionProperties; class IfcProfileDef; class IfcProfileProperties; class IfcProject; class IfcProjectOrder; class IfcProjectOrderRecord; class IfcProjectionCurve; class IfcProjectionElement; class IfcProperty; class IfcPropertyBoundedValue; class IfcPropertyConstraintRelationship; class IfcPropertyDefinition; class IfcPropertyDependencyRelationship; class IfcPropertyEnumeratedValue; class IfcPropertyEnumeration; class IfcPropertyListValue; class IfcPropertyReferenceValue; class IfcPropertySet; class IfcPropertySetDefinition; class IfcPropertySingleValue; class IfcPropertyTableValue; class IfcProtectiveDeviceType; class IfcProxy; class IfcPumpType; class IfcQuantityArea; class IfcQuantityCount; class IfcQuantityLength; class IfcQuantityTime; class IfcQuantityVolume; class IfcQuantityWeight; class IfcRadiusDimension; class IfcRailing; class IfcRailingType; class IfcRamp; class IfcRampFlight; class IfcRampFlightType; class IfcRationalBezierCurve; class IfcRectangleHollowProfileDef; class IfcRectangleProfileDef; class IfcRectangularPyramid; class IfcRectangularTrimmedSurface; class IfcReferencesValueDocument; class IfcRegularTimeSeries; class IfcReinforcementBarProperties; class IfcReinforcementDefinitionProperties; class IfcReinforcingBar; class IfcReinforcingElement; class IfcReinforcingMesh; class IfcRelAggregates; class IfcRelAssigns; class IfcRelAssignsTasks; class IfcRelAssignsToActor; class IfcRelAssignsToControl; class IfcRelAssignsToGroup; class IfcRelAssignsToProcess; class IfcRelAssignsToProduct; class IfcRelAssignsToProjectOrder; class IfcRelAssignsToResource; class IfcRelAssociates; class IfcRelAssociatesAppliedValue; class IfcRelAssociatesApproval; class IfcRelAssociatesClassification; class IfcRelAssociatesConstraint; class IfcRelAssociatesDocument; class IfcRelAssociatesLibrary; class IfcRelAssociatesMaterial; class IfcRelAssociatesProfileProperties; class IfcRelConnects; class IfcRelConnectsElements; class IfcRelConnectsPathElements; class IfcRelConnectsPortToElement; class IfcRelConnectsPorts; class IfcRelConnectsStructuralActivity; class IfcRelConnectsStructuralElement; class IfcRelConnectsStructuralMember; class IfcRelConnectsWithEccentricity; class IfcRelConnectsWithRealizingElements; class IfcRelContainedInSpatialStructure; class IfcRelCoversBldgElements; class IfcRelCoversSpaces; class IfcRelDecomposes; class IfcRelDefines; class IfcRelDefinesByProperties; class IfcRelDefinesByType; class IfcRelFillsElement; class IfcRelFlowControlElements; class IfcRelInteractionRequirements; class IfcRelNests; class IfcRelOccupiesSpaces; class IfcRelOverridesProperties; class IfcRelProjectsElement; class IfcRelReferencedInSpatialStructure; class IfcRelSchedulesCostItems; class IfcRelSequence; class IfcRelServicesBuildings; class IfcRelSpaceBoundary; class IfcRelVoidsElement; class IfcRelationship; class IfcRelaxation; class IfcRepresentation; class IfcRepresentationContext; class IfcRepresentationItem; class IfcRepresentationMap; class IfcResource; class IfcRevolvedAreaSolid; class IfcRibPlateProfileProperties; class IfcRightCircularCone; class IfcRightCircularCylinder; class IfcRoof; class IfcRoot; class IfcRoundedEdgeFeature; class IfcRoundedRectangleProfileDef; class IfcSIUnit; class IfcSanitaryTerminalType; class IfcScheduleTimeControl; class IfcSectionProperties; class IfcSectionReinforcementProperties; class IfcSectionedSpine; class IfcSensorType; class IfcServiceLife; class IfcServiceLifeFactor; class IfcShapeAspect; class IfcShapeModel; class IfcShapeRepresentation; class IfcShellBasedSurfaceModel; class IfcSimpleProperty; class IfcSite; class IfcSlab; class IfcSlabType; class IfcSlippageConnectionCondition; class IfcSolidModel; class IfcSoundProperties; class IfcSoundValue; class IfcSpace; class IfcSpaceHeaterType; class IfcSpaceProgram; class IfcSpaceThermalLoadProperties; class IfcSpaceType; class IfcSpatialStructureElement; class IfcSpatialStructureElementType; class IfcSphere; class IfcStackTerminalType; class IfcStair; class IfcStairFlight; class IfcStairFlightType; class IfcStructuralAction; class IfcStructuralActivity; class IfcStructuralAnalysisModel; class IfcStructuralConnection; class IfcStructuralConnectionCondition; class IfcStructuralCurveConnection; class IfcStructuralCurveMember; class IfcStructuralCurveMemberVarying; class IfcStructuralItem; class IfcStructuralLinearAction; class IfcStructuralLinearActionVarying; class IfcStructuralLoad; class IfcStructuralLoadGroup; class IfcStructuralLoadLinearForce; class IfcStructuralLoadPlanarForce; class IfcStructuralLoadSingleDisplacement; class IfcStructuralLoadSingleDisplacementDistortion; class IfcStructuralLoadSingleForce; class IfcStructuralLoadSingleForceWarping; class IfcStructuralLoadStatic; class IfcStructuralLoadTemperature; class IfcStructuralMember; class IfcStructuralPlanarAction; class IfcStructuralPlanarActionVarying; class IfcStructuralPointAction; class IfcStructuralPointConnection; class IfcStructuralPointReaction; class IfcStructuralProfileProperties; class IfcStructuralReaction; class IfcStructuralResultGroup; class IfcStructuralSteelProfileProperties; class IfcStructuralSurfaceConnection; class IfcStructuralSurfaceMember; class IfcStructuralSurfaceMemberVarying; class IfcStructuredDimensionCallout; class IfcStyleModel; class IfcStyledItem; class IfcStyledRepresentation; class IfcSubContractResource; class IfcSubedge; class IfcSurface; class IfcSurfaceCurveSweptAreaSolid; class IfcSurfaceOfLinearExtrusion; class IfcSurfaceOfRevolution; class IfcSurfaceStyle; class IfcSurfaceStyleLighting; class IfcSurfaceStyleRefraction; class IfcSurfaceStyleRendering; class IfcSurfaceStyleShading; class IfcSurfaceStyleWithTextures; class IfcSurfaceTexture; class IfcSweptAreaSolid; class IfcSweptDiskSolid; class IfcSweptSurface; class IfcSwitchingDeviceType; class IfcSymbolStyle; class IfcSystem; class IfcSystemFurnitureElementType; class IfcTShapeProfileDef; class IfcTable; class IfcTableRow; class IfcTankType; class IfcTask; class IfcTelecomAddress; class IfcTendon; class IfcTendonAnchor; class IfcTerminatorSymbol; class IfcTextLiteral; class IfcTextLiteralWithExtent; class IfcTextStyle; class IfcTextStyleFontModel; class IfcTextStyleForDefinedFont; class IfcTextStyleTextModel; class IfcTextStyleWithBoxCharacteristics; class IfcTextureCoordinate; class IfcTextureCoordinateGenerator; class IfcTextureMap; class IfcTextureVertex; class IfcThermalMaterialProperties; class IfcTimeSeries; class IfcTimeSeriesReferenceRelationship; class IfcTimeSeriesSchedule; class IfcTimeSeriesValue; class IfcTopologicalRepresentationItem; class IfcTopologyRepresentation; class IfcTransformerType; class IfcTransportElement; class IfcTransportElementType; class IfcTrapeziumProfileDef; class IfcTrimmedCurve; class IfcTubeBundleType; class IfcTwoDirectionRepeatFactor; class IfcTypeObject; class IfcTypeProduct; class IfcUShapeProfileDef; class IfcUnitAssignment; class IfcUnitaryEquipmentType; class IfcValveType; class IfcVector; class IfcVertex; class IfcVertexBasedTextureMap; class IfcVertexLoop; class IfcVertexPoint; class IfcVibrationIsolatorType; class IfcVirtualElement; class IfcVirtualGridIntersection; class IfcWall; class IfcWallStandardCase; class IfcWallType; class IfcWasteTerminalType; class IfcWaterProperties; class IfcWindow; class IfcWindowLiningProperties; class IfcWindowPanelProperties; class IfcWindowStyle; class IfcWorkControl; class IfcWorkPlan; class IfcWorkSchedule; class IfcZShapeProfileDef; class IfcZone; +class Ifc2DCompositeCurve; class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuatorType; class IfcAddress; class IfcAirTerminalBoxType; class IfcAirTerminalType; class IfcAirToAirHeatRecoveryType; class IfcAlarmType; class IfcAngularDimension; class IfcAnnotation; class IfcAnnotationCurveOccurrence; class IfcAnnotationFillArea; class IfcAnnotationFillAreaOccurrence; class IfcAnnotationOccurrence; class IfcAnnotationSurface; class IfcAnnotationSurfaceOccurrence; class IfcAnnotationSymbolOccurrence; class IfcAnnotationTextOccurrence; class IfcApplication; class IfcAppliedValue; class IfcAppliedValueRelationship; class IfcApproval; class IfcApprovalActorRelationship; class IfcApprovalPropertyRelationship; class IfcApprovalRelationship; class IfcArbitraryClosedProfileDef; class IfcArbitraryOpenProfileDef; class IfcArbitraryProfileDefWithVoids; class IfcAsset; class IfcAsymmetricIShapeProfileDef; class IfcAxis1Placement; class IfcAxis2Placement2D; class IfcAxis2Placement3D; class IfcBSplineCurve; class IfcBeam; class IfcBeamType; class IfcBezierCurve; class IfcBlobTexture; class IfcBlock; class IfcBoilerType; class IfcBooleanClippingResult; class IfcBooleanResult; class IfcBoundaryCondition; class IfcBoundaryEdgeCondition; class IfcBoundaryFaceCondition; class IfcBoundaryNodeCondition; class IfcBoundaryNodeConditionWarping; class IfcBoundedCurve; class IfcBoundedSurface; class IfcBoundingBox; class IfcBoxedHalfSpace; class IfcBuilding; class IfcBuildingElement; class IfcBuildingElementComponent; class IfcBuildingElementPart; class IfcBuildingElementProxy; class IfcBuildingElementProxyType; class IfcBuildingElementType; class IfcBuildingStorey; class IfcCShapeProfileDef; class IfcCableCarrierFittingType; class IfcCableCarrierSegmentType; class IfcCableSegmentType; class IfcCalendarDate; class IfcCartesianPoint; class IfcCartesianTransformationOperator; class IfcCartesianTransformationOperator2D; class IfcCartesianTransformationOperator2DnonUniform; class IfcCartesianTransformationOperator3D; class IfcCartesianTransformationOperator3DnonUniform; class IfcCenterLineProfileDef; class IfcChamferEdgeFeature; class IfcChillerType; class IfcCircle; class IfcCircleHollowProfileDef; class IfcCircleProfileDef; class IfcClassification; class IfcClassificationItem; class IfcClassificationItemRelationship; class IfcClassificationNotation; class IfcClassificationNotationFacet; class IfcClassificationReference; class IfcClosedShell; class IfcCoilType; class IfcColourRgb; class IfcColourSpecification; class IfcColumn; class IfcColumnType; class IfcComplexProperty; class IfcCompositeCurve; class IfcCompositeCurveSegment; class IfcCompositeProfileDef; class IfcCompressorType; class IfcCondenserType; class IfcCondition; class IfcConditionCriterion; class IfcConic; class IfcConnectedFaceSet; class IfcConnectionCurveGeometry; class IfcConnectionGeometry; class IfcConnectionPointEccentricity; class IfcConnectionPointGeometry; class IfcConnectionPortGeometry; class IfcConnectionSurfaceGeometry; class IfcConstraint; class IfcConstraintAggregationRelationship; class IfcConstraintClassificationRelationship; class IfcConstraintRelationship; class IfcConstructionEquipmentResource; class IfcConstructionMaterialResource; class IfcConstructionProductResource; class IfcConstructionResource; class IfcContextDependentUnit; class IfcControl; class IfcControllerType; class IfcConversionBasedUnit; class IfcCooledBeamType; class IfcCoolingTowerType; class IfcCoordinatedUniversalTimeOffset; class IfcCostItem; class IfcCostSchedule; class IfcCostValue; class IfcCovering; class IfcCoveringType; class IfcCraneRailAShapeProfileDef; class IfcCraneRailFShapeProfileDef; class IfcCrewResource; class IfcCsgPrimitive3D; class IfcCsgSolid; class IfcCurrencyRelationship; class IfcCurtainWall; class IfcCurtainWallType; class IfcCurve; class IfcCurveBoundedPlane; class IfcCurveStyle; class IfcCurveStyleFont; class IfcCurveStyleFontAndScaling; class IfcCurveStyleFontPattern; class IfcDamperType; class IfcDateAndTime; class IfcDefinedSymbol; class IfcDerivedProfileDef; class IfcDerivedUnit; class IfcDerivedUnitElement; class IfcDiameterDimension; class IfcDimensionCalloutRelationship; class IfcDimensionCurve; class IfcDimensionCurveDirectedCallout; class IfcDimensionCurveTerminator; class IfcDimensionPair; class IfcDimensionalExponents; class IfcDirection; class IfcDiscreteAccessory; class IfcDiscreteAccessoryType; class IfcDistributionChamberElement; class IfcDistributionChamberElementType; class IfcDistributionControlElement; class IfcDistributionControlElementType; class IfcDistributionElement; class IfcDistributionElementType; class IfcDistributionFlowElement; class IfcDistributionFlowElementType; class IfcDistributionPort; class IfcDocumentElectronicFormat; class IfcDocumentInformation; class IfcDocumentInformationRelationship; class IfcDocumentReference; class IfcDoor; class IfcDoorLiningProperties; class IfcDoorPanelProperties; class IfcDoorStyle; class IfcDraughtingCallout; class IfcDraughtingCalloutRelationship; class IfcDraughtingPreDefinedColour; class IfcDraughtingPreDefinedCurveFont; class IfcDraughtingPreDefinedTextFont; class IfcDuctFittingType; class IfcDuctSegmentType; class IfcDuctSilencerType; class IfcEdge; class IfcEdgeCurve; class IfcEdgeFeature; class IfcEdgeLoop; class IfcElectricApplianceType; class IfcElectricDistributionPoint; class IfcElectricFlowStorageDeviceType; class IfcElectricGeneratorType; class IfcElectricHeaterType; class IfcElectricMotorType; class IfcElectricTimeControlType; class IfcElectricalBaseProperties; class IfcElectricalCircuit; class IfcElectricalElement; class IfcElement; class IfcElementAssembly; class IfcElementComponent; class IfcElementComponentType; class IfcElementQuantity; class IfcElementType; class IfcElementarySurface; class IfcEllipse; class IfcEllipseProfileDef; class IfcEnergyConversionDevice; class IfcEnergyConversionDeviceType; class IfcEnergyProperties; class IfcEnvironmentalImpactValue; class IfcEquipmentElement; class IfcEquipmentStandard; class IfcEvaporativeCoolerType; class IfcEvaporatorType; class IfcExtendedMaterialProperties; class IfcExternalReference; class IfcExternallyDefinedHatchStyle; class IfcExternallyDefinedSurfaceStyle; class IfcExternallyDefinedSymbol; class IfcExternallyDefinedTextFont; class IfcExtrudedAreaSolid; class IfcFace; class IfcFaceBasedSurfaceModel; class IfcFaceBound; class IfcFaceOuterBound; class IfcFaceSurface; class IfcFacetedBrep; class IfcFacetedBrepWithVoids; class IfcFailureConnectionCondition; class IfcFanType; class IfcFastener; class IfcFastenerType; class IfcFeatureElement; class IfcFeatureElementAddition; class IfcFeatureElementSubtraction; class IfcFillAreaStyle; class IfcFillAreaStyleHatching; class IfcFillAreaStyleTileSymbolWithStyle; class IfcFillAreaStyleTiles; class IfcFilterType; class IfcFireSuppressionTerminalType; class IfcFlowController; class IfcFlowControllerType; class IfcFlowFitting; class IfcFlowFittingType; class IfcFlowInstrumentType; class IfcFlowMeterType; class IfcFlowMovingDevice; class IfcFlowMovingDeviceType; class IfcFlowSegment; class IfcFlowSegmentType; class IfcFlowStorageDevice; class IfcFlowStorageDeviceType; class IfcFlowTerminal; class IfcFlowTerminalType; class IfcFlowTreatmentDevice; class IfcFlowTreatmentDeviceType; class IfcFluidFlowProperties; class IfcFooting; class IfcFuelProperties; class IfcFurnishingElement; class IfcFurnishingElementType; class IfcFurnitureStandard; class IfcFurnitureType; class IfcGasTerminalType; class IfcGeneralMaterialProperties; class IfcGeneralProfileProperties; class IfcGeometricCurveSet; class IfcGeometricRepresentationContext; class IfcGeometricRepresentationItem; class IfcGeometricRepresentationSubContext; class IfcGeometricSet; class IfcGrid; class IfcGridAxis; class IfcGridPlacement; class IfcGroup; class IfcHalfSpaceSolid; class IfcHeatExchangerType; class IfcHumidifierType; class IfcHygroscopicMaterialProperties; class IfcIShapeProfileDef; class IfcImageTexture; class IfcInventory; class IfcIrregularTimeSeries; class IfcIrregularTimeSeriesValue; class IfcJunctionBoxType; class IfcLShapeProfileDef; class IfcLaborResource; class IfcLampType; class IfcLibraryInformation; class IfcLibraryReference; class IfcLightDistributionData; class IfcLightFixtureType; class IfcLightIntensityDistribution; class IfcLightSource; class IfcLightSourceAmbient; class IfcLightSourceDirectional; class IfcLightSourceGoniometric; class IfcLightSourcePositional; class IfcLightSourceSpot; class IfcLine; class IfcLinearDimension; class IfcLocalPlacement; class IfcLocalTime; class IfcLoop; class IfcManifoldSolidBrep; class IfcMappedItem; class IfcMaterial; class IfcMaterialClassificationRelationship; class IfcMaterialDefinitionRepresentation; class IfcMaterialLayer; class IfcMaterialLayerSet; class IfcMaterialLayerSetUsage; class IfcMaterialList; class IfcMaterialProperties; class IfcMeasureWithUnit; class IfcMechanicalConcreteMaterialProperties; class IfcMechanicalFastener; class IfcMechanicalFastenerType; class IfcMechanicalMaterialProperties; class IfcMechanicalSteelMaterialProperties; class IfcMember; class IfcMemberType; class IfcMetric; class IfcMonetaryUnit; class IfcMotorConnectionType; class IfcMove; class IfcNamedUnit; class IfcObject; class IfcObjectDefinition; class IfcObjectPlacement; class IfcObjective; class IfcOccupant; class IfcOffsetCurve2D; class IfcOffsetCurve3D; class IfcOneDirectionRepeatFactor; class IfcOpenShell; class IfcOpeningElement; class IfcOpticalMaterialProperties; class IfcOrderAction; class IfcOrganization; class IfcOrganizationRelationship; class IfcOrientedEdge; class IfcOutletType; class IfcOwnerHistory; class IfcParameterizedProfileDef; class IfcPath; class IfcPerformanceHistory; class IfcPermeableCoveringProperties; class IfcPermit; class IfcPerson; class IfcPersonAndOrganization; class IfcPhysicalComplexQuantity; class IfcPhysicalQuantity; class IfcPhysicalSimpleQuantity; class IfcPile; class IfcPipeFittingType; class IfcPipeSegmentType; class IfcPixelTexture; class IfcPlacement; class IfcPlanarBox; class IfcPlanarExtent; class IfcPlane; class IfcPlate; class IfcPlateType; class IfcPoint; class IfcPointOnCurve; class IfcPointOnSurface; class IfcPolyLoop; class IfcPolygonalBoundedHalfSpace; class IfcPolyline; class IfcPort; class IfcPostalAddress; class IfcPreDefinedColour; class IfcPreDefinedCurveFont; class IfcPreDefinedDimensionSymbol; class IfcPreDefinedItem; class IfcPreDefinedPointMarkerSymbol; class IfcPreDefinedSymbol; class IfcPreDefinedTerminatorSymbol; class IfcPreDefinedTextFont; class IfcPresentationLayerAssignment; class IfcPresentationLayerWithStyle; class IfcPresentationStyle; class IfcPresentationStyleAssignment; class IfcProcedure; class IfcProcess; class IfcProduct; class IfcProductDefinitionShape; class IfcProductRepresentation; class IfcProductsOfCombustionProperties; class IfcProfileDef; class IfcProfileProperties; class IfcProject; class IfcProjectOrder; class IfcProjectOrderRecord; class IfcProjectionCurve; class IfcProjectionElement; class IfcProperty; class IfcPropertyBoundedValue; class IfcPropertyConstraintRelationship; class IfcPropertyDefinition; class IfcPropertyDependencyRelationship; class IfcPropertyEnumeratedValue; class IfcPropertyEnumeration; class IfcPropertyListValue; class IfcPropertyReferenceValue; class IfcPropertySet; class IfcPropertySetDefinition; class IfcPropertySingleValue; class IfcPropertyTableValue; class IfcProtectiveDeviceType; class IfcProxy; class IfcPumpType; class IfcQuantityArea; class IfcQuantityCount; class IfcQuantityLength; class IfcQuantityTime; class IfcQuantityVolume; class IfcQuantityWeight; class IfcRadiusDimension; class IfcRailing; class IfcRailingType; class IfcRamp; class IfcRampFlight; class IfcRampFlightType; class IfcRationalBezierCurve; class IfcRectangleHollowProfileDef; class IfcRectangleProfileDef; class IfcRectangularPyramid; class IfcRectangularTrimmedSurface; class IfcReferencesValueDocument; class IfcRegularTimeSeries; class IfcReinforcementBarProperties; class IfcReinforcementDefinitionProperties; class IfcReinforcingBar; class IfcReinforcingElement; class IfcReinforcingMesh; class IfcRelAggregates; class IfcRelAssigns; class IfcRelAssignsTasks; class IfcRelAssignsToActor; class IfcRelAssignsToControl; class IfcRelAssignsToGroup; class IfcRelAssignsToProcess; class IfcRelAssignsToProduct; class IfcRelAssignsToProjectOrder; class IfcRelAssignsToResource; class IfcRelAssociates; class IfcRelAssociatesAppliedValue; class IfcRelAssociatesApproval; class IfcRelAssociatesClassification; class IfcRelAssociatesConstraint; class IfcRelAssociatesDocument; class IfcRelAssociatesLibrary; class IfcRelAssociatesMaterial; class IfcRelAssociatesProfileProperties; class IfcRelConnects; class IfcRelConnectsElements; class IfcRelConnectsPathElements; class IfcRelConnectsPortToElement; class IfcRelConnectsPorts; class IfcRelConnectsStructuralActivity; class IfcRelConnectsStructuralElement; class IfcRelConnectsStructuralMember; class IfcRelConnectsWithEccentricity; class IfcRelConnectsWithRealizingElements; class IfcRelContainedInSpatialStructure; class IfcRelCoversBldgElements; class IfcRelCoversSpaces; class IfcRelDecomposes; class IfcRelDefines; class IfcRelDefinesByProperties; class IfcRelDefinesByType; class IfcRelFillsElement; class IfcRelFlowControlElements; class IfcRelInteractionRequirements; class IfcRelNests; class IfcRelOccupiesSpaces; class IfcRelOverridesProperties; class IfcRelProjectsElement; class IfcRelReferencedInSpatialStructure; class IfcRelSchedulesCostItems; class IfcRelSequence; class IfcRelServicesBuildings; class IfcRelSpaceBoundary; class IfcRelVoidsElement; class IfcRelationship; class IfcRelaxation; class IfcRepresentation; class IfcRepresentationContext; class IfcRepresentationItem; class IfcRepresentationMap; class IfcResource; class IfcRevolvedAreaSolid; class IfcRibPlateProfileProperties; class IfcRightCircularCone; class IfcRightCircularCylinder; class IfcRoof; class IfcRoot; class IfcRoundedEdgeFeature; class IfcRoundedRectangleProfileDef; class IfcSIUnit; class IfcSanitaryTerminalType; class IfcScheduleTimeControl; class IfcSectionProperties; class IfcSectionReinforcementProperties; class IfcSectionedSpine; class IfcSensorType; class IfcServiceLife; class IfcServiceLifeFactor; class IfcShapeAspect; class IfcShapeModel; class IfcShapeRepresentation; class IfcShellBasedSurfaceModel; class IfcSimpleProperty; class IfcSite; class IfcSlab; class IfcSlabType; class IfcSlippageConnectionCondition; class IfcSolidModel; class IfcSoundProperties; class IfcSoundValue; class IfcSpace; class IfcSpaceHeaterType; class IfcSpaceProgram; class IfcSpaceThermalLoadProperties; class IfcSpaceType; class IfcSpatialStructureElement; class IfcSpatialStructureElementType; class IfcSphere; class IfcStackTerminalType; class IfcStair; class IfcStairFlight; class IfcStairFlightType; class IfcStructuralAction; class IfcStructuralActivity; class IfcStructuralAnalysisModel; class IfcStructuralConnection; class IfcStructuralConnectionCondition; class IfcStructuralCurveConnection; class IfcStructuralCurveMember; class IfcStructuralCurveMemberVarying; class IfcStructuralItem; class IfcStructuralLinearAction; class IfcStructuralLinearActionVarying; class IfcStructuralLoad; class IfcStructuralLoadGroup; class IfcStructuralLoadLinearForce; class IfcStructuralLoadPlanarForce; class IfcStructuralLoadSingleDisplacement; class IfcStructuralLoadSingleDisplacementDistortion; class IfcStructuralLoadSingleForce; class IfcStructuralLoadSingleForceWarping; class IfcStructuralLoadStatic; class IfcStructuralLoadTemperature; class IfcStructuralMember; class IfcStructuralPlanarAction; class IfcStructuralPlanarActionVarying; class IfcStructuralPointAction; class IfcStructuralPointConnection; class IfcStructuralPointReaction; class IfcStructuralProfileProperties; class IfcStructuralReaction; class IfcStructuralResultGroup; class IfcStructuralSteelProfileProperties; class IfcStructuralSurfaceConnection; class IfcStructuralSurfaceMember; class IfcStructuralSurfaceMemberVarying; class IfcStructuredDimensionCallout; class IfcStyleModel; class IfcStyledItem; class IfcStyledRepresentation; class IfcSubContractResource; class IfcSubedge; class IfcSurface; class IfcSurfaceCurveSweptAreaSolid; class IfcSurfaceOfLinearExtrusion; class IfcSurfaceOfRevolution; class IfcSurfaceStyle; class IfcSurfaceStyleLighting; class IfcSurfaceStyleRefraction; class IfcSurfaceStyleRendering; class IfcSurfaceStyleShading; class IfcSurfaceStyleWithTextures; class IfcSurfaceTexture; class IfcSweptAreaSolid; class IfcSweptDiskSolid; class IfcSweptSurface; class IfcSwitchingDeviceType; class IfcSymbolStyle; class IfcSystem; class IfcSystemFurnitureElementType; class IfcTShapeProfileDef; class IfcTable; class IfcTableRow; class IfcTankType; class IfcTask; class IfcTelecomAddress; class IfcTendon; class IfcTendonAnchor; class IfcTerminatorSymbol; class IfcTextLiteral; class IfcTextLiteralWithExtent; class IfcTextStyle; class IfcTextStyleFontModel; class IfcTextStyleForDefinedFont; class IfcTextStyleTextModel; class IfcTextStyleWithBoxCharacteristics; class IfcTextureCoordinate; class IfcTextureCoordinateGenerator; class IfcTextureMap; class IfcTextureVertex; class IfcThermalMaterialProperties; class IfcTimeSeries; class IfcTimeSeriesReferenceRelationship; class IfcTimeSeriesSchedule; class IfcTimeSeriesValue; class IfcTopologicalRepresentationItem; class IfcTopologyRepresentation; class IfcTransformerType; class IfcTransportElement; class IfcTransportElementType; class IfcTrapeziumProfileDef; class IfcTrimmedCurve; class IfcTubeBundleType; class IfcTwoDirectionRepeatFactor; class IfcTypeObject; class IfcTypeProduct; class IfcUShapeProfileDef; class IfcUnitAssignment; class IfcUnitaryEquipmentType; class IfcValveType; class IfcVector; class IfcVertex; class IfcVertexBasedTextureMap; class IfcVertexLoop; class IfcVertexPoint; class IfcVibrationIsolatorType; class IfcVirtualElement; class IfcVirtualGridIntersection; class IfcWall; class IfcWallStandardCase; class IfcWallType; class IfcWasteTerminalType; class IfcWaterProperties; class IfcWindow; class IfcWindowLiningProperties; class IfcWindowPanelProperties; class IfcWindowStyle; class IfcWorkControl; class IfcWorkPlan; class IfcWorkSchedule; class IfcZShapeProfileDef; class IfcZone; class IfcAbsorbedDoseMeasure; class IfcAccelerationMeasure; class IfcAmountOfSubstanceMeasure; class IfcAngularVelocityMeasure; class IfcAreaMeasure; class IfcBoolean; class IfcBoxAlignment; class IfcComplexNumber; class IfcCompoundPlaneAngleMeasure; class IfcContextDependentMeasure; class IfcCountMeasure; class IfcCurvatureMeasure; class IfcDayInMonthNumber; class IfcDaylightSavingHour; class IfcDescriptiveMeasure; class IfcDimensionCount; class IfcDoseEquivalentMeasure; class IfcDynamicViscosityMeasure; class IfcElectricCapacitanceMeasure; class IfcElectricChargeMeasure; class IfcElectricConductanceMeasure; class IfcElectricCurrentMeasure; class IfcElectricResistanceMeasure; class IfcElectricVoltageMeasure; class IfcEnergyMeasure; class IfcFontStyle; class IfcFontVariant; class IfcFontWeight; class IfcForceMeasure; class IfcFrequencyMeasure; class IfcGloballyUniqueId; class IfcHeatFluxDensityMeasure; class IfcHeatingValueMeasure; class IfcHourInDay; class IfcIdentifier; class IfcIlluminanceMeasure; class IfcInductanceMeasure; class IfcInteger; class IfcIntegerCountRateMeasure; class IfcIonConcentrationMeasure; class IfcIsothermalMoistureCapacityMeasure; class IfcKinematicViscosityMeasure; class IfcLabel; class IfcLengthMeasure; class IfcLinearForceMeasure; class IfcLinearMomentMeasure; class IfcLinearStiffnessMeasure; class IfcLinearVelocityMeasure; class IfcLogical; class IfcLuminousFluxMeasure; class IfcLuminousIntensityDistributionMeasure; class IfcLuminousIntensityMeasure; class IfcMagneticFluxDensityMeasure; class IfcMagneticFluxMeasure; class IfcMassDensityMeasure; class IfcMassFlowRateMeasure; class IfcMassMeasure; class IfcMassPerLengthMeasure; class IfcMinuteInHour; class IfcModulusOfElasticityMeasure; class IfcModulusOfLinearSubgradeReactionMeasure; class IfcModulusOfRotationalSubgradeReactionMeasure; class IfcModulusOfSubgradeReactionMeasure; class IfcMoistureDiffusivityMeasure; class IfcMolecularWeightMeasure; class IfcMomentOfInertiaMeasure; class IfcMonetaryMeasure; class IfcMonthInYearNumber; class IfcNormalisedRatioMeasure; class IfcNumericMeasure; class IfcPHMeasure; class IfcParameterValue; class IfcPlanarForceMeasure; class IfcPlaneAngleMeasure; class IfcPositiveLengthMeasure; class IfcPositivePlaneAngleMeasure; class IfcPositiveRatioMeasure; class IfcPowerMeasure; class IfcPresentableText; class IfcPressureMeasure; class IfcRadioActivityMeasure; class IfcRatioMeasure; class IfcReal; class IfcRotationalFrequencyMeasure; class IfcRotationalMassMeasure; class IfcRotationalStiffnessMeasure; class IfcSecondInMinute; class IfcSectionModulusMeasure; class IfcSectionalAreaIntegralMeasure; class IfcShearModulusMeasure; class IfcSolidAngleMeasure; class IfcSoundPowerMeasure; class IfcSoundPressureMeasure; class IfcSpecificHeatCapacityMeasure; class IfcSpecularExponent; class IfcSpecularRoughness; class IfcTemperatureGradientMeasure; class IfcText; class IfcTextAlignment; class IfcTextDecoration; class IfcTextFontName; class IfcTextTransformation; class IfcThermalAdmittanceMeasure; class IfcThermalConductivityMeasure; class IfcThermalExpansionCoefficientMeasure; class IfcThermalResistanceMeasure; class IfcThermalTransmittanceMeasure; class IfcThermodynamicTemperatureMeasure; class IfcTimeMeasure; class IfcTimeStamp; class IfcTorqueMeasure; class IfcVaporPermeabilityMeasure; class IfcVolumeMeasure; class IfcVolumetricFlowRateMeasure; class IfcWarpingConstantMeasure; class IfcWarpingMomentMeasure; class IfcYearNumber; -/// IfcAbsorbedDoseMeasure is a measure of the absorbed radioactivity dose. -/// Usually measured in Gray (Gy, J/kg). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcAbsorbedDoseMeasure; -/// IfcAccelerationMeasure is a measure of acceleration. -/// Usually measured in m/s2. -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcAccelerationMeasure; -/// Definition from ISO/CD 10303-41:1992: An amount of substance measure is the value for the quantity of a substance when compared with the number of atoms in 0.012kilogram of carbon 12. -/// -/// Usually measure in mole (mol). -/// Type: REAL -/// -/// NOTE Corresponding ISO 10303 name: amount_of_substance_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. -/// -/// HISTORY New type in IFC Release 1.5.1. -typedef double IfcAmountOfSubstanceMeasure; -/// IfcAngularVelocityMeasure is a measure of the velocity of a body measured in terms of angle subtended per unit time. -/// Usually measured in radians/s. -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2.0. -typedef double IfcAngularVelocityMeasure; -/// Definition from ISO/CD 10303-41:1992: An area measure is the value of the extent of a surface. -/// Usually measured in square metre (m2). -/// Type: REAL -/// -/// NOTE Corresponding ISO 10303 name: area_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. -/// -/// HISTORY New type in IFC Release 1.5.1. -typedef double IfcAreaMeasure; -/// IfcBoolean is a defined data type of simple data type Boolean. It is required since a select type (IfcSimpleValue) cannot directly include simple types in its select list. A boolean type can have value TRUE or FALSE. -/// -/// Type: BOOLEAN -/// -/// HISTORY New type in IFC Release 1.5.1. -typedef bool IfcBoolean; -/// IfcComplexNumber is a representation of a complex number expressed as an array with two elements. -/// The first element (index 1) denotes the real component which is the numerical -/// component of a complex number whose square roots can be calculated explicitly. -/// The second element (index 2) denotes the imaginary component which is the numerical -/// component of a complex number whose square roots cannot be determined other -/// than through the provision of the square of the imaginary number j where j^2 = -1. -/// Note that the imaginary component may be referred to as i in certain references. -/// -/// Type: ARRAY [1:2] OF REAL -/// -/// HISTORY New type in IFC Release 2x2. -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. -/// -/// NOTE: While the unit of measurement of the type IfcPlaneAngleMeasure depends on unit assignment (radian or degree or other derived units; globally at the IfcPoject or locally at an IfcMeasureWithUnit), the units of IfcCompoundPlaneAngleMeasure are always degrees, minutes, seconds, and millionth-seconds irrespective of unit assignments. -/// -/// HISTORY New type in IFC Release 1.5.1. -/// -/// Type: LIST [3:4] OF INTEGER -/// -/// Value restrictions -/// -/// The first integer measure is the number of degrees and is generally not range-restricted. However, when IfcCompoundPlaneAngleMeasure is used to express geographic coordinates, only latitudes of [-90, 90] and longitudes of [-180, 180] are used in practice. -/// The second integer measure is the number of minutes and shall be in the range (-60, 60). -/// The third integer measure is the number of seconds and shall be in the range (-60, 60). -/// The optional fourth integer measure is the number of millionth-seconds and shall be in the range (-1 000 000, 1 000 000). -/// -/// Signedness -/// -/// 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; -/// 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 -/// -/// (* convert from compound to float *) -///   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 -/// -/// 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 -/// -/// NOTE Corresponding ISO 10303 name: context_dependent_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. -/// -/// HISTORY New type in IFC Release 1.5.1. -typedef double IfcContextDependentMeasure; -/// Definition from ISO/CD 10303-41:1992: A count measure is the value of a count. -/// Type: NUMBER -/// -/// NOTE Corresponding ISO 10303 name: count_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. -/// -/// HISTORY New type in IFC Release 1.5.1. -typedef double IfcCountMeasure; -/// IfcCurvatureMeasure is a measure for curvature, which is defined as the change of slope per length. -/// This is typically a computed value in structural analysis. -/// It is usually measured in rad/m. -/// -/// Type: REAL -/// -/// HISTORY New type in IFC2x2. -typedef double IfcCurvatureMeasure; -/// Definition from IAI: The IfcDayInMonthNumber is -/// an integer that defines the position of the specified day in a -/// month. -/// Type: INTEGER -/// NOTE Corresponding STEP -/// name: day_in_month_number, please refer to ISO/IS 10303-41:1994 -/// for the final definition of the formal -/// standard. -/// HISTORY New type in IFC -/// Release 1.5.1. -/// IFC2x4 CHANGE Where rule -/// ValidRange added. -typedef int IfcDayInMonthNumber; - -typedef int IfcDaylightSavingHour; -/// Definition from ISO/CD 10303-41:1992: A descriptive measure is a human interpretable definition of a quantifiable value. -/// Type: STRING -/// -/// NOTE Corresponding ISO 10303 name:descriptive_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. -/// -/// HISTORY New type in IFC Release 1.5.1. -typedef std::string IfcDescriptiveMeasure; -/// Definition from ISO/CD 10303-42:1992: A dimension count is a positive integer used to define the coordinate space dimensionality. -/// -/// The IfcDimensionCount is restricted to have the dimensionality of either 1, 2, or 3 - the WR1 had been added as an addition to the ISO 10303:42 entity dimension_count. In contrary to the ISO 10303:42 constraint, that all geometric representation items within a geometric representation context are forced to have the same dimension count, the IFC geometry allows mixed dimensions, particularly when defining the boundary of planar surfaces. -/// -/// NOTE Corresponding ISO 10303 type: dimension_count, please refer to ISO/IS 10303-42:1994, p. 14 for the final definition of the formal standard. -/// -/// HISTORY New Type in IFC Release 1.5 -typedef int IfcDimensionCount; -/// IfcDoseEquivalentMeasure is a measure of the radioactive dose equivalent. -/// Usually measured in Sievert (Sv, J/kg). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcDoseEquivalentMeasure; -/// IfcDynamicViscosityMeasure is a measure of the viscous resistance of a medium. -/// -/// Usually measured in Pascal second (Pa s). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2.0. -typedef double IfcDynamicViscosityMeasure; -/// IfcElectricCapacitanceMeasure is a measure of the electric capacitance. -/// Usually measured in Farad (F, C/V = A s/V). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcElectricCapacitanceMeasure; -/// IfcElectricChargeMeasure is a measure of the electric charge. -/// Usually measured in Coulomb (C, A s). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcElectricChargeMeasure; -/// IfcElectricConductanceMeasure is a measure of the electric conductance. -/// Usually measured in Siemens (S, 1/Ohm = A/V). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcElectricConductanceMeasure; -/// Definition from ISO/CD 10303-41:1992: The value for the movement of electrically charged particles. -/// Usually measured in Ampere (A). -/// Type: REAL -/// -/// NOTE Corresponding ISO 10303 name: electric_current_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. -/// -/// HISTORY New type in IFC Release 1.5.1. -typedef double IfcElectricCurrentMeasure; -/// IfcElectricResistanceMeasure is a measure of the electric resistance. -/// Usually measured in Ohm (V/A). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcElectricResistanceMeasure; -/// IfcElectricVoltageMeasure is a measure of electromotive force. -/// Usually measured in Volts (V, W/A). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2.0. -typedef double IfcElectricVoltageMeasure; -/// IfcEnergyMeasure is a measure of energy required or used. -/// Usually measured in Joules, (J, Nm). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2.0. -typedef double IfcEnergyMeasure; -/// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal (sometimes -/// referred to as "roman" or "upright"), italic and oblique faces within a font family. Values are: -/// -/// normal -/// italic -/// oblique -/// -/// A value of 'normal' selects a font that is classified as 'normal' in the user agents font database, while 'oblique' selects a font that is labeled 'oblique'. A value of 'italic' selects a font that is labeled 'italic', or, if that is not available, one labeled 'oblique'. The font that is labeled 'oblique' in the user agents font database may actually have been generated by electronically slanting a normal font. -/// -/// 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. -/// -/// 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: -/// -/// normal -/// small-caps -/// -/// Another type of variation within a font family is the small-caps. In a small-caps font the lower case letters look similar to the uppercase ones, but in a smaller size and with slightly different proportions. The 'font-variant' property selects that font. -/// -/// 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. -/// -/// 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: -/// -/// normal -/// bold -/// 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 -/// -/// Fonts (the font data) typically have one or more properties whose values are names that are descriptive of the "weight" of a font. There is no accepted, universal meaning to these weight names. Their primary role is to distinguish faces of differing darkness within a single font family. Usage across font families is quite variant; for example a font that you might think of as being bold might be described as being Regular, Roman, Book, Medium, Semi- or DemiBold, Bold, or Black, depending on how black the "normal" face of the font is within the design. Because there is no standard usage of names, the weight property values in CSS1 are given on a numerical scale in which the value '400' (or 'normal') corresponds to the "normal" text face for that family. The weight name associated with that face will typically be Book, Regular, Roman, Normal or sometimes Medium. -/// -/// The association of other weights within a family to the numerical weight values is intended only to preserve the ordering of darkness within that family. However, the following heuristics tell how the assignment is done in typical cases: -/// -/// If the font family already uses a numerical scale with nine values (such as with OpenType), the font weights should be mapped directly. -/// If there is both a face labeled Medium and one labeled Book, Regular, Roman or Normal, then the Medium is normally assigned to the '500'. -/// The font labeled "Bold" will often correspond to the weight value '700'. -/// If there are fewer then 9 weights in the family, the default algorithm for filling the "holes" is as follows. If '500' is unassigned, it will be assigned the same font as '400'. If any of the values '600', '700', '800' or '900' remains unassigned, they are assigned to the same face as the next darker assigned keyword, if any, or the next lighter one otherwise. If any of '300', '200' or '100' remains unassigned, it is assigned to the next lighter assigned keyword, if any, or the next darker otherwise. -/// -/// The following two examples illustrate the process. Assume four weights in the "Example1" family, from lightest to darkest: Regular, Medium, Bold, Heavy. And assume six weights in the "Example2" family: Book, Medium, Bold, Heavy, Black, ExtraBlack. Note how in the second example it has been decided not to assign "Example2 ExtraBlack" to anything. -/// -/// 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. -/// -/// 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). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcForceMeasure; -/// IfcFrequencyMeasure is a measure of the number of times that an item vibrates in unit time. -/// Usually measured in cycles/s or Herz (Hz). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2.0. -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 -/// -/// "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. -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). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2.0. -typedef double IfcHeatFluxDensityMeasure; -/// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. -/// -/// HISTORY: This is new type in IFC2x2. -typedef double IfcHeatingValueMeasure; - -typedef int IfcHourInDay; -/// Definition from ISO/CD 10303-41:1992: An identifier is an alphanumeric string which allows an individual thing to be identified. It may not provide natural-language meaning. -/// -/// Type: STRING of up to 255 characters -/// -/// NOTE Corresponding STEP name: identifier, please refer to ISO/IS 10303-41 for the final definition of the formal standard. -/// -/// HISTORY New type in IFC Release 2x. -/// IFC 2x4 CHANGE: Previously recommended size restriction of 255 characters is now mandatory. -/// -/// As a merely machine-readable string for identification purposes, an identifier is usually machine-generated and locale-independent (in contrast to human-readable labels, IfcLabel). -/// -/// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. -/// -/// Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier. -typedef std::string IfcIdentifier; -/// IfcIlluminanceMeasure is a measure of the illuminance. -/// Usually measured in Lux (lx, Lumen/m2 = Candela Steradian/m2). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcIlluminanceMeasure; -/// IfcInductanceMeasure is a measure of the inductance. -/// Usually measure in Henry (H, Weber/A = V s/A). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcInductanceMeasure; -/// IfcInteger is a defined type of simple data type Integer. It is required since a select type (IfcSimpleValue) cannot include directly simple types in its select list. -/// -/// In principle, the domain of IfcInteger (being an Integer) is all integer numbers. Here the number of bits used for the IfcInteger representation is unconstrained, but in practice it is implementation specific. -/// -/// Type: INTEGER -/// -/// HISTORY New type in IFC Release 1.5.1. -typedef int IfcInteger; -/// IfcIntegerCountRateMeasure is a measure of the integer number of units flowing per unit time. -/// -/// EXAMPLE: This measure may be used for measuring integer units per second or per hour. For example, it may be used to measure the number of books per hour passing along a part of a mechanical book handling system, the number of people per hour travelling along a moving walkway or the number of vehicles per hour travelling along a section of road. -/// -/// Type: INTEGER -/// -/// HISTORY New type in IFC Release 2.0. -typedef int IfcIntegerCountRateMeasure; -/// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. -/// -/// HISTORY: New type in IFC2x2. -typedef double IfcIonConcentrationMeasure; -/// IfcIsothermalMoistureCapacityMeasure is a measure of isothermal moisture capacity. -/// Usually measured in m3/kg. -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcIsothermalMoistureCapacityMeasure; -/// IfcKinematicViscosityMeasure is a measure of the viscous resistance of a medium to a moving body. -/// Usually measured in m2/s. -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2.0. -typedef double IfcKinematicViscosityMeasure; -/// Definition from ISO/CD 10303-41:1992: A label is the term by which something may be referred to. It is a string which represents the human-interpretable name of something and shall have a natural-language meaning. -/// -/// Type: STRING of up to 255 characters -/// -/// NOTE Corresponding STEP name: label, please refer to ISO/IS 10303-41 for the final definition of the formal standard. -/// -/// HISTORY New type in IFC Release 2x. -/// IFC 2x4 CHANGE: Previously recommended size restriction of 255 characters is now mandatory. -/// -/// As a human-readable string for naming purposes, a label is usually human-specified and locale-dependent (in contrast to purely machine-readable identifiers, IfcIdentifier). -/// -/// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. -/// -/// Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label. -typedef std::string IfcLabel; -/// Definition from ISO/CD 10303-41:1992: A length measure is the value of a distance. -/// Usually measured in millimeters (mm). -/// Type: REAL -/// -/// NOTE Corresponding ISO 10303 name: length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. -/// -/// HISTORY New type in IFC Release 1.5.1. -typedef double IfcLengthMeasure; -/// IfcLinearForceMeasure is a measure of linear force. -/// Usually measured in N/m. -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcLinearForceMeasure; -/// IfcLinearMomentMeasure is a measure of linear moment. -/// Usually measured in Nm/m. -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcLinearMomentMeasure; -/// IfcLinearStiffnessMeasureA measure of linear stiffness. -/// Usually measured in N/m. -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcLinearStiffnessMeasure; -/// IfcLinearVelocityMeasure is a measure of the velocity of a body measured in terms of distance moved per unit time. -/// Usually measured in m/s. -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2.0. -typedef double IfcLinearVelocityMeasure; -/// IfcLogical /*[1:2]*/ v); + operator std::vector< double > /*[1:2]*/() const; +}; +/// 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. +/// +/// NOTE: While the unit of measurement of the type IfcPlaneAngleMeasure depends on unit assignment (radian or degree or other derived units; globally at the IfcPoject or locally at an IfcMeasureWithUnit), the units of IfcCompoundPlaneAngleMeasure are always degrees, minutes, seconds, and millionth-seconds irrespective of unit assignments. +/// +/// HISTORY New type in IFC Release 1.5.1. +/// +/// Type: LIST [3:4] OF INTEGER +/// +/// Value restrictions +/// +/// The first integer measure is the number of degrees and is generally not range-restricted. However, when IfcCompoundPlaneAngleMeasure is used to express geographic coordinates, only latitudes of [-90, 90] and longitudes of [-180, 180] are used in practice. +/// The second integer measure is the number of minutes and shall be in the range (-60, 60). +/// The third integer measure is the number of seconds and shall be in the range (-60, 60). +/// The optional fourth integer measure is the number of millionth-seconds and shall be in the range (-1 000 000, 1 000 000). +/// +/// Signedness +/// +/// 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; +/// 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 +/// +/// (* convert from compound to float *) +///   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 +/// +/// 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. +class IfcCompoundPlaneAngleMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcCompoundPlaneAngleMeasure (IfcAbstractEntity* e); + IfcCompoundPlaneAngleMeasure (std::vector< int > /*[3:4]*/ v); + operator std::vector< int > /*[3:4]*/() const; +}; +/// Definition from ISO/CD 10303-41:1992: Is the value of a physical quantity as defined by an application context. +/// Type: REAL +/// +/// NOTE Corresponding ISO 10303 name: context_dependent_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. +/// +/// HISTORY New type in IFC Release 1.5.1. +class IfcContextDependentMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcContextDependentMeasure (IfcAbstractEntity* e); + IfcContextDependentMeasure (double v); + operator double() const; +}; +/// Definition from ISO/CD 10303-41:1992: A count measure is the value of a count. +/// Type: NUMBER +/// +/// NOTE Corresponding ISO 10303 name: count_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. +/// +/// HISTORY New type in IFC Release 1.5.1. +class IfcCountMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcCountMeasure (IfcAbstractEntity* e); + IfcCountMeasure (double v); + operator double() const; +}; +/// IfcCurvatureMeasure is a measure for curvature, which is defined as the change of slope per length. +/// This is typically a computed value in structural analysis. +/// It is usually measured in rad/m. +/// +/// Type: REAL +/// +/// HISTORY New type in IFC2x2. +class IfcCurvatureMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcCurvatureMeasure (IfcAbstractEntity* e); + IfcCurvatureMeasure (double v); + operator double() const; +}; +/// Definition from IAI: The IfcDayInMonthNumber is +/// an integer that defines the position of the specified day in a +/// month. +/// Type: INTEGER +/// NOTE Corresponding STEP +/// name: day_in_month_number, please refer to ISO/IS 10303-41:1994 +/// for the final definition of the formal +/// standard. +/// HISTORY New type in IFC +/// Release 1.5.1. +/// IFC2x4 CHANGE Where rule +/// ValidRange added. +class IfcDayInMonthNumber : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcDayInMonthNumber (IfcAbstractEntity* e); + IfcDayInMonthNumber (int v); + operator int() const; +}; + +class IfcDaylightSavingHour : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcDaylightSavingHour (IfcAbstractEntity* e); + IfcDaylightSavingHour (int v); + operator int() const; +}; +/// Definition from ISO/CD 10303-41:1992: A descriptive measure is a human interpretable definition of a quantifiable value. +/// Type: STRING +/// +/// NOTE Corresponding ISO 10303 name:descriptive_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. +/// +/// HISTORY New type in IFC Release 1.5.1. +class IfcDescriptiveMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcDescriptiveMeasure (IfcAbstractEntity* e); + IfcDescriptiveMeasure (std::string v); + operator std::string() const; +}; +/// Definition from ISO/CD 10303-42:1992: A dimension count is a positive integer used to define the coordinate space dimensionality. +/// +/// The IfcDimensionCount is restricted to have the dimensionality of either 1, 2, or 3 - the WR1 had been added as an addition to the ISO 10303:42 entity dimension_count. In contrary to the ISO 10303:42 constraint, that all geometric representation items within a geometric representation context are forced to have the same dimension count, the IFC geometry allows mixed dimensions, particularly when defining the boundary of planar surfaces. +/// +/// NOTE Corresponding ISO 10303 type: dimension_count, please refer to ISO/IS 10303-42:1994, p. 14 for the final definition of the formal standard. +/// +/// HISTORY New Type in IFC Release 1.5 +class IfcDimensionCount : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcDimensionCount (IfcAbstractEntity* e); + IfcDimensionCount (int v); + operator int() const; +}; +/// IfcDoseEquivalentMeasure is a measure of the radioactive dose equivalent. +/// Usually measured in Sievert (Sv, J/kg). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcDoseEquivalentMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcDoseEquivalentMeasure (IfcAbstractEntity* e); + IfcDoseEquivalentMeasure (double v); + operator double() const; +}; +/// IfcDynamicViscosityMeasure is a measure of the viscous resistance of a medium. +/// +/// Usually measured in Pascal second (Pa s). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2.0. +class IfcDynamicViscosityMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcDynamicViscosityMeasure (IfcAbstractEntity* e); + IfcDynamicViscosityMeasure (double v); + operator double() const; +}; +/// IfcElectricCapacitanceMeasure is a measure of the electric capacitance. +/// Usually measured in Farad (F, C/V = A s/V). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcElectricCapacitanceMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcElectricCapacitanceMeasure (IfcAbstractEntity* e); + IfcElectricCapacitanceMeasure (double v); + operator double() const; +}; +/// IfcElectricChargeMeasure is a measure of the electric charge. +/// Usually measured in Coulomb (C, A s). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcElectricChargeMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcElectricChargeMeasure (IfcAbstractEntity* e); + IfcElectricChargeMeasure (double v); + operator double() const; +}; +/// IfcElectricConductanceMeasure is a measure of the electric conductance. +/// Usually measured in Siemens (S, 1/Ohm = A/V). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcElectricConductanceMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcElectricConductanceMeasure (IfcAbstractEntity* e); + IfcElectricConductanceMeasure (double v); + operator double() const; +}; +/// Definition from ISO/CD 10303-41:1992: The value for the movement of electrically charged particles. +/// Usually measured in Ampere (A). +/// Type: REAL +/// +/// NOTE Corresponding ISO 10303 name: electric_current_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. +/// +/// HISTORY New type in IFC Release 1.5.1. +class IfcElectricCurrentMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcElectricCurrentMeasure (IfcAbstractEntity* e); + IfcElectricCurrentMeasure (double v); + operator double() const; +}; +/// IfcElectricResistanceMeasure is a measure of the electric resistance. +/// Usually measured in Ohm (V/A). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcElectricResistanceMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcElectricResistanceMeasure (IfcAbstractEntity* e); + IfcElectricResistanceMeasure (double v); + operator double() const; +}; +/// IfcElectricVoltageMeasure is a measure of electromotive force. +/// Usually measured in Volts (V, W/A). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2.0. +class IfcElectricVoltageMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcElectricVoltageMeasure (IfcAbstractEntity* e); + IfcElectricVoltageMeasure (double v); + operator double() const; +}; +/// IfcEnergyMeasure is a measure of energy required or used. +/// Usually measured in Joules, (J, Nm). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2.0. +class IfcEnergyMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcEnergyMeasure (IfcAbstractEntity* e); + IfcEnergyMeasure (double v); + operator double() const; +}; +/// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal (sometimes +/// referred to as "roman" or "upright"), italic and oblique faces within a font family. Values are: +/// +/// normal +/// italic +/// oblique +/// +/// A value of 'normal' selects a font that is classified as 'normal' in the user agents font database, while 'oblique' selects a font that is labeled 'oblique'. A value of 'italic' selects a font that is labeled 'italic', or, if that is not available, one labeled 'oblique'. The font that is labeled 'oblique' in the user agents font database may actually have been generated by electronically slanting a normal font. +/// +/// 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. +/// +/// HISTORY  New type in IFC2x3. +class IfcFontStyle : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcFontStyle (IfcAbstractEntity* e); + IfcFontStyle (std::string v); + operator std::string() const; +}; +/// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal and small-caps within a font family. Values are: +/// +/// normal +/// small-caps +/// +/// Another type of variation within a font family is the small-caps. In a small-caps font the lower case letters look similar to the uppercase ones, but in a smaller size and with slightly different proportions. The 'font-variant' property selects that font. +/// +/// 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. +/// +/// HISTORY  New type in IFC2x3. +class IfcFontVariant : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcFontVariant (IfcAbstractEntity* e); + IfcFontVariant (std::string v); + operator std::string() const; +}; +/// 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: +/// +/// normal +/// bold +/// 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 +/// +/// Fonts (the font data) typically have one or more properties whose values are names that are descriptive of the "weight" of a font. There is no accepted, universal meaning to these weight names. Their primary role is to distinguish faces of differing darkness within a single font family. Usage across font families is quite variant; for example a font that you might think of as being bold might be described as being Regular, Roman, Book, Medium, Semi- or DemiBold, Bold, or Black, depending on how black the "normal" face of the font is within the design. Because there is no standard usage of names, the weight property values in CSS1 are given on a numerical scale in which the value '400' (or 'normal') corresponds to the "normal" text face for that family. The weight name associated with that face will typically be Book, Regular, Roman, Normal or sometimes Medium. +/// +/// The association of other weights within a family to the numerical weight values is intended only to preserve the ordering of darkness within that family. However, the following heuristics tell how the assignment is done in typical cases: +/// +/// If the font family already uses a numerical scale with nine values (such as with OpenType), the font weights should be mapped directly. +/// If there is both a face labeled Medium and one labeled Book, Regular, Roman or Normal, then the Medium is normally assigned to the '500'. +/// The font labeled "Bold" will often correspond to the weight value '700'. +/// If there are fewer then 9 weights in the family, the default algorithm for filling the "holes" is as follows. If '500' is unassigned, it will be assigned the same font as '400'. If any of the values '600', '700', '800' or '900' remains unassigned, they are assigned to the same face as the next darker assigned keyword, if any, or the next lighter one otherwise. If any of '300', '200' or '100' remains unassigned, it is assigned to the next lighter assigned keyword, if any, or the next darker otherwise. +/// +/// The following two examples illustrate the process. Assume four weights in the "Example1" family, from lightest to darkest: Regular, Medium, Bold, Heavy. And assume six weights in the "Example2" family: Book, Medium, Bold, Heavy, Black, ExtraBlack. Note how in the second example it has been decided not to assign "Example2 ExtraBlack" to anything. +/// +/// 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. +/// +/// HISTORY  New type in IFC2x2 Addendum 2. +class IfcFontWeight : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcFontWeight (IfcAbstractEntity* e); + IfcFontWeight (std::string v); + operator std::string() const; +}; +/// IfcForceMeasure is a measure of the force. +/// Usually measured in Newton (N, kg m/s2). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcForceMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcForceMeasure (IfcAbstractEntity* e); + IfcForceMeasure (double v); + operator double() const; +}; +/// IfcFrequencyMeasure is a measure of the number of times that an item vibrates in unit time. +/// Usually measured in cycles/s or Herz (Hz). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2.0. +class IfcFrequencyMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcFrequencyMeasure (IfcAbstractEntity* e); + IfcFrequencyMeasure (double v); + operator double() const; +}; +/// 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 +/// +/// "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. +class IfcGloballyUniqueId : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcGloballyUniqueId (IfcAbstractEntity* e); + IfcGloballyUniqueId (std::string v); + operator std::string() const; +}; +/// IfcHeatFluxDensityMeasure is a measure of the density of heat flux within a body. +/// Usually measured in W/m2 (J/s m2). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2.0. +class IfcHeatFluxDensityMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcHeatFluxDensityMeasure (IfcAbstractEntity* e); + IfcHeatFluxDensityMeasure (double v); + operator double() const; +}; +/// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. +/// +/// HISTORY: This is new type in IFC2x2. +class IfcHeatingValueMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcHeatingValueMeasure (IfcAbstractEntity* e); + IfcHeatingValueMeasure (double v); + operator double() const; +}; + +class IfcHourInDay : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcHourInDay (IfcAbstractEntity* e); + IfcHourInDay (int v); + operator int() const; +}; +/// Definition from ISO/CD 10303-41:1992: An identifier is an alphanumeric string which allows an individual thing to be identified. It may not provide natural-language meaning. +/// +/// Type: STRING of up to 255 characters +/// +/// NOTE Corresponding STEP name: identifier, please refer to ISO/IS 10303-41 for the final definition of the formal standard. +/// +/// HISTORY New type in IFC Release 2x. +/// IFC 2x4 CHANGE: Previously recommended size restriction of 255 characters is now mandatory. +/// +/// As a merely machine-readable string for identification purposes, an identifier is usually machine-generated and locale-independent (in contrast to human-readable labels, IfcLabel). +/// +/// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. +/// +/// Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier. +class IfcIdentifier : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcIdentifier (IfcAbstractEntity* e); + IfcIdentifier (std::string v); + operator std::string() const; +}; +/// IfcIlluminanceMeasure is a measure of the illuminance. +/// Usually measured in Lux (lx, Lumen/m2 = Candela Steradian/m2). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcIlluminanceMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcIlluminanceMeasure (IfcAbstractEntity* e); + IfcIlluminanceMeasure (double v); + operator double() const; +}; +/// IfcInductanceMeasure is a measure of the inductance. +/// Usually measure in Henry (H, Weber/A = V s/A). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcInductanceMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcInductanceMeasure (IfcAbstractEntity* e); + IfcInductanceMeasure (double v); + operator double() const; +}; +/// IfcInteger is a defined type of simple data type Integer. It is required since a select type (IfcSimpleValue) cannot include directly simple types in its select list. +/// +/// In principle, the domain of IfcInteger (being an Integer) is all integer numbers. Here the number of bits used for the IfcInteger representation is unconstrained, but in practice it is implementation specific. +/// +/// Type: INTEGER +/// +/// HISTORY New type in IFC Release 1.5.1. +class IfcInteger : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcInteger (IfcAbstractEntity* e); + IfcInteger (int v); + operator int() const; +}; +/// IfcIntegerCountRateMeasure is a measure of the integer number of units flowing per unit time. +/// +/// EXAMPLE: This measure may be used for measuring integer units per second or per hour. For example, it may be used to measure the number of books per hour passing along a part of a mechanical book handling system, the number of people per hour travelling along a moving walkway or the number of vehicles per hour travelling along a section of road. +/// +/// Type: INTEGER +/// +/// HISTORY New type in IFC Release 2.0. +class IfcIntegerCountRateMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcIntegerCountRateMeasure (IfcAbstractEntity* e); + IfcIntegerCountRateMeasure (int v); + operator int() const; +}; +/// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. +/// +/// HISTORY: New type in IFC2x2. +class IfcIonConcentrationMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcIonConcentrationMeasure (IfcAbstractEntity* e); + IfcIonConcentrationMeasure (double v); + operator double() const; +}; +/// IfcIsothermalMoistureCapacityMeasure is a measure of isothermal moisture capacity. +/// Usually measured in m3/kg. +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcIsothermalMoistureCapacityMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcIsothermalMoistureCapacityMeasure (IfcAbstractEntity* e); + IfcIsothermalMoistureCapacityMeasure (double v); + operator double() const; +}; +/// IfcKinematicViscosityMeasure is a measure of the viscous resistance of a medium to a moving body. +/// Usually measured in m2/s. +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2.0. +class IfcKinematicViscosityMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcKinematicViscosityMeasure (IfcAbstractEntity* e); + IfcKinematicViscosityMeasure (double v); + operator double() const; +}; +/// Definition from ISO/CD 10303-41:1992: A label is the term by which something may be referred to. It is a string which represents the human-interpretable name of something and shall have a natural-language meaning. +/// +/// Type: STRING of up to 255 characters +/// +/// NOTE Corresponding STEP name: label, please refer to ISO/IS 10303-41 for the final definition of the formal standard. +/// +/// HISTORY New type in IFC Release 2x. +/// IFC 2x4 CHANGE: Previously recommended size restriction of 255 characters is now mandatory. +/// +/// As a human-readable string for naming purposes, a label is usually human-specified and locale-dependent (in contrast to purely machine-readable identifiers, IfcIdentifier). +/// +/// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. +/// +/// Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label. +class IfcLabel : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcLabel (IfcAbstractEntity* e); + IfcLabel (std::string v); + operator std::string() const; +}; +/// Definition from ISO/CD 10303-41:1992: A length measure is the value of a distance. +/// Usually measured in millimeters (mm). +/// Type: REAL +/// +/// NOTE Corresponding ISO 10303 name: length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. +/// +/// HISTORY New type in IFC Release 1.5.1. +class IfcLengthMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcLengthMeasure (IfcAbstractEntity* e); + IfcLengthMeasure (double v); + operator double() const; +}; +/// IfcLinearForceMeasure is a measure of linear force. +/// Usually measured in N/m. +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcLinearForceMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcLinearForceMeasure (IfcAbstractEntity* e); + IfcLinearForceMeasure (double v); + operator double() const; +}; +/// IfcLinearMomentMeasure is a measure of linear moment. +/// Usually measured in Nm/m. +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcLinearMomentMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcLinearMomentMeasure (IfcAbstractEntity* e); + IfcLinearMomentMeasure (double v); + operator double() const; +}; +/// IfcLinearStiffnessMeasureA measure of linear stiffness. +/// Usually measured in N/m. +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcLinearStiffnessMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcLinearStiffnessMeasure (IfcAbstractEntity* e); + IfcLinearStiffnessMeasure (double v); + operator double() const; +}; +/// IfcLinearVelocityMeasure is a measure of the velocity of a body measured in terms of distance moved per unit time. +/// Usually measured in m/s. +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2.0. +class IfcLinearVelocityMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcLinearVelocityMeasure (IfcAbstractEntity* e); + IfcLinearVelocityMeasure (double v); + operator double() const; +}; +/// IfcLogical v2_UserDefinedRole, boost::optional< IfcText > v3_Description); + IfcActorRole (IfcRoleEnum::IfcRoleEnum v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description); typedef IfcTemplatedEntityList< IfcActorRole > list; }; /// Definition: An abstract entity type for various kinds of postal and telecom addresses. @@ -5463,16 +6633,16 @@ public: /// Whether the optional attribute Description is defined for this IfcAddress bool hasDescription() const; /// Text that relates the nature of the address. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Whether the optional attribute UserDefinedPurpose is defined for this IfcAddress bool hasUserDefinedPurpose() const; /// Allows for specification of user specific purpose of the address beyond the /// enumeration values provided by Purpose attribute of type IfcAddressTypeEnum. /// When a value is provided for attribute UserDefinedPurpose, in parallel the /// attribute Purpose shall have enumeration value USERDEFINED. - IfcLabel UserDefinedPurpose() const; - void setUserDefinedPurpose(IfcLabel v); + std::string UserDefinedPurpose() const; + void setUserDefinedPurpose(std::string v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::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 IfcParse::IfcException("argument out of range"); } @@ -5483,7 +6653,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAddress (IfcAbstractEntity* e); - IfcAddress (boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose); + IfcAddress (boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose); typedef IfcTemplatedEntityList< IfcAddress > list; }; /// 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. @@ -5495,14 +6665,14 @@ public: IfcOrganization* ApplicationDeveloper() const; void setApplicationDeveloper(IfcOrganization* v); /// The version number of this software as specified by the developer of the application. - IfcLabel Version() const; - void setVersion(IfcLabel v); + std::string Version() const; + void setVersion(std::string v); /// The full name of the application as specified by the application developer. - IfcLabel ApplicationFullName() const; - void setApplicationFullName(IfcLabel v); + std::string ApplicationFullName() const; + void setApplicationFullName(std::string v); /// Short identifying name for the application. - IfcIdentifier ApplicationIdentifier() const; - void setApplicationIdentifier(IfcIdentifier v); + std::string ApplicationIdentifier() const; + void setApplicationIdentifier(std::string v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ApplicationDeveloper"; case 1: return "Version"; case 2: return "ApplicationFullName"; case 3: return "ApplicationIdentifier"; } throw IfcParse::IfcException("argument out of range"); } @@ -5511,7 +6681,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcApplication (IfcAbstractEntity* e); - IfcApplication (IfcOrganization* v1_ApplicationDeveloper, IfcLabel v2_Version, IfcLabel v3_ApplicationFullName, IfcIdentifier v4_ApplicationIdentifier); + IfcApplication (IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); typedef IfcTemplatedEntityList< IfcApplication > list; }; /// IfcAppliedValue is an abstract supertype that specifies the common attributes for cost values. @@ -5533,18 +6703,18 @@ public: /// Whether the optional attribute Name is defined for this IfcAppliedValue bool hasName() const; /// A name or additional clarification given to a cost value. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcAppliedValue bool hasDescription() const; /// The description that may apply additional information about a cost value. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Whether the optional attribute AppliedValue is defined for this IfcAppliedValue bool hasAppliedValue() const; /// The extent or quantity or amount of an applied value. - IfcAppliedValueSelect AppliedValue() const; - void setAppliedValue(IfcAppliedValueSelect v); + IfcAppliedValueSelect* AppliedValue() const; + void setAppliedValue(IfcAppliedValueSelect* v); /// Whether the optional attribute UnitBasis is defined for this IfcAppliedValue bool hasUnitBasis() const; /// The number and unit of measure on which the unit cost is based. @@ -5559,15 +6729,15 @@ public: /// The date on or from which an applied value is applicable. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - IfcDateTimeSelect ApplicableDate() const; - void setApplicableDate(IfcDateTimeSelect v); + IfcDateTimeSelect* ApplicableDate() const; + void setApplicableDate(IfcDateTimeSelect* v); /// Whether the optional attribute FixedUntilDate is defined for this IfcAppliedValue bool hasFixedUntilDate() const; /// The date until which applied value is applicable. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - IfcDateTimeSelect FixedUntilDate() const; - void setFixedUntilDate(IfcDateTimeSelect v); + IfcDateTimeSelect* FixedUntilDate() const; + void setFixedUntilDate(IfcDateTimeSelect* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; } throw IfcParse::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 IfcParse::IfcException("argument out of range"); } @@ -5579,7 +6749,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAppliedValue (IfcAbstractEntity* e); - IfcAppliedValue (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDateTimeSelect > v5_ApplicableDate, boost::optional< IfcDateTimeSelect > v6_FixedUntilDate); + IfcAppliedValue (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcAppliedValueSelect* v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, IfcDateTimeSelect* v5_ApplicableDate, IfcDateTimeSelect* v6_FixedUntilDate); typedef IfcTemplatedEntityList< IfcAppliedValue > list; }; /// An IfcAppliedValueRelationship is a relationship class that enables cost values to be aggregated together as components of another cost value. @@ -5619,12 +6789,12 @@ public: void setArithmeticOperator(IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum v); /// Whether the optional attribute Name is defined for this IfcAppliedValueRelationship bool hasName() const; - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcAppliedValueRelationship bool hasDescription() const; - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ComponentOfTotal"; case 1: return "Components"; case 2: return "ArithmeticOperator"; case 3: return "Name"; case 4: return "Description"; } throw IfcParse::IfcException("argument out of range"); } @@ -5633,7 +6803,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAppliedValueRelationship (IfcAbstractEntity* e); - IfcAppliedValueRelationship (IfcAppliedValue* v1_ComponentOfTotal, IfcTemplatedEntityList< IfcAppliedValue >::ptr v2_Components, IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum v3_ArithmeticOperator, boost::optional< IfcLabel > v4_Name, boost::optional< IfcText > v5_Description); + IfcAppliedValueRelationship (IfcAppliedValue* v1_ComponentOfTotal, IfcTemplatedEntityList< IfcAppliedValue >::ptr v2_Components, IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum v3_ArithmeticOperator, boost::optional< std::string > v4_Name, boost::optional< std::string > v5_Description); typedef IfcTemplatedEntityList< IfcAppliedValueRelationship > list; }; /// 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 @@ -5646,28 +6816,28 @@ public: /// Whether the optional attribute Description is defined for this IfcApproval bool hasDescription() const; /// A general textual description of a design, work task, plan, etc. that is being approved for. - IfcText Description() const; - void setDescription(IfcText v); - IfcDateTimeSelect ApprovalDateTime() const; - void setApprovalDateTime(IfcDateTimeSelect v); + std::string Description() const; + void setDescription(std::string v); + IfcDateTimeSelect* ApprovalDateTime() const; + void setApprovalDateTime(IfcDateTimeSelect* v); /// Whether the optional attribute ApprovalStatus is defined for this IfcApproval bool hasApprovalStatus() const; - IfcLabel ApprovalStatus() const; - void setApprovalStatus(IfcLabel v); + std::string ApprovalStatus() const; + void setApprovalStatus(std::string v); /// Whether the optional attribute ApprovalLevel is defined for this IfcApproval bool hasApprovalLevel() const; - IfcLabel ApprovalLevel() const; - void setApprovalLevel(IfcLabel v); + std::string ApprovalLevel() const; + void setApprovalLevel(std::string v); /// Whether the optional attribute ApprovalQualifier is defined for this IfcApproval bool hasApprovalQualifier() const; - IfcText ApprovalQualifier() const; - void setApprovalQualifier(IfcText v); + std::string ApprovalQualifier() const; + void setApprovalQualifier(std::string v); /// A human readable name given to an approval. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// A computer interpretable identifier by which the approval is known. - IfcIdentifier Identifier() const; - void setIdentifier(IfcIdentifier v); + std::string Identifier() const; + void setIdentifier(std::string v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; } throw IfcParse::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 IfcParse::IfcException("argument out of range"); } @@ -5679,14 +6849,14 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcApproval (IfcAbstractEntity* e); - IfcApproval (boost::optional< IfcText > v1_Description, IfcDateTimeSelect v2_ApprovalDateTime, boost::optional< IfcLabel > v3_ApprovalStatus, boost::optional< IfcLabel > v4_ApprovalLevel, boost::optional< IfcText > v5_ApprovalQualifier, IfcLabel v6_Name, IfcIdentifier v7_Identifier); + IfcApproval (boost::optional< std::string > v1_Description, IfcDateTimeSelect* v2_ApprovalDateTime, boost::optional< std::string > v3_ApprovalStatus, boost::optional< std::string > v4_ApprovalLevel, boost::optional< std::string > v5_ApprovalQualifier, std::string v6_Name, std::string v7_Identifier); typedef IfcTemplatedEntityList< IfcApproval > list; }; class IfcApprovalActorRelationship : public IfcUtil::IfcBaseEntity { public: - IfcActorSelect Actor() const; - void setActor(IfcActorSelect v); + IfcActorSelect* Actor() const; + void setActor(IfcActorSelect* v); IfcApproval* Approval() const; void setApproval(IfcApproval* v); IfcActorRole* Role() const; @@ -5699,7 +6869,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcApprovalActorRelationship (IfcAbstractEntity* e); - IfcApprovalActorRelationship (IfcActorSelect v1_Actor, IfcApproval* v2_Approval, IfcActorRole* v3_Role); + IfcApprovalActorRelationship (IfcActorSelect* v1_Actor, IfcApproval* v2_Approval, IfcActorRole* v3_Role); typedef IfcTemplatedEntityList< IfcApprovalActorRelationship > list; }; @@ -5736,10 +6906,10 @@ public: void setRelatingApproval(IfcApproval* v); /// Whether the optional attribute Description is defined for this IfcApprovalRelationship bool hasDescription() const; - IfcText Description() const; - void setDescription(IfcText v); - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Description() const; + void setDescription(std::string v); + std::string Name() const; + void setName(std::string v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RelatedApproval"; case 1: return "RelatingApproval"; case 2: return "Description"; case 3: return "Name"; } throw IfcParse::IfcException("argument out of range"); } @@ -5748,7 +6918,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcApprovalRelationship (IfcAbstractEntity* e); - IfcApprovalRelationship (IfcApproval* v1_RelatedApproval, IfcApproval* v2_RelatingApproval, boost::optional< IfcText > v3_Description, IfcLabel v4_Name); + IfcApprovalRelationship (IfcApproval* v1_RelatedApproval, IfcApproval* v2_RelatingApproval, boost::optional< std::string > v3_Description, std::string v4_Name); typedef IfcTemplatedEntityList< IfcApprovalRelationship > list; }; /// Definition @@ -5771,8 +6941,8 @@ public: /// Whether the optional attribute Name is defined for this IfcBoundaryCondition bool hasName() const; /// Optionally defines a name for this boundary condition. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } throw IfcParse::IfcException("argument out of range"); } @@ -5781,7 +6951,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBoundaryCondition (IfcAbstractEntity* e); - IfcBoundaryCondition (boost::optional< IfcLabel > v1_Name); + IfcBoundaryCondition (boost::optional< std::string > v1_Name); typedef IfcTemplatedEntityList< IfcBoundaryCondition > list; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. @@ -5798,31 +6968,31 @@ class IfcBoundaryEdgeCondition : public IfcBoundaryCondition { public: /// Whether the optional attribute LinearStiffnessByLengthX is defined for this IfcBoundaryEdgeCondition bool hasLinearStiffnessByLengthX() const; - IfcModulusOfLinearSubgradeReactionMeasure LinearStiffnessByLengthX() const; - void setLinearStiffnessByLengthX(IfcModulusOfLinearSubgradeReactionMeasure v); + double LinearStiffnessByLengthX() const; + void setLinearStiffnessByLengthX(double v); /// Whether the optional attribute LinearStiffnessByLengthY is defined for this IfcBoundaryEdgeCondition bool hasLinearStiffnessByLengthY() const; - IfcModulusOfLinearSubgradeReactionMeasure LinearStiffnessByLengthY() const; - void setLinearStiffnessByLengthY(IfcModulusOfLinearSubgradeReactionMeasure v); + double LinearStiffnessByLengthY() const; + void setLinearStiffnessByLengthY(double v); /// Whether the optional attribute LinearStiffnessByLengthZ is defined for this IfcBoundaryEdgeCondition bool hasLinearStiffnessByLengthZ() const; - IfcModulusOfLinearSubgradeReactionMeasure LinearStiffnessByLengthZ() const; - void setLinearStiffnessByLengthZ(IfcModulusOfLinearSubgradeReactionMeasure v); + double LinearStiffnessByLengthZ() const; + void setLinearStiffnessByLengthZ(double v); /// Whether the optional attribute RotationalStiffnessByLengthX is defined for this IfcBoundaryEdgeCondition bool hasRotationalStiffnessByLengthX() const; /// Rotational stiffness value about the x-axis of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfRotationalSubgradeReactionMeasure RotationalStiffnessByLengthX() const; - void setRotationalStiffnessByLengthX(IfcModulusOfRotationalSubgradeReactionMeasure v); + double RotationalStiffnessByLengthX() const; + void setRotationalStiffnessByLengthX(double v); /// Whether the optional attribute RotationalStiffnessByLengthY is defined for this IfcBoundaryEdgeCondition bool hasRotationalStiffnessByLengthY() const; /// Rotational stiffness value about the y-axis of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfRotationalSubgradeReactionMeasure RotationalStiffnessByLengthY() const; - void setRotationalStiffnessByLengthY(IfcModulusOfRotationalSubgradeReactionMeasure v); + double RotationalStiffnessByLengthY() const; + void setRotationalStiffnessByLengthY(double v); /// Whether the optional attribute RotationalStiffnessByLengthZ is defined for this IfcBoundaryEdgeCondition bool hasRotationalStiffnessByLengthZ() const; /// Rotational stiffness value about the z-axis of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfRotationalSubgradeReactionMeasure RotationalStiffnessByLengthZ() const; - void setRotationalStiffnessByLengthZ(IfcModulusOfRotationalSubgradeReactionMeasure v); + double RotationalStiffnessByLengthZ() const; + void setRotationalStiffnessByLengthZ(double v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcBoundaryCondition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "LinearStiffnessByLengthX"; case 2: return "LinearStiffnessByLengthY"; case 3: return "LinearStiffnessByLengthZ"; case 4: return "RotationalStiffnessByLengthX"; case 5: return "RotationalStiffnessByLengthY"; case 6: return "RotationalStiffnessByLengthZ"; } return IfcBoundaryCondition::getArgumentName(i); } @@ -5831,7 +7001,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBoundaryEdgeCondition (IfcAbstractEntity* e); - IfcBoundaryEdgeCondition (boost::optional< IfcLabel > v1_Name, boost::optional< IfcModulusOfLinearSubgradeReactionMeasure > v2_LinearStiffnessByLengthX, boost::optional< IfcModulusOfLinearSubgradeReactionMeasure > v3_LinearStiffnessByLengthY, boost::optional< IfcModulusOfLinearSubgradeReactionMeasure > v4_LinearStiffnessByLengthZ, boost::optional< IfcModulusOfRotationalSubgradeReactionMeasure > v5_RotationalStiffnessByLengthX, boost::optional< IfcModulusOfRotationalSubgradeReactionMeasure > v6_RotationalStiffnessByLengthY, boost::optional< IfcModulusOfRotationalSubgradeReactionMeasure > v7_RotationalStiffnessByLengthZ); + IfcBoundaryEdgeCondition (boost::optional< std::string > v1_Name, boost::optional< double > v2_LinearStiffnessByLengthX, boost::optional< double > v3_LinearStiffnessByLengthY, boost::optional< double > v4_LinearStiffnessByLengthZ, boost::optional< double > v5_RotationalStiffnessByLengthX, boost::optional< double > v6_RotationalStiffnessByLengthY, boost::optional< double > v7_RotationalStiffnessByLengthZ); typedef IfcTemplatedEntityList< IfcBoundaryEdgeCondition > list; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. @@ -5848,16 +7018,16 @@ class IfcBoundaryFaceCondition : public IfcBoundaryCondition { public: /// Whether the optional attribute LinearStiffnessByAreaX is defined for this IfcBoundaryFaceCondition bool hasLinearStiffnessByAreaX() const; - IfcModulusOfSubgradeReactionMeasure LinearStiffnessByAreaX() const; - void setLinearStiffnessByAreaX(IfcModulusOfSubgradeReactionMeasure v); + double LinearStiffnessByAreaX() const; + void setLinearStiffnessByAreaX(double v); /// Whether the optional attribute LinearStiffnessByAreaY is defined for this IfcBoundaryFaceCondition bool hasLinearStiffnessByAreaY() const; - IfcModulusOfSubgradeReactionMeasure LinearStiffnessByAreaY() const; - void setLinearStiffnessByAreaY(IfcModulusOfSubgradeReactionMeasure v); + double LinearStiffnessByAreaY() const; + void setLinearStiffnessByAreaY(double v); /// Whether the optional attribute LinearStiffnessByAreaZ is defined for this IfcBoundaryFaceCondition bool hasLinearStiffnessByAreaZ() const; - IfcModulusOfSubgradeReactionMeasure LinearStiffnessByAreaZ() const; - void setLinearStiffnessByAreaZ(IfcModulusOfSubgradeReactionMeasure v); + double LinearStiffnessByAreaZ() const; + void setLinearStiffnessByAreaZ(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcBoundaryCondition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "LinearStiffnessByAreaX"; case 2: return "LinearStiffnessByAreaY"; case 3: return "LinearStiffnessByAreaZ"; } return IfcBoundaryCondition::getArgumentName(i); } @@ -5866,7 +7036,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBoundaryFaceCondition (IfcAbstractEntity* e); - IfcBoundaryFaceCondition (boost::optional< IfcLabel > v1_Name, boost::optional< IfcModulusOfSubgradeReactionMeasure > v2_LinearStiffnessByAreaX, boost::optional< IfcModulusOfSubgradeReactionMeasure > v3_LinearStiffnessByAreaY, boost::optional< IfcModulusOfSubgradeReactionMeasure > v4_LinearStiffnessByAreaZ); + IfcBoundaryFaceCondition (boost::optional< std::string > v1_Name, boost::optional< double > v2_LinearStiffnessByAreaX, boost::optional< double > v3_LinearStiffnessByAreaY, boost::optional< double > v4_LinearStiffnessByAreaZ); typedef IfcTemplatedEntityList< IfcBoundaryFaceCondition > list; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. @@ -5883,31 +7053,31 @@ class IfcBoundaryNodeCondition : public IfcBoundaryCondition { public: /// Whether the optional attribute LinearStiffnessX is defined for this IfcBoundaryNodeCondition bool hasLinearStiffnessX() const; - IfcLinearStiffnessMeasure LinearStiffnessX() const; - void setLinearStiffnessX(IfcLinearStiffnessMeasure v); + double LinearStiffnessX() const; + void setLinearStiffnessX(double v); /// Whether the optional attribute LinearStiffnessY is defined for this IfcBoundaryNodeCondition bool hasLinearStiffnessY() const; - IfcLinearStiffnessMeasure LinearStiffnessY() const; - void setLinearStiffnessY(IfcLinearStiffnessMeasure v); + double LinearStiffnessY() const; + void setLinearStiffnessY(double v); /// Whether the optional attribute LinearStiffnessZ is defined for this IfcBoundaryNodeCondition bool hasLinearStiffnessZ() const; - IfcLinearStiffnessMeasure LinearStiffnessZ() const; - void setLinearStiffnessZ(IfcLinearStiffnessMeasure v); + double LinearStiffnessZ() const; + void setLinearStiffnessZ(double v); /// Whether the optional attribute RotationalStiffnessX is defined for this IfcBoundaryNodeCondition bool hasRotationalStiffnessX() const; /// Rotational stiffness value about the x-axis of the coordinate system defined by the instance which uses this resource object. - IfcRotationalStiffnessMeasure RotationalStiffnessX() const; - void setRotationalStiffnessX(IfcRotationalStiffnessMeasure v); + double RotationalStiffnessX() const; + void setRotationalStiffnessX(double v); /// Whether the optional attribute RotationalStiffnessY is defined for this IfcBoundaryNodeCondition bool hasRotationalStiffnessY() const; /// Rotational stiffness value about the y-axis of the coordinate system defined by the instance which uses this resource object. - IfcRotationalStiffnessMeasure RotationalStiffnessY() const; - void setRotationalStiffnessY(IfcRotationalStiffnessMeasure v); + double RotationalStiffnessY() const; + void setRotationalStiffnessY(double v); /// Whether the optional attribute RotationalStiffnessZ is defined for this IfcBoundaryNodeCondition bool hasRotationalStiffnessZ() const; /// Rotational stiffness value about the z-axis of the coordinate system defined by the instance which uses this resource object. - IfcRotationalStiffnessMeasure RotationalStiffnessZ() const; - void setRotationalStiffnessZ(IfcRotationalStiffnessMeasure v); + double RotationalStiffnessZ() const; + void setRotationalStiffnessZ(double v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcBoundaryCondition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "LinearStiffnessX"; case 2: return "LinearStiffnessY"; case 3: return "LinearStiffnessZ"; case 4: return "RotationalStiffnessX"; case 5: return "RotationalStiffnessY"; case 6: return "RotationalStiffnessZ"; } return IfcBoundaryCondition::getArgumentName(i); } @@ -5916,7 +7086,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBoundaryNodeCondition (IfcAbstractEntity* e); - IfcBoundaryNodeCondition (boost::optional< IfcLabel > v1_Name, boost::optional< IfcLinearStiffnessMeasure > v2_LinearStiffnessX, boost::optional< IfcLinearStiffnessMeasure > v3_LinearStiffnessY, boost::optional< IfcLinearStiffnessMeasure > v4_LinearStiffnessZ, boost::optional< IfcRotationalStiffnessMeasure > v5_RotationalStiffnessX, boost::optional< IfcRotationalStiffnessMeasure > v6_RotationalStiffnessY, boost::optional< IfcRotationalStiffnessMeasure > v7_RotationalStiffnessZ); + IfcBoundaryNodeCondition (boost::optional< std::string > v1_Name, boost::optional< double > v2_LinearStiffnessX, boost::optional< double > v3_LinearStiffnessY, boost::optional< double > v4_LinearStiffnessZ, boost::optional< double > v5_RotationalStiffnessX, boost::optional< double > v6_RotationalStiffnessY, boost::optional< double > v7_RotationalStiffnessZ); typedef IfcTemplatedEntityList< IfcBoundaryNodeCondition > list; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions, including linearly elastic warping restraints. @@ -5933,8 +7103,8 @@ public: /// Whether the optional attribute WarpingStiffness is defined for this IfcBoundaryNodeConditionWarping bool hasWarpingStiffness() const; /// Defines the warping stiffness value. - IfcWarpingMomentMeasure WarpingStiffness() const; - void setWarpingStiffness(IfcWarpingMomentMeasure v); + double WarpingStiffness() const; + void setWarpingStiffness(double v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_DOUBLE; } return IfcBoundaryNodeCondition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "WarpingStiffness"; } return IfcBoundaryNodeCondition::getArgumentName(i); } @@ -5943,18 +7113,18 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBoundaryNodeConditionWarping (IfcAbstractEntity* e); - IfcBoundaryNodeConditionWarping (boost::optional< IfcLabel > v1_Name, boost::optional< IfcLinearStiffnessMeasure > v2_LinearStiffnessX, boost::optional< IfcLinearStiffnessMeasure > v3_LinearStiffnessY, boost::optional< IfcLinearStiffnessMeasure > v4_LinearStiffnessZ, boost::optional< IfcRotationalStiffnessMeasure > v5_RotationalStiffnessX, boost::optional< IfcRotationalStiffnessMeasure > v6_RotationalStiffnessY, boost::optional< IfcRotationalStiffnessMeasure > v7_RotationalStiffnessZ, boost::optional< IfcWarpingMomentMeasure > v8_WarpingStiffness); + IfcBoundaryNodeConditionWarping (boost::optional< std::string > v1_Name, boost::optional< double > v2_LinearStiffnessX, boost::optional< double > v3_LinearStiffnessY, boost::optional< double > v4_LinearStiffnessZ, boost::optional< double > v5_RotationalStiffnessX, boost::optional< double > v6_RotationalStiffnessY, boost::optional< double > v7_RotationalStiffnessZ, boost::optional< double > v8_WarpingStiffness); typedef IfcTemplatedEntityList< IfcBoundaryNodeConditionWarping > list; }; class IfcCalendarDate : public IfcUtil::IfcBaseEntity { public: - IfcDayInMonthNumber DayComponent() const; - void setDayComponent(IfcDayInMonthNumber v); - IfcMonthInYearNumber MonthComponent() const; - void setMonthComponent(IfcMonthInYearNumber v); - IfcYearNumber YearComponent() const; - void setYearComponent(IfcYearNumber v); + int DayComponent() const; + void setDayComponent(int v); + int MonthComponent() const; + void setMonthComponent(int v); + int YearComponent() const; + void setYearComponent(int v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_INT; case 1: return IfcUtil::Argument_INT; case 2: return IfcUtil::Argument_INT; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "DayComponent"; case 1: return "MonthComponent"; case 2: return "YearComponent"; } throw IfcParse::IfcException("argument out of range"); } @@ -5963,7 +7133,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCalendarDate (IfcAbstractEntity* e); - IfcCalendarDate (IfcDayInMonthNumber v1_DayComponent, IfcMonthInYearNumber v2_MonthComponent, IfcYearNumber v3_YearComponent); + IfcCalendarDate (int v1_DayComponent, int v2_MonthComponent, int v3_YearComponent); typedef IfcTemplatedEntityList< IfcCalendarDate > list; }; /// An IfcClassification is used for the arrangement of objects into a class or category according to a common purpose or their possession of common @@ -5986,15 +7156,15 @@ public: /// Source (or publisher) for this classification. /// /// NOTE that the source of the classification means the person or organization that was the original author or the person or organization currently acting as the publisher. - IfcLabel Source() const; - void setSource(IfcLabel v); + std::string Source() const; + void setSource(std::string v); /// The edition or version of the classification system from which the classification notation is derived. /// /// NOTE the version labeling system is specific to the classification system. /// /// IFC2x4 CHANGE The attribute has been changed to be optional. - IfcLabel Edition() const; - void setEdition(IfcLabel v); + std::string Edition() const; + void setEdition(std::string v); /// Whether the optional attribute EditionDate is defined for this IfcClassification bool hasEditionDate() const; /// The date on which the edition of the classification used became valid. @@ -6007,8 +7177,8 @@ public: /// The name or label by which the classification used is normally known. /// /// NOTE Examples of names include CI/SfB, Masterformat, BSAB, Uniclass, STABU, DIN276, DIN277 etc. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::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 IfcParse::IfcException("argument out of range"); } @@ -6018,7 +7188,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcClassification (IfcAbstractEntity* e); - IfcClassification (IfcLabel v1_Source, IfcLabel v2_Edition, IfcCalendarDate* v3_EditionDate, IfcLabel v4_Name); + IfcClassification (std::string v1_Source, std::string v2_Edition, IfcCalendarDate* v3_EditionDate, std::string v4_Name); typedef IfcTemplatedEntityList< IfcClassification > list; }; @@ -6030,8 +7200,8 @@ public: bool hasItemOf() const; IfcClassification* ItemOf() const; void setItemOf(IfcClassification* v); - IfcLabel Title() const; - void setTitle(IfcLabel v); + std::string Title() const; + void setTitle(std::string v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::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 IfcParse::IfcException("argument out of range"); } @@ -6042,7 +7212,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcClassificationItem (IfcAbstractEntity* e); - IfcClassificationItem (IfcClassificationNotationFacet* v1_Notation, IfcClassification* v2_ItemOf, IfcLabel v3_Title); + IfcClassificationItem (IfcClassificationNotationFacet* v1_Notation, IfcClassification* v2_ItemOf, std::string v3_Title); typedef IfcTemplatedEntityList< IfcClassificationItem > list; }; @@ -6082,8 +7252,8 @@ public: class IfcClassificationNotationFacet : public IfcUtil::IfcBaseEntity { public: - IfcLabel NotationValue() const; - void setNotationValue(IfcLabel v); + std::string NotationValue() const; + void setNotationValue(std::string v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "NotationValue"; } throw IfcParse::IfcException("argument out of range"); } @@ -6092,7 +7262,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcClassificationNotationFacet (IfcAbstractEntity* e); - IfcClassificationNotationFacet (IfcLabel v1_NotationValue); + IfcClassificationNotationFacet (std::string v1_NotationValue); typedef IfcTemplatedEntityList< IfcClassificationNotationFacet > list; }; /// 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. @@ -6108,8 +7278,8 @@ public: /// /// NOTE  Examples are the names of a industry colour classification, such as RAL. /// IFC2x Edition 3 CHANGE  Attribute added. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } throw IfcParse::IfcException("argument out of range"); } @@ -6118,7 +7288,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcColourSpecification (IfcAbstractEntity* e); - IfcColourSpecification (boost::optional< IfcLabel > v1_Name); + IfcColourSpecification (boost::optional< std::string > v1_Name); typedef IfcTemplatedEntityList< IfcColourSpecification > list; }; /// 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. @@ -6167,13 +7337,13 @@ public: class IfcConnectionPointGeometry : public IfcConnectionGeometry { public: /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. - IfcPointOrVertexPoint PointOnRelatingElement() const; - void setPointOnRelatingElement(IfcPointOrVertexPoint v); + IfcPointOrVertexPoint* PointOnRelatingElement() const; + void setPointOnRelatingElement(IfcPointOrVertexPoint* v); /// Whether the optional attribute PointOnRelatedElement is defined for this IfcConnectionPointGeometry bool hasPointOnRelatedElement() const; /// Point at which connected objects are aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used. - IfcPointOrVertexPoint PointOnRelatedElement() const; - void setPointOnRelatedElement(IfcPointOrVertexPoint v); + IfcPointOrVertexPoint* PointOnRelatedElement() const; + void setPointOnRelatedElement(IfcPointOrVertexPoint* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcConnectionGeometry::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "PointOnRelatingElement"; case 1: return "PointOnRelatedElement"; } return IfcConnectionGeometry::getArgumentName(i); } @@ -6182,18 +7352,18 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConnectionPointGeometry (IfcAbstractEntity* e); - IfcConnectionPointGeometry (IfcPointOrVertexPoint v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint > v2_PointOnRelatedElement); + IfcConnectionPointGeometry (IfcPointOrVertexPoint* v1_PointOnRelatingElement, IfcPointOrVertexPoint* v2_PointOnRelatedElement); typedef IfcTemplatedEntityList< IfcConnectionPointGeometry > list; }; class IfcConnectionPortGeometry : public IfcConnectionGeometry { public: - IfcAxis2Placement LocationAtRelatingElement() const; - void setLocationAtRelatingElement(IfcAxis2Placement v); + IfcAxis2Placement* LocationAtRelatingElement() const; + void setLocationAtRelatingElement(IfcAxis2Placement* v); /// Whether the optional attribute LocationAtRelatedElement is defined for this IfcConnectionPortGeometry bool hasLocationAtRelatedElement() const; - IfcAxis2Placement LocationAtRelatedElement() const; - void setLocationAtRelatedElement(IfcAxis2Placement v); + IfcAxis2Placement* LocationAtRelatedElement() const; + void setLocationAtRelatedElement(IfcAxis2Placement* v); IfcProfileDef* ProfileOfPort() const; void setProfileOfPort(IfcProfileDef* v); virtual unsigned int getArgumentCount() const { return 3; } @@ -6204,7 +7374,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConnectionPortGeometry (IfcAbstractEntity* e); - IfcConnectionPortGeometry (IfcAxis2Placement v1_LocationAtRelatingElement, boost::optional< IfcAxis2Placement > v2_LocationAtRelatedElement, IfcProfileDef* v3_ProfileOfPort); + IfcConnectionPortGeometry (IfcAxis2Placement* v1_LocationAtRelatingElement, IfcAxis2Placement* v2_LocationAtRelatedElement, IfcProfileDef* v3_ProfileOfPort); typedef IfcTemplatedEntityList< IfcConnectionPortGeometry > list; }; /// 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. @@ -6218,13 +7388,13 @@ public: class IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. - IfcSurfaceOrFaceSurface SurfaceOnRelatingElement() const; - void setSurfaceOnRelatingElement(IfcSurfaceOrFaceSurface v); + IfcSurfaceOrFaceSurface* SurfaceOnRelatingElement() const; + void setSurfaceOnRelatingElement(IfcSurfaceOrFaceSurface* v); /// Whether the optional attribute SurfaceOnRelatedElement is defined for this IfcConnectionSurfaceGeometry bool hasSurfaceOnRelatedElement() const; /// Surface at which the relating element is aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used. - IfcSurfaceOrFaceSurface SurfaceOnRelatedElement() const; - void setSurfaceOnRelatedElement(IfcSurfaceOrFaceSurface v); + IfcSurfaceOrFaceSurface* SurfaceOnRelatedElement() const; + void setSurfaceOnRelatedElement(IfcSurfaceOrFaceSurface* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcConnectionGeometry::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "SurfaceOnRelatingElement"; case 1: return "SurfaceOnRelatedElement"; } return IfcConnectionGeometry::getArgumentName(i); } @@ -6233,7 +7403,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConnectionSurfaceGeometry (IfcAbstractEntity* e); - IfcConnectionSurfaceGeometry (IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, boost::optional< IfcSurfaceOrFaceSurface > v2_SurfaceOnRelatedElement); + IfcConnectionSurfaceGeometry (IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement); typedef IfcTemplatedEntityList< IfcConnectionSurfaceGeometry > list; }; /// 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. @@ -6251,39 +7421,39 @@ public: class IfcConstraint : public IfcUtil::IfcBaseEntity { public: /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcConstraint bool hasDescription() const; /// A description that may apply additional information about a constraint. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Enumeration that qualifies the type of constraint. IfcConstraintEnum::IfcConstraintEnum ConstraintGrade() const; void setConstraintGrade(IfcConstraintEnum::IfcConstraintEnum v); /// Whether the optional attribute ConstraintSource is defined for this IfcConstraint bool hasConstraintSource() const; /// Any source material, such as a code or standard, from which the constraint originated. - IfcLabel ConstraintSource() const; - void setConstraintSource(IfcLabel v); + std::string ConstraintSource() const; + void setConstraintSource(std::string v); /// Whether the optional attribute CreatingActor is defined for this IfcConstraint bool hasCreatingActor() const; /// Person and/or organization that has created the constraint. - IfcActorSelect CreatingActor() const; - void setCreatingActor(IfcActorSelect v); + IfcActorSelect* CreatingActor() const; + void setCreatingActor(IfcActorSelect* v); /// Whether the optional attribute CreationTime is defined for this IfcConstraint bool hasCreationTime() const; /// Time when information specifying the constraint instance was created. /// /// Note IFC2x4 CHANGE: Attribute data type changed to IfcDateTime using ISO 8601 representation - IfcDateTimeSelect CreationTime() const; - void setCreationTime(IfcDateTimeSelect v); + IfcDateTimeSelect* CreationTime() const; + void setCreationTime(IfcDateTimeSelect* v); /// Whether the optional attribute UserDefinedGrade is defined for this IfcConstraint bool hasUserDefinedGrade() const; /// Allows for specification of user defined grade of the constraint beyond the enumeration values (hard, soft, advisory) provided by ConstraintGrade attribute of type IfcConstraintEnum. /// When a value is provided for attribute UserDefinedGrade in parallel the attribute ConstraintGrade shall have enumeration value USERDEFINED. - IfcLabel UserDefinedGrade() const; - void setUserDefinedGrade(IfcLabel v); + std::string UserDefinedGrade() const; + void setUserDefinedGrade(std::string v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_STRING; } throw IfcParse::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 IfcParse::IfcException("argument out of range"); } @@ -6298,7 +7468,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstraint (IfcAbstractEntity* e); - IfcConstraint (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTimeSelect > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade); + IfcConstraint (std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, IfcActorSelect* v5_CreatingActor, IfcDateTimeSelect* v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade); typedef IfcTemplatedEntityList< IfcConstraint > list; }; /// An IfcConstraintAggregationRelationship is an objectified relationship that enables instances of IfcConstraint subtypes to be aggregated together logically. @@ -6316,12 +7486,12 @@ class IfcConstraintAggregationRelationship : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcConstraintAggregationRelationship bool hasName() const; - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcConstraintAggregationRelationship bool hasDescription() const; - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(IfcConstraint* v); IfcTemplatedEntityList< IfcConstraint >::ptr RelatedConstraints() const; @@ -6337,7 +7507,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstraintAggregationRelationship (IfcAbstractEntity* e); - IfcConstraintAggregationRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcConstraint* v3_RelatingConstraint, IfcTemplatedEntityList< IfcConstraint >::ptr v4_RelatedConstraints, IfcLogicalOperatorEnum::IfcLogicalOperatorEnum v5_LogicalAggregator); + IfcConstraintAggregationRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcConstraint* v3_RelatingConstraint, IfcTemplatedEntityList< IfcConstraint >::ptr v4_RelatedConstraints, IfcLogicalOperatorEnum::IfcLogicalOperatorEnum v5_LogicalAggregator); typedef IfcTemplatedEntityList< IfcConstraintAggregationRelationship > list; }; @@ -6345,8 +7515,8 @@ class IfcConstraintClassificationRelationship : public IfcUtil::IfcBaseEntity { public: IfcConstraint* ClassifiedConstraint() const; void setClassifiedConstraint(IfcConstraint* v); - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr RelatedClassifications() const; - void setRelatedClassifications(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr RelatedClassifications() const; + void setRelatedClassifications(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ClassifiedConstraint"; case 1: return "RelatedClassifications"; } throw IfcParse::IfcException("argument out of range"); } @@ -6371,12 +7541,12 @@ class IfcConstraintRelationship : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcConstraintRelationship bool hasName() const; - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcConstraintRelationship bool hasDescription() const; - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Constraint with which the other Constraints referenced by attribute RelatedConstraints are related. IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(IfcConstraint* v); @@ -6391,18 +7561,18 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstraintRelationship (IfcAbstractEntity* e); - IfcConstraintRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcConstraint* v3_RelatingConstraint, IfcTemplatedEntityList< IfcConstraint >::ptr v4_RelatedConstraints); + IfcConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcConstraint* v3_RelatingConstraint, IfcTemplatedEntityList< IfcConstraint >::ptr v4_RelatedConstraints); typedef IfcTemplatedEntityList< IfcConstraintRelationship > list; }; class IfcCoordinatedUniversalTimeOffset : public IfcUtil::IfcBaseEntity { public: - IfcHourInDay HourOffset() const; - void setHourOffset(IfcHourInDay v); + int HourOffset() const; + void setHourOffset(int v); /// Whether the optional attribute MinuteOffset is defined for this IfcCoordinatedUniversalTimeOffset bool hasMinuteOffset() const; - IfcMinuteInHour MinuteOffset() const; - void setMinuteOffset(IfcMinuteInHour v); + int MinuteOffset() const; + void setMinuteOffset(int v); IfcAheadOrBehind::IfcAheadOrBehind Sense() const; void setSense(IfcAheadOrBehind::IfcAheadOrBehind v); virtual unsigned int getArgumentCount() const { return 3; } @@ -6413,7 +7583,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCoordinatedUniversalTimeOffset (IfcAbstractEntity* e); - IfcCoordinatedUniversalTimeOffset (IfcHourInDay v1_HourOffset, boost::optional< IfcMinuteInHour > v2_MinuteOffset, IfcAheadOrBehind::IfcAheadOrBehind v3_Sense); + IfcCoordinatedUniversalTimeOffset (int v1_HourOffset, boost::optional< int > v2_MinuteOffset, IfcAheadOrBehind::IfcAheadOrBehind v3_Sense); typedef IfcTemplatedEntityList< IfcCoordinatedUniversalTimeOffset > list; }; /// IfcCostValue is an amount of money or a value that affects an amount of money. @@ -6465,13 +7635,13 @@ public: /// NOTE: There are many possible types of cost value that may be identified. Whilst there is a broad understanding of the meaning of names that may be assigned to different types of costs, there is no general standard for naming cost types nor are there any broadly defined classifications. To allow for any type of cost value, the IfcLabel datatype is assigned. /// /// In the absence of any well defined standard, it is recommended that local agreements should be made to define allowable and understandable cost value types within a project or region. - IfcLabel CostType() const; - void setCostType(IfcLabel v); + std::string CostType() const; + void setCostType(std::string v); /// Whether the optional attribute Condition is defined for this IfcCostValue bool hasCondition() const; /// The condition under which a cost value applies. - IfcText Condition() const; - void setCondition(IfcText v); + std::string Condition() const; + void setCondition(std::string v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; } return IfcAppliedValue::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "CostType"; case 7: return "Condition"; } return IfcAppliedValue::getArgumentName(i); } @@ -6480,7 +7650,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCostValue (IfcAbstractEntity* e); - IfcCostValue (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDateTimeSelect > v5_ApplicableDate, boost::optional< IfcDateTimeSelect > v6_FixedUntilDate, IfcLabel v7_CostType, boost::optional< IfcText > v8_Condition); + IfcCostValue (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcAppliedValueSelect* v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, IfcDateTimeSelect* v5_ApplicableDate, IfcDateTimeSelect* v6_FixedUntilDate, std::string v7_CostType, boost::optional< std::string > v8_Condition); typedef IfcTemplatedEntityList< IfcCostValue > list; }; /// IfcCurrencyRelationship defines the rate of exchange @@ -6503,8 +7673,8 @@ public: IfcMonetaryUnit* RelatedMonetaryUnit() const; void setRelatedMonetaryUnit(IfcMonetaryUnit* v); /// The currently agreed ratio of the amount of a related monetary unit that is equivalent to a unit amount of the relating monetary unit in a currency relationship. For instance, in the case of a conversion from GBP to USD, the value of the exchange rate may be 1.486 (USD) : 1 (GBP). - IfcPositiveRatioMeasure ExchangeRate() const; - void setExchangeRate(IfcPositiveRatioMeasure v); + double ExchangeRate() const; + void setExchangeRate(double v); /// The date and time at which an exchange rate applies. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. Attribute made optional. @@ -6523,7 +7693,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCurrencyRelationship (IfcAbstractEntity* e); - IfcCurrencyRelationship (IfcMonetaryUnit* v1_RelatingMonetaryUnit, IfcMonetaryUnit* v2_RelatedMonetaryUnit, IfcPositiveRatioMeasure v3_ExchangeRate, IfcDateAndTime* v4_RateDateTime, IfcLibraryInformation* v5_RateSource); + IfcCurrencyRelationship (IfcMonetaryUnit* v1_RelatingMonetaryUnit, IfcMonetaryUnit* v2_RelatedMonetaryUnit, double v3_ExchangeRate, IfcDateAndTime* v4_RateDateTime, IfcLibraryInformation* v5_RateSource); typedef IfcTemplatedEntityList< IfcCurrencyRelationship > list; }; /// 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. @@ -6536,8 +7706,8 @@ public: /// Whether the optional attribute Name is defined for this IfcCurveStyleFont bool hasName() const; /// Name that may be assigned with the curve font. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// 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. IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr PatternList() const; void setPatternList(IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v); @@ -6549,7 +7719,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCurveStyleFont (IfcAbstractEntity* e); - IfcCurveStyleFont (boost::optional< IfcLabel > v1_Name, IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v2_PatternList); + IfcCurveStyleFont (boost::optional< std::string > v1_Name, IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v2_PatternList); typedef IfcTemplatedEntityList< IfcCurveStyleFont > list; }; /// 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. @@ -6568,14 +7738,14 @@ public: /// Whether the optional attribute Name is defined for this IfcCurveStyleFontAndScaling bool hasName() const; /// Name that may be assigned with the scaling of a curve font. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// The curve font to be scaled. - IfcCurveStyleFontSelect CurveFont() const; - void setCurveFont(IfcCurveStyleFontSelect v); + IfcCurveStyleFontSelect* CurveFont() const; + void setCurveFont(IfcCurveStyleFontSelect* v); /// The scale factor. - IfcPositiveRatioMeasure CurveFontScaling() const; - void setCurveFontScaling(IfcPositiveRatioMeasure v); + double CurveFontScaling() const; + void setCurveFontScaling(double v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "CurveFont"; case 2: return "CurveFontScaling"; } throw IfcParse::IfcException("argument out of range"); } @@ -6584,7 +7754,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCurveStyleFontAndScaling (IfcAbstractEntity* e); - IfcCurveStyleFontAndScaling (boost::optional< IfcLabel > v1_Name, IfcCurveStyleFontSelect v2_CurveFont, IfcPositiveRatioMeasure v3_CurveFontScaling); + IfcCurveStyleFontAndScaling (boost::optional< std::string > v1_Name, IfcCurveStyleFontSelect* v2_CurveFont, double v3_CurveFontScaling); typedef IfcTemplatedEntityList< IfcCurveStyleFontAndScaling > list; }; /// 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. @@ -6599,11 +7769,11 @@ public: /// 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. - IfcLengthMeasure VisibleSegmentLength() const; - void setVisibleSegmentLength(IfcLengthMeasure v); + double VisibleSegmentLength() const; + void setVisibleSegmentLength(double v); /// The length of the invisible segment in the pattern definition. - IfcPositiveLengthMeasure InvisibleSegmentLength() const; - void setInvisibleSegmentLength(IfcPositiveLengthMeasure v); + double InvisibleSegmentLength() const; + void setInvisibleSegmentLength(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "VisibleSegmentLength"; case 1: return "InvisibleSegmentLength"; } throw IfcParse::IfcException("argument out of range"); } @@ -6612,7 +7782,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCurveStyleFontPattern (IfcAbstractEntity* e); - IfcCurveStyleFontPattern (IfcLengthMeasure v1_VisibleSegmentLength, IfcPositiveLengthMeasure v2_InvisibleSegmentLength); + IfcCurveStyleFontPattern (double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); typedef IfcTemplatedEntityList< IfcCurveStyleFontPattern > list; }; @@ -6650,8 +7820,8 @@ public: void setUnitType(IfcDerivedUnitEnum::IfcDerivedUnitEnum v); /// Whether the optional attribute UserDefinedType is defined for this IfcDerivedUnit bool hasUserDefinedType() const; - IfcLabel UserDefinedType() const; - void setUserDefinedType(IfcLabel v); + std::string UserDefinedType() const; + void setUserDefinedType(std::string v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_ENUMERATION; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Elements"; case 1: return "UnitType"; case 2: return "UserDefinedType"; } throw IfcParse::IfcException("argument out of range"); } @@ -6660,7 +7830,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDerivedUnit (IfcAbstractEntity* e); - IfcDerivedUnit (IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr v1_Elements, IfcDerivedUnitEnum::IfcDerivedUnitEnum v2_UnitType, boost::optional< IfcLabel > v3_UserDefinedType); + IfcDerivedUnit (IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr v1_Elements, IfcDerivedUnitEnum::IfcDerivedUnitEnum v2_UnitType, boost::optional< std::string > v3_UserDefinedType); typedef IfcTemplatedEntityList< IfcDerivedUnit > list; }; /// Definition from ISO/CD 10303-41:1992: A derived unit element is one of the unit quantities @@ -6750,18 +7920,18 @@ public: /// Whether the optional attribute FileExtension is defined for this IfcDocumentElectronicFormat bool hasFileExtension() const; /// File extension of electronic document used by computer operating system. - IfcLabel FileExtension() const; - void setFileExtension(IfcLabel v); + std::string FileExtension() const; + void setFileExtension(std::string v); /// Whether the optional attribute MimeContentType is defined for this IfcDocumentElectronicFormat bool hasMimeContentType() const; /// Main Mime type (as published by W3C or as user defined application type). - IfcLabel MimeContentType() const; - void setMimeContentType(IfcLabel v); + std::string MimeContentType() const; + void setMimeContentType(std::string v); /// Whether the optional attribute MimeSubtype is defined for this IfcDocumentElectronicFormat bool hasMimeSubtype() const; /// Mime subtype information. - IfcLabel MimeSubtype() const; - void setMimeSubtype(IfcLabel v); + std::string MimeSubtype() const; + void setMimeSubtype(std::string v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "FileExtension"; case 1: return "MimeContentType"; case 2: return "MimeSubtype"; } throw IfcParse::IfcException("argument out of range"); } @@ -6770,7 +7940,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDocumentElectronicFormat (IfcAbstractEntity* e); - IfcDocumentElectronicFormat (boost::optional< IfcLabel > v1_FileExtension, boost::optional< IfcLabel > v2_MimeContentType, boost::optional< IfcLabel > v3_MimeSubtype); + IfcDocumentElectronicFormat (boost::optional< std::string > v1_FileExtension, boost::optional< std::string > v2_MimeContentType, boost::optional< std::string > v3_MimeSubtype); typedef IfcTemplatedEntityList< IfcDocumentElectronicFormat > list; }; /// 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. @@ -6779,16 +7949,16 @@ public: class IfcDocumentInformation : public IfcUtil::IfcBaseEntity { public: /// Identifier that uniquely identifies a document. - IfcIdentifier DocumentId() const; - void setDocumentId(IfcIdentifier v); + std::string DocumentId() const; + void setDocumentId(std::string v); /// File name or document name assigned by owner. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcDocumentInformation bool hasDescription() const; /// Description of document and its content. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Whether the optional attribute DocumentReferences is defined for this IfcDocumentInformation bool hasDocumentReferences() const; IfcTemplatedEntityList< IfcDocumentReference >::ptr DocumentReferences() const; @@ -6796,33 +7966,33 @@ public: /// Whether the optional attribute Purpose is defined for this IfcDocumentInformation bool hasPurpose() const; /// Purpose for this document. - IfcText Purpose() const; - void setPurpose(IfcText v); + std::string Purpose() const; + void setPurpose(std::string v); /// Whether the optional attribute IntendedUse is defined for this IfcDocumentInformation bool hasIntendedUse() const; /// Intended use for this document. - IfcText IntendedUse() const; - void setIntendedUse(IfcText v); + std::string IntendedUse() const; + void setIntendedUse(std::string v); /// Whether the optional attribute Scope is defined for this IfcDocumentInformation bool hasScope() const; /// Scope for this document. - IfcText Scope() const; - void setScope(IfcText v); + std::string Scope() const; + void setScope(std::string v); /// Whether the optional attribute Revision is defined for this IfcDocumentInformation bool hasRevision() const; /// Document revision designation. - IfcLabel Revision() const; - void setRevision(IfcLabel v); + std::string Revision() const; + void setRevision(std::string v); /// Whether the optional attribute DocumentOwner is defined for this IfcDocumentInformation bool hasDocumentOwner() const; /// Information about the person and/or organization acknowledged as the 'owner' of this document. In some contexts, the document owner determines who has access to or editing right to the document. - IfcActorSelect DocumentOwner() const; - void setDocumentOwner(IfcActorSelect v); + IfcActorSelect* DocumentOwner() const; + void setDocumentOwner(IfcActorSelect* v); /// Whether the optional attribute Editors is defined for this IfcDocumentInformation bool hasEditors() const; /// The persons and/or organizations who have created this document or contributed to it. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Editors() const; - void setEditors(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr Editors() const; + void setEditors(IfcEntityList::ptr v); /// Whether the optional attribute CreationTime is defined for this IfcDocumentInformation bool hasCreationTime() const; /// Date and time stamp when the document was originally created. @@ -6880,7 +8050,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDocumentInformation (IfcAbstractEntity* e); - IfcDocumentInformation (IfcIdentifier v1_DocumentId, IfcLabel v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcTemplatedEntityList< IfcDocumentReference >::ptr > v4_DocumentReferences, boost::optional< IfcText > v5_Purpose, boost::optional< IfcText > v6_IntendedUse, boost::optional< IfcText > v7_Scope, boost::optional< IfcLabel > v8_Revision, boost::optional< IfcActorSelect > v9_DocumentOwner, boost::optional< IfcEntityList::ptr > v10_Editors, IfcDateAndTime* v11_CreationTime, IfcDateAndTime* v12_LastRevisionTime, IfcDocumentElectronicFormat* v13_ElectronicFormat, IfcCalendarDate* v14_ValidFrom, IfcCalendarDate* v15_ValidUntil, boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v16_Confidentiality, boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v17_Status); + IfcDocumentInformation (std::string v1_DocumentId, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< IfcTemplatedEntityList< IfcDocumentReference >::ptr > v4_DocumentReferences, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, IfcActorSelect* v9_DocumentOwner, boost::optional< IfcEntityList::ptr > v10_Editors, IfcDateAndTime* v11_CreationTime, IfcDateAndTime* v12_LastRevisionTime, IfcDocumentElectronicFormat* v13_ElectronicFormat, IfcCalendarDate* v14_ValidFrom, IfcCalendarDate* v15_ValidUntil, boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v16_Confidentiality, boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v17_Status); typedef IfcTemplatedEntityList< IfcDocumentInformation > list; }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. @@ -6902,8 +8072,8 @@ public: /// Whether the optional attribute RelationshipType is defined for this IfcDocumentInformationRelationship bool hasRelationshipType() const; /// Describes the type of relationship between documents. This could be sub-document, replacement etc. The interpretation has to be established in an application context. - IfcLabel RelationshipType() const; - void setRelationshipType(IfcLabel v); + std::string RelationshipType() const; + void setRelationshipType(std::string v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RelatingDocument"; case 1: return "RelatedDocuments"; case 2: return "RelationshipType"; } throw IfcParse::IfcException("argument out of range"); } @@ -6912,7 +8082,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDocumentInformationRelationship (IfcAbstractEntity* e); - IfcDocumentInformationRelationship (IfcDocumentInformation* v1_RelatingDocument, IfcTemplatedEntityList< IfcDocumentInformation >::ptr v2_RelatedDocuments, boost::optional< IfcLabel > v3_RelationshipType); + IfcDocumentInformationRelationship (IfcDocumentInformation* v1_RelatingDocument, IfcTemplatedEntityList< IfcDocumentInformation >::ptr v2_RelatedDocuments, boost::optional< std::string > v3_RelationshipType); typedef IfcTemplatedEntityList< IfcDocumentInformationRelationship > list; }; @@ -6920,12 +8090,12 @@ class IfcDraughtingCalloutRelationship : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Name is defined for this IfcDraughtingCalloutRelationship bool hasName() const; - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcDraughtingCalloutRelationship bool hasDescription() const; - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); IfcDraughtingCallout* RelatingDraughtingCallout() const; void setRelatingDraughtingCallout(IfcDraughtingCallout* v); IfcDraughtingCallout* RelatedDraughtingCallout() const; @@ -6938,20 +8108,20 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDraughtingCalloutRelationship (IfcAbstractEntity* e); - IfcDraughtingCalloutRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcDraughtingCallout* v3_RelatingDraughtingCallout, IfcDraughtingCallout* v4_RelatedDraughtingCallout); + IfcDraughtingCalloutRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcDraughtingCallout* v3_RelatingDraughtingCallout, IfcDraughtingCallout* v4_RelatedDraughtingCallout); typedef IfcTemplatedEntityList< IfcDraughtingCalloutRelationship > list; }; class IfcEnvironmentalImpactValue : public IfcAppliedValue { public: - IfcLabel ImpactType() const; - void setImpactType(IfcLabel v); + std::string ImpactType() const; + void setImpactType(std::string v); IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum Category() const; void setCategory(IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum v); /// Whether the optional attribute UserDefinedCategory is defined for this IfcEnvironmentalImpactValue bool hasUserDefinedCategory() const; - IfcLabel UserDefinedCategory() const; - void setUserDefinedCategory(IfcLabel v); + std::string UserDefinedCategory() const; + void setUserDefinedCategory(std::string v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_STRING; } return IfcAppliedValue::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "ImpactType"; case 7: return "Category"; case 8: return "UserDefinedCategory"; } return IfcAppliedValue::getArgumentName(i); } @@ -6960,7 +8130,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEnvironmentalImpactValue (IfcAbstractEntity* e); - IfcEnvironmentalImpactValue (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDateTimeSelect > v5_ApplicableDate, boost::optional< IfcDateTimeSelect > v6_FixedUntilDate, IfcLabel v7_ImpactType, IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum v8_Category, boost::optional< IfcLabel > v9_UserDefinedCategory); + IfcEnvironmentalImpactValue (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcAppliedValueSelect* v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, IfcDateTimeSelect* v5_ApplicableDate, IfcDateTimeSelect* v6_FixedUntilDate, std::string v7_ImpactType, IfcEnvironmentalImpactCategoryEnum::IfcEnvironmentalImpactCategoryEnum v8_Category, boost::optional< std::string > v9_UserDefinedCategory); typedef IfcTemplatedEntityList< IfcEnvironmentalImpactValue > list; }; /// 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 @@ -6979,17 +8149,17 @@ public: /// 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. - IfcLabel Location() const; - void setLocation(IfcLabel v); + std::string Location() const; + void setLocation(std::string v); /// Whether the optional attribute ItemReference is defined for this IfcExternalReference bool hasItemReference() const; - IfcIdentifier ItemReference() const; - void setItemReference(IfcIdentifier v); + std::string ItemReference() const; + void setItemReference(std::string v); /// Whether the optional attribute Name is defined for this IfcExternalReference bool hasName() const; /// Optional name to further specify the reference. It can provide a human readable identifier (which does not necessarily need to have a counterpart in the internal structure of the document). - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Location"; case 1: return "ItemReference"; case 2: return "Name"; } throw IfcParse::IfcException("argument out of range"); } @@ -6998,7 +8168,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcExternalReference (IfcAbstractEntity* e); - IfcExternalReference (boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name); + IfcExternalReference (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcExternalReference > list; }; /// Definition from ISO/CD 10303-46:1992: The externally defined hatch style is an entity which makes an external reference to a hatching style. @@ -7019,7 +8189,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcExternallyDefinedHatchStyle (IfcAbstractEntity* e); - IfcExternallyDefinedHatchStyle (boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name); + IfcExternallyDefinedHatchStyle (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcExternallyDefinedHatchStyle > list; }; /// IfcExternallyDefinedSurfaceStyle is a definition of a surface style through referencing an external source, such as a material library for rendering information. @@ -7039,7 +8209,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcExternallyDefinedSurfaceStyle (IfcAbstractEntity* e); - IfcExternallyDefinedSurfaceStyle (boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name); + IfcExternallyDefinedSurfaceStyle (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcExternallyDefinedSurfaceStyle > list; }; /// An externally defined symbol is a symbol that gets its shape information by an agreed reference to an external source. @@ -7061,7 +8231,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcExternallyDefinedSymbol (IfcAbstractEntity* e); - IfcExternallyDefinedSymbol (boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name); + IfcExternallyDefinedSymbol (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcExternallyDefinedSymbol > list; }; /// Definition from ISO/CD 10303-46:1992: The externally defined text font is an external reference to a text font @@ -7081,7 +8251,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcExternallyDefinedTextFont (IfcAbstractEntity* e); - IfcExternallyDefinedTextFont (boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name); + IfcExternallyDefinedTextFont (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcExternallyDefinedTextFont > list; }; /// 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. @@ -7112,14 +8282,14 @@ public: /// Whether the optional attribute AxisTag is defined for this IfcGridAxis bool hasAxisTag() const; /// The tag or name for this grid axis. - IfcLabel AxisTag() const; - void setAxisTag(IfcLabel v); + std::string AxisTag() const; + void setAxisTag(std::string v); /// Underlying curve which provides the geometry for this grid axis. IfcCurve* AxisCurve() const; void setAxisCurve(IfcCurve* v); /// Defines whether the original sense of curve is used or whether it is reversed in the context of the grid axis. - IfcBoolean SameSense() const; - void setSameSense(IfcBoolean v); + bool SameSense() const; + void setSameSense(bool v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_BOOL; } throw IfcParse::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 IfcParse::IfcException("argument out of range"); } @@ -7132,7 +8302,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGridAxis (IfcAbstractEntity* e); - IfcGridAxis (boost::optional< IfcLabel > v1_AxisTag, IfcCurve* v2_AxisCurve, IfcBoolean v3_SameSense); + IfcGridAxis (boost::optional< std::string > v1_AxisTag, IfcCurve* v2_AxisCurve, bool v3_SameSense); typedef IfcTemplatedEntityList< IfcGridAxis > list; }; /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. @@ -7141,11 +8311,11 @@ public: class IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// The specification of the time point. - IfcDateTimeSelect TimeStamp() const; - void setTimeStamp(IfcDateTimeSelect v); + IfcDateTimeSelect* TimeStamp() const; + void setTimeStamp(IfcDateTimeSelect* v); /// A list of time-series values. At least one value is required. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr ListValues() const; - void setListValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr ListValues() const; + void setListValues(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TimeStamp"; case 1: return "ListValues"; } throw IfcParse::IfcException("argument out of range"); } @@ -7154,7 +8324,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcIrregularTimeSeriesValue (IfcAbstractEntity* e); - IfcIrregularTimeSeriesValue (IfcDateTimeSelect v1_TimeStamp, IfcEntityList::ptr v2_ListValues); + IfcIrregularTimeSeriesValue (IfcDateTimeSelect* v1_TimeStamp, IfcEntityList::ptr v2_ListValues); typedef IfcTemplatedEntityList< IfcIrregularTimeSeriesValue > list; }; /// 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. @@ -7168,13 +8338,13 @@ public: class IfcLibraryInformation : public IfcUtil::IfcBaseEntity { public: /// The name which is used to identify the library. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Version is defined for this IfcLibraryInformation bool hasVersion() const; /// Identifier for the library version used for reference. - IfcLabel Version() const; - void setVersion(IfcLabel v); + std::string Version() const; + void setVersion(std::string v); /// Whether the optional attribute Publisher is defined for this IfcLibraryInformation bool hasPublisher() const; /// Information of the organization that acts as the library publisher. @@ -7199,7 +8369,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLibraryInformation (IfcAbstractEntity* e); - IfcLibraryInformation (IfcLabel v1_Name, boost::optional< IfcLabel > v2_Version, IfcOrganization* v3_Publisher, IfcCalendarDate* v4_VersionDate, boost::optional< IfcTemplatedEntityList< IfcLibraryReference >::ptr > v5_LibraryReference); + IfcLibraryInformation (std::string v1_Name, boost::optional< std::string > v2_Version, IfcOrganization* v3_Publisher, IfcCalendarDate* v4_VersionDate, boost::optional< IfcTemplatedEntityList< IfcLibraryReference >::ptr > v5_LibraryReference); typedef IfcTemplatedEntityList< IfcLibraryInformation > list; }; /// 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. @@ -7220,7 +8390,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLibraryReference (IfcAbstractEntity* e); - IfcLibraryReference (boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name); + IfcLibraryReference (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcLibraryReference > list; }; /// 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 @@ -7241,16 +8411,16 @@ public: class IfcLightDistributionData : public IfcUtil::IfcBaseEntity { public: /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). - IfcPlaneAngleMeasure MainPlaneAngle() const; - void setMainPlaneAngle(IfcPlaneAngleMeasure v); + double MainPlaneAngle() const; + void setMainPlaneAngle(double v); /// 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< IfcPlaneAngleMeasure > /*[1:?]*/ SecondaryPlaneAngle() const; - void setSecondaryPlaneAngle(std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ v); + std::vector< double > /*[1:?]*/ SecondaryPlaneAngle() const; + void setSecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v); /// The luminous intensity distribution measure for this pair of main and secondary plane angles according to the light distribution curve chosen. - std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ LuminousIntensity() const; - void setLuminousIntensity(std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ v); + std::vector< double > /*[1:?]*/ LuminousIntensity() const; + void setLuminousIntensity(std::vector< double > /*[1:?]*/ v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_VECTOR_DOUBLE; case 2: return IfcUtil::Argument_VECTOR_DOUBLE; } throw IfcParse::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 IfcParse::IfcException("argument out of range"); } @@ -7259,7 +8429,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLightDistributionData (IfcAbstractEntity* e); - IfcLightDistributionData (IfcPlaneAngleMeasure v1_MainPlaneAngle, std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ v3_LuminousIntensity); + IfcLightDistributionData (double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); typedef IfcTemplatedEntityList< IfcLightDistributionData > list; }; /// 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. @@ -7287,24 +8457,24 @@ public: class IfcLocalTime : public IfcUtil::IfcBaseEntity { public: - IfcHourInDay HourComponent() const; - void setHourComponent(IfcHourInDay v); + int HourComponent() const; + void setHourComponent(int v); /// Whether the optional attribute MinuteComponent is defined for this IfcLocalTime bool hasMinuteComponent() const; - IfcMinuteInHour MinuteComponent() const; - void setMinuteComponent(IfcMinuteInHour v); + int MinuteComponent() const; + void setMinuteComponent(int v); /// Whether the optional attribute SecondComponent is defined for this IfcLocalTime bool hasSecondComponent() const; - IfcSecondInMinute SecondComponent() const; - void setSecondComponent(IfcSecondInMinute v); + double SecondComponent() const; + void setSecondComponent(double v); /// Whether the optional attribute Zone is defined for this IfcLocalTime bool hasZone() const; IfcCoordinatedUniversalTimeOffset* Zone() const; void setZone(IfcCoordinatedUniversalTimeOffset* v); /// Whether the optional attribute DaylightSavingOffset is defined for this IfcLocalTime bool hasDaylightSavingOffset() const; - IfcDaylightSavingHour DaylightSavingOffset() const; - void setDaylightSavingOffset(IfcDaylightSavingHour v); + int DaylightSavingOffset() const; + void setDaylightSavingOffset(int v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_INT; case 1: return IfcUtil::Argument_INT; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_INT; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "HourComponent"; case 1: return "MinuteComponent"; case 2: return "SecondComponent"; case 3: return "Zone"; case 4: return "DaylightSavingOffset"; } throw IfcParse::IfcException("argument out of range"); } @@ -7313,7 +8483,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLocalTime (IfcAbstractEntity* e); - IfcLocalTime (IfcHourInDay v1_HourComponent, boost::optional< IfcMinuteInHour > v2_MinuteComponent, boost::optional< IfcSecondInMinute > v3_SecondComponent, IfcCoordinatedUniversalTimeOffset* v4_Zone, boost::optional< IfcDaylightSavingHour > v5_DaylightSavingOffset); + IfcLocalTime (int v1_HourComponent, boost::optional< int > v2_MinuteComponent, boost::optional< double > v3_SecondComponent, IfcCoordinatedUniversalTimeOffset* v4_Zone, boost::optional< int > v5_DaylightSavingOffset); typedef IfcTemplatedEntityList< IfcLocalTime > list; }; /// IfcMaterial is a homogeneous or inhomogeneous @@ -7350,8 +8520,8 @@ public: /// EXAMPLE A view definition may require Material.Name to uniquely specify e.g. concrete or steel grade, in which case the attribute Material.Category could take the value 'Concrete' or 'Steel'. /// /// NOTE Material grade may have diffenrent meaning in different view definitions, e.g. strength grade for structural design and analysis, or visible appearance grade in architectural application. Also, more elaborate material grade definition may be associated as classification via inverse attribute HasExternalReferences. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } throw IfcParse::IfcException("argument out of range"); } @@ -7362,7 +8532,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterial (IfcAbstractEntity* e); - IfcMaterial (IfcLabel v1_Name); + IfcMaterial (std::string v1_Name); typedef IfcTemplatedEntityList< IfcMaterial > list; }; /// IfcMaterialClassificationRelationship is a relationship assigning classifications to materials. @@ -7373,8 +8543,8 @@ public: class IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr MaterialClassifications() const; - void setMaterialClassifications(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr MaterialClassifications() const; + void setMaterialClassifications(IfcEntityList::ptr v); /// Material being classified. IfcMaterial* ClassifiedMaterial() const; void setClassifiedMaterial(IfcMaterial* v); @@ -7424,8 +8594,8 @@ public: /// 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. - IfcPositiveLengthMeasure LayerThickness() const; - void setLayerThickness(IfcPositiveLengthMeasure v); + double LayerThickness() const; + void setLayerThickness(double v); /// Whether the optional attribute IsVentilated is defined for this IfcMaterialLayer bool hasIsVentilated() const; /// Indication of whether the material layer represents an air layer (or cavity). @@ -7433,8 +8603,8 @@ public: /// set to TRUE if the material layer is an air gap and provides air exchange from the layer to the outside air. /// set to UNKNOWN if the material layer is an air gap and does not provide air exchange (or when this information about air exchange of the air gap is not available). /// set to FALSE if the material layer is a solid material layer (the default). - IfcLogical IsVentilated() const; - void setIsVentilated(IfcLogical v); + bool IsVentilated() const; + void setIsVentilated(bool v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_BOOL; } throw IfcParse::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 IfcParse::IfcException("argument out of range"); } @@ -7444,7 +8614,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterialLayer (IfcAbstractEntity* e); - IfcMaterialLayer (IfcMaterial* v1_Material, IfcPositiveLengthMeasure v2_LayerThickness, boost::optional< IfcLogical > v3_IsVentilated); + IfcMaterialLayer (IfcMaterial* v1_Material, double v2_LayerThickness, boost::optional< bool > v3_IsVentilated); typedef IfcTemplatedEntityList< IfcMaterialLayer > list; }; /// 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. @@ -7488,8 +8658,8 @@ public: /// Whether the optional attribute LayerSetName is defined for this IfcMaterialLayerSet bool hasLayerSetName() const; /// The name by which the material layer set is known. - IfcLabel LayerSetName() const; - void setLayerSetName(IfcLabel v); + std::string LayerSetName() const; + void setLayerSetName(std::string v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "MaterialLayers"; case 1: return "LayerSetName"; } throw IfcParse::IfcException("argument out of range"); } @@ -7498,7 +8668,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterialLayerSet (IfcAbstractEntity* e); - IfcMaterialLayerSet (IfcTemplatedEntityList< IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< IfcLabel > v2_LayerSetName); + IfcMaterialLayerSet (IfcTemplatedEntityList< IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName); typedef IfcTemplatedEntityList< IfcMaterialLayerSet > list; }; /// IfcMaterialLayerSetUsage determines the usage of @@ -7618,8 +8788,8 @@ public: IfcDirectionSenseEnum::IfcDirectionSenseEnum DirectionSense() const; void setDirectionSense(IfcDirectionSenseEnum::IfcDirectionSenseEnum v); /// 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() const; - void setOffsetFromReferenceLine(IfcLengthMeasure v); + double OffsetFromReferenceLine() const; + void setOffsetFromReferenceLine(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENUMERATION; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ForLayerSet"; case 1: return "LayerSetDirection"; case 2: return "DirectionSense"; case 3: return "OffsetFromReferenceLine"; } throw IfcParse::IfcException("argument out of range"); } @@ -7628,7 +8798,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterialLayerSetUsage (IfcAbstractEntity* e); - IfcMaterialLayerSetUsage (IfcMaterialLayerSet* v1_ForLayerSet, IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v2_LayerSetDirection, IfcDirectionSenseEnum::IfcDirectionSenseEnum v3_DirectionSense, IfcLengthMeasure v4_OffsetFromReferenceLine); + IfcMaterialLayerSetUsage (IfcMaterialLayerSet* v1_ForLayerSet, IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v2_LayerSetDirection, IfcDirectionSenseEnum::IfcDirectionSenseEnum v3_DirectionSense, double v4_OffsetFromReferenceLine); typedef IfcTemplatedEntityList< IfcMaterialLayerSetUsage > list; }; /// IfcMaterialList is a list of the different materials @@ -7717,11 +8887,11 @@ public: class IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity { public: /// The value of the physical quantity when expressed in the specified units. - IfcValue ValueComponent() const; - void setValueComponent(IfcValue v); + IfcValue* ValueComponent() const; + void setValueComponent(IfcValue* v); /// The unit in which the physical quantity is expressed. - IfcUnit UnitComponent() const; - void setUnitComponent(IfcUnit v); + IfcUnit* UnitComponent() const; + void setUnitComponent(IfcUnit* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ValueComponent"; case 1: return "UnitComponent"; } throw IfcParse::IfcException("argument out of range"); } @@ -7730,7 +8900,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMeasureWithUnit (IfcAbstractEntity* e); - IfcMeasureWithUnit (IfcValue v1_ValueComponent, IfcUnit v2_UnitComponent); + IfcMeasureWithUnit (IfcValue* v1_ValueComponent, IfcUnit* v2_UnitComponent); typedef IfcTemplatedEntityList< IfcMeasureWithUnit > list; }; @@ -7738,24 +8908,24 @@ class IfcMechanicalMaterialProperties : public IfcMaterialProperties { public: /// Whether the optional attribute DynamicViscosity is defined for this IfcMechanicalMaterialProperties bool hasDynamicViscosity() const; - IfcDynamicViscosityMeasure DynamicViscosity() const; - void setDynamicViscosity(IfcDynamicViscosityMeasure v); + double DynamicViscosity() const; + void setDynamicViscosity(double v); /// Whether the optional attribute YoungModulus is defined for this IfcMechanicalMaterialProperties bool hasYoungModulus() const; - IfcModulusOfElasticityMeasure YoungModulus() const; - void setYoungModulus(IfcModulusOfElasticityMeasure v); + double YoungModulus() const; + void setYoungModulus(double v); /// Whether the optional attribute ShearModulus is defined for this IfcMechanicalMaterialProperties bool hasShearModulus() const; - IfcModulusOfElasticityMeasure ShearModulus() const; - void setShearModulus(IfcModulusOfElasticityMeasure v); + double ShearModulus() const; + void setShearModulus(double v); /// Whether the optional attribute PoissonRatio is defined for this IfcMechanicalMaterialProperties bool hasPoissonRatio() const; - IfcPositiveRatioMeasure PoissonRatio() const; - void setPoissonRatio(IfcPositiveRatioMeasure v); + double PoissonRatio() const; + void setPoissonRatio(double v); /// Whether the optional attribute ThermalExpansionCoefficient is defined for this IfcMechanicalMaterialProperties bool hasThermalExpansionCoefficient() const; - IfcThermalExpansionCoefficientMeasure ThermalExpansionCoefficient() const; - void setThermalExpansionCoefficient(IfcThermalExpansionCoefficientMeasure v); + double ThermalExpansionCoefficient() const; + void setThermalExpansionCoefficient(double v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; } return IfcMaterialProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "DynamicViscosity"; case 2: return "YoungModulus"; case 3: return "ShearModulus"; case 4: return "PoissonRatio"; case 5: return "ThermalExpansionCoefficient"; } return IfcMaterialProperties::getArgumentName(i); } @@ -7764,7 +8934,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMechanicalMaterialProperties (IfcAbstractEntity* e); - IfcMechanicalMaterialProperties (IfcMaterial* v1_Material, boost::optional< IfcDynamicViscosityMeasure > v2_DynamicViscosity, boost::optional< IfcModulusOfElasticityMeasure > v3_YoungModulus, boost::optional< IfcModulusOfElasticityMeasure > v4_ShearModulus, boost::optional< IfcPositiveRatioMeasure > v5_PoissonRatio, boost::optional< IfcThermalExpansionCoefficientMeasure > v6_ThermalExpansionCoefficient); + IfcMechanicalMaterialProperties (IfcMaterial* v1_Material, boost::optional< double > v2_DynamicViscosity, boost::optional< double > v3_YoungModulus, boost::optional< double > v4_ShearModulus, boost::optional< double > v5_PoissonRatio, boost::optional< double > v6_ThermalExpansionCoefficient); typedef IfcTemplatedEntityList< IfcMechanicalMaterialProperties > list; }; @@ -7772,28 +8942,28 @@ class IfcMechanicalSteelMaterialProperties : public IfcMechanicalMaterialPropert public: /// Whether the optional attribute YieldStress is defined for this IfcMechanicalSteelMaterialProperties bool hasYieldStress() const; - IfcPressureMeasure YieldStress() const; - void setYieldStress(IfcPressureMeasure v); + double YieldStress() const; + void setYieldStress(double v); /// Whether the optional attribute UltimateStress is defined for this IfcMechanicalSteelMaterialProperties bool hasUltimateStress() const; - IfcPressureMeasure UltimateStress() const; - void setUltimateStress(IfcPressureMeasure v); + double UltimateStress() const; + void setUltimateStress(double v); /// Whether the optional attribute UltimateStrain is defined for this IfcMechanicalSteelMaterialProperties bool hasUltimateStrain() const; - IfcPositiveRatioMeasure UltimateStrain() const; - void setUltimateStrain(IfcPositiveRatioMeasure v); + double UltimateStrain() const; + void setUltimateStrain(double v); /// Whether the optional attribute HardeningModule is defined for this IfcMechanicalSteelMaterialProperties bool hasHardeningModule() const; - IfcModulusOfElasticityMeasure HardeningModule() const; - void setHardeningModule(IfcModulusOfElasticityMeasure v); + double HardeningModule() const; + void setHardeningModule(double v); /// Whether the optional attribute ProportionalStress is defined for this IfcMechanicalSteelMaterialProperties bool hasProportionalStress() const; - IfcPressureMeasure ProportionalStress() const; - void setProportionalStress(IfcPressureMeasure v); + double ProportionalStress() const; + void setProportionalStress(double v); /// Whether the optional attribute PlasticStrain is defined for this IfcMechanicalSteelMaterialProperties bool hasPlasticStrain() const; - IfcPositiveRatioMeasure PlasticStrain() const; - void setPlasticStrain(IfcPositiveRatioMeasure v); + double PlasticStrain() const; + void setPlasticStrain(double v); /// Whether the optional attribute Relaxations is defined for this IfcMechanicalSteelMaterialProperties bool hasRelaxations() const; IfcTemplatedEntityList< IfcRelaxation >::ptr Relaxations() const; @@ -7806,7 +8976,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMechanicalSteelMaterialProperties (IfcAbstractEntity* e); - IfcMechanicalSteelMaterialProperties (IfcMaterial* v1_Material, boost::optional< IfcDynamicViscosityMeasure > v2_DynamicViscosity, boost::optional< IfcModulusOfElasticityMeasure > v3_YoungModulus, boost::optional< IfcModulusOfElasticityMeasure > v4_ShearModulus, boost::optional< IfcPositiveRatioMeasure > v5_PoissonRatio, boost::optional< IfcThermalExpansionCoefficientMeasure > v6_ThermalExpansionCoefficient, boost::optional< IfcPressureMeasure > v7_YieldStress, boost::optional< IfcPressureMeasure > v8_UltimateStress, boost::optional< IfcPositiveRatioMeasure > v9_UltimateStrain, boost::optional< IfcModulusOfElasticityMeasure > v10_HardeningModule, boost::optional< IfcPressureMeasure > v11_ProportionalStress, boost::optional< IfcPositiveRatioMeasure > v12_PlasticStrain, boost::optional< IfcTemplatedEntityList< IfcRelaxation >::ptr > v13_Relaxations); + IfcMechanicalSteelMaterialProperties (IfcMaterial* v1_Material, boost::optional< double > v2_DynamicViscosity, boost::optional< double > v3_YoungModulus, boost::optional< double > v4_ShearModulus, boost::optional< double > v5_PoissonRatio, boost::optional< double > v6_ThermalExpansionCoefficient, boost::optional< double > v7_YieldStress, boost::optional< double > v8_UltimateStress, boost::optional< double > v9_UltimateStrain, boost::optional< double > v10_HardeningModule, boost::optional< double > v11_ProportionalStress, boost::optional< double > v12_PlasticStrain, boost::optional< IfcTemplatedEntityList< IfcRelaxation >::ptr > v13_Relaxations); typedef IfcTemplatedEntityList< IfcMechanicalSteelMaterialProperties > list; }; /// An IfcMetric is used to capture quantitative resultant metrics that can be applied to objectives. @@ -7869,11 +9039,11 @@ public: /// Whether the optional attribute ValueSource is defined for this IfcMetric bool hasValueSource() const; /// Reference source for data values. - IfcLabel ValueSource() const; - void setValueSource(IfcLabel v); + std::string ValueSource() const; + void setValueSource(std::string v); /// The value with data type defined by the underlying type accesses via IfcMetricValueSelect. - IfcMetricValueSelect DataValue() const; - void setDataValue(IfcMetricValueSelect v); + IfcMetricValueSelect* DataValue() const; + void setDataValue(IfcMetricValueSelect* v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_ENTITY; } return IfcConstraint::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "Benchmark"; case 8: return "ValueSource"; case 9: return "DataValue"; } return IfcConstraint::getArgumentName(i); } @@ -7882,7 +9052,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMetric (IfcAbstractEntity* e); - IfcMetric (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTimeSelect > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade, IfcBenchmarkEnum::IfcBenchmarkEnum v8_Benchmark, boost::optional< IfcLabel > v9_ValueSource, IfcMetricValueSelect v10_DataValue); + IfcMetric (std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, IfcActorSelect* v5_CreatingActor, IfcDateTimeSelect* v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, IfcBenchmarkEnum::IfcBenchmarkEnum v8_Benchmark, boost::optional< std::string > v9_ValueSource, IfcMetricValueSelect* v10_DataValue); typedef IfcTemplatedEntityList< IfcMetric > list; }; /// IfcMonetaryUnit is a unit to define currency for money. @@ -7983,8 +9153,8 @@ public: /// Whether the optional attribute UserDefinedQualifier is defined for this IfcObjective bool hasUserDefinedQualifier() const; /// A user defined value that qualifies the type of objective constraint when ObjectiveQualifier attribute of type IfcObjectiveEnum has value USERDEFINED. - IfcLabel UserDefinedQualifier() const; - void setUserDefinedQualifier(IfcLabel v); + std::string UserDefinedQualifier() const; + void setUserDefinedQualifier(std::string v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENTITY; case 8: return IfcUtil::Argument_ENTITY; case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_STRING; } return IfcConstraint::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "BenchmarkValues"; case 8: return "ResultValues"; case 9: return "ObjectiveQualifier"; case 10: return "UserDefinedQualifier"; } return IfcConstraint::getArgumentName(i); } @@ -7993,7 +9163,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcObjective (IfcAbstractEntity* e); - IfcObjective (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTimeSelect > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade, IfcMetric* v8_BenchmarkValues, IfcMetric* v9_ResultValues, IfcObjectiveEnum::IfcObjectiveEnum v10_ObjectiveQualifier, boost::optional< IfcLabel > v11_UserDefinedQualifier); + IfcObjective (std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, IfcActorSelect* v5_CreatingActor, IfcDateTimeSelect* v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, IfcMetric* v8_BenchmarkValues, IfcMetric* v9_ResultValues, IfcObjectiveEnum::IfcObjectiveEnum v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier); typedef IfcTemplatedEntityList< IfcObjective > list; }; @@ -8001,40 +9171,40 @@ class IfcOpticalMaterialProperties : public IfcMaterialProperties { public: /// Whether the optional attribute VisibleTransmittance is defined for this IfcOpticalMaterialProperties bool hasVisibleTransmittance() const; - IfcPositiveRatioMeasure VisibleTransmittance() const; - void setVisibleTransmittance(IfcPositiveRatioMeasure v); + double VisibleTransmittance() const; + void setVisibleTransmittance(double v); /// Whether the optional attribute SolarTransmittance is defined for this IfcOpticalMaterialProperties bool hasSolarTransmittance() const; - IfcPositiveRatioMeasure SolarTransmittance() const; - void setSolarTransmittance(IfcPositiveRatioMeasure v); + double SolarTransmittance() const; + void setSolarTransmittance(double v); /// Whether the optional attribute ThermalIrTransmittance is defined for this IfcOpticalMaterialProperties bool hasThermalIrTransmittance() const; - IfcPositiveRatioMeasure ThermalIrTransmittance() const; - void setThermalIrTransmittance(IfcPositiveRatioMeasure v); + double ThermalIrTransmittance() const; + void setThermalIrTransmittance(double v); /// Whether the optional attribute ThermalIrEmissivityBack is defined for this IfcOpticalMaterialProperties bool hasThermalIrEmissivityBack() const; - IfcPositiveRatioMeasure ThermalIrEmissivityBack() const; - void setThermalIrEmissivityBack(IfcPositiveRatioMeasure v); + double ThermalIrEmissivityBack() const; + void setThermalIrEmissivityBack(double v); /// Whether the optional attribute ThermalIrEmissivityFront is defined for this IfcOpticalMaterialProperties bool hasThermalIrEmissivityFront() const; - IfcPositiveRatioMeasure ThermalIrEmissivityFront() const; - void setThermalIrEmissivityFront(IfcPositiveRatioMeasure v); + double ThermalIrEmissivityFront() const; + void setThermalIrEmissivityFront(double v); /// Whether the optional attribute VisibleReflectanceBack is defined for this IfcOpticalMaterialProperties bool hasVisibleReflectanceBack() const; - IfcPositiveRatioMeasure VisibleReflectanceBack() const; - void setVisibleReflectanceBack(IfcPositiveRatioMeasure v); + double VisibleReflectanceBack() const; + void setVisibleReflectanceBack(double v); /// Whether the optional attribute VisibleReflectanceFront is defined for this IfcOpticalMaterialProperties bool hasVisibleReflectanceFront() const; - IfcPositiveRatioMeasure VisibleReflectanceFront() const; - void setVisibleReflectanceFront(IfcPositiveRatioMeasure v); + double VisibleReflectanceFront() const; + void setVisibleReflectanceFront(double v); /// Whether the optional attribute SolarReflectanceFront is defined for this IfcOpticalMaterialProperties bool hasSolarReflectanceFront() const; - IfcPositiveRatioMeasure SolarReflectanceFront() const; - void setSolarReflectanceFront(IfcPositiveRatioMeasure v); + double SolarReflectanceFront() const; + void setSolarReflectanceFront(double v); /// Whether the optional attribute SolarReflectanceBack is defined for this IfcOpticalMaterialProperties bool hasSolarReflectanceBack() const; - IfcPositiveRatioMeasure SolarReflectanceBack() const; - void setSolarReflectanceBack(IfcPositiveRatioMeasure v); + double SolarReflectanceBack() const; + void setSolarReflectanceBack(double v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; } return IfcMaterialProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "VisibleTransmittance"; case 2: return "SolarTransmittance"; case 3: return "ThermalIrTransmittance"; case 4: return "ThermalIrEmissivityBack"; case 5: return "ThermalIrEmissivityFront"; case 6: return "VisibleReflectanceBack"; case 7: return "VisibleReflectanceFront"; case 8: return "SolarReflectanceFront"; case 9: return "SolarReflectanceBack"; } return IfcMaterialProperties::getArgumentName(i); } @@ -8043,7 +9213,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOpticalMaterialProperties (IfcAbstractEntity* e); - IfcOpticalMaterialProperties (IfcMaterial* v1_Material, boost::optional< IfcPositiveRatioMeasure > v2_VisibleTransmittance, boost::optional< IfcPositiveRatioMeasure > v3_SolarTransmittance, boost::optional< IfcPositiveRatioMeasure > v4_ThermalIrTransmittance, boost::optional< IfcPositiveRatioMeasure > v5_ThermalIrEmissivityBack, boost::optional< IfcPositiveRatioMeasure > v6_ThermalIrEmissivityFront, boost::optional< IfcPositiveRatioMeasure > v7_VisibleReflectanceBack, boost::optional< IfcPositiveRatioMeasure > v8_VisibleReflectanceFront, boost::optional< IfcPositiveRatioMeasure > v9_SolarReflectanceFront, boost::optional< IfcPositiveRatioMeasure > v10_SolarReflectanceBack); + IfcOpticalMaterialProperties (IfcMaterial* v1_Material, boost::optional< double > v2_VisibleTransmittance, boost::optional< double > v3_SolarTransmittance, boost::optional< double > v4_ThermalIrTransmittance, boost::optional< double > v5_ThermalIrEmissivityBack, boost::optional< double > v6_ThermalIrEmissivityFront, boost::optional< double > v7_VisibleReflectanceBack, boost::optional< double > v8_VisibleReflectanceFront, boost::optional< double > v9_SolarReflectanceFront, boost::optional< double > v10_SolarReflectanceBack); typedef IfcTemplatedEntityList< IfcOpticalMaterialProperties > list; }; /// A named and structured grouping with a corporate identity. @@ -8058,16 +9228,16 @@ class IfcOrganization : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Id is defined for this IfcOrganization bool hasId() const; - IfcIdentifier Id() const; - void setId(IfcIdentifier v); + std::string Id() const; + void setId(std::string v); /// The word, or group of words, by which the organization is referred to. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcOrganization bool hasDescription() const; /// Text that relates the nature of the organization. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Whether the optional attribute Roles is defined for this IfcOrganization bool hasRoles() const; /// Roles played by the organization. @@ -8090,7 +9260,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOrganization (IfcAbstractEntity* e); - IfcOrganization (boost::optional< IfcIdentifier > v1_Id, IfcLabel v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v4_Roles, boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v5_Addresses); + IfcOrganization (boost::optional< std::string > v1_Id, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v4_Roles, boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v5_Addresses); typedef IfcTemplatedEntityList< IfcOrganization > list; }; /// Definition: establishes an association between one relating organization and one or more related organizations. @@ -8102,13 +9272,13 @@ public: class IfcOrganizationRelationship : public IfcUtil::IfcBaseEntity { public: /// The word or group of words by which the relationship is referred to. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcOrganizationRelationship bool hasDescription() const; /// Text that relates the nature of the relationship. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Organization which is the relating part of the relationship between organizations. IfcOrganization* RelatingOrganization() const; void setRelatingOrganization(IfcOrganization* v); @@ -8123,7 +9293,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOrganizationRelationship (IfcAbstractEntity* e); - IfcOrganizationRelationship (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcOrganization* v3_RelatingOrganization, IfcTemplatedEntityList< IfcOrganization >::ptr v4_RelatedOrganizations); + IfcOrganizationRelationship (std::string v1_Name, boost::optional< std::string > v2_Description, IfcOrganization* v3_RelatingOrganization, IfcTemplatedEntityList< IfcOrganization >::ptr v4_RelatedOrganizations); typedef IfcTemplatedEntityList< IfcOrganizationRelationship > list; }; /// 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. @@ -8155,8 +9325,8 @@ public: /// Whether the optional attribute LastModifiedDate is defined for this IfcOwnerHistory bool hasLastModifiedDate() const; /// Date and Time expressed in UTC (Universal Time Coordinated, formerly Greenwich Mean Time or GMT) at which the last modification was made by LastModifyingUser and LastModifyingApplication. - IfcTimeStamp LastModifiedDate() const; - void setLastModifiedDate(IfcTimeStamp v); + int LastModifiedDate() const; + void setLastModifiedDate(int v); /// Whether the optional attribute LastModifyingUser is defined for this IfcOwnerHistory bool hasLastModifyingUser() const; /// User who carried out the last modification using LastModifyingApplication. @@ -8168,8 +9338,8 @@ public: IfcApplication* LastModifyingApplication() const; void setLastModifyingApplication(IfcApplication* v); /// The date and time expressed in UTC (Universal Time Coordinated, formerly Greenwich Mean Time or GMT) when first created by the original OwningApplication. Once defined this value remains unchanged through the lifetime of the entity. - IfcTimeStamp CreationDate() const; - void setCreationDate(IfcTimeStamp v); + int CreationDate() const; + void setCreationDate(int v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_ENUMERATION; case 4: return IfcUtil::Argument_INT; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_INT; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "OwningUser"; case 1: return "OwningApplication"; case 2: return "State"; case 3: return "ChangeAction"; case 4: return "LastModifiedDate"; case 5: return "LastModifyingUser"; case 6: return "LastModifyingApplication"; case 7: return "CreationDate"; } throw IfcParse::IfcException("argument out of range"); } @@ -8178,7 +9348,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOwnerHistory (IfcAbstractEntity* e); - IfcOwnerHistory (IfcPersonAndOrganization* v1_OwningUser, IfcApplication* v2_OwningApplication, boost::optional< IfcStateEnum::IfcStateEnum > v3_State, IfcChangeActionEnum::IfcChangeActionEnum v4_ChangeAction, boost::optional< IfcTimeStamp > v5_LastModifiedDate, IfcPersonAndOrganization* v6_LastModifyingUser, IfcApplication* v7_LastModifyingApplication, IfcTimeStamp v8_CreationDate); + IfcOwnerHistory (IfcPersonAndOrganization* v1_OwningUser, IfcApplication* v2_OwningApplication, boost::optional< IfcStateEnum::IfcStateEnum > v3_State, IfcChangeActionEnum::IfcChangeActionEnum v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, IfcPersonAndOrganization* v6_LastModifyingUser, IfcApplication* v7_LastModifyingApplication, int v8_CreationDate); typedef IfcTemplatedEntityList< IfcOwnerHistory > list; }; /// Definition: an individual human being. @@ -8194,38 +9364,38 @@ class IfcPerson : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute Id is defined for this IfcPerson bool hasId() const; - IfcIdentifier Id() const; - void setId(IfcIdentifier v); + std::string Id() const; + void setId(std::string v); /// Whether the optional attribute FamilyName is defined for this IfcPerson bool hasFamilyName() const; /// The name by which the family identity of the person may be recognized. /// NOTE: Depending on geographical location and culture, family name may appear either as the first or last component of a name. - IfcLabel FamilyName() const; - void setFamilyName(IfcLabel v); + std::string FamilyName() const; + void setFamilyName(std::string v); /// Whether the optional attribute GivenName is defined for this IfcPerson bool hasGivenName() const; /// The name by which a person is known within a family and by which he or she may be familiarly recognized. /// NOTE: Depending on geographical location and culture, given name may appear either as the first or last component of a name. - IfcLabel GivenName() const; - void setGivenName(IfcLabel v); + std::string GivenName() const; + void setGivenName(std::string v); /// Whether the optional attribute MiddleNames is defined for this IfcPerson bool hasMiddleNames() const; /// Additional names given to a person that enable their identification apart from others who may have the same or similar family and given names. /// 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< IfcLabel > /*[1:?]*/ MiddleNames() const; - void setMiddleNames(std::vector< IfcLabel > /*[1:?]*/ v); + std::vector< std::string > /*[1:?]*/ MiddleNames() const; + void setMiddleNames(std::vector< std::string > /*[1:?]*/ v); /// Whether the optional attribute PrefixTitles is defined for this IfcPerson bool hasPrefixTitles() const; /// The word, or group of words, which specify the person's social and/or professional standing and appear before his/her names. - std::vector< IfcLabel > /*[1:?]*/ PrefixTitles() const; - void setPrefixTitles(std::vector< IfcLabel > /*[1:?]*/ v); + std::vector< std::string > /*[1:?]*/ PrefixTitles() const; + void setPrefixTitles(std::vector< std::string > /*[1:?]*/ v); /// Whether the optional attribute SuffixTitles is defined for this IfcPerson bool hasSuffixTitles() const; /// The word, or group of words, which specify the person's social and/or professional standing and appear after his/her names. - std::vector< IfcLabel > /*[1:?]*/ SuffixTitles() const; - void setSuffixTitles(std::vector< IfcLabel > /*[1:?]*/ v); + std::vector< std::string > /*[1:?]*/ SuffixTitles() const; + void setSuffixTitles(std::vector< std::string > /*[1:?]*/ v); /// Whether the optional attribute Roles is defined for this IfcPerson bool hasRoles() const; /// Roles played by the person. @@ -8246,7 +9416,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPerson (IfcAbstractEntity* e); - IfcPerson (boost::optional< IfcIdentifier > v1_Id, boost::optional< IfcLabel > v2_FamilyName, boost::optional< IfcLabel > v3_GivenName, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v6_SuffixTitles, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v7_Roles, boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v8_Addresses); + IfcPerson (boost::optional< std::string > v1_Id, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v7_Roles, boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v8_Addresses); typedef IfcTemplatedEntityList< IfcPerson > list; }; /// Definition: Identification of a person within an organization. @@ -8286,13 +9456,13 @@ public: class IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity { public: /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcPhysicalQuantity bool hasDescription() const; /// Further explanation that might be given to the quantity. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; } throw IfcParse::IfcException("argument out of range"); } @@ -8302,7 +9472,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPhysicalQuantity (IfcAbstractEntity* e); - IfcPhysicalQuantity (IfcLabel v1_Name, boost::optional< IfcText > v2_Description); + IfcPhysicalQuantity (std::string v1_Name, boost::optional< std::string > v2_Description); typedef IfcTemplatedEntityList< IfcPhysicalQuantity > list; }; /// 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. @@ -8329,7 +9499,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPhysicalSimpleQuantity (IfcAbstractEntity* e); - IfcPhysicalSimpleQuantity (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit); + IfcPhysicalSimpleQuantity (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit); typedef IfcTemplatedEntityList< IfcPhysicalSimpleQuantity > list; }; /// Definition: The address for delivery of paper based mail. @@ -8340,8 +9510,8 @@ public: /// Whether the optional attribute InternalLocation is defined for this IfcPostalAddress bool hasInternalLocation() const; /// An organization defined address for internal mail delivery. - IfcLabel InternalLocation() const; - void setInternalLocation(IfcLabel v); + std::string InternalLocation() const; + void setInternalLocation(std::string v); /// Whether the optional attribute AddressLines is defined for this IfcPostalAddress bool hasAddressLines() const; /// The postal address. @@ -8350,34 +9520,34 @@ 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< IfcLabel > /*[1:?]*/ AddressLines() const; - void setAddressLines(std::vector< IfcLabel > /*[1:?]*/ v); + std::vector< std::string > /*[1:?]*/ AddressLines() const; + void setAddressLines(std::vector< std::string > /*[1:?]*/ v); /// Whether the optional attribute PostalBox is defined for this IfcPostalAddress bool hasPostalBox() const; /// An address that is implied by an identifiable mail drop. - IfcLabel PostalBox() const; - void setPostalBox(IfcLabel v); + std::string PostalBox() const; + void setPostalBox(std::string v); /// Whether the optional attribute Town is defined for this IfcPostalAddress bool hasTown() const; /// The name of a town. - IfcLabel Town() const; - void setTown(IfcLabel v); + std::string Town() const; + void setTown(std::string v); /// Whether the optional attribute Region is defined for this IfcPostalAddress bool hasRegion() const; /// The name of a region. /// NOTE: The counties of the United Kingdom and the states of North America are examples of regions. - IfcLabel Region() const; - void setRegion(IfcLabel v); + std::string Region() const; + void setRegion(std::string v); /// Whether the optional attribute PostalCode is defined for this IfcPostalAddress bool hasPostalCode() const; /// The code that is used by the country's postal service. - IfcLabel PostalCode() const; - void setPostalCode(IfcLabel v); + std::string PostalCode() const; + void setPostalCode(std::string v); /// Whether the optional attribute Country is defined for this IfcPostalAddress bool hasCountry() const; /// The name of a country. - IfcLabel Country() const; - void setCountry(IfcLabel v); + std::string Country() const; + void setCountry(std::string v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_VECTOR_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_STRING; } return IfcAddress::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "InternalLocation"; case 4: return "AddressLines"; case 5: return "PostalBox"; case 6: return "Town"; case 7: return "Region"; case 8: return "PostalCode"; case 9: return "Country"; } return IfcAddress::getArgumentName(i); } @@ -8386,7 +9556,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPostalAddress (IfcAbstractEntity* e); - IfcPostalAddress (boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose, boost::optional< IfcLabel > v4_InternalLocation, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_AddressLines, boost::optional< IfcLabel > v6_PostalBox, boost::optional< IfcLabel > v7_Town, boost::optional< IfcLabel > v8_Region, boost::optional< IfcLabel > v9_PostalCode, boost::optional< IfcLabel > v10_Country); + IfcPostalAddress (boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose, boost::optional< std::string > v4_InternalLocation, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, boost::optional< std::string > v6_PostalBox, boost::optional< std::string > v7_Town, boost::optional< std::string > v8_Region, boost::optional< std::string > v9_PostalCode, boost::optional< std::string > v10_Country); typedef IfcTemplatedEntityList< IfcPostalAddress > list; }; /// 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). @@ -8399,8 +9569,8 @@ public: class IfcPreDefinedItem : public IfcUtil::IfcBaseEntity { public: /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } throw IfcParse::IfcException("argument out of range"); } @@ -8409,7 +9579,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPreDefinedItem (IfcAbstractEntity* e); - IfcPreDefinedItem (IfcLabel v1_Name); + IfcPreDefinedItem (std::string v1_Name); typedef IfcTemplatedEntityList< IfcPreDefinedItem > list; }; /// A predefined symbol is a symbol that gets its shape information by a conforming name that is specified within subtypes of the entity. @@ -8429,7 +9599,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPreDefinedSymbol (IfcAbstractEntity* e); - IfcPreDefinedSymbol (IfcLabel v1_Name); + IfcPreDefinedSymbol (std::string v1_Name); typedef IfcTemplatedEntityList< IfcPreDefinedSymbol > list; }; @@ -8443,7 +9613,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPreDefinedTerminatorSymbol (IfcAbstractEntity* e); - IfcPreDefinedTerminatorSymbol (IfcLabel v1_Name); + IfcPreDefinedTerminatorSymbol (std::string v1_Name); typedef IfcTemplatedEntityList< IfcPreDefinedTerminatorSymbol > list; }; /// 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: @@ -8467,7 +9637,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPreDefinedTextFont (IfcAbstractEntity* e); - IfcPreDefinedTextFont (IfcLabel v1_Name); + IfcPreDefinedTextFont (std::string v1_Name); typedef IfcTemplatedEntityList< IfcPreDefinedTextFont > list; }; /// 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. @@ -8488,21 +9658,21 @@ public: class IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { public: /// Name of the layer. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcPresentationLayerAssignment bool hasDescription() const; /// Additional description of the layer. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// The set of layered items, which are assigned to this layer. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr AssignedItems() const; - void setAssignedItems(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr AssignedItems() const; + void setAssignedItems(IfcEntityList::ptr v); /// Whether the optional attribute Identifier is defined for this IfcPresentationLayerAssignment bool hasIdentifier() const; /// An (internal) identifier assigned to the layer. - IfcIdentifier Identifier() const; - void setIdentifier(IfcIdentifier v); + std::string Identifier() const; + void setIdentifier(std::string v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::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 "AssignedItems"; case 3: return "Identifier"; } throw IfcParse::IfcException("argument out of range"); } @@ -8511,7 +9681,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPresentationLayerAssignment (IfcAbstractEntity* e); - IfcPresentationLayerAssignment (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< IfcIdentifier > v4_Identifier); + IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); typedef IfcTemplatedEntityList< IfcPresentationLayerAssignment > list; }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. @@ -8543,8 +9713,8 @@ public: /// 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. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr LayerStyles() const; - void setLayerStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr LayerStyles() const; + void setLayerStyles(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_BOOL; case 5: return IfcUtil::Argument_BOOL; case 6: return IfcUtil::Argument_BOOL; case 7: return IfcUtil::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); } @@ -8553,7 +9723,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPresentationLayerWithStyle (IfcAbstractEntity* e); - IfcPresentationLayerWithStyle (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< IfcIdentifier > v4_Identifier, bool v5_LayerOn, bool v6_LayerFrozen, bool v7_LayerBlocked, IfcEntityList::ptr v8_LayerStyles); + IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, bool v5_LayerOn, bool v6_LayerFrozen, bool v7_LayerBlocked, IfcEntityList::ptr v8_LayerStyles); typedef IfcTemplatedEntityList< IfcPresentationLayerWithStyle > list; }; /// 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. @@ -8566,8 +9736,8 @@ public: /// Whether the optional attribute Name is defined for this IfcPresentationStyle bool hasName() const; /// Name of the presentation style. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } throw IfcParse::IfcException("argument out of range"); } @@ -8576,7 +9746,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPresentationStyle (IfcAbstractEntity* e); - IfcPresentationStyle (boost::optional< IfcLabel > v1_Name); + IfcPresentationStyle (boost::optional< std::string > v1_Name); typedef IfcTemplatedEntityList< IfcPresentationStyle > list; }; /// 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. @@ -8587,8 +9757,8 @@ public: class IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity { public: /// A set of presentation styles that are assigned to styled items. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Styles() const; - void setStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr Styles() const; + void setStyles(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Styles"; } throw IfcParse::IfcException("argument out of range"); } @@ -8622,13 +9792,13 @@ public: /// Whether the optional attribute Name is defined for this IfcProductRepresentation bool hasName() const; /// The word or group of words by which the product representation is known. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcProductRepresentation bool hasDescription() const; /// 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() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Contained list of representations (including shape representations). Each member defines a valid representation of a particular type within a particular representation context. IfcTemplatedEntityList< IfcRepresentation >::ptr Representations() const; void setRepresentations(IfcTemplatedEntityList< IfcRepresentation >::ptr v); @@ -8640,7 +9810,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProductRepresentation (IfcAbstractEntity* e); - IfcProductRepresentation (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations); + IfcProductRepresentation (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations); typedef IfcTemplatedEntityList< IfcProductRepresentation > list; }; @@ -8648,20 +9818,20 @@ class IfcProductsOfCombustionProperties : public IfcMaterialProperties { public: /// Whether the optional attribute SpecificHeatCapacity is defined for this IfcProductsOfCombustionProperties bool hasSpecificHeatCapacity() const; - IfcSpecificHeatCapacityMeasure SpecificHeatCapacity() const; - void setSpecificHeatCapacity(IfcSpecificHeatCapacityMeasure v); + double SpecificHeatCapacity() const; + void setSpecificHeatCapacity(double v); /// Whether the optional attribute N20Content is defined for this IfcProductsOfCombustionProperties bool hasN20Content() const; - IfcPositiveRatioMeasure N20Content() const; - void setN20Content(IfcPositiveRatioMeasure v); + double N20Content() const; + void setN20Content(double v); /// Whether the optional attribute COContent is defined for this IfcProductsOfCombustionProperties bool hasCOContent() const; - IfcPositiveRatioMeasure COContent() const; - void setCOContent(IfcPositiveRatioMeasure v); + double COContent() const; + void setCOContent(double v); /// Whether the optional attribute CO2Content is defined for this IfcProductsOfCombustionProperties bool hasCO2Content() const; - IfcPositiveRatioMeasure CO2Content() const; - void setCO2Content(IfcPositiveRatioMeasure v); + double CO2Content() const; + void setCO2Content(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcMaterialProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "SpecificHeatCapacity"; case 2: return "N20Content"; case 3: return "COContent"; case 4: return "CO2Content"; } return IfcMaterialProperties::getArgumentName(i); } @@ -8670,7 +9840,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProductsOfCombustionProperties (IfcAbstractEntity* e); - IfcProductsOfCombustionProperties (IfcMaterial* v1_Material, boost::optional< IfcSpecificHeatCapacityMeasure > v2_SpecificHeatCapacity, boost::optional< IfcPositiveRatioMeasure > v3_N20Content, boost::optional< IfcPositiveRatioMeasure > v4_COContent, boost::optional< IfcPositiveRatioMeasure > v5_CO2Content); + IfcProductsOfCombustionProperties (IfcMaterial* v1_Material, boost::optional< double > v2_SpecificHeatCapacity, boost::optional< double > v3_N20Content, boost::optional< double > v4_COContent, boost::optional< double > v5_CO2Content); typedef IfcTemplatedEntityList< IfcProductsOfCombustionProperties > list; }; /// IfcProfileDef @@ -8851,8 +10021,8 @@ public: /// Whether the optional attribute ProfileName is defined for this IfcProfileDef bool hasProfileName() const; /// Human-readable name of the profile, for example according to a standard profile table. As noted above, machine-readable standardized profile designations should be provided in IfcExternalReference.ItemReference. - IfcLabel ProfileName() const; - void setProfileName(IfcLabel v); + std::string ProfileName() const; + void setProfileName(std::string v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ProfileType"; case 1: return "ProfileName"; } throw IfcParse::IfcException("argument out of range"); } @@ -8861,7 +10031,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProfileDef (IfcAbstractEntity* e); - IfcProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName); + IfcProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName); typedef IfcTemplatedEntityList< IfcProfileDef > list; }; /// This is a collection of properties applicable to section profile definitions. @@ -8879,8 +10049,8 @@ class IfcProfileProperties : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute ProfileName is defined for this IfcProfileProperties bool hasProfileName() const; - IfcLabel ProfileName() const; - void setProfileName(IfcLabel v); + std::string ProfileName() const; + void setProfileName(std::string v); /// Whether the optional attribute ProfileDefinition is defined for this IfcProfileProperties bool hasProfileDefinition() const; /// Profile definition which is qualified by these properties. @@ -8894,7 +10064,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProfileProperties (IfcAbstractEntity* e); - IfcProfileProperties (boost::optional< IfcLabel > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition); + IfcProfileProperties (boost::optional< std::string > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition); typedef IfcTemplatedEntityList< IfcProfileProperties > list; }; /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. @@ -8903,13 +10073,13 @@ public: class IfcProperty : public IfcUtil::IfcBaseEntity { public: /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. - IfcIdentifier Name() const; - void setName(IfcIdentifier v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcProperty bool hasDescription() const; /// Informative text to explain the property. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; } throw IfcParse::IfcException("argument out of range"); } @@ -8921,7 +10091,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProperty (IfcAbstractEntity* e); - IfcProperty (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description); + IfcProperty (std::string v1_Name, boost::optional< std::string > v2_Description); typedef IfcTemplatedEntityList< IfcProperty > list; }; @@ -8933,12 +10103,12 @@ public: void setRelatedProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); /// Whether the optional attribute Name is defined for this IfcPropertyConstraintRelationship bool hasName() const; - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcPropertyConstraintRelationship bool hasDescription() const; - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RelatingConstraint"; case 1: return "RelatedProperties"; case 2: return "Name"; case 3: return "Description"; } throw IfcParse::IfcException("argument out of range"); } @@ -8947,7 +10117,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyConstraintRelationship (IfcAbstractEntity* e); - IfcPropertyConstraintRelationship (IfcConstraint* v1_RelatingConstraint, IfcTemplatedEntityList< IfcProperty >::ptr v2_RelatedProperties, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); + IfcPropertyConstraintRelationship (IfcConstraint* v1_RelatingConstraint, IfcTemplatedEntityList< IfcProperty >::ptr v2_RelatedProperties, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcPropertyConstraintRelationship > list; }; /// An IfcPropertyDependencyRelationship describes an identified dependency between the value of one property and that of another. @@ -8968,17 +10138,17 @@ public: void setDependantProperty(IfcProperty* v); /// Whether the optional attribute Name is defined for this IfcPropertyDependencyRelationship bool hasName() const; - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcPropertyDependencyRelationship bool hasDescription() const; - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Whether the optional attribute Expression is defined for this IfcPropertyDependencyRelationship bool hasExpression() const; /// Expression that further describes the nature of the dependency relation. - IfcText Expression() const; - void setExpression(IfcText v); + std::string Expression() const; + void setExpression(std::string v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "DependingProperty"; case 1: return "DependantProperty"; case 2: return "Name"; case 3: return "Description"; case 4: return "Expression"; } throw IfcParse::IfcException("argument out of range"); } @@ -8987,7 +10157,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyDependencyRelationship (IfcAbstractEntity* e); - IfcPropertyDependencyRelationship (IfcProperty* v1_DependingProperty, IfcProperty* v2_DependantProperty, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcText > v5_Expression); + IfcPropertyDependencyRelationship (IfcProperty* v1_DependingProperty, IfcProperty* v2_DependantProperty, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_Expression); typedef IfcTemplatedEntityList< IfcPropertyDependencyRelationship > list; }; /// IfcPropertyEnumeration is a collection of simple @@ -9039,16 +10209,16 @@ public: class IfcPropertyEnumeration : public IfcUtil::IfcBaseEntity { public: /// Name of this enumeration. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// List of values that form the enumeration. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr EnumerationValues() const; - void setEnumerationValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr EnumerationValues() const; + void setEnumerationValues(IfcEntityList::ptr v); /// Whether the optional attribute Unit is defined for this IfcPropertyEnumeration bool hasUnit() const; /// 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. - IfcUnit Unit() const; - void setUnit(IfcUnit v); + IfcUnit* Unit() const; + void setUnit(IfcUnit* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "EnumerationValues"; case 2: return "Unit"; } throw IfcParse::IfcException("argument out of range"); } @@ -9057,7 +10227,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyEnumeration (IfcAbstractEntity* e); - IfcPropertyEnumeration (IfcLabel v1_Name, IfcEntityList::ptr v2_EnumerationValues, boost::optional< IfcUnit > v3_Unit); + IfcPropertyEnumeration (std::string v1_Name, IfcEntityList::ptr v2_EnumerationValues, IfcUnit* v3_Unit); typedef IfcTemplatedEntityList< IfcPropertyEnumeration > list; }; /// 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. @@ -9068,8 +10238,8 @@ public: class IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: /// Area measure value of this quantity. - IfcAreaMeasure AreaValue() const; - void setAreaValue(IfcAreaMeasure v); + double AreaValue() const; + void setAreaValue(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "AreaValue"; } return IfcPhysicalSimpleQuantity::getArgumentName(i); } @@ -9078,7 +10248,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantityArea (IfcAbstractEntity* e); - IfcQuantityArea (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcAreaMeasure v4_AreaValue); + IfcQuantityArea (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_AreaValue); typedef IfcTemplatedEntityList< IfcQuantityArea > list; }; /// 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. @@ -9089,8 +10259,8 @@ public: class IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: /// Count measure value of this quantity. - IfcCountMeasure CountValue() const; - void setCountValue(IfcCountMeasure v); + double CountValue() const; + void setCountValue(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "CountValue"; } return IfcPhysicalSimpleQuantity::getArgumentName(i); } @@ -9099,7 +10269,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantityCount (IfcAbstractEntity* e); - IfcQuantityCount (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcCountMeasure v4_CountValue); + IfcQuantityCount (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_CountValue); typedef IfcTemplatedEntityList< IfcQuantityCount > list; }; /// 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. @@ -9110,8 +10280,8 @@ public: class IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: /// Length measure value of this quantity. - IfcLengthMeasure LengthValue() const; - void setLengthValue(IfcLengthMeasure v); + double LengthValue() const; + void setLengthValue(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "LengthValue"; } return IfcPhysicalSimpleQuantity::getArgumentName(i); } @@ -9120,7 +10290,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantityLength (IfcAbstractEntity* e); - IfcQuantityLength (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcLengthMeasure v4_LengthValue); + IfcQuantityLength (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_LengthValue); typedef IfcTemplatedEntityList< IfcQuantityLength > list; }; /// 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. @@ -9131,8 +10301,8 @@ public: class IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: /// Time measure value of this quantity. - IfcTimeMeasure TimeValue() const; - void setTimeValue(IfcTimeMeasure v); + double TimeValue() const; + void setTimeValue(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "TimeValue"; } return IfcPhysicalSimpleQuantity::getArgumentName(i); } @@ -9141,7 +10311,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantityTime (IfcAbstractEntity* e); - IfcQuantityTime (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcTimeMeasure v4_TimeValue); + IfcQuantityTime (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_TimeValue); typedef IfcTemplatedEntityList< IfcQuantityTime > list; }; /// 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. @@ -9152,8 +10322,8 @@ public: class IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: /// Volume measure value of this quantity. - IfcVolumeMeasure VolumeValue() const; - void setVolumeValue(IfcVolumeMeasure v); + double VolumeValue() const; + void setVolumeValue(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "VolumeValue"; } return IfcPhysicalSimpleQuantity::getArgumentName(i); } @@ -9162,7 +10332,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantityVolume (IfcAbstractEntity* e); - IfcQuantityVolume (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcVolumeMeasure v4_VolumeValue); + IfcQuantityVolume (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_VolumeValue); typedef IfcTemplatedEntityList< IfcQuantityVolume > list; }; /// 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. @@ -9173,8 +10343,8 @@ public: class IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: /// Mass measure value of this quantity. - IfcMassMeasure WeightValue() const; - void setWeightValue(IfcMassMeasure v); + double WeightValue() const; + void setWeightValue(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "WeightValue"; } return IfcPhysicalSimpleQuantity::getArgumentName(i); } @@ -9183,24 +10353,24 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantityWeight (IfcAbstractEntity* e); - IfcQuantityWeight (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcMassMeasure v4_WeightValue); + IfcQuantityWeight (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_WeightValue); typedef IfcTemplatedEntityList< IfcQuantityWeight > list; }; class IfcReferencesValueDocument : public IfcUtil::IfcBaseEntity { public: - IfcDocumentSelect ReferencedDocument() const; - void setReferencedDocument(IfcDocumentSelect v); + IfcDocumentSelect* ReferencedDocument() const; + void setReferencedDocument(IfcDocumentSelect* v); IfcTemplatedEntityList< IfcAppliedValue >::ptr ReferencingValues() const; void setReferencingValues(IfcTemplatedEntityList< IfcAppliedValue >::ptr v); /// Whether the optional attribute Name is defined for this IfcReferencesValueDocument bool hasName() const; - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcReferencesValueDocument bool hasDescription() const; - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ReferencedDocument"; case 1: return "ReferencingValues"; case 2: return "Name"; case 3: return "Description"; } throw IfcParse::IfcException("argument out of range"); } @@ -9209,7 +10379,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReferencesValueDocument (IfcAbstractEntity* e); - IfcReferencesValueDocument (IfcDocumentSelect v1_ReferencedDocument, IfcTemplatedEntityList< IfcAppliedValue >::ptr v2_ReferencingValues, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); + IfcReferencesValueDocument (IfcDocumentSelect* v1_ReferencedDocument, IfcTemplatedEntityList< IfcAppliedValue >::ptr v2_ReferencingValues, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcReferencesValueDocument > list; }; /// IfcReinforcementProperties defines the set of properties for a specific combination of reinforcement bar steel grade, bar type and effective depth. @@ -9220,11 +10390,11 @@ public: class IfcReinforcementBarProperties : public IfcUtil::IfcBaseEntity { public: /// The total effective cross-section area of the reinforcement of a specific steel grade. - IfcAreaMeasure TotalCrossSectionArea() const; - void setTotalCrossSectionArea(IfcAreaMeasure v); + double TotalCrossSectionArea() const; + void setTotalCrossSectionArea(double v); /// The nominal steel grade defined according to local standards. - IfcLabel SteelGrade() const; - void setSteelGrade(IfcLabel v); + std::string SteelGrade() const; + void setSteelGrade(std::string v); /// Whether the optional attribute BarSurface is defined for this IfcReinforcementBarProperties bool hasBarSurface() const; /// Indicator for whether the bar surface is plain or textured. @@ -9233,18 +10403,18 @@ public: /// Whether the optional attribute EffectiveDepth is defined for this IfcReinforcementBarProperties bool hasEffectiveDepth() const; /// The effective depth, i.e. the distance of the specific reinforcement cross section area or reinforcement configuration in a row, counted from a common specific reference point. Usually the reference point is the upper surface (for beams and slabs) or a similar projection in a plane (for columns). - IfcLengthMeasure EffectiveDepth() const; - void setEffectiveDepth(IfcLengthMeasure v); + double EffectiveDepth() const; + void setEffectiveDepth(double v); /// Whether the optional attribute NominalBarDiameter is defined for this IfcReinforcementBarProperties bool hasNominalBarDiameter() const; /// The nominal diameter defining the cross-section size of the reinforcing bar. The bar diameter should be identical for all bars included in the specific reinforcement configuration. - IfcPositiveLengthMeasure NominalBarDiameter() const; - void setNominalBarDiameter(IfcPositiveLengthMeasure v); + double NominalBarDiameter() const; + void setNominalBarDiameter(double v); /// Whether the optional attribute BarCount is defined for this IfcReinforcementBarProperties bool hasBarCount() const; /// The number of bars with identical nominal diameter and steel grade included in the specific reinforcement configuration. - IfcCountMeasure BarCount() const; - void setBarCount(IfcCountMeasure v); + double BarCount() const; + void setBarCount(double v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TotalCrossSectionArea"; case 1: return "SteelGrade"; case 2: return "BarSurface"; case 3: return "EffectiveDepth"; case 4: return "NominalBarDiameter"; case 5: return "BarCount"; } throw IfcParse::IfcException("argument out of range"); } @@ -9253,16 +10423,16 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReinforcementBarProperties (IfcAbstractEntity* e); - IfcReinforcementBarProperties (IfcAreaMeasure v1_TotalCrossSectionArea, IfcLabel v2_SteelGrade, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v3_BarSurface, boost::optional< IfcLengthMeasure > v4_EffectiveDepth, boost::optional< IfcPositiveLengthMeasure > v5_NominalBarDiameter, boost::optional< IfcCountMeasure > v6_BarCount); + IfcReinforcementBarProperties (double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< double > v6_BarCount); typedef IfcTemplatedEntityList< IfcReinforcementBarProperties > list; }; class IfcRelaxation : public IfcUtil::IfcBaseEntity { public: - IfcNormalisedRatioMeasure RelaxationValue() const; - void setRelaxationValue(IfcNormalisedRatioMeasure v); - IfcNormalisedRatioMeasure InitialStress() const; - void setInitialStress(IfcNormalisedRatioMeasure v); + double RelaxationValue() const; + void setRelaxationValue(double v); + double InitialStress() const; + void setInitialStress(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RelaxationValue"; case 1: return "InitialStress"; } throw IfcParse::IfcException("argument out of range"); } @@ -9271,7 +10441,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelaxation (IfcAbstractEntity* e); - IfcRelaxation (IfcNormalisedRatioMeasure v1_RelaxationValue, IfcNormalisedRatioMeasure v2_InitialStress); + IfcRelaxation (double v1_RelaxationValue, double v2_InitialStress); typedef IfcTemplatedEntityList< IfcRelaxation > list; }; /// Definition from ISO/CD 10303-43:1992: A @@ -9328,14 +10498,14 @@ public: /// Whether the optional attribute RepresentationIdentifier is defined for this IfcRepresentation bool hasRepresentationIdentifier() const; /// The optional identifier of the representation as used within a project. - IfcLabel RepresentationIdentifier() const; - void setRepresentationIdentifier(IfcLabel v); + std::string RepresentationIdentifier() const; + void setRepresentationIdentifier(std::string v); /// Whether the optional attribute RepresentationType is defined for this IfcRepresentation bool hasRepresentationType() const; /// The description of the type of a representation context. The representation type defines the type of geometry or topology used for representing the product representation. More information is given at the subtypes IfcShapeRepresentation and IfcTopologyRepresentation. /// The supported values for context type are to be specified by implementers agreements. - IfcLabel RepresentationType() const; - void setRepresentationType(IfcLabel v); + std::string RepresentationType() const; + void setRepresentationType(std::string v); /// Set of geometric representation items that are defined for this representation. IfcTemplatedEntityList< IfcRepresentationItem >::ptr Items() const; void setItems(IfcTemplatedEntityList< IfcRepresentationItem >::ptr v); @@ -9350,7 +10520,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRepresentation (IfcAbstractEntity* e); - IfcRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); + IfcRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); typedef IfcTemplatedEntityList< IfcRepresentation > list; }; /// Definition from ISO/CD 10303-42:1992: A representation context is a context in which a set of representation items are related. @@ -9368,13 +10538,13 @@ public: /// Whether the optional attribute ContextIdentifier is defined for this IfcRepresentationContext bool hasContextIdentifier() const; /// The optional identifier of the representation context as used within a project. - IfcLabel ContextIdentifier() const; - void setContextIdentifier(IfcLabel v); + std::string ContextIdentifier() const; + void setContextIdentifier(std::string v); /// Whether the optional attribute ContextType is defined for this IfcRepresentationContext bool hasContextType() const; /// The description of the type of a representation context. The supported values for context type are to be specified by implementers agreements. - IfcLabel ContextType() const; - void setContextType(IfcLabel v); + std::string ContextType() const; + void setContextType(std::string v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ContextIdentifier"; case 1: return "ContextType"; } throw IfcParse::IfcException("argument out of range"); } @@ -9384,7 +10554,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRepresentationContext (IfcAbstractEntity* e); - IfcRepresentationContext (boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType); + IfcRepresentationContext (boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType); typedef IfcTemplatedEntityList< IfcRepresentationContext > list; }; /// Definition from ISO/CD @@ -9449,8 +10619,8 @@ class IfcRepresentationMap : public IfcUtil::IfcBaseEntity { public: /// An axis2 placement that defines the position about which the mapped /// representation is mapped. - IfcAxis2Placement MappingOrigin() const; - void setMappingOrigin(IfcAxis2Placement v); + IfcAxis2Placement* MappingOrigin() const; + void setMappingOrigin(IfcAxis2Placement* v); /// A representation that is mapped to at least one mapped item. IfcRepresentation* MappedRepresentation() const; void setMappedRepresentation(IfcRepresentation* v); @@ -9463,7 +10633,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRepresentationMap (IfcAbstractEntity* e); - IfcRepresentationMap (IfcAxis2Placement v1_MappingOrigin, IfcRepresentation* v2_MappedRepresentation); + IfcRepresentationMap (IfcAxis2Placement* v1_MappingOrigin, IfcRepresentation* v2_MappedRepresentation); typedef IfcTemplatedEntityList< IfcRepresentationMap > list; }; @@ -9471,20 +10641,20 @@ class IfcRibPlateProfileProperties : public IfcProfileProperties { public: /// Whether the optional attribute Thickness is defined for this IfcRibPlateProfileProperties bool hasThickness() const; - IfcPositiveLengthMeasure Thickness() const; - void setThickness(IfcPositiveLengthMeasure v); + double Thickness() const; + void setThickness(double v); /// Whether the optional attribute RibHeight is defined for this IfcRibPlateProfileProperties bool hasRibHeight() const; - IfcPositiveLengthMeasure RibHeight() const; - void setRibHeight(IfcPositiveLengthMeasure v); + double RibHeight() const; + void setRibHeight(double v); /// Whether the optional attribute RibWidth is defined for this IfcRibPlateProfileProperties bool hasRibWidth() const; - IfcPositiveLengthMeasure RibWidth() const; - void setRibWidth(IfcPositiveLengthMeasure v); + double RibWidth() const; + void setRibWidth(double v); /// Whether the optional attribute RibSpacing is defined for this IfcRibPlateProfileProperties bool hasRibSpacing() const; - IfcPositiveLengthMeasure RibSpacing() const; - void setRibSpacing(IfcPositiveLengthMeasure v); + double RibSpacing() const; + void setRibSpacing(double v); IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum Direction() const; void setDirection(IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum v); virtual unsigned int getArgumentCount() const { return 7; } @@ -9495,7 +10665,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRibPlateProfileProperties (IfcAbstractEntity* e); - IfcRibPlateProfileProperties (boost::optional< IfcLabel > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< IfcPositiveLengthMeasure > v3_Thickness, boost::optional< IfcPositiveLengthMeasure > v4_RibHeight, boost::optional< IfcPositiveLengthMeasure > v5_RibWidth, boost::optional< IfcPositiveLengthMeasure > v6_RibSpacing, IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum v7_Direction); + IfcRibPlateProfileProperties (boost::optional< std::string > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< double > v3_Thickness, boost::optional< double > v4_RibHeight, boost::optional< double > v5_RibWidth, boost::optional< double > v6_RibSpacing, IfcRibPlateDirectionEnum::IfcRibPlateDirectionEnum v7_Direction); typedef IfcTemplatedEntityList< IfcRibPlateProfileProperties > list; }; /// 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. @@ -9510,8 +10680,8 @@ public: class IfcRoot : public IfcUtil::IfcBaseEntity { public: /// Assignment of a globally unique identifier within the entire software world. - IfcGloballyUniqueId GlobalId() const; - void setGlobalId(IfcGloballyUniqueId v); + std::string GlobalId() const; + void setGlobalId(std::string v); /// Assignment of the information about the current ownership of that object, including owning actor, application, local identification and information captured about the recent changes of the object, /// /// NOTE only the last modification in stored - either as addition, deletion or modification. @@ -9522,13 +10692,13 @@ public: /// Whether the optional attribute Name is defined for this IfcRoot bool hasName() const; /// Optional name for use by the participating software systems or users. For some subtypes of IfcRoot the insertion of the Name attribute may be required. This would be enforced by a where rule. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcRoot bool hasDescription() const; /// Optional description, provided for exchanging informative comments. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "GlobalId"; case 1: return "OwnerHistory"; case 2: return "Name"; case 3: return "Description"; } throw IfcParse::IfcException("argument out of range"); } @@ -9537,7 +10707,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRoot (IfcAbstractEntity* e); - IfcRoot (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); + IfcRoot (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcRoot > list; }; /// 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). @@ -9609,16 +10779,16 @@ public: class IfcSectionReinforcementProperties : public IfcUtil::IfcBaseEntity { public: /// The start position in longitudinal direction for the section reinforcement properties. - IfcLengthMeasure LongitudinalStartPosition() const; - void setLongitudinalStartPosition(IfcLengthMeasure v); + double LongitudinalStartPosition() const; + void setLongitudinalStartPosition(double v); /// The end position in longitudinal direction for the section reinforcement properties. - IfcLengthMeasure LongitudinalEndPosition() const; - void setLongitudinalEndPosition(IfcLengthMeasure v); + double LongitudinalEndPosition() const; + void setLongitudinalEndPosition(double v); /// Whether the optional attribute TransversePosition is defined for this IfcSectionReinforcementProperties bool hasTransversePosition() const; /// The position for the section reinforcement properties in transverse direction. - IfcLengthMeasure TransversePosition() const; - void setTransversePosition(IfcLengthMeasure v); + double TransversePosition() const; + void setTransversePosition(double v); /// The role, purpose or usage of the reinforcement, i.e. the kind of loads and stresses it is intended to carry, defined for the section reinforcement properties. IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum ReinforcementRole() const; void setReinforcementRole(IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v); @@ -9636,7 +10806,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSectionReinforcementProperties (IfcAbstractEntity* e); - IfcSectionReinforcementProperties (IfcLengthMeasure v1_LongitudinalStartPosition, IfcLengthMeasure v2_LongitudinalEndPosition, boost::optional< IfcLengthMeasure > v3_TransversePosition, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v4_ReinforcementRole, IfcSectionProperties* v5_SectionDefinition, IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions); + IfcSectionReinforcementProperties (double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v4_ReinforcementRole, IfcSectionProperties* v5_SectionDefinition, IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions); typedef IfcTemplatedEntityList< IfcSectionReinforcementProperties > list; }; /// Definition from ISO/CD 10303-41:1992: The shape @@ -9685,13 +10855,13 @@ public: /// Whether the optional attribute Name is defined for this IfcShapeAspect bool hasName() const; /// 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. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcShapeAspect bool hasDescription() const; /// The word or group of words that characterize the shape aspect. It can be used to add additional meaning to the name of the aspect. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// An indication that the shape aspect is on the physical boundary of the product definition shape. If the value of this attribute is TRUE, it shall be asserted that the shape aspect being identified is on such a boundary. If the value is FALSE, it shall be asserted that the shape aspect being identified is not on such a boundary. If the value is UNKNOWN, it shall be asserted that it is not known whether or not the shape aspect being identified is on such a boundary. /// --- /// EXAMPLE: Would be FALSE for a center line, identified as shape aspect; would be TRUE for a cantilever. @@ -9709,7 +10879,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcShapeAspect (IfcAbstractEntity* e); - IfcShapeAspect (IfcTemplatedEntityList< IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< IfcLabel > v2_Name, boost::optional< IfcText > v3_Description, bool v4_ProductDefinitional, IfcProductDefinitionShape* v5_PartOfProductDefinitionShape); + IfcShapeAspect (IfcTemplatedEntityList< IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, bool v4_ProductDefinitional, IfcProductDefinitionShape* v5_PartOfProductDefinitionShape); typedef IfcTemplatedEntityList< IfcShapeAspect > list; }; /// IfcShapeModel represents @@ -9741,7 +10911,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcShapeModel (IfcAbstractEntity* e); - IfcShapeModel (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); + IfcShapeModel (IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); typedef IfcTemplatedEntityList< IfcShapeModel > list; }; /// The IfcShapeRepresentation represents the concept of a @@ -9889,7 +11059,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcShapeRepresentation (IfcAbstractEntity* e); - IfcShapeRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); + IfcShapeRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); typedef IfcTemplatedEntityList< IfcShapeRepresentation > list; }; /// 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. @@ -9905,7 +11075,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSimpleProperty (IfcAbstractEntity* e); - IfcSimpleProperty (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description); + IfcSimpleProperty (std::string v1_Name, boost::optional< std::string > v2_Description); typedef IfcTemplatedEntityList< IfcSimpleProperty > list; }; /// Definition from IAI: Describe more rarely needed connection properties. @@ -9916,8 +11086,8 @@ public: /// Whether the optional attribute Name is defined for this IfcStructuralConnectionCondition bool hasName() const; /// Optionally defines a name for this connection condition. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } throw IfcParse::IfcException("argument out of range"); } @@ -9926,7 +11096,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralConnectionCondition (IfcAbstractEntity* e); - IfcStructuralConnectionCondition (boost::optional< IfcLabel > v1_Name); + IfcStructuralConnectionCondition (boost::optional< std::string > v1_Name); typedef IfcTemplatedEntityList< IfcStructuralConnectionCondition > list; }; /// 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. @@ -9937,8 +11107,8 @@ public: /// Whether the optional attribute Name is defined for this IfcStructuralLoad bool hasName() const; /// Optionally defines a name for this load. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } throw IfcParse::IfcException("argument out of range"); } @@ -9947,7 +11117,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoad (IfcAbstractEntity* e); - IfcStructuralLoad (boost::optional< IfcLabel > v1_Name); + IfcStructuralLoad (boost::optional< std::string > v1_Name); typedef IfcTemplatedEntityList< IfcStructuralLoad > list; }; /// 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. @@ -9963,7 +11133,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoadStatic (IfcAbstractEntity* e); - IfcStructuralLoadStatic (boost::optional< IfcLabel > v1_Name); + IfcStructuralLoadStatic (boost::optional< std::string > v1_Name); typedef IfcTemplatedEntityList< IfcStructuralLoadStatic > list; }; /// 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. @@ -9975,16 +11145,16 @@ class IfcStructuralLoadTemperature : public IfcStructuralLoadStatic { public: /// Whether the optional attribute DeltaT_Constant is defined for this IfcStructuralLoadTemperature bool hasDeltaT_Constant() const; - IfcThermodynamicTemperatureMeasure DeltaT_Constant() const; - void setDeltaT_Constant(IfcThermodynamicTemperatureMeasure v); + double DeltaT_Constant() const; + void setDeltaT_Constant(double v); /// Whether the optional attribute DeltaT_Y is defined for this IfcStructuralLoadTemperature bool hasDeltaT_Y() const; - IfcThermodynamicTemperatureMeasure DeltaT_Y() const; - void setDeltaT_Y(IfcThermodynamicTemperatureMeasure v); + double DeltaT_Y() const; + void setDeltaT_Y(double v); /// Whether the optional attribute DeltaT_Z is defined for this IfcStructuralLoadTemperature bool hasDeltaT_Z() const; - IfcThermodynamicTemperatureMeasure DeltaT_Z() const; - void setDeltaT_Z(IfcThermodynamicTemperatureMeasure v); + double DeltaT_Z() const; + void setDeltaT_Z(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "DeltaT_Constant"; case 2: return "DeltaT_Y"; case 3: return "DeltaT_Z"; } return IfcStructuralLoadStatic::getArgumentName(i); } @@ -9993,7 +11163,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoadTemperature (IfcAbstractEntity* e); - IfcStructuralLoadTemperature (boost::optional< IfcLabel > v1_Name, boost::optional< IfcThermodynamicTemperatureMeasure > v2_DeltaT_Constant, boost::optional< IfcThermodynamicTemperatureMeasure > v3_DeltaT_Y, boost::optional< IfcThermodynamicTemperatureMeasure > v4_DeltaT_Z); + IfcStructuralLoadTemperature (boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaT_Constant, boost::optional< double > v3_DeltaT_Y, boost::optional< double > v4_DeltaT_Z); typedef IfcTemplatedEntityList< IfcStructuralLoadTemperature > list; }; /// 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. @@ -10011,7 +11181,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStyleModel (IfcAbstractEntity* e); - IfcStyleModel (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); + IfcStyleModel (IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); typedef IfcTemplatedEntityList< IfcStyleModel > list; }; /// 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. @@ -10062,8 +11232,8 @@ public: /// Whether the optional attribute Name is defined for this IfcStyledItem bool hasName() const; /// The word, or group of words, by which the styled item is referred to. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_STRING; } return IfcRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Item"; case 1: return "Styles"; case 2: return "Name"; } return IfcRepresentationItem::getArgumentName(i); } @@ -10072,7 +11242,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStyledItem (IfcAbstractEntity* e); - IfcStyledItem (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name); + IfcStyledItem (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcStyledItem > list; }; /// 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. @@ -10092,7 +11262,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStyledRepresentation (IfcAbstractEntity* e); - IfcStyledRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); + IfcStyledRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); typedef IfcTemplatedEntityList< IfcStyledRepresentation > list; }; /// 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. @@ -10108,8 +11278,8 @@ public: IfcSurfaceSide::IfcSurfaceSide Side() const; void setSide(IfcSurfaceSide::IfcSurfaceSide v); /// A collection of different surface styles. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Styles() const; - void setStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr Styles() const; + void setStyles(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENUMERATION; case 2: return IfcUtil::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); } @@ -10118,7 +11288,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSurfaceStyle (IfcAbstractEntity* e); - IfcSurfaceStyle (boost::optional< IfcLabel > v1_Name, IfcSurfaceSide::IfcSurfaceSide v2_Side, IfcEntityList::ptr v3_Styles); + IfcSurfaceStyle (boost::optional< std::string > v1_Name, IfcSurfaceSide::IfcSurfaceSide v2_Side, IfcEntityList::ptr v3_Styles); typedef IfcTemplatedEntityList< IfcSurfaceStyle > list; }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. @@ -10171,13 +11341,13 @@ public: /// Whether the optional attribute RefractionIndex is defined for this IfcSurfaceStyleRefraction bool hasRefractionIndex() const; /// The index of refraction for all wave lengths of light. The refraction index is the ratio between the speed of light in a vacuum and the speed of light in the medium. E.g. glass has a refraction index of 1.5, whereas water has an index of 1.33 - IfcReal RefractionIndex() const; - void setRefractionIndex(IfcReal v); + double RefractionIndex() const; + void setRefractionIndex(double v); /// Whether the optional attribute DispersionFactor is defined for this IfcSurfaceStyleRefraction bool hasDispersionFactor() const; /// The Abbe constant given as a fixed ratio between the refractive indices of the material at different wavelengths. A low Abbe number means a high dispersive power. In general this translates to a greater angular spread of the emergent spectrum. - IfcReal DispersionFactor() const; - void setDispersionFactor(IfcReal v); + double DispersionFactor() const; + void setDispersionFactor(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RefractionIndex"; case 1: return "DispersionFactor"; } throw IfcParse::IfcException("argument out of range"); } @@ -10186,7 +11356,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSurfaceStyleRefraction (IfcAbstractEntity* e); - IfcSurfaceStyleRefraction (boost::optional< IfcReal > v1_RefractionIndex, boost::optional< IfcReal > v2_DispersionFactor); + IfcSurfaceStyleRefraction (boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor); typedef IfcTemplatedEntityList< IfcSurfaceStyleRefraction > list; }; /// 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. @@ -10374,8 +11544,8 @@ public: class IfcSymbolStyle : public IfcPresentationStyle { public: /// The style applied to the symbol for its visual appearance. - IfcSymbolStyleSelect StyleOfSymbol() const; - void setStyleOfSymbol(IfcSymbolStyleSelect v); + IfcSymbolStyleSelect* StyleOfSymbol() const; + void setStyleOfSymbol(IfcSymbolStyleSelect* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; } return IfcPresentationStyle::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "StyleOfSymbol"; } return IfcPresentationStyle::getArgumentName(i); } @@ -10384,7 +11554,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSymbolStyle (IfcAbstractEntity* e); - IfcSymbolStyle (boost::optional< IfcLabel > v1_Name, IfcSymbolStyleSelect v2_StyleOfSymbol); + IfcSymbolStyle (boost::optional< std::string > v1_Name, IfcSymbolStyleSelect* v2_StyleOfSymbol); typedef IfcTemplatedEntityList< IfcSymbolStyle > list; }; /// 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. @@ -10437,8 +11607,8 @@ public: class IfcTableRow : public IfcUtil::IfcBaseEntity { public: /// The data value of the table cell.. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr RowCells() const; - void setRowCells(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr RowCells() const; + void setRowCells(IfcEntityList::ptr v); /// 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() const; void setIsHeading(bool v); @@ -10465,31 +11635,31 @@ public: /// Whether the optional attribute TelephoneNumbers is defined for this IfcTelecomAddress bool hasTelephoneNumbers() const; /// The list of telephone numbers at which telephone messages may be received. - std::vector< IfcLabel > /*[1:?]*/ TelephoneNumbers() const; - void setTelephoneNumbers(std::vector< IfcLabel > /*[1:?]*/ v); + std::vector< std::string > /*[1:?]*/ TelephoneNumbers() const; + void setTelephoneNumbers(std::vector< std::string > /*[1:?]*/ v); /// Whether the optional attribute FacsimileNumbers is defined for this IfcTelecomAddress bool hasFacsimileNumbers() const; /// The list of fax numbers at which fax messages may be received. - std::vector< IfcLabel > /*[1:?]*/ FacsimileNumbers() const; - void setFacsimileNumbers(std::vector< IfcLabel > /*[1:?]*/ v); + std::vector< std::string > /*[1:?]*/ FacsimileNumbers() const; + void setFacsimileNumbers(std::vector< std::string > /*[1:?]*/ v); /// Whether the optional attribute PagerNumber is defined for this IfcTelecomAddress bool hasPagerNumber() const; /// The pager number at which paging messages may be received. - IfcLabel PagerNumber() const; - void setPagerNumber(IfcLabel v); + std::string PagerNumber() const; + void setPagerNumber(std::string v); /// Whether the optional attribute ElectronicMailAddresses is defined for this IfcTelecomAddress bool hasElectronicMailAddresses() const; /// The list of Email addresses at which Email messages may be received. - std::vector< IfcLabel > /*[1:?]*/ ElectronicMailAddresses() const; - void setElectronicMailAddresses(std::vector< IfcLabel > /*[1:?]*/ v); + std::vector< std::string > /*[1:?]*/ ElectronicMailAddresses() const; + void setElectronicMailAddresses(std::vector< std::string > /*[1:?]*/ v); /// Whether the optional attribute WWWHomePageURL is defined for this IfcTelecomAddress bool hasWWWHomePageURL() const; /// The world wide web address at which the preliminary page of information for the person or organization can be located. /// NOTE: Information on the world wide web for a person or organization may be separated /// into a number of pages and across a number of host sites, all of which may be linked together. It is assumed that /// all such information may be referenced from a single page that is termed the home page for that person or organization. - IfcLabel WWWHomePageURL() const; - void setWWWHomePageURL(IfcLabel v); + std::string WWWHomePageURL() const; + void setWWWHomePageURL(std::string v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_VECTOR_STRING; case 4: return IfcUtil::Argument_VECTOR_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_VECTOR_STRING; case 7: return IfcUtil::Argument_STRING; } return IfcAddress::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "TelephoneNumbers"; case 4: return "FacsimileNumbers"; case 5: return "PagerNumber"; case 6: return "ElectronicMailAddresses"; case 7: return "WWWHomePageURL"; } return IfcAddress::getArgumentName(i); } @@ -10498,7 +11668,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTelecomAddress (IfcAbstractEntity* e); - IfcTelecomAddress (boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v4_TelephoneNumbers, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_FacsimileNumbers, boost::optional< IfcLabel > v6_PagerNumber, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v7_ElectronicMailAddresses, boost::optional< IfcLabel > v8_WWWHomePageURL); + IfcTelecomAddress (boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, boost::optional< std::string > v6_PagerNumber, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, boost::optional< std::string > v8_WWWHomePageURL); typedef IfcTemplatedEntityList< IfcTelecomAddress > list; }; /// Definition from ISO/CD 10303-46:1992: The text style is a presentation style for annotation text. @@ -10534,22 +11704,22 @@ public: /// Whether the optional attribute TextCharacterAppearance is defined for this IfcTextStyle bool hasTextCharacterAppearance() const; /// A character style to be used for presented text. - IfcCharacterStyleSelect TextCharacterAppearance() const; - void setTextCharacterAppearance(IfcCharacterStyleSelect v); + IfcCharacterStyleSelect* TextCharacterAppearance() const; + void setTextCharacterAppearance(IfcCharacterStyleSelect* v); /// Whether the optional attribute TextStyle is defined for this IfcTextStyle bool hasTextStyle() const; /// 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. - IfcTextStyleSelect TextStyle() const; - void setTextStyle(IfcTextStyleSelect v); + IfcTextStyleSelect* TextStyle() const; + void setTextStyle(IfcTextStyleSelect* v); /// The style applied to the text font for its visual appearance. /// It defines the font family, font style, weight and size. /// /// IFC2x Edition 2 Addendum 2 CHANGE The attribute TextFontStyle is a new attribute attached to IfcTextStyle. - IfcTextFontSelect TextFontStyle() const; - void setTextFontStyle(IfcTextFontSelect v); + IfcTextFontSelect* TextFontStyle() const; + void setTextFontStyle(IfcTextFontSelect* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; } return IfcPresentationStyle::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "TextCharacterAppearance"; case 2: return "TextStyle"; case 3: return "TextFontStyle"; } return IfcPresentationStyle::getArgumentName(i); } @@ -10558,7 +11728,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTextStyle (IfcAbstractEntity* e); - IfcTextStyle (boost::optional< IfcLabel > v1_Name, boost::optional< IfcCharacterStyleSelect > v2_TextCharacterAppearance, boost::optional< IfcTextStyleSelect > v3_TextStyle, IfcTextFontSelect v4_TextFontStyle); + IfcTextStyle (boost::optional< std::string > v1_Name, IfcCharacterStyleSelect* v2_TextCharacterAppearance, IfcTextStyleSelect* v3_TextStyle, IfcTextFontSelect* v4_TextFontStyle); typedef IfcTemplatedEntityList< IfcTextStyle > list; }; /// 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. @@ -10631,29 +11801,29 @@ public: /// Whether the optional attribute FontFamily is defined for this IfcTextStyleFontModel bool hasFontFamily() const; /// 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< IfcTextFontName > /*[1:?]*/ FontFamily() const; - void setFontFamily(std::vector< IfcTextFontName > /*[1:?]*/ v); + std::vector< std::string > /*[1:?]*/ FontFamily() const; + void setFontFamily(std::vector< std::string > /*[1:?]*/ v); /// Whether the optional attribute FontStyle is defined for this IfcTextStyleFontModel bool hasFontStyle() const; /// The font style property selects between normal (sometimes referred to as "roman" or "upright"), italic and oblique faces within a font family. - IfcFontStyle FontStyle() const; - void setFontStyle(IfcFontStyle v); + std::string FontStyle() const; + void setFontStyle(std::string v); /// Whether the optional attribute FontVariant is defined for this IfcTextStyleFontModel bool hasFontVariant() const; /// The font variant property selects between normal and small-caps. /// NOTE  It has been introduced for later compliance to full CSS1 support. - IfcFontVariant FontVariant() const; - void setFontVariant(IfcFontVariant v); + std::string FontVariant() const; + void setFontVariant(std::string v); /// Whether the optional attribute FontWeight is defined for this IfcTextStyleFontModel bool hasFontWeight() const; /// 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. - IfcFontWeight FontWeight() const; - void setFontWeight(IfcFontWeight v); + std::string FontWeight() const; + void setFontWeight(std::string v); /// The font size provides the size or height of the text font. /// NOTE  The following values are allowed, /*[1:?]*/ > v2_FontFamily, boost::optional< IfcFontStyle > v3_FontStyle, boost::optional< IfcFontVariant > v4_FontVariant, boost::optional< IfcFontWeight > v5_FontWeight, IfcSizeSelect v6_FontSize); + IfcTextStyleFontModel (std::string v1_Name, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, IfcSizeSelect* v6_FontSize); typedef IfcTemplatedEntityList< IfcTextStyleFontModel > list; }; /// 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. @@ -10685,13 +11855,13 @@ public: class IfcTextStyleForDefinedFont : public IfcUtil::IfcBaseEntity { public: /// This property describes the text color of an element (often referred to as the foreground color). - IfcColour Colour() const; - void setColour(IfcColour v); + IfcColour* Colour() const; + void setColour(IfcColour* v); /// Whether the optional attribute BackgroundColour is defined for this IfcTextStyleForDefinedFont bool hasBackgroundColour() const; /// This property sets the background color of an element. - IfcColour BackgroundColour() const; - void setBackgroundColour(IfcColour v); + IfcColour* BackgroundColour() const; + void setBackgroundColour(IfcColour* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Colour"; case 1: return "BackgroundColour"; } throw IfcParse::IfcException("argument out of range"); } @@ -10700,7 +11870,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTextStyleForDefinedFont (IfcAbstractEntity* e); - IfcTextStyleForDefinedFont (IfcColour v1_Colour, boost::optional< IfcColour > v2_BackgroundColour); + IfcTextStyleForDefinedFont (IfcColour* v1_Colour, IfcColour* v2_BackgroundColour); typedef IfcTemplatedEntityList< IfcTextStyleForDefinedFont > list; }; /// Definition from CSS1 (W3C Recommendation): The properties defined in the text model affect the visual presentation of characters, spaces, words, and paragraphs. @@ -10716,44 +11886,44 @@ public: bool hasTextIndent() const; /// The property specifies the indentation that appears before the first formatted line. /// NOTE  It has been introduced for later compliance to full CSS1 support. - IfcSizeSelect TextIndent() const; - void setTextIndent(IfcSizeSelect v); + IfcSizeSelect* TextIndent() const; + void setTextIndent(IfcSizeSelect* v); /// Whether the optional attribute TextAlign is defined for this IfcTextStyleTextModel bool hasTextAlign() const; /// This property describes how text is aligned horizontally within the element. The actual justification algorithm used is dependent on the rendering algorithm. - IfcTextAlignment TextAlign() const; - void setTextAlign(IfcTextAlignment v); + std::string TextAlign() const; + void setTextAlign(std::string v); /// Whether the optional attribute TextDecoration is defined for this IfcTextStyleTextModel bool hasTextDecoration() const; /// This property describes decorations that are added to the text of an element. - IfcTextDecoration TextDecoration() const; - void setTextDecoration(IfcTextDecoration v); + std::string TextDecoration() const; + void setTextDecoration(std::string v); /// Whether the optional attribute LetterSpacing is defined for this IfcTextStyleTextModel bool hasLetterSpacing() const; /// 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. - IfcSizeSelect LetterSpacing() const; - void setLetterSpacing(IfcSizeSelect v); + IfcSizeSelect* LetterSpacing() const; + void setLetterSpacing(IfcSizeSelect* v); /// Whether the optional attribute WordSpacing is defined for this IfcTextStyleTextModel bool hasWordSpacing() const; /// 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. - IfcSizeSelect WordSpacing() const; - void setWordSpacing(IfcSizeSelect v); + IfcSizeSelect* WordSpacing() const; + void setWordSpacing(IfcSizeSelect* v); /// Whether the optional attribute TextTransform is defined for this IfcTextStyleTextModel bool hasTextTransform() const; /// 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. - IfcTextTransformation TextTransform() const; - void setTextTransform(IfcTextTransformation v); + std::string TextTransform() const; + void setTextTransform(std::string v); /// Whether the optional attribute LineHeight is defined for this IfcTextStyleTextModel bool hasLineHeight() const; /// 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 /// IfcLengthMeasure, with non-negative values, the length unit is globally defined at IfcUnitAssignment, or IfcRatioMeasure. - IfcSizeSelect LineHeight() const; - void setLineHeight(IfcSizeSelect v); + IfcSizeSelect* LineHeight() const; + void setLineHeight(IfcSizeSelect* v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TextIndent"; case 1: return "TextAlign"; case 2: return "TextDecoration"; case 3: return "LetterSpacing"; case 4: return "WordSpacing"; case 5: return "TextTransform"; case 6: return "LineHeight"; } throw IfcParse::IfcException("argument out of range"); } @@ -10762,7 +11932,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTextStyleTextModel (IfcAbstractEntity* e); - IfcTextStyleTextModel (boost::optional< IfcSizeSelect > v1_TextIndent, boost::optional< IfcTextAlignment > v2_TextAlign, boost::optional< IfcTextDecoration > v3_TextDecoration, boost::optional< IfcSizeSelect > v4_LetterSpacing, boost::optional< IfcSizeSelect > v5_WordSpacing, boost::optional< IfcTextTransformation > v6_TextTransform, boost::optional< IfcSizeSelect > v7_LineHeight); + IfcTextStyleTextModel (IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, IfcSizeSelect* v4_LetterSpacing, IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, IfcSizeSelect* v7_LineHeight); typedef IfcTemplatedEntityList< IfcTextStyleTextModel > list; }; /// 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. @@ -10787,28 +11957,28 @@ public: /// Whether the optional attribute BoxHeight is defined for this IfcTextStyleWithBoxCharacteristics bool hasBoxHeight() const; /// It is the height scaling factor in the definition of a character glyph. - IfcPositiveLengthMeasure BoxHeight() const; - void setBoxHeight(IfcPositiveLengthMeasure v); + double BoxHeight() const; + void setBoxHeight(double v); /// Whether the optional attribute BoxWidth is defined for this IfcTextStyleWithBoxCharacteristics bool hasBoxWidth() const; /// It is the width scaling factor in the definition of a character glyph. - IfcPositiveLengthMeasure BoxWidth() const; - void setBoxWidth(IfcPositiveLengthMeasure v); + double BoxWidth() const; + void setBoxWidth(double v); /// Whether the optional attribute BoxSlantAngle is defined for this IfcTextStyleWithBoxCharacteristics bool hasBoxSlantAngle() const; /// It indicated that the box of a character glyph shall be represented as a parallelogram, with the angle being between the character up line and an axis perpendicular to the character base line. - IfcPlaneAngleMeasure BoxSlantAngle() const; - void setBoxSlantAngle(IfcPlaneAngleMeasure v); + double BoxSlantAngle() const; + void setBoxSlantAngle(double v); /// Whether the optional attribute BoxRotateAngle is defined for this IfcTextStyleWithBoxCharacteristics bool hasBoxRotateAngle() const; /// It indicated that the box of a character glyph shall be presented at an angle to the base line of a text string within which the glyph occurs, the angle being that between the base line of the glyph and an axis perpendicular to the baseline of the text string. - IfcPlaneAngleMeasure BoxRotateAngle() const; - void setBoxRotateAngle(IfcPlaneAngleMeasure v); + double BoxRotateAngle() const; + void setBoxRotateAngle(double v); /// Whether the optional attribute CharacterSpacing is defined for this IfcTextStyleWithBoxCharacteristics bool hasCharacterSpacing() const; /// The distance between the character boxes of adjacent characters. - IfcSizeSelect CharacterSpacing() const; - void setCharacterSpacing(IfcSizeSelect v); + IfcSizeSelect* CharacterSpacing() const; + void setCharacterSpacing(IfcSizeSelect* v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BoxHeight"; case 1: return "BoxWidth"; case 2: return "BoxSlantAngle"; case 3: return "BoxRotateAngle"; case 4: return "CharacterSpacing"; } throw IfcParse::IfcException("argument out of range"); } @@ -10817,7 +11987,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTextStyleWithBoxCharacteristics (IfcAbstractEntity* e); - IfcTextStyleWithBoxCharacteristics (boost::optional< IfcPositiveLengthMeasure > v1_BoxHeight, boost::optional< IfcPositiveLengthMeasure > v2_BoxWidth, boost::optional< IfcPlaneAngleMeasure > v3_BoxSlantAngle, boost::optional< IfcPlaneAngleMeasure > v4_BoxRotateAngle, boost::optional< IfcSizeSelect > v5_CharacterSpacing); + IfcTextStyleWithBoxCharacteristics (boost::optional< double > v1_BoxHeight, boost::optional< double > v2_BoxWidth, boost::optional< double > v3_BoxSlantAngle, boost::optional< double > v4_BoxRotateAngle, IfcSizeSelect* v5_CharacterSpacing); typedef IfcTemplatedEntityList< IfcTextStyleWithBoxCharacteristics > list; }; /// 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. @@ -10876,13 +12046,13 @@ 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. - IfcLabel Mode() const; - void setMode(IfcLabel v); + std::string Mode() const; + void setMode(std::string v); /// The parameters used as arguments by the function as specified by Mode. /// /// IFC2x4 CHANGE  Made optional data type restricted to REAL. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Parameter() const; - void setParameter(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr Parameter() const; + void setParameter(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::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); } @@ -10891,7 +12061,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTextureCoordinateGenerator (IfcAbstractEntity* e); - IfcTextureCoordinateGenerator (IfcLabel v1_Mode, IfcEntityList::ptr v2_Parameter); + IfcTextureCoordinateGenerator (std::string v1_Mode, IfcEntityList::ptr v2_Parameter); typedef IfcTemplatedEntityList< IfcTextureCoordinateGenerator > list; }; /// An IfcTextureMap provides the mapping of the @@ -10990,8 +12160,8 @@ public: class IfcTextureVertex : public IfcUtil::IfcBaseEntity { public: /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. - std::vector< IfcParameterValue > /*[2:2]*/ Coordinates() const; - void setCoordinates(std::vector< IfcParameterValue > /*[2:2]*/ v); + std::vector< double > /*[2:2]*/ Coordinates() const; + void setCoordinates(std::vector< double > /*[2:2]*/ v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_VECTOR_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Coordinates"; } throw IfcParse::IfcException("argument out of range"); } @@ -11000,7 +12170,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTextureVertex (IfcAbstractEntity* e); - IfcTextureVertex (std::vector< IfcParameterValue > /*[2:2]*/ v1_Coordinates); + IfcTextureVertex (std::vector< double > /*[2:2]*/ v1_Coordinates); typedef IfcTemplatedEntityList< IfcTextureVertex > list; }; @@ -11008,20 +12178,20 @@ class IfcThermalMaterialProperties : public IfcMaterialProperties { public: /// Whether the optional attribute SpecificHeatCapacity is defined for this IfcThermalMaterialProperties bool hasSpecificHeatCapacity() const; - IfcSpecificHeatCapacityMeasure SpecificHeatCapacity() const; - void setSpecificHeatCapacity(IfcSpecificHeatCapacityMeasure v); + double SpecificHeatCapacity() const; + void setSpecificHeatCapacity(double v); /// Whether the optional attribute BoilingPoint is defined for this IfcThermalMaterialProperties bool hasBoilingPoint() const; - IfcThermodynamicTemperatureMeasure BoilingPoint() const; - void setBoilingPoint(IfcThermodynamicTemperatureMeasure v); + double BoilingPoint() const; + void setBoilingPoint(double v); /// Whether the optional attribute FreezingPoint is defined for this IfcThermalMaterialProperties bool hasFreezingPoint() const; - IfcThermodynamicTemperatureMeasure FreezingPoint() const; - void setFreezingPoint(IfcThermodynamicTemperatureMeasure v); + double FreezingPoint() const; + void setFreezingPoint(double v); /// Whether the optional attribute ThermalConductivity is defined for this IfcThermalMaterialProperties bool hasThermalConductivity() const; - IfcThermalConductivityMeasure ThermalConductivity() const; - void setThermalConductivity(IfcThermalConductivityMeasure v); + double ThermalConductivity() const; + void setThermalConductivity(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcMaterialProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "SpecificHeatCapacity"; case 2: return "BoilingPoint"; case 3: return "FreezingPoint"; case 4: return "ThermalConductivity"; } return IfcMaterialProperties::getArgumentName(i); } @@ -11030,7 +12200,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcThermalMaterialProperties (IfcAbstractEntity* e); - IfcThermalMaterialProperties (IfcMaterial* v1_Material, boost::optional< IfcSpecificHeatCapacityMeasure > v2_SpecificHeatCapacity, boost::optional< IfcThermodynamicTemperatureMeasure > v3_BoilingPoint, boost::optional< IfcThermodynamicTemperatureMeasure > v4_FreezingPoint, boost::optional< IfcThermalConductivityMeasure > v5_ThermalConductivity); + IfcThermalMaterialProperties (IfcMaterial* v1_Material, boost::optional< double > v2_SpecificHeatCapacity, boost::optional< double > v3_BoilingPoint, boost::optional< double > v4_FreezingPoint, boost::optional< double > v5_ThermalConductivity); typedef IfcTemplatedEntityList< IfcThermalMaterialProperties > list; }; /// 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. @@ -11041,19 +12211,19 @@ public: class IfcTimeSeries : public IfcUtil::IfcBaseEntity { public: /// An unique name for the time series. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcTimeSeries bool hasDescription() const; /// A text description of the data that the series represents. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// The start time of a time series. - IfcDateTimeSelect StartTime() const; - void setStartTime(IfcDateTimeSelect v); + IfcDateTimeSelect* StartTime() const; + void setStartTime(IfcDateTimeSelect* v); /// The end time of a time series. - IfcDateTimeSelect EndTime() const; - void setEndTime(IfcDateTimeSelect v); + IfcDateTimeSelect* EndTime() const; + void setEndTime(IfcDateTimeSelect* v); /// The time series data type. IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum TimeSeriesDataType() const; void setTimeSeriesDataType(IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v); @@ -11063,13 +12233,13 @@ public: /// Whether the optional attribute UserDefinedDataOrigin is defined for this IfcTimeSeries bool hasUserDefinedDataOrigin() const; /// Value of the data origin if DataOrigin attribute is USERDEFINED. - IfcLabel UserDefinedDataOrigin() const; - void setUserDefinedDataOrigin(IfcLabel v); + std::string UserDefinedDataOrigin() const; + void setUserDefinedDataOrigin(std::string v); /// Whether the optional attribute Unit is defined for this IfcTimeSeries bool hasUnit() const; /// The unit to be assigned to all values within the time series. Note that mixing units is not allowed. If the value is not given, the global unit for the type of IfcValue, as defined at IfcProject.UnitsInContext is used. - IfcUnit Unit() const; - void setUnit(IfcUnit v); + IfcUnit* Unit() const; + void setUnit(IfcUnit* v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENUMERATION; case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_ENTITY; } throw IfcParse::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 IfcParse::IfcException("argument out of range"); } @@ -11079,7 +12249,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTimeSeries (IfcAbstractEntity* e); - IfcTimeSeries (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTimeSelect v3_StartTime, IfcDateTimeSelect v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit); + IfcTimeSeries (std::string v1_Name, boost::optional< std::string > v2_Description, IfcDateTimeSelect* v3_StartTime, IfcDateTimeSelect* v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, IfcUnit* v8_Unit); typedef IfcTemplatedEntityList< IfcTimeSeries > list; }; @@ -11087,8 +12257,8 @@ class IfcTimeSeriesReferenceRelationship : public IfcUtil::IfcBaseEntity { public: IfcTimeSeries* ReferencedTimeSeries() const; void setReferencedTimeSeries(IfcTimeSeries* v); - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr TimeSeriesReferences() const; - void setTimeSeriesReferences(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr TimeSeriesReferences() const; + void setTimeSeriesReferences(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ReferencedTimeSeries"; case 1: return "TimeSeriesReferences"; } throw IfcParse::IfcException("argument out of range"); } @@ -11112,8 +12282,8 @@ public: class IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr ListValues() const; - void setListValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr ListValues() const; + void setListValues(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ListValues"; } throw IfcParse::IfcException("argument out of range"); } @@ -11187,7 +12357,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTopologyRepresentation (IfcAbstractEntity* e); - IfcTopologyRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); + IfcTopologyRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); typedef IfcTemplatedEntityList< IfcTopologyRepresentation > list; }; /// 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. @@ -11198,8 +12368,8 @@ public: class IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Units() const; - void setUnits(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr Units() const; + void setUnits(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Units"; } throw IfcParse::IfcException("argument out of range"); } @@ -11342,8 +12512,8 @@ public: IfcTemplatedEntityList< IfcGridAxis >::ptr IntersectingAxes() const; void setIntersectingAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v); /// 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< IfcLengthMeasure > /*[2:3]*/ OffsetDistances() const; - void setOffsetDistances(std::vector< IfcLengthMeasure > /*[2:3]*/ v); + std::vector< double > /*[2:3]*/ OffsetDistances() const; + void setOffsetDistances(std::vector< double > /*[2:3]*/ v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_VECTOR_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "IntersectingAxes"; case 1: return "OffsetDistances"; } throw IfcParse::IfcException("argument out of range"); } @@ -11352,7 +12522,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcVirtualGridIntersection (IfcAbstractEntity* e); - IfcVirtualGridIntersection (IfcTemplatedEntityList< IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< IfcLengthMeasure > /*[2:3]*/ v2_OffsetDistances); + IfcVirtualGridIntersection (IfcTemplatedEntityList< IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); typedef IfcTemplatedEntityList< IfcVirtualGridIntersection > list; }; @@ -11364,28 +12534,28 @@ public: void setIsPotable(bool v); /// Whether the optional attribute Hardness is defined for this IfcWaterProperties bool hasHardness() const; - IfcIonConcentrationMeasure Hardness() const; - void setHardness(IfcIonConcentrationMeasure v); + double Hardness() const; + void setHardness(double v); /// Whether the optional attribute AlkalinityConcentration is defined for this IfcWaterProperties bool hasAlkalinityConcentration() const; - IfcIonConcentrationMeasure AlkalinityConcentration() const; - void setAlkalinityConcentration(IfcIonConcentrationMeasure v); + double AlkalinityConcentration() const; + void setAlkalinityConcentration(double v); /// Whether the optional attribute AcidityConcentration is defined for this IfcWaterProperties bool hasAcidityConcentration() const; - IfcIonConcentrationMeasure AcidityConcentration() const; - void setAcidityConcentration(IfcIonConcentrationMeasure v); + double AcidityConcentration() const; + void setAcidityConcentration(double v); /// Whether the optional attribute ImpuritiesContent is defined for this IfcWaterProperties bool hasImpuritiesContent() const; - IfcNormalisedRatioMeasure ImpuritiesContent() const; - void setImpuritiesContent(IfcNormalisedRatioMeasure v); + double ImpuritiesContent() const; + void setImpuritiesContent(double v); /// Whether the optional attribute PHLevel is defined for this IfcWaterProperties bool hasPHLevel() const; - IfcPHMeasure PHLevel() const; - void setPHLevel(IfcPHMeasure v); + double PHLevel() const; + void setPHLevel(double v); /// Whether the optional attribute DissolvedSolidsContent is defined for this IfcWaterProperties bool hasDissolvedSolidsContent() const; - IfcNormalisedRatioMeasure DissolvedSolidsContent() const; - void setDissolvedSolidsContent(IfcNormalisedRatioMeasure v); + double DissolvedSolidsContent() const; + void setDissolvedSolidsContent(double v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_BOOL; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; } return IfcMaterialProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "IsPotable"; case 2: return "Hardness"; case 3: return "AlkalinityConcentration"; case 4: return "AcidityConcentration"; case 5: return "ImpuritiesContent"; case 6: return "PHLevel"; case 7: return "DissolvedSolidsContent"; } return IfcMaterialProperties::getArgumentName(i); } @@ -11394,7 +12564,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWaterProperties (IfcAbstractEntity* e); - IfcWaterProperties (IfcMaterial* v1_Material, boost::optional< bool > v2_IsPotable, boost::optional< IfcIonConcentrationMeasure > v3_Hardness, boost::optional< IfcIonConcentrationMeasure > v4_AlkalinityConcentration, boost::optional< IfcIonConcentrationMeasure > v5_AcidityConcentration, boost::optional< IfcNormalisedRatioMeasure > v6_ImpuritiesContent, boost::optional< IfcPHMeasure > v7_PHLevel, boost::optional< IfcNormalisedRatioMeasure > v8_DissolvedSolidsContent); + IfcWaterProperties (IfcMaterial* v1_Material, boost::optional< bool > v2_IsPotable, boost::optional< double > v3_Hardness, boost::optional< double > v4_AlkalinityConcentration, boost::optional< double > v5_AcidityConcentration, boost::optional< double > v6_ImpuritiesContent, boost::optional< double > v7_PHLevel, boost::optional< double > v8_DissolvedSolidsContent); typedef IfcTemplatedEntityList< IfcWaterProperties > list; }; @@ -11408,7 +12578,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAnnotationOccurrence (IfcAbstractEntity* e); - IfcAnnotationOccurrence (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name); + IfcAnnotationOccurrence (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcAnnotationOccurrence > list; }; @@ -11422,7 +12592,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAnnotationSurfaceOccurrence (IfcAbstractEntity* e); - IfcAnnotationSurfaceOccurrence (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name); + IfcAnnotationSurfaceOccurrence (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcAnnotationSurfaceOccurrence > list; }; @@ -11436,7 +12606,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAnnotationSymbolOccurrence (IfcAbstractEntity* e); - IfcAnnotationSymbolOccurrence (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name); + IfcAnnotationSymbolOccurrence (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcAnnotationSymbolOccurrence > list; }; @@ -11450,7 +12620,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAnnotationTextOccurrence (IfcAbstractEntity* e); - IfcAnnotationTextOccurrence (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name); + IfcAnnotationTextOccurrence (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcAnnotationTextOccurrence > list; }; /// 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. @@ -11484,7 +12654,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcArbitraryClosedProfileDef (IfcAbstractEntity* e); - IfcArbitraryClosedProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcCurve* v3_OuterCurve); + IfcArbitraryClosedProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcCurve* v3_OuterCurve); typedef IfcTemplatedEntityList< IfcArbitraryClosedProfileDef > list; }; /// 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. @@ -11515,7 +12685,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcArbitraryOpenProfileDef (IfcAbstractEntity* e); - IfcArbitraryOpenProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcBoundedCurve* v3_Curve); + IfcArbitraryOpenProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcBoundedCurve* v3_Curve); typedef IfcTemplatedEntityList< IfcArbitraryOpenProfileDef > list; }; /// 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. @@ -11550,7 +12720,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcArbitraryProfileDefWithVoids (IfcAbstractEntity* e); - IfcArbitraryProfileDefWithVoids (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcCurve* v3_OuterCurve, IfcTemplatedEntityList< IfcCurve >::ptr v4_InnerCurves); + IfcArbitraryProfileDefWithVoids (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcCurve* v3_OuterCurve, IfcTemplatedEntityList< IfcCurve >::ptr v4_InnerCurves); typedef IfcTemplatedEntityList< IfcArbitraryProfileDefWithVoids > list; }; /// 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. @@ -11565,8 +12735,8 @@ public: class IfcBlobTexture : public IfcSurfaceTexture { public: /// The format of the RasterCode often using a compression. - IfcIdentifier RasterFormat() const; - void setRasterFormat(IfcIdentifier v); + std::string RasterFormat() const; + void setRasterFormat(std::string v); /// Blob, given as a single binary, to capture the texture within one popular file (compression) format. The file format is provided by the RasterFormat attribute. bool RasterCode() const; void setRasterCode(bool v); @@ -11578,7 +12748,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBlobTexture (IfcAbstractEntity* e); - IfcBlobTexture (bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, IfcIdentifier v5_RasterFormat, bool v6_RasterCode); + IfcBlobTexture (bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, std::string v5_RasterFormat, bool v6_RasterCode); typedef IfcTemplatedEntityList< IfcBlobTexture > list; }; /// 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. @@ -11613,8 +12783,8 @@ public: class IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: /// Constant thickness applied along the center line. - IfcPositiveLengthMeasure Thickness() const; - void setThickness(IfcPositiveLengthMeasure v); + double Thickness() const; + void setThickness(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcArbitraryOpenProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Thickness"; } return IfcArbitraryOpenProfileDef::getArgumentName(i); } @@ -11623,7 +12793,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCenterLineProfileDef (IfcAbstractEntity* e); - IfcCenterLineProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcBoundedCurve* v3_Curve, IfcPositiveLengthMeasure v4_Thickness); + IfcCenterLineProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcBoundedCurve* v3_Curve, double v4_Thickness); typedef IfcTemplatedEntityList< IfcCenterLineProfileDef > list; }; /// An IfcClassificationReference is a reference into a classification system or source (see IfcClassification) for a specific classification key (or notation). @@ -11662,7 +12832,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcClassificationReference (IfcAbstractEntity* e); - IfcClassificationReference (boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name, IfcClassification* v4_ReferencedSource); + IfcClassificationReference (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name, IfcClassification* v4_ReferencedSource); typedef IfcTemplatedEntityList< IfcClassificationReference > list; }; /// 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. @@ -11678,18 +12848,18 @@ 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. - IfcNormalisedRatioMeasure Red() const; - void setRed(IfcNormalisedRatioMeasure v); + double Red() const; + void setRed(double v); /// 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. - IfcNormalisedRatioMeasure Green() const; - void setGreen(IfcNormalisedRatioMeasure v); + double Green() const; + void setGreen(double v); /// 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. - IfcNormalisedRatioMeasure Blue() const; - void setBlue(IfcNormalisedRatioMeasure v); + double Blue() const; + void setBlue(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcColourSpecification::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Red"; case 2: return "Green"; case 3: return "Blue"; } return IfcColourSpecification::getArgumentName(i); } @@ -11698,7 +12868,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcColourRgb (IfcAbstractEntity* e); - IfcColourRgb (boost::optional< IfcLabel > v1_Name, IfcNormalisedRatioMeasure v2_Red, IfcNormalisedRatioMeasure v3_Green, IfcNormalisedRatioMeasure v4_Blue); + IfcColourRgb (boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); typedef IfcTemplatedEntityList< IfcColourRgb > list; }; /// 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. @@ -11710,8 +12880,8 @@ class IfcComplexProperty : public IfcProperty { public: /// Usage description of the IfcComplexProperty within the property set which references the IfcComplexProperty. /// 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() const; - void setUsageName(IfcIdentifier v); + std::string UsageName() const; + void setUsageName(std::string v); /// Set of properties that can be used within this complex property (may include other complex properties). IfcTemplatedEntityList< IfcProperty >::ptr HasProperties() const; void setHasProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); @@ -11723,7 +12893,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcComplexProperty (IfcAbstractEntity* e); - IfcComplexProperty (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcIdentifier v3_UsageName, IfcTemplatedEntityList< IfcProperty >::ptr v4_HasProperties); + IfcComplexProperty (std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_UsageName, IfcTemplatedEntityList< IfcProperty >::ptr v4_HasProperties); typedef IfcTemplatedEntityList< IfcComplexProperty > list; }; /// The IfcCompositeProfileDef @@ -11770,8 +12940,8 @@ public: /// Whether the optional attribute Label is defined for this IfcCompositeProfileDef bool hasLabel() const; /// 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. - IfcLabel Label() const; - void setLabel(IfcLabel v); + std::string Label() const; + void setLabel(std::string v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_STRING; } return IfcProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Profiles"; case 3: return "Label"; } return IfcProfileDef::getArgumentName(i); } @@ -11780,7 +12950,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCompositeProfileDef (IfcAbstractEntity* e); - IfcCompositeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcTemplatedEntityList< IfcProfileDef >::ptr v3_Profiles, boost::optional< IfcLabel > v4_Label); + IfcCompositeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcTemplatedEntityList< IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label); typedef IfcTemplatedEntityList< IfcCompositeProfileDef > list; }; /// 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. @@ -11824,13 +12994,13 @@ public: class IfcConnectionCurveGeometry : public IfcConnectionGeometry { public: /// The bounded curve at which the connected objects are aligned at the relating element, given in the LCS of the relating element. - IfcCurveOrEdgeCurve CurveOnRelatingElement() const; - void setCurveOnRelatingElement(IfcCurveOrEdgeCurve v); + IfcCurveOrEdgeCurve* CurveOnRelatingElement() const; + void setCurveOnRelatingElement(IfcCurveOrEdgeCurve* v); /// Whether the optional attribute CurveOnRelatedElement is defined for this IfcConnectionCurveGeometry bool hasCurveOnRelatedElement() const; /// The bounded curve at which the connected objects are aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used. - IfcCurveOrEdgeCurve CurveOnRelatedElement() const; - void setCurveOnRelatedElement(IfcCurveOrEdgeCurve v); + IfcCurveOrEdgeCurve* CurveOnRelatedElement() const; + void setCurveOnRelatedElement(IfcCurveOrEdgeCurve* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcConnectionGeometry::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "CurveOnRelatingElement"; case 1: return "CurveOnRelatedElement"; } return IfcConnectionGeometry::getArgumentName(i); } @@ -11839,7 +13009,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConnectionCurveGeometry (IfcAbstractEntity* e); - IfcConnectionCurveGeometry (IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, boost::optional< IfcCurveOrEdgeCurve > v2_CurveOnRelatedElement); + IfcConnectionCurveGeometry (IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement); typedef IfcTemplatedEntityList< IfcConnectionCurveGeometry > list; }; /// 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: @@ -11866,18 +13036,18 @@ public: /// Whether the optional attribute EccentricityInX is defined for this IfcConnectionPointEccentricity bool hasEccentricityInX() const; /// Distance in x direction between the two points (or vertex points) engaged in the point connection. - IfcLengthMeasure EccentricityInX() const; - void setEccentricityInX(IfcLengthMeasure v); + double EccentricityInX() const; + void setEccentricityInX(double v); /// Whether the optional attribute EccentricityInY is defined for this IfcConnectionPointEccentricity bool hasEccentricityInY() const; /// Distance in y direction between the two points (or vertex points) engaged in the point connection. - IfcLengthMeasure EccentricityInY() const; - void setEccentricityInY(IfcLengthMeasure v); + double EccentricityInY() const; + void setEccentricityInY(double v); /// Whether the optional attribute EccentricityInZ is defined for this IfcConnectionPointEccentricity bool hasEccentricityInZ() const; /// Distance in z direction between the two points (or vertex points) engaged in the point connection. - IfcLengthMeasure EccentricityInZ() const; - void setEccentricityInZ(IfcLengthMeasure v); + double EccentricityInZ() const; + void setEccentricityInZ(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcConnectionPointGeometry::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "EccentricityInX"; case 3: return "EccentricityInY"; case 4: return "EccentricityInZ"; } return IfcConnectionPointGeometry::getArgumentName(i); } @@ -11886,7 +13056,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConnectionPointEccentricity (IfcAbstractEntity* e); - IfcConnectionPointEccentricity (IfcPointOrVertexPoint v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint > v2_PointOnRelatedElement, boost::optional< IfcLengthMeasure > v3_EccentricityInX, boost::optional< IfcLengthMeasure > v4_EccentricityInY, boost::optional< IfcLengthMeasure > v5_EccentricityInZ); + IfcConnectionPointEccentricity (IfcPointOrVertexPoint* v1_PointOnRelatingElement, IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ); typedef IfcTemplatedEntityList< IfcConnectionPointEccentricity > list; }; /// Definition from ISO/CD 10303-41:1992: A context dependent unit is a unit which is not related to the SI system. @@ -11899,8 +13069,8 @@ public: class IfcContextDependentUnit : public IfcNamedUnit { public: /// The word, or group of words, by which the context dependent unit is referred to. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_STRING; } return IfcNamedUnit::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Name"; } return IfcNamedUnit::getArgumentName(i); } @@ -11909,7 +13079,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcContextDependentUnit (IfcAbstractEntity* e); - IfcContextDependentUnit (IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, IfcLabel v3_Name); + IfcContextDependentUnit (IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, std::string v3_Name); typedef IfcTemplatedEntityList< IfcContextDependentUnit > list; }; /// Definition from ISO/CD 10303-41:1992: A conversion based unit is a unit that is defined based on a measure with unit. @@ -11962,8 +13132,8 @@ public: class IfcConversionBasedUnit : public IfcNamedUnit { public: /// The word, or group of words, by which the conversion based unit is referred to. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// The physical quantity from which the converted unit is derived. IfcMeasureWithUnit* ConversionFactor() const; void setConversionFactor(IfcMeasureWithUnit* v); @@ -11975,7 +13145,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConversionBasedUnit (IfcAbstractEntity* e); - IfcConversionBasedUnit (IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, IfcLabel v3_Name, IfcMeasureWithUnit* v4_ConversionFactor); + IfcConversionBasedUnit (IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, std::string v3_Name, IfcMeasureWithUnit* v4_ConversionFactor); typedef IfcTemplatedEntityList< IfcConversionBasedUnit > list; }; /// Definition from ISO/CD 10303-46:1992: A curve style specifies the visual appearance of curves. @@ -12000,18 +13170,18 @@ public: /// Whether the optional attribute CurveFont is defined for this IfcCurveStyle bool hasCurveFont() const; /// A curve style font which is used to present a curve. It can either be a predefined curve font, or an explicitly defined curve font. Both may be scaled. If not given, then the curve font should be taken from the layer assignment with style, if that is not given either, then the default curve font applies. - IfcCurveFontOrScaledCurveFontSelect CurveFont() const; - void setCurveFont(IfcCurveFontOrScaledCurveFontSelect v); + IfcCurveFontOrScaledCurveFontSelect* CurveFont() const; + void setCurveFont(IfcCurveFontOrScaledCurveFontSelect* v); /// Whether the optional attribute CurveWidth is defined for this IfcCurveStyle bool hasCurveWidth() const; /// A positive length measure in units of the presentation area for the width of a presented curve. If not given, then the style should be taken from the layer assignment with style, if that is not given either, then the default style applies. - IfcSizeSelect CurveWidth() const; - void setCurveWidth(IfcSizeSelect v); + IfcSizeSelect* CurveWidth() const; + void setCurveWidth(IfcSizeSelect* v); /// Whether the optional attribute CurveColour is defined for this IfcCurveStyle bool hasCurveColour() const; /// The colour of the visible part of the curve. If not given, then the colour should be taken from the layer assignment with style, if that is not given either, then the default colour applies. - IfcColour CurveColour() const; - void setCurveColour(IfcColour v); + IfcColour* CurveColour() const; + void setCurveColour(IfcColour* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; } return IfcPresentationStyle::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "CurveFont"; case 2: return "CurveWidth"; case 3: return "CurveColour"; } return IfcPresentationStyle::getArgumentName(i); } @@ -12020,7 +13190,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCurveStyle (IfcAbstractEntity* e); - IfcCurveStyle (boost::optional< IfcLabel > v1_Name, boost::optional< IfcCurveFontOrScaledCurveFontSelect > v2_CurveFont, boost::optional< IfcSizeSelect > v3_CurveWidth, boost::optional< IfcColour > v4_CurveColour); + IfcCurveStyle (boost::optional< std::string > v1_Name, IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, IfcSizeSelect* v3_CurveWidth, IfcColour* v4_CurveColour); typedef IfcTemplatedEntityList< IfcCurveStyle > list; }; /// 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. @@ -12118,8 +13288,8 @@ public: /// Whether the optional attribute Label is defined for this IfcDerivedProfileDef bool hasLabel() const; /// The name by which the transformation may be referred to. The actual meaning of the name has to be defined in the context of applications. - IfcLabel Label() const; - void setLabel(IfcLabel v); + std::string Label() const; + void setLabel(std::string v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_STRING; } return IfcProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "ParentProfile"; case 3: return "Operator"; case 4: return "Label"; } return IfcProfileDef::getArgumentName(i); } @@ -12128,7 +13298,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDerivedProfileDef (IfcAbstractEntity* e); - IfcDerivedProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcProfileDef* v3_ParentProfile, IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< IfcLabel > v5_Label); + IfcDerivedProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcProfileDef* v3_ParentProfile, IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label); typedef IfcTemplatedEntityList< IfcDerivedProfileDef > list; }; @@ -12142,7 +13312,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDimensionCalloutRelationship (IfcAbstractEntity* e); - IfcDimensionCalloutRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcDraughtingCallout* v3_RelatingDraughtingCallout, IfcDraughtingCallout* v4_RelatedDraughtingCallout); + IfcDimensionCalloutRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcDraughtingCallout* v3_RelatingDraughtingCallout, IfcDraughtingCallout* v4_RelatedDraughtingCallout); typedef IfcTemplatedEntityList< IfcDimensionCalloutRelationship > list; }; @@ -12156,7 +13326,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDimensionPair (IfcAbstractEntity* e); - IfcDimensionPair (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcDraughtingCallout* v3_RelatingDraughtingCallout, IfcDraughtingCallout* v4_RelatedDraughtingCallout); + IfcDimensionPair (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcDraughtingCallout* v3_RelatingDraughtingCallout, IfcDraughtingCallout* v4_RelatedDraughtingCallout); typedef IfcTemplatedEntityList< IfcDimensionPair > list; }; /// An IfcDocumentReference is a reference @@ -12181,7 +13351,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDocumentReference (IfcAbstractEntity* e); - IfcDocumentReference (boost::optional< IfcLabel > v1_Location, boost::optional< IfcIdentifier > v2_ItemReference, boost::optional< IfcLabel > v3_Name); + IfcDocumentReference (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcDocumentReference > list; }; /// The draughting pre defined text font is a pre defined text font for the purpose to identify a font by name. Allowable names are: @@ -12204,7 +13374,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDraughtingPreDefinedTextFont (IfcAbstractEntity* e); - IfcDraughtingPreDefinedTextFont (IfcLabel v1_Name); + IfcDraughtingPreDefinedTextFont (std::string v1_Name); typedef IfcTemplatedEntityList< IfcDraughtingPreDefinedTextFont > list; }; /// Definition from ISO/CD 10303-42:1992: An edge is the @@ -12368,10 +13538,10 @@ public: void setExtendedProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); /// Whether the optional attribute Description is defined for this IfcExtendedMaterialProperties bool hasDescription() const; - IfcText Description() const; - void setDescription(IfcText v); - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Description() const; + void setDescription(std::string v); + std::string Name() const; + void setName(std::string v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } return IfcMaterialProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "ExtendedProperties"; case 2: return "Description"; case 3: return "Name"; } return IfcMaterialProperties::getArgumentName(i); } @@ -12380,7 +13550,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcExtendedMaterialProperties (IfcAbstractEntity* e); - IfcExtendedMaterialProperties (IfcMaterial* v1_Material, IfcTemplatedEntityList< IfcProperty >::ptr v2_ExtendedProperties, boost::optional< IfcText > v3_Description, IfcLabel v4_Name); + IfcExtendedMaterialProperties (IfcMaterial* v1_Material, IfcTemplatedEntityList< IfcProperty >::ptr v2_ExtendedProperties, boost::optional< std::string > v3_Description, std::string v4_Name); typedef IfcTemplatedEntityList< IfcExtendedMaterialProperties > list; }; /// Definition from ISO/CD 10303-42:1992: A face is a topological @@ -12552,33 +13722,33 @@ public: /// Whether the optional attribute TensionFailureX is defined for this IfcFailureConnectionCondition bool hasTensionFailureX() const; /// Tension force in x-direction leading to failure of the connection. - IfcForceMeasure TensionFailureX() const; - void setTensionFailureX(IfcForceMeasure v); + double TensionFailureX() const; + void setTensionFailureX(double v); /// Whether the optional attribute TensionFailureY is defined for this IfcFailureConnectionCondition bool hasTensionFailureY() const; /// Tension force in y-direction leading to failure of the connection. - IfcForceMeasure TensionFailureY() const; - void setTensionFailureY(IfcForceMeasure v); + double TensionFailureY() const; + void setTensionFailureY(double v); /// Whether the optional attribute TensionFailureZ is defined for this IfcFailureConnectionCondition bool hasTensionFailureZ() const; /// Tension force in z-direction leading to failure of the connection. - IfcForceMeasure TensionFailureZ() const; - void setTensionFailureZ(IfcForceMeasure v); + double TensionFailureZ() const; + void setTensionFailureZ(double v); /// Whether the optional attribute CompressionFailureX is defined for this IfcFailureConnectionCondition bool hasCompressionFailureX() const; /// Compression force in x-direction leading to failure of the connection. - IfcForceMeasure CompressionFailureX() const; - void setCompressionFailureX(IfcForceMeasure v); + double CompressionFailureX() const; + void setCompressionFailureX(double v); /// Whether the optional attribute CompressionFailureY is defined for this IfcFailureConnectionCondition bool hasCompressionFailureY() const; /// Compression force in y-direction leading to failure of the connection. - IfcForceMeasure CompressionFailureY() const; - void setCompressionFailureY(IfcForceMeasure v); + double CompressionFailureY() const; + void setCompressionFailureY(double v); /// Whether the optional attribute CompressionFailureZ is defined for this IfcFailureConnectionCondition bool hasCompressionFailureZ() const; /// Compression force in z-direction leading to failure of the connection. - IfcForceMeasure CompressionFailureZ() const; - void setCompressionFailureZ(IfcForceMeasure v); + double CompressionFailureZ() const; + void setCompressionFailureZ(double v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcStructuralConnectionCondition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "TensionFailureX"; case 2: return "TensionFailureY"; case 3: return "TensionFailureZ"; case 4: return "CompressionFailureX"; case 5: return "CompressionFailureY"; case 6: return "CompressionFailureZ"; } return IfcStructuralConnectionCondition::getArgumentName(i); } @@ -12587,7 +13757,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFailureConnectionCondition (IfcAbstractEntity* e); - IfcFailureConnectionCondition (boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_TensionFailureX, boost::optional< IfcForceMeasure > v3_TensionFailureY, boost::optional< IfcForceMeasure > v4_TensionFailureZ, boost::optional< IfcForceMeasure > v5_CompressionFailureX, boost::optional< IfcForceMeasure > v6_CompressionFailureY, boost::optional< IfcForceMeasure > v7_CompressionFailureZ); + IfcFailureConnectionCondition (boost::optional< std::string > v1_Name, boost::optional< double > v2_TensionFailureX, boost::optional< double > v3_TensionFailureY, boost::optional< double > v4_TensionFailureZ, boost::optional< double > v5_CompressionFailureX, boost::optional< double > v6_CompressionFailureY, boost::optional< double > v7_CompressionFailureZ); typedef IfcTemplatedEntityList< IfcFailureConnectionCondition > list; }; /// Definition from ISO/CD 10303-46:1992: The style for filling visible curve segments, annotation fill areas or surfaces with tiles or hatches. @@ -12627,8 +13797,8 @@ public: class IfcFillAreaStyle : public IfcPresentationStyle { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr FillStyles() const; - void setFillStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr FillStyles() const; + void setFillStyles(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::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); } @@ -12637,7 +13807,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFillAreaStyle (IfcAbstractEntity* e); - IfcFillAreaStyle (boost::optional< IfcLabel > v1_Name, IfcEntityList::ptr v2_FillStyles); + IfcFillAreaStyle (boost::optional< std::string > v1_Name, IfcEntityList::ptr v2_FillStyles); typedef IfcTemplatedEntityList< IfcFillAreaStyle > list; }; @@ -12645,20 +13815,20 @@ class IfcFuelProperties : public IfcMaterialProperties { public: /// Whether the optional attribute CombustionTemperature is defined for this IfcFuelProperties bool hasCombustionTemperature() const; - IfcThermodynamicTemperatureMeasure CombustionTemperature() const; - void setCombustionTemperature(IfcThermodynamicTemperatureMeasure v); + double CombustionTemperature() const; + void setCombustionTemperature(double v); /// Whether the optional attribute CarbonContent is defined for this IfcFuelProperties bool hasCarbonContent() const; - IfcPositiveRatioMeasure CarbonContent() const; - void setCarbonContent(IfcPositiveRatioMeasure v); + double CarbonContent() const; + void setCarbonContent(double v); /// Whether the optional attribute LowerHeatingValue is defined for this IfcFuelProperties bool hasLowerHeatingValue() const; - IfcHeatingValueMeasure LowerHeatingValue() const; - void setLowerHeatingValue(IfcHeatingValueMeasure v); + double LowerHeatingValue() const; + void setLowerHeatingValue(double v); /// Whether the optional attribute HigherHeatingValue is defined for this IfcFuelProperties bool hasHigherHeatingValue() const; - IfcHeatingValueMeasure HigherHeatingValue() const; - void setHigherHeatingValue(IfcHeatingValueMeasure v); + double HigherHeatingValue() const; + void setHigherHeatingValue(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcMaterialProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "CombustionTemperature"; case 2: return "CarbonContent"; case 3: return "LowerHeatingValue"; case 4: return "HigherHeatingValue"; } return IfcMaterialProperties::getArgumentName(i); } @@ -12667,7 +13837,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFuelProperties (IfcAbstractEntity* e); - IfcFuelProperties (IfcMaterial* v1_Material, boost::optional< IfcThermodynamicTemperatureMeasure > v2_CombustionTemperature, boost::optional< IfcPositiveRatioMeasure > v3_CarbonContent, boost::optional< IfcHeatingValueMeasure > v4_LowerHeatingValue, boost::optional< IfcHeatingValueMeasure > v5_HigherHeatingValue); + IfcFuelProperties (IfcMaterial* v1_Material, boost::optional< double > v2_CombustionTemperature, boost::optional< double > v3_CarbonContent, boost::optional< double > v4_LowerHeatingValue, boost::optional< double > v5_HigherHeatingValue); typedef IfcTemplatedEntityList< IfcFuelProperties > list; }; @@ -12675,16 +13845,16 @@ class IfcGeneralMaterialProperties : public IfcMaterialProperties { public: /// Whether the optional attribute MolecularWeight is defined for this IfcGeneralMaterialProperties bool hasMolecularWeight() const; - IfcMolecularWeightMeasure MolecularWeight() const; - void setMolecularWeight(IfcMolecularWeightMeasure v); + double MolecularWeight() const; + void setMolecularWeight(double v); /// Whether the optional attribute Porosity is defined for this IfcGeneralMaterialProperties bool hasPorosity() const; - IfcNormalisedRatioMeasure Porosity() const; - void setPorosity(IfcNormalisedRatioMeasure v); + double Porosity() const; + void setPorosity(double v); /// Whether the optional attribute MassDensity is defined for this IfcGeneralMaterialProperties bool hasMassDensity() const; - IfcMassDensityMeasure MassDensity() const; - void setMassDensity(IfcMassDensityMeasure v); + double MassDensity() const; + void setMassDensity(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcMaterialProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "MolecularWeight"; case 2: return "Porosity"; case 3: return "MassDensity"; } return IfcMaterialProperties::getArgumentName(i); } @@ -12693,7 +13863,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGeneralMaterialProperties (IfcAbstractEntity* e); - IfcGeneralMaterialProperties (IfcMaterial* v1_Material, boost::optional< IfcMolecularWeightMeasure > v2_MolecularWeight, boost::optional< IfcNormalisedRatioMeasure > v3_Porosity, boost::optional< IfcMassDensityMeasure > v4_MassDensity); + IfcGeneralMaterialProperties (IfcMaterial* v1_Material, boost::optional< double > v2_MolecularWeight, boost::optional< double > v3_Porosity, boost::optional< double > v4_MassDensity); typedef IfcTemplatedEntityList< IfcGeneralMaterialProperties > list; }; @@ -12701,24 +13871,24 @@ class IfcGeneralProfileProperties : public IfcProfileProperties { public: /// Whether the optional attribute PhysicalWeight is defined for this IfcGeneralProfileProperties bool hasPhysicalWeight() const; - IfcMassPerLengthMeasure PhysicalWeight() const; - void setPhysicalWeight(IfcMassPerLengthMeasure v); + double PhysicalWeight() const; + void setPhysicalWeight(double v); /// Whether the optional attribute Perimeter is defined for this IfcGeneralProfileProperties bool hasPerimeter() const; - IfcPositiveLengthMeasure Perimeter() const; - void setPerimeter(IfcPositiveLengthMeasure v); + double Perimeter() const; + void setPerimeter(double v); /// Whether the optional attribute MinimumPlateThickness is defined for this IfcGeneralProfileProperties bool hasMinimumPlateThickness() const; - IfcPositiveLengthMeasure MinimumPlateThickness() const; - void setMinimumPlateThickness(IfcPositiveLengthMeasure v); + double MinimumPlateThickness() const; + void setMinimumPlateThickness(double v); /// Whether the optional attribute MaximumPlateThickness is defined for this IfcGeneralProfileProperties bool hasMaximumPlateThickness() const; - IfcPositiveLengthMeasure MaximumPlateThickness() const; - void setMaximumPlateThickness(IfcPositiveLengthMeasure v); + double MaximumPlateThickness() const; + void setMaximumPlateThickness(double v); /// Whether the optional attribute CrossSectionArea is defined for this IfcGeneralProfileProperties bool hasCrossSectionArea() const; - IfcAreaMeasure CrossSectionArea() const; - void setCrossSectionArea(IfcAreaMeasure v); + double CrossSectionArea() const; + void setCrossSectionArea(double v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcProfileProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "PhysicalWeight"; case 3: return "Perimeter"; case 4: return "MinimumPlateThickness"; case 5: return "MaximumPlateThickness"; case 6: return "CrossSectionArea"; } return IfcProfileProperties::getArgumentName(i); } @@ -12727,7 +13897,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGeneralProfileProperties (IfcAbstractEntity* e); - IfcGeneralProfileProperties (boost::optional< IfcLabel > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< IfcMassPerLengthMeasure > v3_PhysicalWeight, boost::optional< IfcPositiveLengthMeasure > v4_Perimeter, boost::optional< IfcPositiveLengthMeasure > v5_MinimumPlateThickness, boost::optional< IfcPositiveLengthMeasure > v6_MaximumPlateThickness, boost::optional< IfcAreaMeasure > v7_CrossSectionArea); + IfcGeneralProfileProperties (boost::optional< std::string > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< double > v3_PhysicalWeight, boost::optional< double > v4_Perimeter, boost::optional< double > v5_MinimumPlateThickness, boost::optional< double > v6_MaximumPlateThickness, boost::optional< double > v7_CrossSectionArea); typedef IfcTemplatedEntityList< IfcGeneralProfileProperties > list; }; /// Definition from ISO/CD 10303-42:1992: A geometric @@ -12780,8 +13950,8 @@ public: class IfcGeometricRepresentationContext : public IfcRepresentationContext { public: /// The integer dimension count of the coordinate space modeled in a geometric representation context. - IfcDimensionCount CoordinateSpaceDimension() const; - void setCoordinateSpaceDimension(IfcDimensionCount v); + int CoordinateSpaceDimension() const; + void setCoordinateSpaceDimension(int v); /// Whether the optional attribute Precision is defined for this IfcGeometricRepresentationContext bool hasPrecision() const; /// Value of the model precision for geometric models. It is a double value (REAL), typically in 1E-5 to 1E-8 range, that indicates the tolerance under which two given points are still assumed to be identical. The value can be used e.g. to sets the maximum distance from an edge curve to the underlying face surface in brep models. @@ -12790,8 +13960,8 @@ public: /// 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.). - IfcAxis2Placement WorldCoordinateSystem() const; - void setWorldCoordinateSystem(IfcAxis2Placement v); + IfcAxis2Placement* WorldCoordinateSystem() const; + void setWorldCoordinateSystem(IfcAxis2Placement* v); /// Whether the optional attribute TrueNorth is defined for this IfcGeometricRepresentationContext bool hasTrueNorth() const; /// Direction of the true north, or geographic northing direction, relative to the underlying project coordinate system. It is given by a 2 dimensional direction within the xy-plane of the project coordinate system. If not resent, it defaults to 0. 1. - i.e. the positive Y axis of the project coordinate system equals the geographic northing direction. @@ -12806,7 +13976,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGeometricRepresentationContext (IfcAbstractEntity* e); - IfcGeometricRepresentationContext (boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType, IfcDimensionCount v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, IfcAxis2Placement v5_WorldCoordinateSystem, IfcDirection* v6_TrueNorth); + IfcGeometricRepresentationContext (boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, IfcAxis2Placement* v5_WorldCoordinateSystem, IfcDirection* v6_TrueNorth); typedef IfcTemplatedEntityList< IfcGeometricRepresentationContext > list; }; /// 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: @@ -12872,16 +14042,16 @@ public: /// /// Note: Scale 1:100 (given as 0.01 within TargetScale) /// is bigger then 1:200 (given as 0.005 within TargetScale). - IfcPositiveRatioMeasure TargetScale() const; - void setTargetScale(IfcPositiveRatioMeasure v); + double TargetScale() const; + void setTargetScale(double v); /// Target view of the representation to which this representation context applies. IfcGeometricProjectionEnum::IfcGeometricProjectionEnum TargetView() const; void setTargetView(IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v); /// Whether the optional attribute UserDefinedTargetView is defined for this IfcGeometricRepresentationSubContext bool hasUserDefinedTargetView() const; /// User defined target view, this attribute value shall be given, if the TargetView attribute is set to USERDEFINED. - IfcLabel UserDefinedTargetView() const; - void setUserDefinedTargetView(IfcLabel v); + std::string UserDefinedTargetView() const; + void setUserDefinedTargetView(std::string v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_STRING; } return IfcGeometricRepresentationContext::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "ParentContext"; case 7: return "TargetScale"; case 8: return "TargetView"; case 9: return "UserDefinedTargetView"; } return IfcGeometricRepresentationContext::getArgumentName(i); } @@ -12890,7 +14060,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGeometricRepresentationSubContext (IfcAbstractEntity* e); - IfcGeometricRepresentationSubContext (boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType, IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< IfcPositiveRatioMeasure > v8_TargetScale, IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v9_TargetView, boost::optional< IfcLabel > v10_UserDefinedTargetView); + IfcGeometricRepresentationSubContext (boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView); typedef IfcTemplatedEntityList< IfcGeometricRepresentationSubContext > list; }; /// Definition from ISO/CD 10303-42:1992: This entity is intended for the transfer of models when a topological structure is not available. @@ -12903,8 +14073,8 @@ 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. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Elements() const; - void setElements(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr Elements() const; + void setElements(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::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); } @@ -13023,24 +14193,24 @@ class IfcHygroscopicMaterialProperties : public IfcMaterialProperties { public: /// Whether the optional attribute UpperVaporResistanceFactor is defined for this IfcHygroscopicMaterialProperties bool hasUpperVaporResistanceFactor() const; - IfcPositiveRatioMeasure UpperVaporResistanceFactor() const; - void setUpperVaporResistanceFactor(IfcPositiveRatioMeasure v); + double UpperVaporResistanceFactor() const; + void setUpperVaporResistanceFactor(double v); /// Whether the optional attribute LowerVaporResistanceFactor is defined for this IfcHygroscopicMaterialProperties bool hasLowerVaporResistanceFactor() const; - IfcPositiveRatioMeasure LowerVaporResistanceFactor() const; - void setLowerVaporResistanceFactor(IfcPositiveRatioMeasure v); + double LowerVaporResistanceFactor() const; + void setLowerVaporResistanceFactor(double v); /// Whether the optional attribute IsothermalMoistureCapacity is defined for this IfcHygroscopicMaterialProperties bool hasIsothermalMoistureCapacity() const; - IfcIsothermalMoistureCapacityMeasure IsothermalMoistureCapacity() const; - void setIsothermalMoistureCapacity(IfcIsothermalMoistureCapacityMeasure v); + double IsothermalMoistureCapacity() const; + void setIsothermalMoistureCapacity(double v); /// Whether the optional attribute VaporPermeability is defined for this IfcHygroscopicMaterialProperties bool hasVaporPermeability() const; - IfcVaporPermeabilityMeasure VaporPermeability() const; - void setVaporPermeability(IfcVaporPermeabilityMeasure v); + double VaporPermeability() const; + void setVaporPermeability(double v); /// Whether the optional attribute MoistureDiffusivity is defined for this IfcHygroscopicMaterialProperties bool hasMoistureDiffusivity() const; - IfcMoistureDiffusivityMeasure MoistureDiffusivity() const; - void setMoistureDiffusivity(IfcMoistureDiffusivityMeasure v); + double MoistureDiffusivity() const; + void setMoistureDiffusivity(double v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; } return IfcMaterialProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "UpperVaporResistanceFactor"; case 2: return "LowerVaporResistanceFactor"; case 3: return "IsothermalMoistureCapacity"; case 4: return "VaporPermeability"; case 5: return "MoistureDiffusivity"; } return IfcMaterialProperties::getArgumentName(i); } @@ -13049,7 +14219,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcHygroscopicMaterialProperties (IfcAbstractEntity* e); - IfcHygroscopicMaterialProperties (IfcMaterial* v1_Material, boost::optional< IfcPositiveRatioMeasure > v2_UpperVaporResistanceFactor, boost::optional< IfcPositiveRatioMeasure > v3_LowerVaporResistanceFactor, boost::optional< IfcIsothermalMoistureCapacityMeasure > v4_IsothermalMoistureCapacity, boost::optional< IfcVaporPermeabilityMeasure > v5_VaporPermeability, boost::optional< IfcMoistureDiffusivityMeasure > v6_MoistureDiffusivity); + IfcHygroscopicMaterialProperties (IfcMaterial* v1_Material, boost::optional< double > v2_UpperVaporResistanceFactor, boost::optional< double > v3_LowerVaporResistanceFactor, boost::optional< double > v4_IsothermalMoistureCapacity, boost::optional< double > v5_VaporPermeability, boost::optional< double > v6_MoistureDiffusivity); typedef IfcTemplatedEntityList< IfcHygroscopicMaterialProperties > list; }; /// 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. @@ -13089,8 +14259,8 @@ public: /// HISTORY  New entity in Release IFC2x2. class IfcImageTexture : public IfcSurfaceTexture { public: - IfcIdentifier UrlReference() const; - void setUrlReference(IfcIdentifier v); + std::string UrlReference() const; + void setUrlReference(std::string v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_STRING; } return IfcSurfaceTexture::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "UrlReference"; } return IfcSurfaceTexture::getArgumentName(i); } @@ -13099,7 +14269,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcImageTexture (IfcAbstractEntity* e); - IfcImageTexture (bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, IfcIdentifier v5_UrlReference); + IfcImageTexture (bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, std::string v5_UrlReference); typedef IfcTemplatedEntityList< IfcImageTexture > list; }; /// 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. @@ -13120,7 +14290,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcIrregularTimeSeries (IfcAbstractEntity* e); - IfcIrregularTimeSeries (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTimeSelect v3_StartTime, IfcDateTimeSelect v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit, IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v9_Values); + IfcIrregularTimeSeries (std::string v1_Name, boost::optional< std::string > v2_Description, IfcDateTimeSelect* v3_StartTime, IfcDateTimeSelect* v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, IfcUnit* v8_Unit, IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v9_Values); typedef IfcTemplatedEntityList< IfcIrregularTimeSeries > list; }; /// 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. @@ -13135,8 +14305,8 @@ public: /// Whether the optional attribute Name is defined for this IfcLightSource bool hasName() const; /// The name given to the light source in presentation. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Definition from ISO/CD 10303-46:1992: Based on the current lighting model, the colour of the light to be used for shading. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The color field specifies the spectral color properties of both the direct and ambient light emission as an RGB value. IfcColourRgb* LightColour() const; @@ -13144,13 +14314,13 @@ public: /// Whether the optional attribute AmbientIntensity is defined for this IfcLightSource bool hasAmbientIntensity() const; /// Definition from VRML97 - ISO/IEC 14772-1:1997: The ambientIntensity specifies the intensity of the ambient emission from the light. Light intensity may range from 0.0 (no light emission) to 1.0 (full intensity). - IfcNormalisedRatioMeasure AmbientIntensity() const; - void setAmbientIntensity(IfcNormalisedRatioMeasure v); + double AmbientIntensity() const; + void setAmbientIntensity(double v); /// Whether the optional attribute Intensity is defined for this IfcLightSource bool hasIntensity() const; /// Definition from VRML97 - ISO/IEC 14772-1:1997: The intensity field specifies the brightness of the direct emission from the ligth. Light intensity may range from 0.0 (no light emission) to 1.0 (full intensity). - IfcNormalisedRatioMeasure Intensity() const; - void setIntensity(IfcNormalisedRatioMeasure v); + double Intensity() const; + void setIntensity(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "LightColour"; case 2: return "AmbientIntensity"; case 3: return "Intensity"; } return IfcGeometricRepresentationItem::getArgumentName(i); } @@ -13159,7 +14329,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLightSource (IfcAbstractEntity* e); - IfcLightSource (boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity); + IfcLightSource (boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity); typedef IfcTemplatedEntityList< IfcLightSource > list; }; /// 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. @@ -13179,7 +14349,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLightSourceAmbient (IfcAbstractEntity* e); - IfcLightSourceAmbient (boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity); + IfcLightSourceAmbient (boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity); typedef IfcTemplatedEntityList< IfcLightSourceAmbient > list; }; /// 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. @@ -13205,7 +14375,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLightSourceDirectional (IfcAbstractEntity* e); - IfcLightSourceDirectional (boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcDirection* v5_Orientation); + IfcLightSourceDirectional (boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, IfcDirection* v5_Orientation); typedef IfcTemplatedEntityList< IfcLightSourceDirectional > list; }; /// 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. @@ -13226,17 +14396,17 @@ public: IfcColourRgb* ColourAppearance() const; void setColourAppearance(IfcColourRgb* v); /// The color temperature of any source of radiation is defined as the temperature (in Kelvin) of a black-body or Planckian radiator whose radiation has the same chromaticity as the source of radiation. Often the values are only approximate color temperatures as the black-body radiator cannot emit radiation of every chromaticity value. The color temperatures of the commonest artificial light sources range from less than 3000K (warm white) to 4000K (intermediate) and over 5000K (daylight). - IfcThermodynamicTemperatureMeasure ColourTemperature() const; - void setColourTemperature(IfcThermodynamicTemperatureMeasure v); + double ColourTemperature() const; + void setColourTemperature(double v); /// Luminous flux is a photometric measure of radiant flux, i.e. the volume of light emitted from a light source. Luminous flux is measured either for the interior as a whole or for a part of the interior (partial luminous flux for a solid angle). All other photometric parameters are derivatives of luminous flux. Luminous flux is measured in lumens (lm). The luminous flux is given as a nominal value for each lamp. - IfcLuminousFluxMeasure LuminousFlux() const; - void setLuminousFlux(IfcLuminousFluxMeasure v); + double LuminousFlux() const; + void setLuminousFlux(double v); /// Identifies the types of light emitter from which the type required may be set. IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum LightEmissionSource() const; void setLightEmissionSource(IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v); /// The data source from which light distribution data is obtained. - IfcLightDistributionDataSourceSelect LightDistributionDataSource() const; - void setLightDistributionDataSource(IfcLightDistributionDataSourceSelect v); + IfcLightDistributionDataSourceSelect* LightDistributionDataSource() const; + void setLightDistributionDataSource(IfcLightDistributionDataSourceSelect* v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_ENTITY; } return IfcLightSource::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "Position"; case 5: return "ColourAppearance"; case 6: return "ColourTemperature"; case 7: return "LuminousFlux"; case 8: return "LightEmissionSource"; case 9: return "LightDistributionDataSource"; } return IfcLightSource::getArgumentName(i); } @@ -13245,7 +14415,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLightSourceGoniometric (IfcAbstractEntity* e); - IfcLightSourceGoniometric (boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcAxis2Placement3D* v5_Position, IfcColourRgb* v6_ColourAppearance, IfcThermodynamicTemperatureMeasure v7_ColourTemperature, IfcLuminousFluxMeasure v8_LuminousFlux, IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v9_LightEmissionSource, IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); + IfcLightSourceGoniometric (boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, IfcAxis2Placement3D* v5_Position, IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v9_LightEmissionSource, IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource); typedef IfcTemplatedEntityList< IfcLightSourceGoniometric > list; }; /// 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. @@ -13271,17 +14441,17 @@ public: void setPosition(IfcCartesianPoint* v); /// Definition from IAI: The maximum distance from the light source for a surface still to be illuminated. /// Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location. - IfcPositiveLengthMeasure Radius() const; - void setRadius(IfcPositiveLengthMeasure v); + double Radius() const; + void setRadius(double v); /// Definition from ISO/CD 10303-46:1992: This real indicates the value of the attenuation in the lighting equation that is constant. - IfcReal ConstantAttenuation() const; - void setConstantAttenuation(IfcReal v); + double ConstantAttenuation() const; + void setConstantAttenuation(double v); /// Definition from ISO/CD 10303-46:1992: This real indicates the value of the attenuation in the lighting equation that proportional to the distance from the light source. - IfcReal DistanceAttenuation() const; - void setDistanceAttenuation(IfcReal v); + double DistanceAttenuation() const; + void setDistanceAttenuation(double v); /// Definition from the IAI: This real indicates the value of the attenuation in the lighting equation that proportional to the square value of the distance from the light source. - IfcReal QuadricAttenuation() const; - void setQuadricAttenuation(IfcReal v); + double QuadricAttenuation() const; + void setQuadricAttenuation(double v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; } return IfcLightSource::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "Position"; case 5: return "Radius"; case 6: return "ConstantAttenuation"; case 7: return "DistanceAttenuation"; case 8: return "QuadricAttenuation"; } return IfcLightSource::getArgumentName(i); } @@ -13290,7 +14460,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLightSourcePositional (IfcAbstractEntity* e); - IfcLightSourcePositional (boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcCartesianPoint* v5_Position, IfcPositiveLengthMeasure v6_Radius, IfcReal v7_ConstantAttenuation, IfcReal v8_DistanceAttenuation, IfcReal v9_QuadricAttenuation); + IfcLightSourcePositional (boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); typedef IfcTemplatedEntityList< IfcLightSourcePositional > list; }; /// 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. @@ -13318,15 +14488,15 @@ public: bool hasConcentrationExponent() const; /// Definition from ISO/CD 10303-46:1992: This real is the exponent on the cosine of the angle between the line that starts at the position of the spot light source and is in the direction of the orientation of the spot light source and a line that starts at the position of the spot light source and goes through a point on the surface being shaded. /// NOTE: This attribute does not exists in ISO/IEC 14772-1:1997. - IfcReal ConcentrationExponent() const; - void setConcentrationExponent(IfcReal v); + double ConcentrationExponent() const; + void setConcentrationExponent(double v); /// Definition from ISO/CD 10303-46:1992: This planar angle measure is the angle between the line that starts at the position of the spot light source and is in the direction of the spot light source and any line on the boundary of the cone of influence. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The cutOffAngle (name of spread angle in VRML) field specifies the outer bound of the solid angle. The light source does not emit light outside of this solid angle. - IfcPositivePlaneAngleMeasure SpreadAngle() const; - void setSpreadAngle(IfcPositivePlaneAngleMeasure v); + double SpreadAngle() const; + void setSpreadAngle(double v); /// Definition from VRML97 - ISO/IEC 14772-1:1997: The beamWidth field specifies an inner solid angle 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). - IfcPositivePlaneAngleMeasure BeamWidthAngle() const; - void setBeamWidthAngle(IfcPositivePlaneAngleMeasure v); + double BeamWidthAngle() const; + void setBeamWidthAngle(double v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENTITY; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; } return IfcLightSourcePositional::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "Orientation"; case 10: return "ConcentrationExponent"; case 11: return "SpreadAngle"; case 12: return "BeamWidthAngle"; } return IfcLightSourcePositional::getArgumentName(i); } @@ -13335,7 +14505,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLightSourceSpot (IfcAbstractEntity* e); - IfcLightSourceSpot (boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcCartesianPoint* v5_Position, IfcPositiveLengthMeasure v6_Radius, IfcReal v7_ConstantAttenuation, IfcReal v8_DistanceAttenuation, IfcReal v9_QuadricAttenuation, IfcDirection* v10_Orientation, boost::optional< IfcReal > v11_ConcentrationExponent, IfcPositivePlaneAngleMeasure v12_SpreadAngle, IfcPositivePlaneAngleMeasure v13_BeamWidthAngle); + IfcLightSourceSpot (boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); typedef IfcTemplatedEntityList< IfcLightSourceSpot > list; }; /// IfcLocalPlacement defines the relative placement of a product in relation to the @@ -13398,8 +14568,8 @@ public: IfcObjectPlacement* PlacementRelTo() const; void setPlacementRelTo(IfcObjectPlacement* v); /// Geometric placement that defines the transformation from the related coordinate system into the relating. The placement can be either 2D or 3D, depending on the dimension count of the coordinate system. - IfcAxis2Placement RelativePlacement() const; - void setRelativePlacement(IfcAxis2Placement v); + IfcAxis2Placement* RelativePlacement() const; + void setRelativePlacement(IfcAxis2Placement* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcObjectPlacement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "PlacementRelTo"; case 1: return "RelativePlacement"; } return IfcObjectPlacement::getArgumentName(i); } @@ -13408,7 +14578,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLocalPlacement (IfcAbstractEntity* e); - IfcLocalPlacement (IfcObjectPlacement* v1_PlacementRelTo, IfcAxis2Placement v2_RelativePlacement); + IfcLocalPlacement (IfcObjectPlacement* v1_PlacementRelTo, IfcAxis2Placement* v2_RelativePlacement); typedef IfcTemplatedEntityList< IfcLocalPlacement > list; }; /// Definition from ISO/CD 10303-42:1992: A loop is a topological @@ -13531,7 +14701,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterialDefinitionRepresentation (IfcAbstractEntity* e); - IfcMaterialDefinitionRepresentation (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations, IfcMaterial* v4_RepresentedMaterial); + IfcMaterialDefinitionRepresentation (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations, IfcMaterial* v4_RepresentedMaterial); typedef IfcTemplatedEntityList< IfcMaterialDefinitionRepresentation > list; }; @@ -13539,28 +14709,28 @@ class IfcMechanicalConcreteMaterialProperties : public IfcMechanicalMaterialProp public: /// Whether the optional attribute CompressiveStrength is defined for this IfcMechanicalConcreteMaterialProperties bool hasCompressiveStrength() const; - IfcPressureMeasure CompressiveStrength() const; - void setCompressiveStrength(IfcPressureMeasure v); + double CompressiveStrength() const; + void setCompressiveStrength(double v); /// Whether the optional attribute MaxAggregateSize is defined for this IfcMechanicalConcreteMaterialProperties bool hasMaxAggregateSize() const; - IfcPositiveLengthMeasure MaxAggregateSize() const; - void setMaxAggregateSize(IfcPositiveLengthMeasure v); + double MaxAggregateSize() const; + void setMaxAggregateSize(double v); /// Whether the optional attribute AdmixturesDescription is defined for this IfcMechanicalConcreteMaterialProperties bool hasAdmixturesDescription() const; - IfcText AdmixturesDescription() const; - void setAdmixturesDescription(IfcText v); + std::string AdmixturesDescription() const; + void setAdmixturesDescription(std::string v); /// Whether the optional attribute Workability is defined for this IfcMechanicalConcreteMaterialProperties bool hasWorkability() const; - IfcText Workability() const; - void setWorkability(IfcText v); + std::string Workability() const; + void setWorkability(std::string v); /// Whether the optional attribute ProtectivePoreRatio is defined for this IfcMechanicalConcreteMaterialProperties bool hasProtectivePoreRatio() const; - IfcNormalisedRatioMeasure ProtectivePoreRatio() const; - void setProtectivePoreRatio(IfcNormalisedRatioMeasure v); + double ProtectivePoreRatio() const; + void setProtectivePoreRatio(double v); /// Whether the optional attribute WaterImpermeability is defined for this IfcMechanicalConcreteMaterialProperties bool hasWaterImpermeability() const; - IfcText WaterImpermeability() const; - void setWaterImpermeability(IfcText v); + std::string WaterImpermeability() const; + void setWaterImpermeability(std::string v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_STRING; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_STRING; } return IfcMechanicalMaterialProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "CompressiveStrength"; case 7: return "MaxAggregateSize"; case 8: return "AdmixturesDescription"; case 9: return "Workability"; case 10: return "ProtectivePoreRatio"; case 11: return "WaterImpermeability"; } return IfcMechanicalMaterialProperties::getArgumentName(i); } @@ -13569,7 +14739,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMechanicalConcreteMaterialProperties (IfcAbstractEntity* e); - IfcMechanicalConcreteMaterialProperties (IfcMaterial* v1_Material, boost::optional< IfcDynamicViscosityMeasure > v2_DynamicViscosity, boost::optional< IfcModulusOfElasticityMeasure > v3_YoungModulus, boost::optional< IfcModulusOfElasticityMeasure > v4_ShearModulus, boost::optional< IfcPositiveRatioMeasure > v5_PoissonRatio, boost::optional< IfcThermalExpansionCoefficientMeasure > v6_ThermalExpansionCoefficient, boost::optional< IfcPressureMeasure > v7_CompressiveStrength, boost::optional< IfcPositiveLengthMeasure > v8_MaxAggregateSize, boost::optional< IfcText > v9_AdmixturesDescription, boost::optional< IfcText > v10_Workability, boost::optional< IfcNormalisedRatioMeasure > v11_ProtectivePoreRatio, boost::optional< IfcText > v12_WaterImpermeability); + IfcMechanicalConcreteMaterialProperties (IfcMaterial* v1_Material, boost::optional< double > v2_DynamicViscosity, boost::optional< double > v3_YoungModulus, boost::optional< double > v4_ShearModulus, boost::optional< double > v5_PoissonRatio, boost::optional< double > v6_ThermalExpansionCoefficient, boost::optional< double > v7_CompressiveStrength, boost::optional< double > v8_MaxAggregateSize, boost::optional< std::string > v9_AdmixturesDescription, boost::optional< std::string > v10_Workability, boost::optional< double > v11_ProtectivePoreRatio, boost::optional< std::string > v12_WaterImpermeability); typedef IfcTemplatedEntityList< IfcMechanicalConcreteMaterialProperties > list; }; /// An IfcObjectDefinition is the generalization of any @@ -13636,7 +14806,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcObjectDefinition (IfcAbstractEntity* e); - IfcObjectDefinition (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); + IfcObjectDefinition (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcObjectDefinition > list; }; /// 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: @@ -13815,7 +14985,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcParameterizedProfileDef (IfcAbstractEntity* e); - IfcParameterizedProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position); + IfcParameterizedProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position); typedef IfcTemplatedEntityList< IfcParameterizedProfileDef > list; }; /// 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). @@ -13863,18 +15033,18 @@ public: IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr HasQuantities() const; void setHasQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v); /// Identification of the discrimination by which this physical complex property is distinguished. Examples of discriminations are 'layer', 'steel bar diameter', etc. - IfcLabel Discrimination() const; - void setDiscrimination(IfcLabel v); + std::string Discrimination() const; + void setDiscrimination(std::string v); /// Whether the optional attribute Quality is defined for this IfcPhysicalComplexQuantity bool hasQuality() const; /// Additional indication of a quality of the quantities that are grouped under this physical complex quantity. - IfcLabel Quality() const; - void setQuality(IfcLabel v); + std::string Quality() const; + void setQuality(std::string v); /// Whether the optional attribute Usage is defined for this IfcPhysicalComplexQuantity bool hasUsage() const; /// Additional indication of a usage type of the quantities that are grouped under this physical complex quantity. - IfcLabel Usage() const; - void setUsage(IfcLabel v); + std::string Usage() const; + void setUsage(std::string v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; } return IfcPhysicalQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "HasQuantities"; case 3: return "Discrimination"; case 4: return "Quality"; case 5: return "Usage"; } return IfcPhysicalQuantity::getArgumentName(i); } @@ -13883,7 +15053,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPhysicalComplexQuantity (IfcAbstractEntity* e); - IfcPhysicalComplexQuantity (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v3_HasQuantities, IfcLabel v4_Discrimination, boost::optional< IfcLabel > v5_Quality, boost::optional< IfcLabel > v6_Usage); + IfcPhysicalComplexQuantity (std::string v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage); typedef IfcTemplatedEntityList< IfcPhysicalComplexQuantity > list; }; /// 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 @@ -13907,14 +15077,14 @@ public: class IfcPixelTexture : public IfcSurfaceTexture { public: /// The number of pixels in width (S) direction. - IfcInteger Width() const; - void setWidth(IfcInteger v); + int Width() const; + void setWidth(int v); /// The number of pixels in height (T) direction. - IfcInteger Height() const; - void setHeight(IfcInteger v); + int Height() const; + void setHeight(int v); /// Indication whether the pixel values contain a 1, 2, 3, or 4 colour component. - IfcInteger ColourComponents() const; - void setColourComponents(IfcInteger v); + int ColourComponents() const; + void setColourComponents(int v); /// 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. @@ -13926,7 +15096,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPixelTexture (IfcAbstractEntity* e); - IfcPixelTexture (bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, IfcInteger v5_Width, IfcInteger v6_Height, IfcInteger v7_ColourComponents); + IfcPixelTexture (bool v1_RepeatS, bool v2_RepeatT, IfcSurfaceTextureEnum::IfcSurfaceTextureEnum v3_TextureType, IfcCartesianTransformationOperator2D* v4_TextureTransform, int v5_Width, int v6_Height, int v7_ColourComponents); typedef IfcTemplatedEntityList< IfcPixelTexture > list; }; /// 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. @@ -13962,11 +15132,11 @@ public: class IfcPlanarExtent : public IfcGeometricRepresentationItem { public: /// The extent in the direction of the x-axis. - IfcLengthMeasure SizeInX() const; - void setSizeInX(IfcLengthMeasure v); + double SizeInX() const; + void setSizeInX(double v); /// The extent in the direction of the y-axis. - IfcLengthMeasure SizeInY() const; - void setSizeInY(IfcLengthMeasure v); + double SizeInY() const; + void setSizeInY(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "SizeInX"; case 1: return "SizeInY"; } return IfcGeometricRepresentationItem::getArgumentName(i); } @@ -13975,7 +15145,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPlanarExtent (IfcAbstractEntity* e); - IfcPlanarExtent (IfcLengthMeasure v1_SizeInX, IfcLengthMeasure v2_SizeInY); + IfcPlanarExtent (double v1_SizeInX, double v2_SizeInY); typedef IfcTemplatedEntityList< IfcPlanarExtent > list; }; /// 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. @@ -14011,8 +15181,8 @@ public: IfcCurve* BasisCurve() const; void setBasisCurve(IfcCurve* v); /// The parameter value of the point location. - IfcParameterValue PointParameter() const; - void setPointParameter(IfcParameterValue v); + double PointParameter() const; + void setPointParameter(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; } return IfcPoint::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisCurve"; case 1: return "PointParameter"; } return IfcPoint::getArgumentName(i); } @@ -14021,7 +15191,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPointOnCurve (IfcAbstractEntity* e); - IfcPointOnCurve (IfcCurve* v1_BasisCurve, IfcParameterValue v2_PointParameter); + IfcPointOnCurve (IfcCurve* v1_BasisCurve, double v2_PointParameter); typedef IfcTemplatedEntityList< IfcPointOnCurve > list; }; /// 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. @@ -14039,11 +15209,11 @@ public: IfcSurface* BasisSurface() const; void setBasisSurface(IfcSurface* v); /// The first parameter value of the point location. - IfcParameterValue PointParameterU() const; - void setPointParameterU(IfcParameterValue v); + double PointParameterU() const; + void setPointParameterU(double v); /// The second parameter value of the point location. - IfcParameterValue PointParameterV() const; - void setPointParameterV(IfcParameterValue v); + double PointParameterV() const; + void setPointParameterV(double v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; } return IfcPoint::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisSurface"; case 1: return "PointParameterU"; case 2: return "PointParameterV"; } return IfcPoint::getArgumentName(i); } @@ -14052,7 +15222,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPointOnSurface (IfcAbstractEntity* e); - IfcPointOnSurface (IfcSurface* v1_BasisSurface, IfcParameterValue v2_PointParameterU, IfcParameterValue v3_PointParameterV); + IfcPointOnSurface (IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); typedef IfcTemplatedEntityList< IfcPointOnSurface > list; }; /// Definition from ISO/CD 10303-42:1992: A @@ -14202,7 +15372,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPreDefinedColour (IfcAbstractEntity* e); - IfcPreDefinedColour (IfcLabel v1_Name); + IfcPreDefinedColour (std::string v1_Name); typedef IfcTemplatedEntityList< IfcPreDefinedColour > list; }; /// 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. @@ -14222,7 +15392,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPreDefinedCurveFont (IfcAbstractEntity* e); - IfcPreDefinedCurveFont (IfcLabel v1_Name); + IfcPreDefinedCurveFont (std::string v1_Name); typedef IfcTemplatedEntityList< IfcPreDefinedCurveFont > list; }; @@ -14236,7 +15406,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPreDefinedDimensionSymbol (IfcAbstractEntity* e); - IfcPreDefinedDimensionSymbol (IfcLabel v1_Name); + IfcPreDefinedDimensionSymbol (std::string v1_Name); typedef IfcTemplatedEntityList< IfcPreDefinedDimensionSymbol > list; }; @@ -14250,7 +15420,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPreDefinedPointMarkerSymbol (IfcAbstractEntity* e); - IfcPreDefinedPointMarkerSymbol (IfcLabel v1_Name); + IfcPreDefinedPointMarkerSymbol (std::string v1_Name); typedef IfcTemplatedEntityList< IfcPreDefinedPointMarkerSymbol > list; }; /// 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: @@ -14277,7 +15447,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProductDefinitionShape (IfcAbstractEntity* e); - IfcProductDefinitionShape (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations); + IfcProductDefinitionShape (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations); typedef IfcTemplatedEntityList< IfcProductDefinitionShape > list; }; /// A property with a bounded @@ -14389,18 +15559,18 @@ public: /// Whether the optional attribute UpperBoundValue is defined for this IfcPropertyBoundedValue bool hasUpperBoundValue() const; /// Upper bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be greater than or equal to LowerBoundValue). - IfcValue UpperBoundValue() const; - void setUpperBoundValue(IfcValue v); + IfcValue* UpperBoundValue() const; + void setUpperBoundValue(IfcValue* v); /// Whether the optional attribute LowerBoundValue is defined for this IfcPropertyBoundedValue bool hasLowerBoundValue() const; /// Lower bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be lower than or equal to UpperBoundValue). - IfcValue LowerBoundValue() const; - void setLowerBoundValue(IfcValue v); + IfcValue* LowerBoundValue() const; + void setLowerBoundValue(IfcValue* v); /// Whether the optional attribute Unit is defined for this IfcPropertyBoundedValue bool hasUnit() const; /// Unit for the upper and lower bound values, if not given, the default value for the measure type is used as defined by the global unit assignment at IfcProject.UnitInContext. The applicable unit is then selected by the underlying TYPE of the UpperBoundValue, LowerBoundValue, and SetPointValue) - IfcUnit Unit() const; - void setUnit(IfcUnit v); + IfcUnit* Unit() const; + void setUnit(IfcUnit* v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "UpperBoundValue"; case 3: return "LowerBoundValue"; case 4: return "Unit"; } return IfcSimpleProperty::getArgumentName(i); } @@ -14409,7 +15579,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyBoundedValue (IfcAbstractEntity* e); - IfcPropertyBoundedValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcValue > v3_UpperBoundValue, boost::optional< IfcValue > v4_LowerBoundValue, boost::optional< IfcUnit > v5_Unit); + IfcPropertyBoundedValue (std::string v1_Name, boost::optional< std::string > v2_Description, IfcValue* v3_UpperBoundValue, IfcValue* v4_LowerBoundValue, IfcUnit* v5_Unit); typedef IfcTemplatedEntityList< IfcPropertyBoundedValue > list; }; /// IfcPropertyDefinition defines the generalization of @@ -14473,7 +15643,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyDefinition (IfcAbstractEntity* e); - IfcPropertyDefinition (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); + IfcPropertyDefinition (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcPropertyDefinition > list; }; /// A property with an enumerated @@ -14558,8 +15728,8 @@ 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. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr EnumerationValues() const; - void setEnumerationValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr EnumerationValues() const; + void setEnumerationValues(IfcEntityList::ptr v); /// Whether the optional attribute EnumerationReference is defined for this IfcPropertyEnumeratedValue bool hasEnumerationReference() const; /// Enumeration from which a enumeration value has been selected. The referenced enumeration also establishes the unit of the enumeration value. @@ -14573,7 +15743,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyEnumeratedValue (IfcAbstractEntity* e); - IfcPropertyEnumeratedValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_EnumerationValues, IfcPropertyEnumeration* v4_EnumerationReference); + IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_EnumerationValues, IfcPropertyEnumeration* v4_EnumerationReference); typedef IfcTemplatedEntityList< IfcPropertyEnumeratedValue > list; }; /// An IfcPropertyListValue @@ -14646,13 +15816,13 @@ public: /// List of property values. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr ListValues() const; - void setListValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr ListValues() const; + void setListValues(IfcEntityList::ptr v); /// Whether the optional attribute Unit is defined for this IfcPropertyListValue bool hasUnit() const; /// 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. - IfcUnit Unit() const; - void setUnit(IfcUnit v); + IfcUnit* Unit() const; + void setUnit(IfcUnit* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "ListValues"; case 3: return "Unit"; } return IfcSimpleProperty::getArgumentName(i); } @@ -14661,7 +15831,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyListValue (IfcAbstractEntity* e); - IfcPropertyListValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_ListValues, boost::optional< IfcUnit > v4_Unit); + IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_ListValues, IfcUnit* v4_Unit); typedef IfcTemplatedEntityList< IfcPropertyListValue > list; }; /// IfcPropertyReferenceValue allows a property value to @@ -14684,13 +15854,13 @@ public: /// Whether the optional attribute UsageName is defined for this IfcPropertyReferenceValue bool hasUsageName() const; /// Description of the use of the referenced value within the property. - IfcLabel UsageName() const; - void setUsageName(IfcLabel v); + std::string UsageName() const; + void setUsageName(std::string v); /// 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. - IfcObjectReferenceSelect PropertyReference() const; - void setPropertyReference(IfcObjectReferenceSelect v); + IfcObjectReferenceSelect* PropertyReference() const; + void setPropertyReference(IfcObjectReferenceSelect* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "UsageName"; case 3: return "PropertyReference"; } return IfcSimpleProperty::getArgumentName(i); } @@ -14699,7 +15869,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyReferenceValue (IfcAbstractEntity* e); - IfcPropertyReferenceValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UsageName, IfcObjectReferenceSelect v4_PropertyReference); + IfcPropertyReferenceValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UsageName, IfcObjectReferenceSelect* v4_PropertyReference); typedef IfcTemplatedEntityList< IfcPropertyReferenceValue > list; }; /// IfcPropertySetDefinition is a generalization of all @@ -14756,7 +15926,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertySetDefinition (IfcAbstractEntity* e); - IfcPropertySetDefinition (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); + IfcPropertySetDefinition (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcPropertySetDefinition > list; }; /// The property with a single value @@ -14812,13 +15982,13 @@ public: /// 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. - IfcValue NominalValue() const; - void setNominalValue(IfcValue v); + IfcValue* NominalValue() const; + void setNominalValue(IfcValue* v); /// Whether the optional attribute Unit is defined for this IfcPropertySingleValue bool hasUnit() const; /// Unit for the nominal value, 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. - IfcUnit Unit() const; - void setUnit(IfcUnit v); + IfcUnit* Unit() const; + void setUnit(IfcUnit* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "NominalValue"; case 3: return "Unit"; } return IfcSimpleProperty::getArgumentName(i); } @@ -14827,7 +15997,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertySingleValue (IfcAbstractEntity* e); - IfcPropertySingleValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcValue > v3_NominalValue, boost::optional< IfcUnit > v4_Unit); + IfcPropertySingleValue (std::string v1_Name, boost::optional< std::string > v2_Description, IfcValue* v3_NominalValue, IfcUnit* v4_Unit); typedef IfcTemplatedEntityList< IfcPropertySingleValue > list; }; /// A property with a range value @@ -14981,28 +16151,28 @@ 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. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr DefiningValues() const; - void setDefiningValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr DefiningValues() const; + void setDefiningValues(IfcEntityList::ptr v); /// 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. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr DefinedValues() const; - void setDefinedValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr DefinedValues() const; + void setDefinedValues(IfcEntityList::ptr v); /// Whether the optional attribute Expression is defined for this IfcPropertyTableValue bool hasExpression() const; /// 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. - IfcText Expression() const; - void setExpression(IfcText v); + std::string Expression() const; + void setExpression(std::string v); /// Whether the optional attribute DefiningUnit is defined for this IfcPropertyTableValue bool hasDefiningUnit() const; /// Unit for the defining values, if not given, the default value for the measure type (given by the TYPE of the defining values) is used as defined by the global unit assignment at IfcProject. - IfcUnit DefiningUnit() const; - void setDefiningUnit(IfcUnit v); + IfcUnit* DefiningUnit() const; + void setDefiningUnit(IfcUnit* v); /// Whether the optional attribute DefinedUnit is defined for this IfcPropertyTableValue bool hasDefinedUnit() const; /// Unit for the defined values, if not given, the default value for the measure type (given by the TYPE of the defined values) is used as defined by the global unit assignment at IfcProject. - IfcUnit DefinedUnit() const; - void setDefinedUnit(IfcUnit v); + IfcUnit* DefinedUnit() const; + void setDefinedUnit(IfcUnit* v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_ENTITY_LIST; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "DefiningValues"; case 3: return "DefinedValues"; case 4: return "Expression"; case 5: return "DefiningUnit"; case 6: return "DefinedUnit"; } return IfcSimpleProperty::getArgumentName(i); } @@ -15011,7 +16181,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyTableValue (IfcAbstractEntity* e); - IfcPropertyTableValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_DefiningValues, IfcEntityList::ptr v4_DefinedValues, boost::optional< IfcText > v5_Expression, boost::optional< IfcUnit > v6_DefiningUnit, boost::optional< IfcUnit > v7_DefinedUnit); + IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_DefiningValues, IfcEntityList::ptr v4_DefinedValues, boost::optional< std::string > v5_Expression, IfcUnit* v6_DefiningUnit, IfcUnit* v7_DefinedUnit); typedef IfcTemplatedEntityList< IfcPropertyTableValue > list; }; /// 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. @@ -15051,11 +16221,11 @@ public: class IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the rectangle in the direction of the x-axis. - IfcPositiveLengthMeasure XDim() const; - void setXDim(IfcPositiveLengthMeasure v); + double XDim() const; + void setXDim(double v); /// The extent of the rectangle in the direction of the y-axis. - IfcPositiveLengthMeasure YDim() const; - void setYDim(IfcPositiveLengthMeasure v); + double YDim() const; + void setYDim(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "XDim"; case 4: return "YDim"; } return IfcParameterizedProfileDef::getArgumentName(i); } @@ -15064,7 +16234,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRectangleProfileDef (IfcAbstractEntity* e); - IfcRectangleProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim); + IfcRectangleProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim); typedef IfcTemplatedEntityList< IfcRectangleProfileDef > list; }; /// 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. @@ -15075,8 +16245,8 @@ public: class IfcRegularTimeSeries : public IfcTimeSeries { public: /// A duration of time intervals between values. - IfcTimeMeasure TimeStep() const; - void setTimeStep(IfcTimeMeasure v); + double TimeStep() const; + void setTimeStep(double v); /// The collection of time series values. IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr Values() const; void setValues(IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v); @@ -15088,7 +16258,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRegularTimeSeries (IfcAbstractEntity* e); - IfcRegularTimeSeries (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTimeSelect v3_StartTime, IfcDateTimeSelect v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit, IfcTimeMeasure v9_TimeStep, IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v10_Values); + IfcRegularTimeSeries (std::string v1_Name, boost::optional< std::string > v2_Description, IfcDateTimeSelect* v3_StartTime, IfcDateTimeSelect* v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, IfcUnit* v8_Unit, double v9_TimeStep, IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v10_Values); typedef IfcTemplatedEntityList< IfcRegularTimeSeries > list; }; /// Definition from IAI: An @@ -15122,8 +16292,8 @@ public: /// Whether the optional attribute DefinitionType is defined for this IfcReinforcementDefinitionProperties bool hasDefinitionType() const; /// Descriptive type name applied to reinforcement definition properties. - IfcLabel DefinitionType() const; - void setDefinitionType(IfcLabel v); + std::string DefinitionType() const; + void setDefinitionType(std::string v); /// The list of section reinforcement properties attached to the reinforcement definition properties. IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr ReinforcementSectionDefinitions() const; void setReinforcementSectionDefinitions(IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v); @@ -15135,7 +16305,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReinforcementDefinitionProperties (IfcAbstractEntity* e); - IfcReinforcementDefinitionProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_DefinitionType, IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions); + IfcReinforcementDefinitionProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions); typedef IfcTemplatedEntityList< IfcReinforcementDefinitionProperties > list; }; /// 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. @@ -15156,7 +16326,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelationship (IfcAbstractEntity* e); - IfcRelationship (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); + IfcRelationship (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcRelationship > list; }; /// 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. @@ -15199,8 +16369,8 @@ public: class IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. - IfcPositiveLengthMeasure RoundingRadius() const; - void setRoundingRadius(IfcPositiveLengthMeasure v); + double RoundingRadius() const; + void setRoundingRadius(double v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_DOUBLE; } return IfcRectangleProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RoundingRadius"; } return IfcRectangleProfileDef::getArgumentName(i); } @@ -15209,7 +16379,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRoundedRectangleProfileDef (IfcAbstractEntity* e); - IfcRoundedRectangleProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim, IfcPositiveLengthMeasure v6_RoundingRadius); + IfcRoundedRectangleProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); typedef IfcTemplatedEntityList< IfcRoundedRectangleProfileDef > list; }; /// Definition from ISO 10303-42:1999: A sectioned @@ -15294,14 +16464,14 @@ public: void setPredefinedType(IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum v); /// Whether the optional attribute UpperValue is defined for this IfcServiceLifeFactor bool hasUpperValue() const; - IfcMeasureValue UpperValue() const; - void setUpperValue(IfcMeasureValue v); - IfcMeasureValue MostUsedValue() const; - void setMostUsedValue(IfcMeasureValue v); + IfcMeasureValue* UpperValue() const; + void setUpperValue(IfcMeasureValue* v); + IfcMeasureValue* MostUsedValue() const; + void setMostUsedValue(IfcMeasureValue* v); /// Whether the optional attribute LowerValue is defined for this IfcServiceLifeFactor bool hasLowerValue() const; - IfcMeasureValue LowerValue() const; - void setLowerValue(IfcMeasureValue v); + IfcMeasureValue* LowerValue() const; + void setLowerValue(IfcMeasureValue* v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENUMERATION; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY; } return IfcPropertySetDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "PredefinedType"; case 5: return "UpperValue"; case 6: return "MostUsedValue"; case 7: return "LowerValue"; } return IfcPropertySetDefinition::getArgumentName(i); } @@ -15310,7 +16480,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcServiceLifeFactor (IfcAbstractEntity* e); - IfcServiceLifeFactor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum v5_PredefinedType, boost::optional< IfcMeasureValue > v6_UpperValue, IfcMeasureValue v7_MostUsedValue, boost::optional< IfcMeasureValue > v8_LowerValue); + IfcServiceLifeFactor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcServiceLifeFactorTypeEnum::IfcServiceLifeFactorTypeEnum v5_PredefinedType, IfcMeasureValue* v6_UpperValue, IfcMeasureValue* v7_MostUsedValue, IfcMeasureValue* v8_LowerValue); typedef IfcTemplatedEntityList< IfcServiceLifeFactor > list; }; /// 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. @@ -15327,8 +16497,8 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr SbsmBoundary() const; - void setSbsmBoundary(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr SbsmBoundary() const; + void setSbsmBoundary(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::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); } @@ -15354,18 +16524,18 @@ public: /// Whether the optional attribute SlippageX is defined for this IfcSlippageConnectionCondition bool hasSlippageX() const; /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. - IfcLengthMeasure SlippageX() const; - void setSlippageX(IfcLengthMeasure v); + double SlippageX() const; + void setSlippageX(double v); /// Whether the optional attribute SlippageY is defined for this IfcSlippageConnectionCondition bool hasSlippageY() const; /// Slippage in y-direction of the coordinate system defined by the instance which uses this resource object. - IfcLengthMeasure SlippageY() const; - void setSlippageY(IfcLengthMeasure v); + double SlippageY() const; + void setSlippageY(double v); /// Whether the optional attribute SlippageZ is defined for this IfcSlippageConnectionCondition bool hasSlippageZ() const; /// Slippage in z-direction of the coordinate system defined by the instance which uses this resource object. - IfcLengthMeasure SlippageZ() const; - void setSlippageZ(IfcLengthMeasure v); + double SlippageZ() const; + void setSlippageZ(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcStructuralConnectionCondition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "SlippageX"; case 2: return "SlippageY"; case 3: return "SlippageZ"; } return IfcStructuralConnectionCondition::getArgumentName(i); } @@ -15374,7 +16544,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSlippageConnectionCondition (IfcAbstractEntity* e); - IfcSlippageConnectionCondition (boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_SlippageX, boost::optional< IfcLengthMeasure > v3_SlippageY, boost::optional< IfcLengthMeasure > v4_SlippageZ); + IfcSlippageConnectionCondition (boost::optional< std::string > v1_Name, boost::optional< double > v2_SlippageX, boost::optional< double > v3_SlippageY, boost::optional< double > v4_SlippageZ); typedef IfcTemplatedEntityList< IfcSlippageConnectionCondition > list; }; /// 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. @@ -15398,8 +16568,8 @@ public: class IfcSoundProperties : public IfcPropertySetDefinition { public: - IfcBoolean IsAttenuating() const; - void setIsAttenuating(IfcBoolean v); + bool IsAttenuating() const; + void setIsAttenuating(bool v); /// Whether the optional attribute SoundScale is defined for this IfcSoundProperties bool hasSoundScale() const; IfcSoundScaleEnum::IfcSoundScaleEnum SoundScale() const; @@ -15414,7 +16584,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSoundProperties (IfcAbstractEntity* e); - IfcSoundProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcBoolean v5_IsAttenuating, boost::optional< IfcSoundScaleEnum::IfcSoundScaleEnum > v6_SoundScale, IfcTemplatedEntityList< IfcSoundValue >::ptr v7_SoundValues); + IfcSoundProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, bool v5_IsAttenuating, boost::optional< IfcSoundScaleEnum::IfcSoundScaleEnum > v6_SoundScale, IfcTemplatedEntityList< IfcSoundValue >::ptr v7_SoundValues); typedef IfcTemplatedEntityList< IfcSoundProperties > list; }; @@ -15424,12 +16594,12 @@ public: bool hasSoundLevelTimeSeries() const; IfcTimeSeries* SoundLevelTimeSeries() const; void setSoundLevelTimeSeries(IfcTimeSeries* v); - IfcFrequencyMeasure Frequency() const; - void setFrequency(IfcFrequencyMeasure v); + double Frequency() const; + void setFrequency(double v); /// Whether the optional attribute SoundLevelSingleValue is defined for this IfcSoundValue bool hasSoundLevelSingleValue() const; - IfcDerivedMeasureValue SoundLevelSingleValue() const; - void setSoundLevelSingleValue(IfcDerivedMeasureValue v); + IfcDerivedMeasureValue* SoundLevelSingleValue() const; + void setSoundLevelSingleValue(IfcDerivedMeasureValue* v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_ENTITY; } return IfcPropertySetDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "SoundLevelTimeSeries"; case 5: return "Frequency"; case 6: return "SoundLevelSingleValue"; } return IfcPropertySetDefinition::getArgumentName(i); } @@ -15438,7 +16608,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSoundValue (IfcAbstractEntity* e); - IfcSoundValue (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTimeSeries* v5_SoundLevelTimeSeries, IfcFrequencyMeasure v6_Frequency, boost::optional< IfcDerivedMeasureValue > v7_SoundLevelSingleValue); + IfcSoundValue (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTimeSeries* v5_SoundLevelTimeSeries, double v6_Frequency, IfcDerivedMeasureValue* v7_SoundLevelSingleValue); typedef IfcTemplatedEntityList< IfcSoundValue > list; }; @@ -15446,34 +16616,34 @@ class IfcSpaceThermalLoadProperties : public IfcPropertySetDefinition { public: /// Whether the optional attribute ApplicableValueRatio is defined for this IfcSpaceThermalLoadProperties bool hasApplicableValueRatio() const; - IfcPositiveRatioMeasure ApplicableValueRatio() const; - void setApplicableValueRatio(IfcPositiveRatioMeasure v); + double ApplicableValueRatio() const; + void setApplicableValueRatio(double v); IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum ThermalLoadSource() const; void setThermalLoadSource(IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum v); IfcPropertySourceEnum::IfcPropertySourceEnum PropertySource() const; void setPropertySource(IfcPropertySourceEnum::IfcPropertySourceEnum v); /// Whether the optional attribute SourceDescription is defined for this IfcSpaceThermalLoadProperties bool hasSourceDescription() const; - IfcText SourceDescription() const; - void setSourceDescription(IfcText v); - IfcPowerMeasure MaximumValue() const; - void setMaximumValue(IfcPowerMeasure v); + std::string SourceDescription() const; + void setSourceDescription(std::string v); + double MaximumValue() const; + void setMaximumValue(double v); /// Whether the optional attribute MinimumValue is defined for this IfcSpaceThermalLoadProperties bool hasMinimumValue() const; - IfcPowerMeasure MinimumValue() const; - void setMinimumValue(IfcPowerMeasure v); + double MinimumValue() const; + void setMinimumValue(double v); /// Whether the optional attribute ThermalLoadTimeSeriesValues is defined for this IfcSpaceThermalLoadProperties bool hasThermalLoadTimeSeriesValues() const; IfcTimeSeries* ThermalLoadTimeSeriesValues() const; void setThermalLoadTimeSeriesValues(IfcTimeSeries* v); /// Whether the optional attribute UserDefinedThermalLoadSource is defined for this IfcSpaceThermalLoadProperties bool hasUserDefinedThermalLoadSource() const; - IfcLabel UserDefinedThermalLoadSource() const; - void setUserDefinedThermalLoadSource(IfcLabel v); + std::string UserDefinedThermalLoadSource() const; + void setUserDefinedThermalLoadSource(std::string v); /// Whether the optional attribute UserDefinedPropertySource is defined for this IfcSpaceThermalLoadProperties bool hasUserDefinedPropertySource() const; - IfcLabel UserDefinedPropertySource() const; - void setUserDefinedPropertySource(IfcLabel v); + std::string UserDefinedPropertySource() const; + void setUserDefinedPropertySource(std::string v); IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum ThermalLoadType() const; void setThermalLoadType(IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum v); virtual unsigned int getArgumentCount() const { return 14; } @@ -15484,7 +16654,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpaceThermalLoadProperties (IfcAbstractEntity* e); - IfcSpaceThermalLoadProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveRatioMeasure > v5_ApplicableValueRatio, IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum v6_ThermalLoadSource, IfcPropertySourceEnum::IfcPropertySourceEnum v7_PropertySource, boost::optional< IfcText > v8_SourceDescription, IfcPowerMeasure v9_MaximumValue, boost::optional< IfcPowerMeasure > v10_MinimumValue, IfcTimeSeries* v11_ThermalLoadTimeSeriesValues, boost::optional< IfcLabel > v12_UserDefinedThermalLoadSource, boost::optional< IfcLabel > v13_UserDefinedPropertySource, IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum v14_ThermalLoadType); + IfcSpaceThermalLoadProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_ApplicableValueRatio, IfcThermalLoadSourceEnum::IfcThermalLoadSourceEnum v6_ThermalLoadSource, IfcPropertySourceEnum::IfcPropertySourceEnum v7_PropertySource, boost::optional< std::string > v8_SourceDescription, double v9_MaximumValue, boost::optional< double > v10_MinimumValue, IfcTimeSeries* v11_ThermalLoadTimeSeriesValues, boost::optional< std::string > v12_UserDefinedThermalLoadSource, boost::optional< std::string > v13_UserDefinedPropertySource, IfcThermalLoadTypeEnum::IfcThermalLoadTypeEnum v14_ThermalLoadType); typedef IfcTemplatedEntityList< IfcSpaceThermalLoadProperties > list; }; /// Definition from IAI: An instance of the entity @@ -15497,33 +16667,33 @@ public: /// Whether the optional attribute LinearForceX is defined for this IfcStructuralLoadLinearForce bool hasLinearForceX() const; /// Linear force value in x-direction. - IfcLinearForceMeasure LinearForceX() const; - void setLinearForceX(IfcLinearForceMeasure v); + double LinearForceX() const; + void setLinearForceX(double v); /// Whether the optional attribute LinearForceY is defined for this IfcStructuralLoadLinearForce bool hasLinearForceY() const; /// Linear force value in y-direction. - IfcLinearForceMeasure LinearForceY() const; - void setLinearForceY(IfcLinearForceMeasure v); + double LinearForceY() const; + void setLinearForceY(double v); /// Whether the optional attribute LinearForceZ is defined for this IfcStructuralLoadLinearForce bool hasLinearForceZ() const; /// Linear force value in z-direction. - IfcLinearForceMeasure LinearForceZ() const; - void setLinearForceZ(IfcLinearForceMeasure v); + double LinearForceZ() const; + void setLinearForceZ(double v); /// Whether the optional attribute LinearMomentX is defined for this IfcStructuralLoadLinearForce bool hasLinearMomentX() const; /// Linear moment about the x-axis. - IfcLinearMomentMeasure LinearMomentX() const; - void setLinearMomentX(IfcLinearMomentMeasure v); + double LinearMomentX() const; + void setLinearMomentX(double v); /// Whether the optional attribute LinearMomentY is defined for this IfcStructuralLoadLinearForce bool hasLinearMomentY() const; /// Linear moment about the y-axis. - IfcLinearMomentMeasure LinearMomentY() const; - void setLinearMomentY(IfcLinearMomentMeasure v); + double LinearMomentY() const; + void setLinearMomentY(double v); /// Whether the optional attribute LinearMomentZ is defined for this IfcStructuralLoadLinearForce bool hasLinearMomentZ() const; /// Linear moment about the z-axis. - IfcLinearMomentMeasure LinearMomentZ() const; - void setLinearMomentZ(IfcLinearMomentMeasure v); + double LinearMomentZ() const; + void setLinearMomentZ(double v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "LinearForceX"; case 2: return "LinearForceY"; case 3: return "LinearForceZ"; case 4: return "LinearMomentX"; case 5: return "LinearMomentY"; case 6: return "LinearMomentZ"; } return IfcStructuralLoadStatic::getArgumentName(i); } @@ -15532,7 +16702,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoadLinearForce (IfcAbstractEntity* e); - IfcStructuralLoadLinearForce (boost::optional< IfcLabel > v1_Name, boost::optional< IfcLinearForceMeasure > v2_LinearForceX, boost::optional< IfcLinearForceMeasure > v3_LinearForceY, boost::optional< IfcLinearForceMeasure > v4_LinearForceZ, boost::optional< IfcLinearMomentMeasure > v5_LinearMomentX, boost::optional< IfcLinearMomentMeasure > v6_LinearMomentY, boost::optional< IfcLinearMomentMeasure > v7_LinearMomentZ); + IfcStructuralLoadLinearForce (boost::optional< std::string > v1_Name, boost::optional< double > v2_LinearForceX, boost::optional< double > v3_LinearForceY, boost::optional< double > v4_LinearForceZ, boost::optional< double > v5_LinearMomentX, boost::optional< double > v6_LinearMomentY, boost::optional< double > v7_LinearMomentZ); typedef IfcTemplatedEntityList< IfcStructuralLoadLinearForce > list; }; /// Definition from IAI: An instance of the entity @@ -15545,18 +16715,18 @@ public: /// Whether the optional attribute PlanarForceX is defined for this IfcStructuralLoadPlanarForce bool hasPlanarForceX() const; /// Planar force value in x-direction. - IfcPlanarForceMeasure PlanarForceX() const; - void setPlanarForceX(IfcPlanarForceMeasure v); + double PlanarForceX() const; + void setPlanarForceX(double v); /// Whether the optional attribute PlanarForceY is defined for this IfcStructuralLoadPlanarForce bool hasPlanarForceY() const; /// Planar force value in y-direction. - IfcPlanarForceMeasure PlanarForceY() const; - void setPlanarForceY(IfcPlanarForceMeasure v); + double PlanarForceY() const; + void setPlanarForceY(double v); /// Whether the optional attribute PlanarForceZ is defined for this IfcStructuralLoadPlanarForce bool hasPlanarForceZ() const; /// Planar force value in z-direction. - IfcPlanarForceMeasure PlanarForceZ() const; - void setPlanarForceZ(IfcPlanarForceMeasure v); + double PlanarForceZ() const; + void setPlanarForceZ(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "PlanarForceX"; case 2: return "PlanarForceY"; case 3: return "PlanarForceZ"; } return IfcStructuralLoadStatic::getArgumentName(i); } @@ -15565,7 +16735,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoadPlanarForce (IfcAbstractEntity* e); - IfcStructuralLoadPlanarForce (boost::optional< IfcLabel > v1_Name, boost::optional< IfcPlanarForceMeasure > v2_PlanarForceX, boost::optional< IfcPlanarForceMeasure > v3_PlanarForceY, boost::optional< IfcPlanarForceMeasure > v4_PlanarForceZ); + IfcStructuralLoadPlanarForce (boost::optional< std::string > v1_Name, boost::optional< double > v2_PlanarForceX, boost::optional< double > v3_PlanarForceY, boost::optional< double > v4_PlanarForceZ); typedef IfcTemplatedEntityList< IfcStructuralLoadPlanarForce > list; }; /// Definition from IAI: Instances of the entity @@ -15578,33 +16748,33 @@ public: /// Whether the optional attribute DisplacementX is defined for this IfcStructuralLoadSingleDisplacement bool hasDisplacementX() const; /// Displacement in x-direction. - IfcLengthMeasure DisplacementX() const; - void setDisplacementX(IfcLengthMeasure v); + double DisplacementX() const; + void setDisplacementX(double v); /// Whether the optional attribute DisplacementY is defined for this IfcStructuralLoadSingleDisplacement bool hasDisplacementY() const; /// Displacement in y-direction. - IfcLengthMeasure DisplacementY() const; - void setDisplacementY(IfcLengthMeasure v); + double DisplacementY() const; + void setDisplacementY(double v); /// Whether the optional attribute DisplacementZ is defined for this IfcStructuralLoadSingleDisplacement bool hasDisplacementZ() const; /// Displacement in z-direction. - IfcLengthMeasure DisplacementZ() const; - void setDisplacementZ(IfcLengthMeasure v); + double DisplacementZ() const; + void setDisplacementZ(double v); /// Whether the optional attribute RotationalDisplacementRX is defined for this IfcStructuralLoadSingleDisplacement bool hasRotationalDisplacementRX() const; /// Rotation about the x-axis. - IfcPlaneAngleMeasure RotationalDisplacementRX() const; - void setRotationalDisplacementRX(IfcPlaneAngleMeasure v); + double RotationalDisplacementRX() const; + void setRotationalDisplacementRX(double v); /// Whether the optional attribute RotationalDisplacementRY is defined for this IfcStructuralLoadSingleDisplacement bool hasRotationalDisplacementRY() const; /// Rotation about the y-axis. - IfcPlaneAngleMeasure RotationalDisplacementRY() const; - void setRotationalDisplacementRY(IfcPlaneAngleMeasure v); + double RotationalDisplacementRY() const; + void setRotationalDisplacementRY(double v); /// Whether the optional attribute RotationalDisplacementRZ is defined for this IfcStructuralLoadSingleDisplacement bool hasRotationalDisplacementRZ() const; /// Rotation about the z-axis. - IfcPlaneAngleMeasure RotationalDisplacementRZ() const; - void setRotationalDisplacementRZ(IfcPlaneAngleMeasure v); + double RotationalDisplacementRZ() const; + void setRotationalDisplacementRZ(double v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "DisplacementX"; case 2: return "DisplacementY"; case 3: return "DisplacementZ"; case 4: return "RotationalDisplacementRX"; case 5: return "RotationalDisplacementRY"; case 6: return "RotationalDisplacementRZ"; } return IfcStructuralLoadStatic::getArgumentName(i); } @@ -15613,7 +16783,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoadSingleDisplacement (IfcAbstractEntity* e); - IfcStructuralLoadSingleDisplacement (boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_DisplacementX, boost::optional< IfcLengthMeasure > v3_DisplacementY, boost::optional< IfcLengthMeasure > v4_DisplacementZ, boost::optional< IfcPlaneAngleMeasure > v5_RotationalDisplacementRX, boost::optional< IfcPlaneAngleMeasure > v6_RotationalDisplacementRY, boost::optional< IfcPlaneAngleMeasure > v7_RotationalDisplacementRZ); + IfcStructuralLoadSingleDisplacement (boost::optional< std::string > v1_Name, boost::optional< double > v2_DisplacementX, boost::optional< double > v3_DisplacementY, boost::optional< double > v4_DisplacementZ, boost::optional< double > v5_RotationalDisplacementRX, boost::optional< double > v6_RotationalDisplacementRY, boost::optional< double > v7_RotationalDisplacementRZ); typedef IfcTemplatedEntityList< IfcStructuralLoadSingleDisplacement > list; }; /// Definition from IAI: Defines a displacement with warping. @@ -15624,8 +16794,8 @@ public: /// Whether the optional attribute Distortion is defined for this IfcStructuralLoadSingleDisplacementDistortion bool hasDistortion() const; /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. - IfcCurvatureMeasure Distortion() const; - void setDistortion(IfcCurvatureMeasure v); + double Distortion() const; + void setDistortion(double v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadSingleDisplacement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "Distortion"; } return IfcStructuralLoadSingleDisplacement::getArgumentName(i); } @@ -15634,7 +16804,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoadSingleDisplacementDistortion (IfcAbstractEntity* e); - IfcStructuralLoadSingleDisplacementDistortion (boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_DisplacementX, boost::optional< IfcLengthMeasure > v3_DisplacementY, boost::optional< IfcLengthMeasure > v4_DisplacementZ, boost::optional< IfcPlaneAngleMeasure > v5_RotationalDisplacementRX, boost::optional< IfcPlaneAngleMeasure > v6_RotationalDisplacementRY, boost::optional< IfcPlaneAngleMeasure > v7_RotationalDisplacementRZ, boost::optional< IfcCurvatureMeasure > v8_Distortion); + IfcStructuralLoadSingleDisplacementDistortion (boost::optional< std::string > v1_Name, boost::optional< double > v2_DisplacementX, boost::optional< double > v3_DisplacementY, boost::optional< double > v4_DisplacementZ, boost::optional< double > v5_RotationalDisplacementRX, boost::optional< double > v6_RotationalDisplacementRY, boost::optional< double > v7_RotationalDisplacementRZ, boost::optional< double > v8_Distortion); typedef IfcTemplatedEntityList< IfcStructuralLoadSingleDisplacementDistortion > list; }; /// Definition from IAI: Instances of the entity @@ -15648,33 +16818,33 @@ public: /// Whether the optional attribute ForceX is defined for this IfcStructuralLoadSingleForce bool hasForceX() const; /// Force value in x-direction. - IfcForceMeasure ForceX() const; - void setForceX(IfcForceMeasure v); + double ForceX() const; + void setForceX(double v); /// Whether the optional attribute ForceY is defined for this IfcStructuralLoadSingleForce bool hasForceY() const; /// Force value in y-direction. - IfcForceMeasure ForceY() const; - void setForceY(IfcForceMeasure v); + double ForceY() const; + void setForceY(double v); /// Whether the optional attribute ForceZ is defined for this IfcStructuralLoadSingleForce bool hasForceZ() const; /// Force value in z-direction. - IfcForceMeasure ForceZ() const; - void setForceZ(IfcForceMeasure v); + double ForceZ() const; + void setForceZ(double v); /// Whether the optional attribute MomentX is defined for this IfcStructuralLoadSingleForce bool hasMomentX() const; /// Moment about the x-axis. - IfcTorqueMeasure MomentX() const; - void setMomentX(IfcTorqueMeasure v); + double MomentX() const; + void setMomentX(double v); /// Whether the optional attribute MomentY is defined for this IfcStructuralLoadSingleForce bool hasMomentY() const; /// Moment about the y-axis. - IfcTorqueMeasure MomentY() const; - void setMomentY(IfcTorqueMeasure v); + double MomentY() const; + void setMomentY(double v); /// Whether the optional attribute MomentZ is defined for this IfcStructuralLoadSingleForce bool hasMomentZ() const; /// Moment about the z-axis. - IfcTorqueMeasure MomentZ() const; - void setMomentZ(IfcTorqueMeasure v); + double MomentZ() const; + void setMomentZ(double v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "ForceX"; case 2: return "ForceY"; case 3: return "ForceZ"; case 4: return "MomentX"; case 5: return "MomentY"; case 6: return "MomentZ"; } return IfcStructuralLoadStatic::getArgumentName(i); } @@ -15683,7 +16853,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoadSingleForce (IfcAbstractEntity* e); - IfcStructuralLoadSingleForce (boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_ForceX, boost::optional< IfcForceMeasure > v3_ForceY, boost::optional< IfcForceMeasure > v4_ForceZ, boost::optional< IfcTorqueMeasure > v5_MomentX, boost::optional< IfcTorqueMeasure > v6_MomentY, boost::optional< IfcTorqueMeasure > v7_MomentZ); + IfcStructuralLoadSingleForce (boost::optional< std::string > v1_Name, boost::optional< double > v2_ForceX, boost::optional< double > v3_ForceY, boost::optional< double > v4_ForceZ, boost::optional< double > v5_MomentX, boost::optional< double > v6_MomentY, boost::optional< double > v7_MomentZ); typedef IfcTemplatedEntityList< IfcStructuralLoadSingleForce > list; }; /// Definition from IAI: Instances of the entity @@ -15699,8 +16869,8 @@ public: /// Whether the optional attribute WarpingMoment is defined for this IfcStructuralLoadSingleForceWarping bool hasWarpingMoment() const; /// The warping moment at the point load. - IfcWarpingMomentMeasure WarpingMoment() const; - void setWarpingMoment(IfcWarpingMomentMeasure v); + double WarpingMoment() const; + void setWarpingMoment(double v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadSingleForce::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "WarpingMoment"; } return IfcStructuralLoadSingleForce::getArgumentName(i); } @@ -15709,7 +16879,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoadSingleForceWarping (IfcAbstractEntity* e); - IfcStructuralLoadSingleForceWarping (boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_ForceX, boost::optional< IfcForceMeasure > v3_ForceY, boost::optional< IfcForceMeasure > v4_ForceZ, boost::optional< IfcTorqueMeasure > v5_MomentX, boost::optional< IfcTorqueMeasure > v6_MomentY, boost::optional< IfcTorqueMeasure > v7_MomentZ, boost::optional< IfcWarpingMomentMeasure > v8_WarpingMoment); + IfcStructuralLoadSingleForceWarping (boost::optional< std::string > v1_Name, boost::optional< double > v2_ForceX, boost::optional< double > v3_ForceY, boost::optional< double > v4_ForceZ, boost::optional< double > v5_MomentX, boost::optional< double > v6_MomentY, boost::optional< double > v7_MomentZ, boost::optional< double > v8_WarpingMoment); typedef IfcTemplatedEntityList< IfcStructuralLoadSingleForceWarping > list; }; @@ -15717,68 +16887,68 @@ class IfcStructuralProfileProperties : public IfcGeneralProfileProperties { public: /// Whether the optional attribute TorsionalConstantX is defined for this IfcStructuralProfileProperties bool hasTorsionalConstantX() const; - IfcMomentOfInertiaMeasure TorsionalConstantX() const; - void setTorsionalConstantX(IfcMomentOfInertiaMeasure v); + double TorsionalConstantX() const; + void setTorsionalConstantX(double v); /// Whether the optional attribute MomentOfInertiaYZ is defined for this IfcStructuralProfileProperties bool hasMomentOfInertiaYZ() const; - IfcMomentOfInertiaMeasure MomentOfInertiaYZ() const; - void setMomentOfInertiaYZ(IfcMomentOfInertiaMeasure v); + double MomentOfInertiaYZ() const; + void setMomentOfInertiaYZ(double v); /// Whether the optional attribute MomentOfInertiaY is defined for this IfcStructuralProfileProperties bool hasMomentOfInertiaY() const; - IfcMomentOfInertiaMeasure MomentOfInertiaY() const; - void setMomentOfInertiaY(IfcMomentOfInertiaMeasure v); + double MomentOfInertiaY() const; + void setMomentOfInertiaY(double v); /// Whether the optional attribute MomentOfInertiaZ is defined for this IfcStructuralProfileProperties bool hasMomentOfInertiaZ() const; - IfcMomentOfInertiaMeasure MomentOfInertiaZ() const; - void setMomentOfInertiaZ(IfcMomentOfInertiaMeasure v); + double MomentOfInertiaZ() const; + void setMomentOfInertiaZ(double v); /// Whether the optional attribute WarpingConstant is defined for this IfcStructuralProfileProperties bool hasWarpingConstant() const; - IfcWarpingConstantMeasure WarpingConstant() const; - void setWarpingConstant(IfcWarpingConstantMeasure v); + double WarpingConstant() const; + void setWarpingConstant(double v); /// Whether the optional attribute ShearCentreZ is defined for this IfcStructuralProfileProperties bool hasShearCentreZ() const; - IfcLengthMeasure ShearCentreZ() const; - void setShearCentreZ(IfcLengthMeasure v); + double ShearCentreZ() const; + void setShearCentreZ(double v); /// Whether the optional attribute ShearCentreY is defined for this IfcStructuralProfileProperties bool hasShearCentreY() const; - IfcLengthMeasure ShearCentreY() const; - void setShearCentreY(IfcLengthMeasure v); + double ShearCentreY() const; + void setShearCentreY(double v); /// Whether the optional attribute ShearDeformationAreaZ is defined for this IfcStructuralProfileProperties bool hasShearDeformationAreaZ() const; - IfcAreaMeasure ShearDeformationAreaZ() const; - void setShearDeformationAreaZ(IfcAreaMeasure v); + double ShearDeformationAreaZ() const; + void setShearDeformationAreaZ(double v); /// Whether the optional attribute ShearDeformationAreaY is defined for this IfcStructuralProfileProperties bool hasShearDeformationAreaY() const; - IfcAreaMeasure ShearDeformationAreaY() const; - void setShearDeformationAreaY(IfcAreaMeasure v); + double ShearDeformationAreaY() const; + void setShearDeformationAreaY(double v); /// Whether the optional attribute MaximumSectionModulusY is defined for this IfcStructuralProfileProperties bool hasMaximumSectionModulusY() const; - IfcSectionModulusMeasure MaximumSectionModulusY() const; - void setMaximumSectionModulusY(IfcSectionModulusMeasure v); + double MaximumSectionModulusY() const; + void setMaximumSectionModulusY(double v); /// Whether the optional attribute MinimumSectionModulusY is defined for this IfcStructuralProfileProperties bool hasMinimumSectionModulusY() const; - IfcSectionModulusMeasure MinimumSectionModulusY() const; - void setMinimumSectionModulusY(IfcSectionModulusMeasure v); + double MinimumSectionModulusY() const; + void setMinimumSectionModulusY(double v); /// Whether the optional attribute MaximumSectionModulusZ is defined for this IfcStructuralProfileProperties bool hasMaximumSectionModulusZ() const; - IfcSectionModulusMeasure MaximumSectionModulusZ() const; - void setMaximumSectionModulusZ(IfcSectionModulusMeasure v); + double MaximumSectionModulusZ() const; + void setMaximumSectionModulusZ(double v); /// Whether the optional attribute MinimumSectionModulusZ is defined for this IfcStructuralProfileProperties bool hasMinimumSectionModulusZ() const; - IfcSectionModulusMeasure MinimumSectionModulusZ() const; - void setMinimumSectionModulusZ(IfcSectionModulusMeasure v); + double MinimumSectionModulusZ() const; + void setMinimumSectionModulusZ(double v); /// Whether the optional attribute TorsionalSectionModulus is defined for this IfcStructuralProfileProperties bool hasTorsionalSectionModulus() const; - IfcSectionModulusMeasure TorsionalSectionModulus() const; - void setTorsionalSectionModulus(IfcSectionModulusMeasure v); + double TorsionalSectionModulus() const; + void setTorsionalSectionModulus(double v); /// Whether the optional attribute CentreOfGravityInX is defined for this IfcStructuralProfileProperties bool hasCentreOfGravityInX() const; - IfcLengthMeasure CentreOfGravityInX() const; - void setCentreOfGravityInX(IfcLengthMeasure v); + double CentreOfGravityInX() const; + void setCentreOfGravityInX(double v); /// Whether the optional attribute CentreOfGravityInY is defined for this IfcStructuralProfileProperties bool hasCentreOfGravityInY() const; - IfcLengthMeasure CentreOfGravityInY() const; - void setCentreOfGravityInY(IfcLengthMeasure v); + double CentreOfGravityInY() const; + void setCentreOfGravityInY(double v); virtual unsigned int getArgumentCount() const { return 23; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; case 15: return IfcUtil::Argument_DOUBLE; case 16: return IfcUtil::Argument_DOUBLE; case 17: return IfcUtil::Argument_DOUBLE; case 18: return IfcUtil::Argument_DOUBLE; case 19: return IfcUtil::Argument_DOUBLE; case 20: return IfcUtil::Argument_DOUBLE; case 21: return IfcUtil::Argument_DOUBLE; case 22: return IfcUtil::Argument_DOUBLE; } return IfcGeneralProfileProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "TorsionalConstantX"; case 8: return "MomentOfInertiaYZ"; case 9: return "MomentOfInertiaY"; case 10: return "MomentOfInertiaZ"; case 11: return "WarpingConstant"; case 12: return "ShearCentreZ"; case 13: return "ShearCentreY"; case 14: return "ShearDeformationAreaZ"; case 15: return "ShearDeformationAreaY"; case 16: return "MaximumSectionModulusY"; case 17: return "MinimumSectionModulusY"; case 18: return "MaximumSectionModulusZ"; case 19: return "MinimumSectionModulusZ"; case 20: return "TorsionalSectionModulus"; case 21: return "CentreOfGravityInX"; case 22: return "CentreOfGravityInY"; } return IfcGeneralProfileProperties::getArgumentName(i); } @@ -15787,7 +16957,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralProfileProperties (IfcAbstractEntity* e); - IfcStructuralProfileProperties (boost::optional< IfcLabel > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< IfcMassPerLengthMeasure > v3_PhysicalWeight, boost::optional< IfcPositiveLengthMeasure > v4_Perimeter, boost::optional< IfcPositiveLengthMeasure > v5_MinimumPlateThickness, boost::optional< IfcPositiveLengthMeasure > v6_MaximumPlateThickness, boost::optional< IfcAreaMeasure > v7_CrossSectionArea, boost::optional< IfcMomentOfInertiaMeasure > v8_TorsionalConstantX, boost::optional< IfcMomentOfInertiaMeasure > v9_MomentOfInertiaYZ, boost::optional< IfcMomentOfInertiaMeasure > v10_MomentOfInertiaY, boost::optional< IfcMomentOfInertiaMeasure > v11_MomentOfInertiaZ, boost::optional< IfcWarpingConstantMeasure > v12_WarpingConstant, boost::optional< IfcLengthMeasure > v13_ShearCentreZ, boost::optional< IfcLengthMeasure > v14_ShearCentreY, boost::optional< IfcAreaMeasure > v15_ShearDeformationAreaZ, boost::optional< IfcAreaMeasure > v16_ShearDeformationAreaY, boost::optional< IfcSectionModulusMeasure > v17_MaximumSectionModulusY, boost::optional< IfcSectionModulusMeasure > v18_MinimumSectionModulusY, boost::optional< IfcSectionModulusMeasure > v19_MaximumSectionModulusZ, boost::optional< IfcSectionModulusMeasure > v20_MinimumSectionModulusZ, boost::optional< IfcSectionModulusMeasure > v21_TorsionalSectionModulus, boost::optional< IfcLengthMeasure > v22_CentreOfGravityInX, boost::optional< IfcLengthMeasure > v23_CentreOfGravityInY); + IfcStructuralProfileProperties (boost::optional< std::string > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< double > v3_PhysicalWeight, boost::optional< double > v4_Perimeter, boost::optional< double > v5_MinimumPlateThickness, boost::optional< double > v6_MaximumPlateThickness, boost::optional< double > v7_CrossSectionArea, boost::optional< double > v8_TorsionalConstantX, boost::optional< double > v9_MomentOfInertiaYZ, boost::optional< double > v10_MomentOfInertiaY, boost::optional< double > v11_MomentOfInertiaZ, boost::optional< double > v12_WarpingConstant, boost::optional< double > v13_ShearCentreZ, boost::optional< double > v14_ShearCentreY, boost::optional< double > v15_ShearDeformationAreaZ, boost::optional< double > v16_ShearDeformationAreaY, boost::optional< double > v17_MaximumSectionModulusY, boost::optional< double > v18_MinimumSectionModulusY, boost::optional< double > v19_MaximumSectionModulusZ, boost::optional< double > v20_MinimumSectionModulusZ, boost::optional< double > v21_TorsionalSectionModulus, boost::optional< double > v22_CentreOfGravityInX, boost::optional< double > v23_CentreOfGravityInY); typedef IfcTemplatedEntityList< IfcStructuralProfileProperties > list; }; @@ -15795,20 +16965,20 @@ class IfcStructuralSteelProfileProperties : public IfcStructuralProfilePropertie public: /// Whether the optional attribute ShearAreaZ is defined for this IfcStructuralSteelProfileProperties bool hasShearAreaZ() const; - IfcAreaMeasure ShearAreaZ() const; - void setShearAreaZ(IfcAreaMeasure v); + double ShearAreaZ() const; + void setShearAreaZ(double v); /// Whether the optional attribute ShearAreaY is defined for this IfcStructuralSteelProfileProperties bool hasShearAreaY() const; - IfcAreaMeasure ShearAreaY() const; - void setShearAreaY(IfcAreaMeasure v); + double ShearAreaY() const; + void setShearAreaY(double v); /// Whether the optional attribute PlasticShapeFactorY is defined for this IfcStructuralSteelProfileProperties bool hasPlasticShapeFactorY() const; - IfcPositiveRatioMeasure PlasticShapeFactorY() const; - void setPlasticShapeFactorY(IfcPositiveRatioMeasure v); + double PlasticShapeFactorY() const; + void setPlasticShapeFactorY(double v); /// Whether the optional attribute PlasticShapeFactorZ is defined for this IfcStructuralSteelProfileProperties bool hasPlasticShapeFactorZ() const; - IfcPositiveRatioMeasure PlasticShapeFactorZ() const; - void setPlasticShapeFactorZ(IfcPositiveRatioMeasure v); + double PlasticShapeFactorZ() const; + void setPlasticShapeFactorZ(double v); virtual unsigned int getArgumentCount() const { return 27; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 23: return IfcUtil::Argument_DOUBLE; case 24: return IfcUtil::Argument_DOUBLE; case 25: return IfcUtil::Argument_DOUBLE; case 26: return IfcUtil::Argument_DOUBLE; } return IfcStructuralProfileProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 23: return "ShearAreaZ"; case 24: return "ShearAreaY"; case 25: return "PlasticShapeFactorY"; case 26: return "PlasticShapeFactorZ"; } return IfcStructuralProfileProperties::getArgumentName(i); } @@ -15817,7 +16987,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralSteelProfileProperties (IfcAbstractEntity* e); - IfcStructuralSteelProfileProperties (boost::optional< IfcLabel > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< IfcMassPerLengthMeasure > v3_PhysicalWeight, boost::optional< IfcPositiveLengthMeasure > v4_Perimeter, boost::optional< IfcPositiveLengthMeasure > v5_MinimumPlateThickness, boost::optional< IfcPositiveLengthMeasure > v6_MaximumPlateThickness, boost::optional< IfcAreaMeasure > v7_CrossSectionArea, boost::optional< IfcMomentOfInertiaMeasure > v8_TorsionalConstantX, boost::optional< IfcMomentOfInertiaMeasure > v9_MomentOfInertiaYZ, boost::optional< IfcMomentOfInertiaMeasure > v10_MomentOfInertiaY, boost::optional< IfcMomentOfInertiaMeasure > v11_MomentOfInertiaZ, boost::optional< IfcWarpingConstantMeasure > v12_WarpingConstant, boost::optional< IfcLengthMeasure > v13_ShearCentreZ, boost::optional< IfcLengthMeasure > v14_ShearCentreY, boost::optional< IfcAreaMeasure > v15_ShearDeformationAreaZ, boost::optional< IfcAreaMeasure > v16_ShearDeformationAreaY, boost::optional< IfcSectionModulusMeasure > v17_MaximumSectionModulusY, boost::optional< IfcSectionModulusMeasure > v18_MinimumSectionModulusY, boost::optional< IfcSectionModulusMeasure > v19_MaximumSectionModulusZ, boost::optional< IfcSectionModulusMeasure > v20_MinimumSectionModulusZ, boost::optional< IfcSectionModulusMeasure > v21_TorsionalSectionModulus, boost::optional< IfcLengthMeasure > v22_CentreOfGravityInX, boost::optional< IfcLengthMeasure > v23_CentreOfGravityInY, boost::optional< IfcAreaMeasure > v24_ShearAreaZ, boost::optional< IfcAreaMeasure > v25_ShearAreaY, boost::optional< IfcPositiveRatioMeasure > v26_PlasticShapeFactorY, boost::optional< IfcPositiveRatioMeasure > v27_PlasticShapeFactorZ); + IfcStructuralSteelProfileProperties (boost::optional< std::string > v1_ProfileName, IfcProfileDef* v2_ProfileDefinition, boost::optional< double > v3_PhysicalWeight, boost::optional< double > v4_Perimeter, boost::optional< double > v5_MinimumPlateThickness, boost::optional< double > v6_MaximumPlateThickness, boost::optional< double > v7_CrossSectionArea, boost::optional< double > v8_TorsionalConstantX, boost::optional< double > v9_MomentOfInertiaYZ, boost::optional< double > v10_MomentOfInertiaY, boost::optional< double > v11_MomentOfInertiaZ, boost::optional< double > v12_WarpingConstant, boost::optional< double > v13_ShearCentreZ, boost::optional< double > v14_ShearCentreY, boost::optional< double > v15_ShearDeformationAreaZ, boost::optional< double > v16_ShearDeformationAreaY, boost::optional< double > v17_MaximumSectionModulusY, boost::optional< double > v18_MinimumSectionModulusY, boost::optional< double > v19_MaximumSectionModulusZ, boost::optional< double > v20_MinimumSectionModulusZ, boost::optional< double > v21_TorsionalSectionModulus, boost::optional< double > v22_CentreOfGravityInX, boost::optional< double > v23_CentreOfGravityInY, boost::optional< double > v24_ShearAreaZ, boost::optional< double > v25_ShearAreaY, boost::optional< double > v26_PlasticShapeFactorY, boost::optional< double > v27_PlasticShapeFactorZ); typedef IfcTemplatedEntityList< IfcStructuralSteelProfileProperties > list; }; /// 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. @@ -15920,48 +17090,48 @@ public: bool hasTransparency() const; /// Definition from ISO/CD 10303-46: The degree of transparency is indicated by the percentage of light traversing the surface. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The transparency field specifies how "clear" an object is, with 1.0 being completely transparent, and 0.0 completely opaque. If not given, the value 0.0 (opaque) is assumed. - IfcNormalisedRatioMeasure Transparency() const; - void setTransparency(IfcNormalisedRatioMeasure v); + double Transparency() const; + void setTransparency(double v); /// Whether the optional attribute DiffuseColour is defined for this IfcSurfaceStyleRendering bool hasDiffuseColour() const; /// The diffuse part of the reflectance equation can be given as either a colour or a scalar factor. /// The diffuse colour field reflects all light sources depending on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. /// The diffuse factor field specifies how much diffuse light from light sources this surface shall reflect. Diffuse light depends on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. The diffuse colour is then defined by surface colour * diffuse factor. - IfcColourOrFactor DiffuseColour() const; - void setDiffuseColour(IfcColourOrFactor v); + IfcColourOrFactor* DiffuseColour() const; + void setDiffuseColour(IfcColourOrFactor* v); /// Whether the optional attribute TransmissionColour is defined for this IfcSurfaceStyleRendering bool hasTransmissionColour() const; /// The transmissive part of the reflectance equation can be given as either a colour or a scalar factor. It only applies to materials which Transparency field is greater than zero. /// The transmissive colour field specifies the colour that passes through a transparant material (like the colour that shines through a glass). /// The transmissive factor defines the transmissive part, the transmissive colour is then defined by surface colour * transmissive factor. - IfcColourOrFactor TransmissionColour() const; - void setTransmissionColour(IfcColourOrFactor v); + IfcColourOrFactor* TransmissionColour() const; + void setTransmissionColour(IfcColourOrFactor* v); /// Whether the optional attribute DiffuseTransmissionColour is defined for this IfcSurfaceStyleRendering bool hasDiffuseTransmissionColour() const; /// The diffuse transmission part of the reflectance equation can be given as either a colour or a scalar factor. It only applies to materials whose Transparency field is greater than zero. /// The diffuse transmission colour specifies how much diffuse light is reflected at the opposite side of the material surface. /// The diffuse transmission factor field specifies how much diffuse light from light sources this surface shall reflect on the opposite side of the material surface. The diffuse transmissive colour is then defined by surface colour * diffuse transmissive factor. - IfcColourOrFactor DiffuseTransmissionColour() const; - void setDiffuseTransmissionColour(IfcColourOrFactor v); + IfcColourOrFactor* DiffuseTransmissionColour() const; + void setDiffuseTransmissionColour(IfcColourOrFactor* v); /// Whether the optional attribute ReflectionColour is defined for this IfcSurfaceStyleRendering bool hasReflectionColour() const; /// The reflection (or mirror) part of the reflectance equation can be given as either a colour or a scalar factor. Applies to "glass" and "mirror" reflection models. /// The reflection colour specifies the contribution made by light from the mirror direction, i.e. light being reflected from the surface. /// The reflection factor specifies the amount of contribution made by light from the mirror direction. The reflection colour is then defined by surface colour * reflection factor. - IfcColourOrFactor ReflectionColour() const; - void setReflectionColour(IfcColourOrFactor v); + IfcColourOrFactor* ReflectionColour() const; + void setReflectionColour(IfcColourOrFactor* v); /// Whether the optional attribute SpecularColour is defined for this IfcSurfaceStyleRendering bool hasSpecularColour() const; /// The specular part of the reflectance equation can be given as either a colour or a scalar factor. /// The specular colour determine the specular highlights (e.g., the shiny spots on an apple). When the angle from the light to the surface is close to the angle from the surface to the viewer, the specular colour is added to the diffuse and ambient colour calculations. /// The specular factor defines the specular part, the specular colour is then defined by surface colour * specular factor. - IfcColourOrFactor SpecularColour() const; - void setSpecularColour(IfcColourOrFactor v); + IfcColourOrFactor* SpecularColour() const; + void setSpecularColour(IfcColourOrFactor* v); /// Whether the optional attribute SpecularHighlight is defined for this IfcSurfaceStyleRendering bool hasSpecularHighlight() const; /// The exponent or roughness part of the specular reflectance. - IfcSpecularHighlightSelect SpecularHighlight() const; - void setSpecularHighlight(IfcSpecularHighlightSelect v); + IfcSpecularHighlightSelect* SpecularHighlight() const; + void setSpecularHighlight(IfcSpecularHighlightSelect* v); /// Identifies the predefined types of reflectance method from which the method required may be set. IfcReflectanceMethodEnum::IfcReflectanceMethodEnum ReflectanceMethod() const; void setReflectanceMethod(IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v); @@ -15973,7 +17143,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSurfaceStyleRendering (IfcAbstractEntity* e); - IfcSurfaceStyleRendering (IfcColourRgb* v1_SurfaceColour, boost::optional< IfcNormalisedRatioMeasure > v2_Transparency, boost::optional< IfcColourOrFactor > v3_DiffuseColour, boost::optional< IfcColourOrFactor > v4_TransmissionColour, boost::optional< IfcColourOrFactor > v5_DiffuseTransmissionColour, boost::optional< IfcColourOrFactor > v6_ReflectionColour, boost::optional< IfcColourOrFactor > v7_SpecularColour, boost::optional< IfcSpecularHighlightSelect > v8_SpecularHighlight, IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v9_ReflectanceMethod); + IfcSurfaceStyleRendering (IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, IfcColourOrFactor* v3_DiffuseColour, IfcColourOrFactor* v4_TransmissionColour, IfcColourOrFactor* v5_DiffuseTransmissionColour, IfcColourOrFactor* v6_ReflectionColour, IfcColourOrFactor* v7_SpecularColour, IfcSpecularHighlightSelect* v8_SpecularHighlight, IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v9_ReflectanceMethod); typedef IfcTemplatedEntityList< IfcSurfaceStyleRendering > list; }; /// Definition from ISO/CD 10303-42:1992: The swept area @@ -16072,23 +17242,23 @@ public: IfcCurve* Directrix() const; void setDirectrix(IfcCurve* v); /// The Radius of the circular disk to be swept along the directrix. Denotes the outer radius, if an InnerRadius is applied. - IfcPositiveLengthMeasure Radius() const; - void setRadius(IfcPositiveLengthMeasure v); + double Radius() const; + void setRadius(double v); /// Whether the optional attribute InnerRadius is defined for this IfcSweptDiskSolid bool hasInnerRadius() const; /// This attribute is optional, if present it defines the radius of a circular hole in the centre of the disk. - IfcPositiveLengthMeasure InnerRadius() const; - void setInnerRadius(IfcPositiveLengthMeasure v); + double InnerRadius() const; + void setInnerRadius(double v); /// 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. - IfcParameterValue StartParam() const; - void setStartParam(IfcParameterValue v); + double StartParam() const; + void setStartParam(double v); /// 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. - IfcParameterValue EndParam() const; - void setEndParam(IfcParameterValue v); + double EndParam() const; + void setEndParam(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcSolidModel::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Directrix"; case 1: return "Radius"; case 2: return "InnerRadius"; case 3: return "StartParam"; case 4: return "EndParam"; } return IfcSolidModel::getArgumentName(i); } @@ -16097,7 +17267,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSweptDiskSolid (IfcAbstractEntity* e); - IfcSweptDiskSolid (IfcCurve* v1_Directrix, IfcPositiveLengthMeasure v2_Radius, boost::optional< IfcPositiveLengthMeasure > v3_InnerRadius, IfcParameterValue v4_StartParam, IfcParameterValue v5_EndParam); + IfcSweptDiskSolid (IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, double v4_StartParam, double v5_EndParam); typedef IfcTemplatedEntityList< IfcSweptDiskSolid > list; }; /// Definition from ISO/CD 10303-42:1992: A swept surface is one that is constructed by sweeping a curve along another curve. @@ -16155,46 +17325,46 @@ public: class IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). - IfcPositiveLengthMeasure Depth() const; - void setDepth(IfcPositiveLengthMeasure v); + double Depth() const; + void setDepth(double v); /// Flange lengths, see illustration above (= b). - IfcPositiveLengthMeasure FlangeWidth() const; - void setFlangeWidth(IfcPositiveLengthMeasure v); + double FlangeWidth() const; + void setFlangeWidth(double v); /// Constant wall thickness of web (= ts). - IfcPositiveLengthMeasure WebThickness() const; - void setWebThickness(IfcPositiveLengthMeasure v); + double WebThickness() const; + void setWebThickness(double v); /// Constant wall thickness of flange (= tg). - IfcPositiveLengthMeasure FlangeThickness() const; - void setFlangeThickness(IfcPositiveLengthMeasure v); + double FlangeThickness() const; + void setFlangeThickness(double v); /// Whether the optional attribute FilletRadius is defined for this IfcTShapeProfileDef bool hasFilletRadius() const; /// Fillet radius according the above illustration (= r1). - IfcPositiveLengthMeasure FilletRadius() const; - void setFilletRadius(IfcPositiveLengthMeasure v); + double FilletRadius() const; + void setFilletRadius(double v); /// Whether the optional attribute FlangeEdgeRadius is defined for this IfcTShapeProfileDef bool hasFlangeEdgeRadius() const; /// Edge radius according the above illustration (= r2). - IfcPositiveLengthMeasure FlangeEdgeRadius() const; - void setFlangeEdgeRadius(IfcPositiveLengthMeasure v); + double FlangeEdgeRadius() const; + void setFlangeEdgeRadius(double v); /// Whether the optional attribute WebEdgeRadius is defined for this IfcTShapeProfileDef bool hasWebEdgeRadius() const; /// Edge radius according the above illustration (= r3). - IfcPositiveLengthMeasure WebEdgeRadius() const; - void setWebEdgeRadius(IfcPositiveLengthMeasure v); + double WebEdgeRadius() const; + void setWebEdgeRadius(double v); /// Whether the optional attribute WebSlope is defined for this IfcTShapeProfileDef bool hasWebSlope() const; /// Slope of flange of the profile. - IfcPlaneAngleMeasure WebSlope() const; - void setWebSlope(IfcPlaneAngleMeasure v); + double WebSlope() const; + void setWebSlope(double v); /// Whether the optional attribute FlangeSlope is defined for this IfcTShapeProfileDef bool hasFlangeSlope() const; /// Slope of web of the profile. - IfcPlaneAngleMeasure FlangeSlope() const; - void setFlangeSlope(IfcPlaneAngleMeasure v); + double FlangeSlope() const; + void setFlangeSlope(double v); /// Whether the optional attribute CentreOfGravityInY is defined for this IfcTShapeProfileDef bool hasCentreOfGravityInY() const; - IfcPositiveLengthMeasure CentreOfGravityInY() const; - void setCentreOfGravityInY(IfcPositiveLengthMeasure v); + double CentreOfGravityInY() const; + void setCentreOfGravityInY(double v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Depth"; case 4: return "FlangeWidth"; case 5: return "WebThickness"; case 6: return "FlangeThickness"; case 7: return "FilletRadius"; case 8: return "FlangeEdgeRadius"; case 9: return "WebEdgeRadius"; case 10: return "WebSlope"; case 11: return "FlangeSlope"; case 12: return "CentreOfGravityInY"; } return IfcParameterizedProfileDef::getArgumentName(i); } @@ -16203,7 +17373,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTShapeProfileDef (IfcAbstractEntity* e); - IfcTShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcPositiveLengthMeasure > v8_FilletRadius, boost::optional< IfcPositiveLengthMeasure > v9_FlangeEdgeRadius, boost::optional< IfcPositiveLengthMeasure > v10_WebEdgeRadius, boost::optional< IfcPlaneAngleMeasure > v11_WebSlope, boost::optional< IfcPlaneAngleMeasure > v12_FlangeSlope, boost::optional< IfcPositiveLengthMeasure > v13_CentreOfGravityInY); + IfcTShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_FlangeEdgeRadius, boost::optional< double > v10_WebEdgeRadius, boost::optional< double > v11_WebSlope, boost::optional< double > v12_FlangeSlope, boost::optional< double > v13_CentreOfGravityInY); typedef IfcTemplatedEntityList< IfcTShapeProfileDef > list; }; @@ -16219,7 +17389,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTerminatorSymbol (IfcAbstractEntity* e); - IfcTerminatorSymbol (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name, IfcAnnotationCurveOccurrence* v4_AnnotatedCurve); + IfcTerminatorSymbol (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name, IfcAnnotationCurveOccurrence* v4_AnnotatedCurve); typedef IfcTemplatedEntityList< IfcTerminatorSymbol > list; }; /// The text literal is a geometric representation item which describes a text string using a string literal and additional position and path information. @@ -16235,12 +17405,12 @@ public: class IfcTextLiteral : public IfcGeometricRepresentationItem { public: /// The text literal to be presented. - IfcPresentableText Literal() const; - void setLiteral(IfcPresentableText v); + std::string Literal() const; + void setLiteral(std::string v); /// An IfcAxis2Placement that determines the placement and orientation of the presented string. /// When used with a text style based on IfcTextStyleWithBoxCharacteristics then the y-axis is taken as the reference direction for the box rotation angle and the box slant angle. - IfcAxis2Placement Placement() const; - void setPlacement(IfcAxis2Placement v); + IfcAxis2Placement* Placement() const; + void setPlacement(IfcAxis2Placement* v); /// The writing direction of the text literal. IfcTextPath::IfcTextPath Path() const; void setPath(IfcTextPath::IfcTextPath v); @@ -16252,7 +17422,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTextLiteral (IfcAbstractEntity* e); - IfcTextLiteral (IfcPresentableText v1_Literal, IfcAxis2Placement v2_Placement, IfcTextPath::IfcTextPath v3_Path); + IfcTextLiteral (std::string v1_Literal, IfcAxis2Placement* v2_Placement, IfcTextPath::IfcTextPath v3_Path); typedef IfcTemplatedEntityList< IfcTextLiteral > list; }; /// 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. @@ -16270,8 +17440,8 @@ public: IfcPlanarExtent* Extent() const; void setExtent(IfcPlanarExtent* v); /// The alignment of the text literal relative to its position. - IfcBoxAlignment BoxAlignment() const; - void setBoxAlignment(IfcBoxAlignment v); + std::string BoxAlignment() const; + void setBoxAlignment(std::string v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_STRING; } return IfcTextLiteral::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Extent"; case 4: return "BoxAlignment"; } return IfcTextLiteral::getArgumentName(i); } @@ -16280,7 +17450,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTextLiteralWithExtent (IfcAbstractEntity* e); - IfcTextLiteralWithExtent (IfcPresentableText v1_Literal, IfcAxis2Placement v2_Placement, IfcTextPath::IfcTextPath v3_Path, IfcPlanarExtent* v4_Extent, IfcBoxAlignment v5_BoxAlignment); + IfcTextLiteralWithExtent (std::string v1_Literal, IfcAxis2Placement* v2_Placement, IfcTextPath::IfcTextPath v3_Path, IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment); typedef IfcTemplatedEntityList< IfcTextLiteralWithExtent > list; }; /// 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. @@ -16324,17 +17494,17 @@ public: class IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the bottom line measured along the implicit x-axis. - IfcPositiveLengthMeasure BottomXDim() const; - void setBottomXDim(IfcPositiveLengthMeasure v); + double BottomXDim() const; + void setBottomXDim(double v); /// The extent of the top line measured along the implicit x-axis. - IfcPositiveLengthMeasure TopXDim() const; - void setTopXDim(IfcPositiveLengthMeasure v); + double TopXDim() const; + void setTopXDim(double v); /// The extent of the distance between the parallel bottom and top lines measured along the implicit y-axis. - IfcPositiveLengthMeasure YDim() const; - void setYDim(IfcPositiveLengthMeasure v); + double YDim() const; + void setYDim(double v); /// Offset from the beginning of the top line to the bottom line, measured along the implicit x-axis. - IfcLengthMeasure TopXOffset() const; - void setTopXOffset(IfcLengthMeasure v); + double TopXOffset() const; + void setTopXOffset(double v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "BottomXDim"; case 4: return "TopXDim"; case 5: return "YDim"; case 6: return "TopXOffset"; } return IfcParameterizedProfileDef::getArgumentName(i); } @@ -16343,7 +17513,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTrapeziumProfileDef (IfcAbstractEntity* e); - IfcTrapeziumProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_BottomXDim, IfcPositiveLengthMeasure v5_TopXDim, IfcPositiveLengthMeasure v6_YDim, IfcLengthMeasure v7_TopXOffset); + IfcTrapeziumProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); typedef IfcTemplatedEntityList< IfcTrapeziumProfileDef > list; }; /// 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: @@ -16412,8 +17582,8 @@ public: /// If one type object is applicable to many occurrence objects, then those occurrence object names should be separate by comma "," forming a comma separated string. /// /// EXAMPLE Refering to a furniture as applicable occurrence entity would be expressed as 'IfcFurnishingElement', refering to a brace as applicable entity would be expressed as 'IfcMember/BRACE', refering to a wall and wall standard case would be expressed as 'IfcWall, IfcWallStandardCase'. - IfcLabel ApplicableOccurrence() const; - void setApplicableOccurrence(IfcLabel v); + std::string ApplicableOccurrence() const; + void setApplicableOccurrence(std::string v); /// Whether the optional attribute HasPropertySets is defined for this IfcTypeObject bool hasHasPropertySets() const; /// 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. @@ -16430,7 +17600,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTypeObject (IfcAbstractEntity* e); - IfcTypeObject (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets); + IfcTypeObject (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets); typedef IfcTemplatedEntityList< IfcTypeObject > list; }; /// IfcTypeProduct defines a type @@ -16509,8 +17679,8 @@ public: /// Whether the optional attribute Tag is defined for this IfcTypeProduct bool hasTag() const; /// 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. - IfcLabel Tag() const; - void setTag(IfcLabel v); + std::string Tag() const; + void setTag(std::string v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY_LIST; case 7: return IfcUtil::Argument_STRING; } return IfcTypeObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "RepresentationMaps"; case 7: return "Tag"; } return IfcTypeObject::getArgumentName(i); } @@ -16519,7 +17689,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTypeProduct (IfcAbstractEntity* e); - IfcTypeProduct (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag); + IfcTypeProduct (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcTypeProduct > list; }; /// IfcUShapeProfileDef defines @@ -16553,36 +17723,36 @@ public: class IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). - IfcPositiveLengthMeasure Depth() const; - void setDepth(IfcPositiveLengthMeasure v); + double Depth() const; + void setDepth(double v); /// Flange lengths, see illustration above (= b). - IfcPositiveLengthMeasure FlangeWidth() const; - void setFlangeWidth(IfcPositiveLengthMeasure v); + double FlangeWidth() const; + void setFlangeWidth(double v); /// Constant wall thickness of web (= ts). - IfcPositiveLengthMeasure WebThickness() const; - void setWebThickness(IfcPositiveLengthMeasure v); + double WebThickness() const; + void setWebThickness(double v); /// Constant wall thickness of flange (= tg). - IfcPositiveLengthMeasure FlangeThickness() const; - void setFlangeThickness(IfcPositiveLengthMeasure v); + double FlangeThickness() const; + void setFlangeThickness(double v); /// Whether the optional attribute FilletRadius is defined for this IfcUShapeProfileDef bool hasFilletRadius() const; /// Fillet radius according the above illustration (= r1). - IfcPositiveLengthMeasure FilletRadius() const; - void setFilletRadius(IfcPositiveLengthMeasure v); + double FilletRadius() const; + void setFilletRadius(double v); /// Whether the optional attribute EdgeRadius is defined for this IfcUShapeProfileDef bool hasEdgeRadius() const; /// Edge radius according the above illustration (= r2). - IfcPositiveLengthMeasure EdgeRadius() const; - void setEdgeRadius(IfcPositiveLengthMeasure v); + double EdgeRadius() const; + void setEdgeRadius(double v); /// Whether the optional attribute FlangeSlope is defined for this IfcUShapeProfileDef bool hasFlangeSlope() const; /// Slope of flange of the profile. - IfcPlaneAngleMeasure FlangeSlope() const; - void setFlangeSlope(IfcPlaneAngleMeasure v); + double FlangeSlope() const; + void setFlangeSlope(double v); /// Whether the optional attribute CentreOfGravityInX is defined for this IfcUShapeProfileDef bool hasCentreOfGravityInX() const; - IfcPositiveLengthMeasure CentreOfGravityInX() const; - void setCentreOfGravityInX(IfcPositiveLengthMeasure v); + double CentreOfGravityInX() const; + void setCentreOfGravityInX(double v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Depth"; case 4: return "FlangeWidth"; case 5: return "WebThickness"; case 6: return "FlangeThickness"; case 7: return "FilletRadius"; case 8: return "EdgeRadius"; case 9: return "FlangeSlope"; case 10: return "CentreOfGravityInX"; } return IfcParameterizedProfileDef::getArgumentName(i); } @@ -16591,7 +17761,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcUShapeProfileDef (IfcAbstractEntity* e); - IfcUShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcPositiveLengthMeasure > v8_FilletRadius, boost::optional< IfcPositiveLengthMeasure > v9_EdgeRadius, boost::optional< IfcPlaneAngleMeasure > v10_FlangeSlope, boost::optional< IfcPositiveLengthMeasure > v11_CentreOfGravityInX); + IfcUShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_EdgeRadius, boost::optional< double > v10_FlangeSlope, boost::optional< double > v11_CentreOfGravityInX); typedef IfcTemplatedEntityList< IfcUShapeProfileDef > list; }; /// 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. @@ -16607,8 +17777,8 @@ public: IfcDirection* Orientation() const; void setOrientation(IfcDirection* v); /// The magnitude of the vector. All vectors of Magnitude 0.0 are regarded as equal in value regardless of the orientation attribute. - IfcLengthMeasure Magnitude() const; - void setMagnitude(IfcLengthMeasure v); + double Magnitude() const; + void setMagnitude(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Orientation"; case 1: return "Magnitude"; } return IfcGeometricRepresentationItem::getArgumentName(i); } @@ -16617,7 +17787,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcVector (IfcAbstractEntity* e); - IfcVector (IfcDirection* v1_Orientation, IfcLengthMeasure v2_Magnitude); + IfcVector (IfcDirection* v1_Orientation, double v2_Magnitude); typedef IfcTemplatedEntityList< IfcVector > list; }; /// Definition from ISO/CD 10303-42:1992: A vertex_loop is a loop of @@ -16751,43 +17921,43 @@ public: /// Whether the optional attribute LiningDepth is defined for this IfcWindowLiningProperties bool hasLiningDepth() const; /// Depth of the window lining (dimension measured perpendicular to window elevation plane). - IfcPositiveLengthMeasure LiningDepth() const; - void setLiningDepth(IfcPositiveLengthMeasure v); + double LiningDepth() const; + void setLiningDepth(double v); /// Whether the optional attribute LiningThickness is defined for this IfcWindowLiningProperties bool hasLiningThickness() const; /// Thickness of the window lining (measured parallel to the window elevation plane). - IfcPositiveLengthMeasure LiningThickness() const; - void setLiningThickness(IfcPositiveLengthMeasure v); + double LiningThickness() const; + void setLiningThickness(double v); /// Whether the optional attribute TransomThickness is defined for this IfcWindowLiningProperties bool hasTransomThickness() const; /// Thickness of the transom (horizontal separator of window panels within a window), measured parallel to the window elevation plane. The transom is part of the lining and the transom depth is assumed to be identical to the lining depth. - IfcPositiveLengthMeasure TransomThickness() const; - void setTransomThickness(IfcPositiveLengthMeasure v); + double TransomThickness() const; + void setTransomThickness(double v); /// Whether the optional attribute MullionThickness is defined for this IfcWindowLiningProperties bool hasMullionThickness() const; /// Thickness of the mullion (vertical separator of window panels within a window), measured parallel to the window elevation plane. The mullion is part of the lining and the mullion depth is assumed to be identical to the lining depth. - IfcPositiveLengthMeasure MullionThickness() const; - void setMullionThickness(IfcPositiveLengthMeasure v); + double MullionThickness() const; + void setMullionThickness(double v); /// Whether the optional attribute FirstTransomOffset is defined for this IfcWindowLiningProperties bool hasFirstTransomOffset() const; /// Offset of the transom centerline, measured along the z-axis of the window placement co-ordinate system. An offset value = 0.5 indicates that the transom is positioned in the middle of the window. - IfcNormalisedRatioMeasure FirstTransomOffset() const; - void setFirstTransomOffset(IfcNormalisedRatioMeasure v); + double FirstTransomOffset() const; + void setFirstTransomOffset(double v); /// Whether the optional attribute SecondTransomOffset is defined for this IfcWindowLiningProperties bool hasSecondTransomOffset() const; /// Offset of the transom centerline for the second transom, measured along the x-axis of the window placement co-ordinate system. An offset value = 0.666 indicates that the second transom is positioned at two/third of the window. - IfcNormalisedRatioMeasure SecondTransomOffset() const; - void setSecondTransomOffset(IfcNormalisedRatioMeasure v); + double SecondTransomOffset() const; + void setSecondTransomOffset(double v); /// Whether the optional attribute FirstMullionOffset is defined for this IfcWindowLiningProperties bool hasFirstMullionOffset() const; /// Offset of the mullion centerline, measured along the x-axis of the window placement co-ordinate system. An offset value = 0.5 indicates that the mullion is positioned in the middle of the window. - IfcNormalisedRatioMeasure FirstMullionOffset() const; - void setFirstMullionOffset(IfcNormalisedRatioMeasure v); + double FirstMullionOffset() const; + void setFirstMullionOffset(double v); /// Whether the optional attribute SecondMullionOffset is defined for this IfcWindowLiningProperties bool hasSecondMullionOffset() const; /// Offset of the mullion centerline for the second mullion, measured along the x-axis of the window placement co-ordinate system. An offset value = 0.666 indicates that the second mullion is positioned at two/third of the window. - IfcNormalisedRatioMeasure SecondMullionOffset() const; - void setSecondMullionOffset(IfcNormalisedRatioMeasure v); + double SecondMullionOffset() const; + void setSecondMullionOffset(double v); /// Whether the optional attribute ShapeAspectStyle is defined for this IfcWindowLiningProperties bool hasShapeAspectStyle() const; /// Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the lining. @@ -16803,7 +17973,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWindowLiningProperties (IfcAbstractEntity* e); - IfcWindowLiningProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_LiningDepth, boost::optional< IfcPositiveLengthMeasure > v6_LiningThickness, boost::optional< IfcPositiveLengthMeasure > v7_TransomThickness, boost::optional< IfcPositiveLengthMeasure > v8_MullionThickness, boost::optional< IfcNormalisedRatioMeasure > v9_FirstTransomOffset, boost::optional< IfcNormalisedRatioMeasure > v10_SecondTransomOffset, boost::optional< IfcNormalisedRatioMeasure > v11_FirstMullionOffset, boost::optional< IfcNormalisedRatioMeasure > v12_SecondMullionOffset, IfcShapeAspect* v13_ShapeAspectStyle); + IfcWindowLiningProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_TransomThickness, boost::optional< double > v8_MullionThickness, boost::optional< double > v9_FirstTransomOffset, boost::optional< double > v10_SecondTransomOffset, boost::optional< double > v11_FirstMullionOffset, boost::optional< double > v12_SecondMullionOffset, IfcShapeAspect* v13_ShapeAspectStyle); typedef IfcTemplatedEntityList< IfcWindowLiningProperties > list; }; /// A window panel is a casement, that is, a component, fixed or opening, @@ -16862,13 +18032,13 @@ public: /// Whether the optional attribute FrameDepth is defined for this IfcWindowPanelProperties bool hasFrameDepth() const; /// Depth of panel frame, measured from front face to back face horizontally (i.e. perpendicular to the window (elevation) plane. - IfcPositiveLengthMeasure FrameDepth() const; - void setFrameDepth(IfcPositiveLengthMeasure v); + double FrameDepth() const; + void setFrameDepth(double v); /// Whether the optional attribute FrameThickness is defined for this IfcWindowPanelProperties bool hasFrameThickness() const; /// Width of panel frame, measured from inside of panel (at glazing) to outside of panel (at lining), i.e. parallel to the window (elevation) plane. - IfcPositiveLengthMeasure FrameThickness() const; - void setFrameThickness(IfcPositiveLengthMeasure v); + double FrameThickness() const; + void setFrameThickness(double v); /// Whether the optional attribute ShapeAspectStyle is defined for this IfcWindowPanelProperties bool hasShapeAspectStyle() const; /// Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the panel. @@ -16884,7 +18054,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWindowPanelProperties (IfcAbstractEntity* e); - IfcWindowPanelProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< IfcPositiveLengthMeasure > v7_FrameDepth, boost::optional< IfcPositiveLengthMeasure > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle); + IfcWindowPanelProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle); typedef IfcTemplatedEntityList< IfcWindowPanelProperties > list; }; /// 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. @@ -16927,7 +18097,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWindowStyle (IfcAbstractEntity* e); - IfcWindowStyle (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v9_ConstructionType, IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + IfcWindowStyle (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v9_ConstructionType, IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); typedef IfcTemplatedEntityList< IfcWindowStyle > list; }; /// IfcZShapeProfileDef defines @@ -16958,27 +18128,27 @@ public: class IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web length, see illustration above (= h). - IfcPositiveLengthMeasure Depth() const; - void setDepth(IfcPositiveLengthMeasure v); + double Depth() const; + void setDepth(double v); /// Flange length, see illustration above (= b). - IfcPositiveLengthMeasure FlangeWidth() const; - void setFlangeWidth(IfcPositiveLengthMeasure v); + double FlangeWidth() const; + void setFlangeWidth(double v); /// Constant wall thickness of web, see illustration above (= ts). - IfcPositiveLengthMeasure WebThickness() const; - void setWebThickness(IfcPositiveLengthMeasure v); + double WebThickness() const; + void setWebThickness(double v); /// Constant wall thickness of flange, see illustration above (= tg). - IfcPositiveLengthMeasure FlangeThickness() const; - void setFlangeThickness(IfcPositiveLengthMeasure v); + double FlangeThickness() const; + void setFlangeThickness(double v); /// Whether the optional attribute FilletRadius is defined for this IfcZShapeProfileDef bool hasFilletRadius() const; /// Fillet radius according the above illustration (= r1). - IfcPositiveLengthMeasure FilletRadius() const; - void setFilletRadius(IfcPositiveLengthMeasure v); + double FilletRadius() const; + void setFilletRadius(double v); /// Whether the optional attribute EdgeRadius is defined for this IfcZShapeProfileDef bool hasEdgeRadius() const; /// Edge radius according the above illustration (= r2). - IfcPositiveLengthMeasure EdgeRadius() const; - void setEdgeRadius(IfcPositiveLengthMeasure v); + double EdgeRadius() const; + void setEdgeRadius(double v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Depth"; case 4: return "FlangeWidth"; case 5: return "WebThickness"; case 6: return "FlangeThickness"; case 7: return "FilletRadius"; case 8: return "EdgeRadius"; } return IfcParameterizedProfileDef::getArgumentName(i); } @@ -16987,7 +18157,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcZShapeProfileDef (IfcAbstractEntity* e); - IfcZShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcPositiveLengthMeasure > v8_FilletRadius, boost::optional< IfcPositiveLengthMeasure > v9_EdgeRadius); + IfcZShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_EdgeRadius); typedef IfcTemplatedEntityList< IfcZShapeProfileDef > list; }; @@ -17001,7 +18171,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAnnotationCurveOccurrence (IfcAbstractEntity* e); - IfcAnnotationCurveOccurrence (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name); + IfcAnnotationCurveOccurrence (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcAnnotationCurveOccurrence > list; }; /// 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. @@ -17068,7 +18238,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAnnotationFillAreaOccurrence (IfcAbstractEntity* e); - IfcAnnotationFillAreaOccurrence (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name, IfcPoint* v4_FillStyleTarget, boost::optional< IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum > v5_GlobalOrLocal); + IfcAnnotationFillAreaOccurrence (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name, IfcPoint* v4_FillStyleTarget, boost::optional< IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum > v5_GlobalOrLocal); typedef IfcTemplatedEntityList< IfcAnnotationFillAreaOccurrence > list; }; @@ -17215,11 +18385,11 @@ public: IfcBooleanOperator::IfcBooleanOperator Operator() const; void setOperator(IfcBooleanOperator::IfcBooleanOperator v); /// The first operand to be operated upon by the Boolean operation. - IfcBooleanOperand FirstOperand() const; - void setFirstOperand(IfcBooleanOperand v); + IfcBooleanOperand* FirstOperand() const; + void setFirstOperand(IfcBooleanOperand* v); /// The second operand specified for the operation. - IfcBooleanOperand SecondOperand() const; - void setSecondOperand(IfcBooleanOperand v); + IfcBooleanOperand* SecondOperand() const; + void setSecondOperand(IfcBooleanOperand* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Operator"; case 1: return "FirstOperand"; case 2: return "SecondOperand"; } return IfcGeometricRepresentationItem::getArgumentName(i); } @@ -17228,7 +18398,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBooleanResult (IfcAbstractEntity* e); - IfcBooleanResult (IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand v2_FirstOperand, IfcBooleanOperand v3_SecondOperand); + IfcBooleanResult (IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand* v2_FirstOperand, IfcBooleanOperand* v3_SecondOperand); typedef IfcTemplatedEntityList< IfcBooleanResult > list; }; /// Definition from ISO/CD 10303-42:1992: A bounded surface is a surface of finite area with identifiable boundaries. @@ -17284,14 +18454,14 @@ public: IfcCartesianPoint* Corner() const; void setCorner(IfcCartesianPoint* v); /// Length attribute (measured along the edge parallel to the X Axis) - IfcPositiveLengthMeasure XDim() const; - void setXDim(IfcPositiveLengthMeasure v); + double XDim() const; + void setXDim(double v); /// Width attribute (measured along the edge parallel to the Y Axis) - IfcPositiveLengthMeasure YDim() const; - void setYDim(IfcPositiveLengthMeasure v); + double YDim() const; + void setYDim(double v); /// Height attribute (measured along the edge parallel to the Z Axis). - IfcPositiveLengthMeasure ZDim() const; - void setZDim(IfcPositiveLengthMeasure v); + double ZDim() const; + void setZDim(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Corner"; case 1: return "XDim"; case 2: return "YDim"; case 3: return "ZDim"; } return IfcGeometricRepresentationItem::getArgumentName(i); } @@ -17300,7 +18470,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBoundingBox (IfcAbstractEntity* e); - IfcBoundingBox (IfcCartesianPoint* v1_Corner, IfcPositiveLengthMeasure v2_XDim, IfcPositiveLengthMeasure v3_YDim, IfcPositiveLengthMeasure v4_ZDim); + IfcBoundingBox (IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); typedef IfcTemplatedEntityList< IfcBoundingBox > list; }; /// 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. @@ -17374,26 +18544,26 @@ public: class IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: /// Profile depth, see illustration above (= h). - IfcPositiveLengthMeasure Depth() const; - void setDepth(IfcPositiveLengthMeasure v); + double Depth() const; + void setDepth(double v); /// Profile width, see illustration above (= b). - IfcPositiveLengthMeasure Width() const; - void setWidth(IfcPositiveLengthMeasure v); + double Width() const; + void setWidth(double v); /// Constant wall thickness of profile (= ts). - IfcPositiveLengthMeasure WallThickness() const; - void setWallThickness(IfcPositiveLengthMeasure v); + double WallThickness() const; + void setWallThickness(double v); /// Lengths of girth, see illustration above (= c). - IfcPositiveLengthMeasure Girth() const; - void setGirth(IfcPositiveLengthMeasure v); + double Girth() const; + void setGirth(double v); /// Whether the optional attribute InternalFilletRadius is defined for this IfcCShapeProfileDef bool hasInternalFilletRadius() const; /// Internal fillet radius according the above illustration (= r1). - IfcPositiveLengthMeasure InternalFilletRadius() const; - void setInternalFilletRadius(IfcPositiveLengthMeasure v); + double InternalFilletRadius() const; + void setInternalFilletRadius(double v); /// Whether the optional attribute CentreOfGravityInX is defined for this IfcCShapeProfileDef bool hasCentreOfGravityInX() const; - IfcPositiveLengthMeasure CentreOfGravityInX() const; - void setCentreOfGravityInX(IfcPositiveLengthMeasure v); + double CentreOfGravityInX() const; + void setCentreOfGravityInX(double v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Depth"; case 4: return "Width"; case 5: return "WallThickness"; case 6: return "Girth"; case 7: return "InternalFilletRadius"; case 8: return "CentreOfGravityInX"; } return IfcParameterizedProfileDef::getArgumentName(i); } @@ -17402,7 +18572,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCShapeProfileDef (IfcAbstractEntity* e); - IfcCShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_Width, IfcPositiveLengthMeasure v6_WallThickness, IfcPositiveLengthMeasure v7_Girth, boost::optional< IfcPositiveLengthMeasure > v8_InternalFilletRadius, boost::optional< IfcPositiveLengthMeasure > v9_CentreOfGravityInX); + IfcCShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius, boost::optional< double > v9_CentreOfGravityInX); typedef IfcTemplatedEntityList< IfcCShapeProfileDef > list; }; /// 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. @@ -17415,8 +18585,8 @@ 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< IfcLengthMeasure > /*[1:3]*/ Coordinates() const; - void setCoordinates(std::vector< IfcLengthMeasure > /*[1:3]*/ v); + std::vector< double > /*[1:3]*/ Coordinates() const; + void setCoordinates(std::vector< double > /*[1:3]*/ v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::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); } @@ -17425,7 +18595,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCartesianPoint (IfcAbstractEntity* e); - IfcCartesianPoint (std::vector< IfcLengthMeasure > /*[1:3]*/ v1_Coordinates); + IfcCartesianPoint (std::vector< double > /*[1:3]*/ v1_Coordinates); typedef IfcTemplatedEntityList< IfcCartesianPoint > list; }; /// 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. @@ -17607,8 +18777,8 @@ public: class IfcCircleProfileDef : public IfcParameterizedProfileDef { public: /// The radius of the circle. - IfcPositiveLengthMeasure Radius() const; - void setRadius(IfcPositiveLengthMeasure v); + double Radius() const; + void setRadius(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Radius"; } return IfcParameterizedProfileDef::getArgumentName(i); } @@ -17617,7 +18787,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCircleProfileDef (IfcAbstractEntity* e); - IfcCircleProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Radius); + IfcCircleProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Radius); typedef IfcTemplatedEntityList< IfcCircleProfileDef > list; }; /// Definition from ISO/CD 10303-42:1992: A closed shell is a shell @@ -17717,34 +18887,34 @@ public: class IfcCraneRailAShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcPositiveLengthMeasure OverallHeight() const; - void setOverallHeight(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure BaseWidth2() const; - void setBaseWidth2(IfcPositiveLengthMeasure v); + double OverallHeight() const; + void setOverallHeight(double v); + double BaseWidth2() const; + void setBaseWidth2(double v); /// Whether the optional attribute Radius is defined for this IfcCraneRailAShapeProfileDef bool hasRadius() const; - IfcPositiveLengthMeasure Radius() const; - void setRadius(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure HeadWidth() const; - void setHeadWidth(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure HeadDepth2() const; - void setHeadDepth2(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure HeadDepth3() const; - void setHeadDepth3(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure WebThickness() const; - void setWebThickness(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure BaseWidth4() const; - void setBaseWidth4(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure BaseDepth1() const; - void setBaseDepth1(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure BaseDepth2() const; - void setBaseDepth2(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure BaseDepth3() const; - void setBaseDepth3(IfcPositiveLengthMeasure v); + double Radius() const; + void setRadius(double v); + double HeadWidth() const; + void setHeadWidth(double v); + double HeadDepth2() const; + void setHeadDepth2(double v); + double HeadDepth3() const; + void setHeadDepth3(double v); + double WebThickness() const; + void setWebThickness(double v); + double BaseWidth4() const; + void setBaseWidth4(double v); + double BaseDepth1() const; + void setBaseDepth1(double v); + double BaseDepth2() const; + void setBaseDepth2(double v); + double BaseDepth3() const; + void setBaseDepth3(double v); /// Whether the optional attribute CentreOfGravityInY is defined for this IfcCraneRailAShapeProfileDef bool hasCentreOfGravityInY() const; - IfcPositiveLengthMeasure CentreOfGravityInY() const; - void setCentreOfGravityInY(IfcPositiveLengthMeasure v); + double CentreOfGravityInY() const; + void setCentreOfGravityInY(double v); virtual unsigned int getArgumentCount() const { return 15; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "OverallHeight"; case 4: return "BaseWidth2"; case 5: return "Radius"; case 6: return "HeadWidth"; case 7: return "HeadDepth2"; case 8: return "HeadDepth3"; case 9: return "WebThickness"; case 10: return "BaseWidth4"; case 11: return "BaseDepth1"; case 12: return "BaseDepth2"; case 13: return "BaseDepth3"; case 14: return "CentreOfGravityInY"; } return IfcParameterizedProfileDef::getArgumentName(i); } @@ -17753,34 +18923,34 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCraneRailAShapeProfileDef (IfcAbstractEntity* e); - IfcCraneRailAShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_OverallHeight, IfcPositiveLengthMeasure v5_BaseWidth2, boost::optional< IfcPositiveLengthMeasure > v6_Radius, IfcPositiveLengthMeasure v7_HeadWidth, IfcPositiveLengthMeasure v8_HeadDepth2, IfcPositiveLengthMeasure v9_HeadDepth3, IfcPositiveLengthMeasure v10_WebThickness, IfcPositiveLengthMeasure v11_BaseWidth4, IfcPositiveLengthMeasure v12_BaseDepth1, IfcPositiveLengthMeasure v13_BaseDepth2, IfcPositiveLengthMeasure v14_BaseDepth3, boost::optional< IfcPositiveLengthMeasure > v15_CentreOfGravityInY); + IfcCraneRailAShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_OverallHeight, double v5_BaseWidth2, boost::optional< double > v6_Radius, double v7_HeadWidth, double v8_HeadDepth2, double v9_HeadDepth3, double v10_WebThickness, double v11_BaseWidth4, double v12_BaseDepth1, double v13_BaseDepth2, double v14_BaseDepth3, boost::optional< double > v15_CentreOfGravityInY); typedef IfcTemplatedEntityList< IfcCraneRailAShapeProfileDef > list; }; class IfcCraneRailFShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcPositiveLengthMeasure OverallHeight() const; - void setOverallHeight(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure HeadWidth() const; - void setHeadWidth(IfcPositiveLengthMeasure v); + double OverallHeight() const; + void setOverallHeight(double v); + double HeadWidth() const; + void setHeadWidth(double v); /// Whether the optional attribute Radius is defined for this IfcCraneRailFShapeProfileDef bool hasRadius() const; - IfcPositiveLengthMeasure Radius() const; - void setRadius(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure HeadDepth2() const; - void setHeadDepth2(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure HeadDepth3() const; - void setHeadDepth3(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure WebThickness() const; - void setWebThickness(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure BaseDepth1() const; - void setBaseDepth1(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure BaseDepth2() const; - void setBaseDepth2(IfcPositiveLengthMeasure v); + double Radius() const; + void setRadius(double v); + double HeadDepth2() const; + void setHeadDepth2(double v); + double HeadDepth3() const; + void setHeadDepth3(double v); + double WebThickness() const; + void setWebThickness(double v); + double BaseDepth1() const; + void setBaseDepth1(double v); + double BaseDepth2() const; + void setBaseDepth2(double v); /// Whether the optional attribute CentreOfGravityInY is defined for this IfcCraneRailFShapeProfileDef bool hasCentreOfGravityInY() const; - IfcPositiveLengthMeasure CentreOfGravityInY() const; - void setCentreOfGravityInY(IfcPositiveLengthMeasure v); + double CentreOfGravityInY() const; + void setCentreOfGravityInY(double v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "OverallHeight"; case 4: return "HeadWidth"; case 5: return "Radius"; case 6: return "HeadDepth2"; case 7: return "HeadDepth3"; case 8: return "WebThickness"; case 9: return "BaseDepth1"; case 10: return "BaseDepth2"; case 11: return "CentreOfGravityInY"; } return IfcParameterizedProfileDef::getArgumentName(i); } @@ -17789,7 +18959,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCraneRailFShapeProfileDef (IfcAbstractEntity* e); - IfcCraneRailFShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_OverallHeight, IfcPositiveLengthMeasure v5_HeadWidth, boost::optional< IfcPositiveLengthMeasure > v6_Radius, IfcPositiveLengthMeasure v7_HeadDepth2, IfcPositiveLengthMeasure v8_HeadDepth3, IfcPositiveLengthMeasure v9_WebThickness, IfcPositiveLengthMeasure v10_BaseDepth1, IfcPositiveLengthMeasure v11_BaseDepth2, boost::optional< IfcPositiveLengthMeasure > v12_CentreOfGravityInY); + IfcCraneRailFShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_OverallHeight, double v5_HeadWidth, boost::optional< double > v6_Radius, double v7_HeadDepth2, double v8_HeadDepth3, double v9_WebThickness, double v10_BaseDepth1, double v11_BaseDepth2, boost::optional< double > v12_CentreOfGravityInY); typedef IfcTemplatedEntityList< IfcCraneRailFShapeProfileDef > list; }; /// 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. @@ -17857,8 +19027,8 @@ public: class IfcCsgSolid : public IfcSolidModel { public: /// Boolean expression of primitives and regularized operators describing the solid. The root of the tree of Boolean expressions is given explicitly as an IfcBooleanResult entitiy or as a primitive (subtypes of IfcCsgPrimitive3D). - IfcCsgSelect TreeRootExpression() const; - void setTreeRootExpression(IfcCsgSelect v); + IfcCsgSelect* TreeRootExpression() const; + void setTreeRootExpression(IfcCsgSelect* v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcSolidModel::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TreeRootExpression"; } return IfcSolidModel::getArgumentName(i); } @@ -17867,7 +19037,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCsgSolid (IfcAbstractEntity* e); - IfcCsgSolid (IfcCsgSelect v1_TreeRootExpression); + IfcCsgSolid (IfcCsgSelect* v1_TreeRootExpression); typedef IfcTemplatedEntityList< IfcCsgSolid > list; }; /// Definition from ISO/CD 10303-42:1992: A curve can be envisioned as the path of a point moving in its coordinate space. @@ -17938,8 +19108,8 @@ public: class IfcDefinedSymbol : public IfcGeometricRepresentationItem { public: /// An implicit description of the symbol, either predefined or externally defined. - IfcDefinedSymbolSelect Definition() const; - void setDefinition(IfcDefinedSymbolSelect v); + IfcDefinedSymbolSelect* Definition() const; + void setDefinition(IfcDefinedSymbolSelect* v); /// A description of the placement, orientation and (uniform or non-uniform) scaling of the defined symbol. IfcCartesianTransformationOperator2D* Target() const; void setTarget(IfcCartesianTransformationOperator2D* v); @@ -17951,7 +19121,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDefinedSymbol (IfcAbstractEntity* e); - IfcDefinedSymbol (IfcDefinedSymbolSelect v1_Definition, IfcCartesianTransformationOperator2D* v2_Target); + IfcDefinedSymbol (IfcDefinedSymbolSelect* v1_Definition, IfcCartesianTransformationOperator2D* v2_Target); typedef IfcTemplatedEntityList< IfcDefinedSymbol > list; }; @@ -17966,7 +19136,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDimensionCurve (IfcAbstractEntity* e); - IfcDimensionCurve (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name); + IfcDimensionCurve (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcDimensionCurve > list; }; @@ -17982,7 +19152,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDimensionCurveTerminator (IfcAbstractEntity* e); - IfcDimensionCurveTerminator (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name, IfcAnnotationCurveOccurrence* v4_AnnotatedCurve, IfcDimensionExtentUsage::IfcDimensionExtentUsage v5_Role); + IfcDimensionCurveTerminator (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name, IfcAnnotationCurveOccurrence* v4_AnnotatedCurve, IfcDimensionExtentUsage::IfcDimensionExtentUsage v5_Role); typedef IfcTemplatedEntityList< IfcDimensionCurveTerminator > list; }; /// 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. @@ -18108,53 +19278,53 @@ public: /// Whether the optional attribute LiningDepth is defined for this IfcDoorLiningProperties bool hasLiningDepth() const; /// Depth of the door lining, measured perpendicular to the plane of the door lining. If omitted (and with a given value to lining thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). - IfcPositiveLengthMeasure LiningDepth() const; - void setLiningDepth(IfcPositiveLengthMeasure v); + double LiningDepth() const; + void setLiningDepth(double v); /// Whether the optional attribute LiningThickness is defined for this IfcDoorLiningProperties bool hasLiningThickness() const; /// Thickness (width in plane parallel to door leaf) of the door lining. - IfcPositiveLengthMeasure LiningThickness() const; - void setLiningThickness(IfcPositiveLengthMeasure v); + double LiningThickness() const; + void setLiningThickness(double v); /// Whether the optional attribute ThresholdDepth is defined for this IfcDoorLiningProperties bool hasThresholdDepth() const; /// Depth (dimension in plane perpendicular to door leaf) of the door threshold. Only given if the door lining includes a threshold. If omitted (and with a given value to threshold thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). - IfcPositiveLengthMeasure ThresholdDepth() const; - void setThresholdDepth(IfcPositiveLengthMeasure v); + double ThresholdDepth() const; + void setThresholdDepth(double v); /// Whether the optional attribute ThresholdThickness is defined for this IfcDoorLiningProperties bool hasThresholdThickness() const; /// Thickness (width in plane parallel to door leaf) of the door threshold. Only given if the door lining includes a threshold and the parameter is known. - IfcPositiveLengthMeasure ThresholdThickness() const; - void setThresholdThickness(IfcPositiveLengthMeasure v); + double ThresholdThickness() const; + void setThresholdThickness(double v); /// Whether the optional attribute TransomThickness is defined for this IfcDoorLiningProperties bool hasTransomThickness() const; /// Thickness (width in plane parallel to door leaf) of the transom (if given) which divides the door leaf from a glazing (or window) above. - IfcPositiveLengthMeasure TransomThickness() const; - void setTransomThickness(IfcPositiveLengthMeasure v); + double TransomThickness() const; + void setTransomThickness(double v); /// Whether the optional attribute TransomOffset is defined for this IfcDoorLiningProperties bool hasTransomOffset() const; /// Offset of the transom (if given) which divides the door leaf from a glazing (or window) above. The offset is given from the bottom of the door opening. - IfcLengthMeasure TransomOffset() const; - void setTransomOffset(IfcLengthMeasure v); + double TransomOffset() const; + void setTransomOffset(double v); /// Whether the optional attribute LiningOffset is defined for this IfcDoorLiningProperties bool hasLiningOffset() const; /// Offset (dimension in plane perpendicular to door leaf) of the door lining. The offset is given as distance to the x axis of the local placement. - IfcLengthMeasure LiningOffset() const; - void setLiningOffset(IfcLengthMeasure v); + double LiningOffset() const; + void setLiningOffset(double v); /// Whether the optional attribute ThresholdOffset is defined for this IfcDoorLiningProperties bool hasThresholdOffset() const; /// Offset (dimension in plane perpendicular to door leaf) of the door threshold. The offset is given as distance to the x axis of the local placement. Only given if the door lining includes a threshold and the parameter is known. - IfcLengthMeasure ThresholdOffset() const; - void setThresholdOffset(IfcLengthMeasure v); + double ThresholdOffset() const; + void setThresholdOffset(double v); /// Whether the optional attribute CasingThickness is defined for this IfcDoorLiningProperties bool hasCasingThickness() const; /// Thickness of the casing (dimension in plane of the door leaf). If given it is applied equally to all four sides of the adjacent wall. - IfcPositiveLengthMeasure CasingThickness() const; - void setCasingThickness(IfcPositiveLengthMeasure v); + double CasingThickness() const; + void setCasingThickness(double v); /// Whether the optional attribute CasingDepth is defined for this IfcDoorLiningProperties bool hasCasingDepth() const; /// Depth of the casing (dimension in plane perpendicular to door leaf). If given it is applied equally to all four sides of the adjacent wall. - IfcPositiveLengthMeasure CasingDepth() const; - void setCasingDepth(IfcPositiveLengthMeasure v); + double CasingDepth() const; + void setCasingDepth(double v); /// Whether the optional attribute ShapeAspectStyle is defined for this IfcDoorLiningProperties bool hasShapeAspectStyle() const; /// Pointer to the shape aspect, if given. The shape aspect reflects the part of the door shape, which represents the door lining. @@ -18170,7 +19340,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDoorLiningProperties (IfcAbstractEntity* e); - IfcDoorLiningProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_LiningDepth, boost::optional< IfcPositiveLengthMeasure > v6_LiningThickness, boost::optional< IfcPositiveLengthMeasure > v7_ThresholdDepth, boost::optional< IfcPositiveLengthMeasure > v8_ThresholdThickness, boost::optional< IfcPositiveLengthMeasure > v9_TransomThickness, boost::optional< IfcLengthMeasure > v10_TransomOffset, boost::optional< IfcLengthMeasure > v11_LiningOffset, boost::optional< IfcLengthMeasure > v12_ThresholdOffset, boost::optional< IfcPositiveLengthMeasure > v13_CasingThickness, boost::optional< IfcPositiveLengthMeasure > v14_CasingDepth, IfcShapeAspect* v15_ShapeAspectStyle); + IfcDoorLiningProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_ThresholdDepth, boost::optional< double > v8_ThresholdThickness, boost::optional< double > v9_TransomThickness, boost::optional< double > v10_TransomOffset, boost::optional< double > v11_LiningOffset, boost::optional< double > v12_ThresholdOffset, boost::optional< double > v13_CasingThickness, boost::optional< double > v14_CasingDepth, IfcShapeAspect* v15_ShapeAspectStyle); typedef IfcTemplatedEntityList< IfcDoorLiningProperties > list; }; /// A door panel is normally a door leaf that opens to allow people or @@ -18223,16 +19393,16 @@ public: /// Whether the optional attribute PanelDepth is defined for this IfcDoorPanelProperties bool hasPanelDepth() const; /// Depth of the door panel, measured perpendicular to the plane of the door leaf. - IfcPositiveLengthMeasure PanelDepth() const; - void setPanelDepth(IfcPositiveLengthMeasure v); + double PanelDepth() const; + void setPanelDepth(double v); /// The PanelOperation defines the way of operation of that panel. The PanelOperation of the door panel has to correspond with the OperationType of the IfcDoorStyle by which it is referenced. IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum PanelOperation() const; void setPanelOperation(IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v); /// Whether the optional attribute PanelWidth is defined for this IfcDoorPanelProperties bool hasPanelWidth() const; /// Width of this panel, given as ratio relative to the total clear opening width of the door. If omited, it defaults to 1. A value has to be provided for all doors with OperationType's at IfcDoorStyle defining a door with more then one panel. - IfcNormalisedRatioMeasure PanelWidth() const; - void setPanelWidth(IfcNormalisedRatioMeasure v); + double PanelWidth() const; + void setPanelWidth(double v); /// Position of this panel within the door. The PanelPosition of the door panel has to correspond with the OperationType of the IfcDoorStyle by which it is referenced. IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum PanelPosition() const; void setPanelPosition(IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v); @@ -18251,7 +19421,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDoorPanelProperties (IfcAbstractEntity* e); - IfcDoorPanelProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_PanelDepth, IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v6_PanelOperation, boost::optional< IfcNormalisedRatioMeasure > v7_PanelWidth, IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v8_PanelPosition, IfcShapeAspect* v9_ShapeAspectStyle); + IfcDoorPanelProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v6_PanelOperation, boost::optional< double > v7_PanelWidth, IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v8_PanelPosition, IfcShapeAspect* v9_ShapeAspectStyle); typedef IfcTemplatedEntityList< IfcDoorPanelProperties > list; }; /// 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. @@ -18302,14 +19472,14 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDoorStyle (IfcAbstractEntity* e); - IfcDoorStyle (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v9_OperationType, IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + IfcDoorStyle (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v9_OperationType, IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); typedef IfcTemplatedEntityList< IfcDoorStyle > list; }; class IfcDraughtingCallout : public IfcGeometricRepresentationItem { public: - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Contents() const; - void setContents(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr Contents() const; + void setContents(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::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); } @@ -18405,7 +19575,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDraughtingPreDefinedColour (IfcAbstractEntity* e); - IfcDraughtingPreDefinedColour (IfcLabel v1_Name); + IfcDraughtingPreDefinedColour (std::string v1_Name); typedef IfcTemplatedEntityList< IfcDraughtingPreDefinedColour > list; }; /// The draughting predefined curve font type defines a selection of widely used curve fonts for draughting purposes by name. @@ -18431,7 +19601,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDraughtingPreDefinedCurveFont (IfcAbstractEntity* e); - IfcDraughtingPreDefinedCurveFont (IfcLabel v1_Name); + IfcDraughtingPreDefinedCurveFont (std::string v1_Name); typedef IfcTemplatedEntityList< IfcDraughtingPreDefinedCurveFont > list; }; /// 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. @@ -18545,8 +19715,8 @@ public: /// Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements. /// /// IFC2x2 Addendum 1 change: The attribute has been changed to be optional - IfcLabel MethodOfMeasurement() const; - void setMethodOfMeasurement(IfcLabel v); + std::string MethodOfMeasurement() const; + void setMethodOfMeasurement(std::string v); /// The individual quantities for the element, can be a set of length, area, volume, weight or count based quantities. IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr Quantities() const; void setQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v); @@ -18558,7 +19728,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElementQuantity (IfcAbstractEntity* e); - IfcElementQuantity (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_MethodOfMeasurement, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v6_Quantities); + IfcElementQuantity (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v6_Quantities); typedef IfcTemplatedEntityList< IfcElementQuantity > list; }; /// Definition from IAI: The IfcElementType @@ -18588,8 +19758,8 @@ public: /// Whether the optional attribute ElementType is defined for this IfcElementType bool hasElementType() const; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. - IfcLabel ElementType() const; - void setElementType(IfcLabel v); + std::string ElementType() const; + void setElementType(std::string v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_STRING; } return IfcTypeProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "ElementType"; } return IfcTypeProduct::getArgumentName(i); } @@ -18598,7 +19768,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElementType (IfcAbstractEntity* e); - IfcElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcElementType > list; }; /// Definition from ISO/CD 10303-42:1992: An elementary surface (IfcElementarySurface) is a simple analytic surface with defined parametric representation. @@ -18641,11 +19811,11 @@ public: class IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. - IfcPositiveLengthMeasure SemiAxis1() const; - void setSemiAxis1(IfcPositiveLengthMeasure v); + double SemiAxis1() const; + void setSemiAxis1(double v); /// The second radius of the ellipse. It is measured along the direction of Position.P[2]. - IfcPositiveLengthMeasure SemiAxis2() const; - void setSemiAxis2(IfcPositiveLengthMeasure v); + double SemiAxis2() const; + void setSemiAxis2(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "SemiAxis1"; case 4: return "SemiAxis2"; } return IfcParameterizedProfileDef::getArgumentName(i); } @@ -18654,7 +19824,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEllipseProfileDef (IfcAbstractEntity* e); - IfcEllipseProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_SemiAxis1, IfcPositiveLengthMeasure v5_SemiAxis2); + IfcEllipseProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); typedef IfcTemplatedEntityList< IfcEllipseProfileDef > list; }; @@ -18666,8 +19836,8 @@ public: void setEnergySequence(IfcEnergySequenceEnum::IfcEnergySequenceEnum v); /// Whether the optional attribute UserDefinedEnergySequence is defined for this IfcEnergyProperties bool hasUserDefinedEnergySequence() const; - IfcLabel UserDefinedEnergySequence() const; - void setUserDefinedEnergySequence(IfcLabel v); + std::string UserDefinedEnergySequence() const; + void setUserDefinedEnergySequence(std::string v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENUMERATION; case 5: return IfcUtil::Argument_STRING; } return IfcPropertySetDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "EnergySequence"; case 5: return "UserDefinedEnergySequence"; } return IfcPropertySetDefinition::getArgumentName(i); } @@ -18676,7 +19846,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEnergyProperties (IfcAbstractEntity* e); - IfcEnergyProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcEnergySequenceEnum::IfcEnergySequenceEnum > v5_EnergySequence, boost::optional< IfcLabel > v6_UserDefinedEnergySequence); + IfcEnergyProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcEnergySequenceEnum::IfcEnergySequenceEnum > v5_EnergySequence, boost::optional< std::string > v6_UserDefinedEnergySequence); typedef IfcTemplatedEntityList< IfcEnergyProperties > list; }; /// The IfcExtrudedAreaSolid is defined by sweeping a cross @@ -18754,8 +19924,8 @@ public: void setExtrudedDirection(IfcDirection* v); /// The distance the surface is to be swept along the ExtrudedDirection /// . - IfcPositiveLengthMeasure Depth() const; - void setDepth(IfcPositiveLengthMeasure v); + double Depth() const; + void setDepth(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; } return IfcSweptAreaSolid::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "ExtrudedDirection"; case 3: return "Depth"; } return IfcSweptAreaSolid::getArgumentName(i); } @@ -18764,7 +19934,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcExtrudedAreaSolid (IfcAbstractEntity* e); - IfcExtrudedAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, IfcPositiveLengthMeasure v4_Depth); + IfcExtrudedAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, double v4_Depth); typedef IfcTemplatedEntityList< IfcExtrudedAreaSolid > list; }; /// 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. @@ -18850,8 +20020,8 @@ public: /// 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. - IfcHatchLineDistanceSelect StartOfNextHatchLine() const; - void setStartOfNextHatchLine(IfcHatchLineDistanceSelect v); + IfcHatchLineDistanceSelect* StartOfNextHatchLine() const; + void setStartOfNextHatchLine(IfcHatchLineDistanceSelect* v); /// Whether the optional attribute PointOfReferenceHatchLine is defined for this IfcFillAreaStyleHatching bool hasPointOfReferenceHatchLine() const; /// 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. @@ -18869,8 +20039,8 @@ public: IfcCartesianPoint* PatternStart() const; void setPatternStart(IfcCartesianPoint* v); /// A plane angle measure determining the direction of the parallel hatching lines. - IfcPlaneAngleMeasure HatchLineAngle() const; - void setHatchLineAngle(IfcPlaneAngleMeasure v); + double HatchLineAngle() const; + void setHatchLineAngle(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "HatchLineAppearance"; case 1: return "StartOfNextHatchLine"; case 2: return "PointOfReferenceHatchLine"; case 3: return "PatternStart"; case 4: return "HatchLineAngle"; } return IfcGeometricRepresentationItem::getArgumentName(i); } @@ -18879,7 +20049,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFillAreaStyleHatching (IfcAbstractEntity* e); - IfcFillAreaStyleHatching (IfcCurveStyle* v1_HatchLineAppearance, IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, IfcCartesianPoint* v3_PointOfReferenceHatchLine, IfcCartesianPoint* v4_PatternStart, IfcPlaneAngleMeasure v5_HatchLineAngle); + IfcFillAreaStyleHatching (IfcCurveStyle* v1_HatchLineAppearance, IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, IfcCartesianPoint* v3_PointOfReferenceHatchLine, IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle); typedef IfcTemplatedEntityList< IfcFillAreaStyleHatching > list; }; /// The fill area style tile symbol with style is a symbol that is used as a tile within an annotated tiling. @@ -18920,11 +20090,11 @@ public: IfcOneDirectionRepeatFactor* TilingPattern() const; void setTilingPattern(IfcOneDirectionRepeatFactor* v); /// A set of constituents of the tile. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Tiles() const; - void setTiles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr Tiles() const; + void setTiles(IfcEntityList::ptr v); /// The scale factor applied to each tile as it is placed in the annotation fill area. - IfcPositiveRatioMeasure TilingScale() const; - void setTilingScale(IfcPositiveRatioMeasure v); + double TilingScale() const; + void setTilingScale(double v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TilingPattern"; case 1: return "Tiles"; case 2: return "TilingScale"; } return IfcGeometricRepresentationItem::getArgumentName(i); } @@ -18933,7 +20103,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFillAreaStyleTiles (IfcAbstractEntity* e); - IfcFillAreaStyleTiles (IfcOneDirectionRepeatFactor* v1_TilingPattern, IfcEntityList::ptr v2_Tiles, IfcPositiveRatioMeasure v3_TilingScale); + IfcFillAreaStyleTiles (IfcOneDirectionRepeatFactor* v1_TilingPattern, IfcEntityList::ptr v2_Tiles, double v3_TilingScale); typedef IfcTemplatedEntityList< IfcFillAreaStyleTiles > list; }; @@ -18961,16 +20131,16 @@ public: void setPressureTimeSeries(IfcTimeSeries* v); /// Whether the optional attribute UserDefinedPropertySource is defined for this IfcFluidFlowProperties bool hasUserDefinedPropertySource() const; - IfcLabel UserDefinedPropertySource() const; - void setUserDefinedPropertySource(IfcLabel v); + std::string UserDefinedPropertySource() const; + void setUserDefinedPropertySource(std::string v); /// Whether the optional attribute TemperatureSingleValue is defined for this IfcFluidFlowProperties bool hasTemperatureSingleValue() const; - IfcThermodynamicTemperatureMeasure TemperatureSingleValue() const; - void setTemperatureSingleValue(IfcThermodynamicTemperatureMeasure v); + double TemperatureSingleValue() const; + void setTemperatureSingleValue(double v); /// Whether the optional attribute WetBulbTemperatureSingleValue is defined for this IfcFluidFlowProperties bool hasWetBulbTemperatureSingleValue() const; - IfcThermodynamicTemperatureMeasure WetBulbTemperatureSingleValue() const; - void setWetBulbTemperatureSingleValue(IfcThermodynamicTemperatureMeasure v); + double WetBulbTemperatureSingleValue() const; + void setWetBulbTemperatureSingleValue(double v); /// Whether the optional attribute WetBulbTemperatureTimeSeries is defined for this IfcFluidFlowProperties bool hasWetBulbTemperatureTimeSeries() const; IfcTimeSeries* WetBulbTemperatureTimeSeries() const; @@ -18981,20 +20151,20 @@ public: void setTemperatureTimeSeries(IfcTimeSeries* v); /// Whether the optional attribute FlowrateSingleValue is defined for this IfcFluidFlowProperties bool hasFlowrateSingleValue() const; - IfcDerivedMeasureValue FlowrateSingleValue() const; - void setFlowrateSingleValue(IfcDerivedMeasureValue v); + IfcDerivedMeasureValue* FlowrateSingleValue() const; + void setFlowrateSingleValue(IfcDerivedMeasureValue* v); /// Whether the optional attribute FlowConditionSingleValue is defined for this IfcFluidFlowProperties bool hasFlowConditionSingleValue() const; - IfcPositiveRatioMeasure FlowConditionSingleValue() const; - void setFlowConditionSingleValue(IfcPositiveRatioMeasure v); + double FlowConditionSingleValue() const; + void setFlowConditionSingleValue(double v); /// Whether the optional attribute VelocitySingleValue is defined for this IfcFluidFlowProperties bool hasVelocitySingleValue() const; - IfcLinearVelocityMeasure VelocitySingleValue() const; - void setVelocitySingleValue(IfcLinearVelocityMeasure v); + double VelocitySingleValue() const; + void setVelocitySingleValue(double v); /// Whether the optional attribute PressureSingleValue is defined for this IfcFluidFlowProperties bool hasPressureSingleValue() const; - IfcPressureMeasure PressureSingleValue() const; - void setPressureSingleValue(IfcPressureMeasure v); + double PressureSingleValue() const; + void setPressureSingleValue(double v); virtual unsigned int getArgumentCount() const { return 19; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENUMERATION; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY; case 8: return IfcUtil::Argument_ENTITY; case 9: return IfcUtil::Argument_ENTITY; case 10: return IfcUtil::Argument_STRING; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_ENTITY; case 14: return IfcUtil::Argument_ENTITY; case 15: return IfcUtil::Argument_ENTITY; case 16: return IfcUtil::Argument_DOUBLE; case 17: return IfcUtil::Argument_DOUBLE; case 18: return IfcUtil::Argument_DOUBLE; } return IfcPropertySetDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "PropertySource"; case 5: return "FlowConditionTimeSeries"; case 6: return "VelocityTimeSeries"; case 7: return "FlowrateTimeSeries"; case 8: return "Fluid"; case 9: return "PressureTimeSeries"; case 10: return "UserDefinedPropertySource"; case 11: return "TemperatureSingleValue"; case 12: return "WetBulbTemperatureSingleValue"; case 13: return "WetBulbTemperatureTimeSeries"; case 14: return "TemperatureTimeSeries"; case 15: return "FlowrateSingleValue"; case 16: return "FlowConditionSingleValue"; case 17: return "VelocitySingleValue"; case 18: return "PressureSingleValue"; } return IfcPropertySetDefinition::getArgumentName(i); } @@ -19003,7 +20173,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFluidFlowProperties (IfcAbstractEntity* e); - IfcFluidFlowProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPropertySourceEnum::IfcPropertySourceEnum v5_PropertySource, IfcTimeSeries* v6_FlowConditionTimeSeries, IfcTimeSeries* v7_VelocityTimeSeries, IfcTimeSeries* v8_FlowrateTimeSeries, IfcMaterial* v9_Fluid, IfcTimeSeries* v10_PressureTimeSeries, boost::optional< IfcLabel > v11_UserDefinedPropertySource, boost::optional< IfcThermodynamicTemperatureMeasure > v12_TemperatureSingleValue, boost::optional< IfcThermodynamicTemperatureMeasure > v13_WetBulbTemperatureSingleValue, IfcTimeSeries* v14_WetBulbTemperatureTimeSeries, IfcTimeSeries* v15_TemperatureTimeSeries, boost::optional< IfcDerivedMeasureValue > v16_FlowrateSingleValue, boost::optional< IfcPositiveRatioMeasure > v17_FlowConditionSingleValue, boost::optional< IfcLinearVelocityMeasure > v18_VelocitySingleValue, boost::optional< IfcPressureMeasure > v19_PressureSingleValue); + IfcFluidFlowProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPropertySourceEnum::IfcPropertySourceEnum v5_PropertySource, IfcTimeSeries* v6_FlowConditionTimeSeries, IfcTimeSeries* v7_VelocityTimeSeries, IfcTimeSeries* v8_FlowrateTimeSeries, IfcMaterial* v9_Fluid, IfcTimeSeries* v10_PressureTimeSeries, boost::optional< std::string > v11_UserDefinedPropertySource, boost::optional< double > v12_TemperatureSingleValue, boost::optional< double > v13_WetBulbTemperatureSingleValue, IfcTimeSeries* v14_WetBulbTemperatureTimeSeries, IfcTimeSeries* v15_TemperatureTimeSeries, IfcDerivedMeasureValue* v16_FlowrateSingleValue, boost::optional< double > v17_FlowConditionSingleValue, boost::optional< double > v18_VelocitySingleValue, boost::optional< double > v19_PressureSingleValue); typedef IfcTemplatedEntityList< IfcFluidFlowProperties > list; }; /// Definition from IAI: The @@ -19044,7 +20214,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFurnishingElementType (IfcAbstractEntity* e); - IfcFurnishingElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcFurnishingElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcFurnishingElementType > list; }; /// The furnishing element type IfcFurnitureType defines commonly shared information for occurrences of furnitures. The set of shared information may include: @@ -19097,7 +20267,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFurnitureType (IfcAbstractEntity* e); - IfcFurnitureType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v10_AssemblyPlace); + IfcFurnitureType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v10_AssemblyPlace); typedef IfcTemplatedEntityList< IfcFurnitureType > list; }; /// Definition from ISO/CD 10303-42:1992: A geometric curve set is a collection of two or three dimensional points and curves. @@ -19186,22 +20356,22 @@ public: class IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: /// Total extent of the width, defined parallel to the x axis of the position coordinate system. - IfcPositiveLengthMeasure OverallWidth() const; - void setOverallWidth(IfcPositiveLengthMeasure v); + double OverallWidth() const; + void setOverallWidth(double v); /// Total extent of the depth, defined parallel to the y axis of the position coordinate system. - IfcPositiveLengthMeasure OverallDepth() const; - void setOverallDepth(IfcPositiveLengthMeasure v); + double OverallDepth() const; + void setOverallDepth(double v); /// Thickness of the web of the I-shape. The web is centred on the x-axis and the y-axis of the position coordinate system. - IfcPositiveLengthMeasure WebThickness() const; - void setWebThickness(IfcPositiveLengthMeasure v); + double WebThickness() const; + void setWebThickness(double v); /// Flange thickness of the I-shape. Both, the upper and the lower flanges have the same thickness and they are centred on the y-axis of the position coordinate system. - IfcPositiveLengthMeasure FlangeThickness() const; - void setFlangeThickness(IfcPositiveLengthMeasure v); + double FlangeThickness() const; + void setFlangeThickness(double v); /// Whether the optional attribute FilletRadius is defined for this IfcIShapeProfileDef bool hasFilletRadius() const; /// The fillet between the web and the flange. - IfcPositiveLengthMeasure FilletRadius() const; - void setFilletRadius(IfcPositiveLengthMeasure v); + double FilletRadius() const; + void setFilletRadius(double v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "OverallWidth"; case 4: return "OverallDepth"; case 5: return "WebThickness"; case 6: return "FlangeThickness"; case 7: return "FilletRadius"; } return IfcParameterizedProfileDef::getArgumentName(i); } @@ -19210,7 +20380,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcIShapeProfileDef (IfcAbstractEntity* e); - IfcIShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_OverallWidth, IfcPositiveLengthMeasure v5_OverallDepth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcPositiveLengthMeasure > v8_FilletRadius); + IfcIShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius); typedef IfcTemplatedEntityList< IfcIShapeProfileDef > list; }; /// IfcLShapeProfileDef @@ -19267,39 +20437,39 @@ public: class IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: /// Leg length, see illustration above (= h). Same as the overall depth. - IfcPositiveLengthMeasure Depth() const; - void setDepth(IfcPositiveLengthMeasure v); + double Depth() const; + void setDepth(double v); /// Whether the optional attribute Width is defined for this IfcLShapeProfileDef bool hasWidth() const; /// Leg length, see illustration above (= b). Same as the overall width. - IfcPositiveLengthMeasure Width() const; - void setWidth(IfcPositiveLengthMeasure v); + double Width() const; + void setWidth(double v); /// Constant wall thickness of profile, see illustration above (= ts). - IfcPositiveLengthMeasure Thickness() const; - void setThickness(IfcPositiveLengthMeasure v); + double Thickness() const; + void setThickness(double v); /// Whether the optional attribute FilletRadius is defined for this IfcLShapeProfileDef bool hasFilletRadius() const; /// Fillet radius according the above illustration (= r1). - IfcPositiveLengthMeasure FilletRadius() const; - void setFilletRadius(IfcPositiveLengthMeasure v); + double FilletRadius() const; + void setFilletRadius(double v); /// Whether the optional attribute EdgeRadius is defined for this IfcLShapeProfileDef bool hasEdgeRadius() const; /// Edge radius according the above illustration (= r2). - IfcPositiveLengthMeasure EdgeRadius() const; - void setEdgeRadius(IfcPositiveLengthMeasure v); + double EdgeRadius() const; + void setEdgeRadius(double v); /// Whether the optional attribute LegSlope is defined for this IfcLShapeProfileDef bool hasLegSlope() const; /// Slope of the inner face of each leg of the profile. - IfcPlaneAngleMeasure LegSlope() const; - void setLegSlope(IfcPlaneAngleMeasure v); + double LegSlope() const; + void setLegSlope(double v); /// Whether the optional attribute CentreOfGravityInX is defined for this IfcLShapeProfileDef bool hasCentreOfGravityInX() const; - IfcPositiveLengthMeasure CentreOfGravityInX() const; - void setCentreOfGravityInX(IfcPositiveLengthMeasure v); + double CentreOfGravityInX() const; + void setCentreOfGravityInX(double v); /// Whether the optional attribute CentreOfGravityInY is defined for this IfcLShapeProfileDef bool hasCentreOfGravityInY() const; - IfcPositiveLengthMeasure CentreOfGravityInY() const; - void setCentreOfGravityInY(IfcPositiveLengthMeasure v); + double CentreOfGravityInY() const; + void setCentreOfGravityInY(double v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Depth"; case 4: return "Width"; case 5: return "Thickness"; case 6: return "FilletRadius"; case 7: return "EdgeRadius"; case 8: return "LegSlope"; case 9: return "CentreOfGravityInX"; case 10: return "CentreOfGravityInY"; } return IfcParameterizedProfileDef::getArgumentName(i); } @@ -19308,7 +20478,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLShapeProfileDef (IfcAbstractEntity* e); - IfcLShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, boost::optional< IfcPositiveLengthMeasure > v5_Width, IfcPositiveLengthMeasure v6_Thickness, boost::optional< IfcPositiveLengthMeasure > v7_FilletRadius, boost::optional< IfcPositiveLengthMeasure > v8_EdgeRadius, boost::optional< IfcPlaneAngleMeasure > v9_LegSlope, boost::optional< IfcPositiveLengthMeasure > v10_CentreOfGravityInX, boost::optional< IfcPositiveLengthMeasure > v11_CentreOfGravityInY); + IfcLShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, boost::optional< double > v5_Width, double v6_Thickness, boost::optional< double > v7_FilletRadius, boost::optional< double > v8_EdgeRadius, boost::optional< double > v9_LegSlope, boost::optional< double > v10_CentreOfGravityInX, boost::optional< double > v11_CentreOfGravityInY); typedef IfcTemplatedEntityList< IfcLShapeProfileDef > list; }; /// 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: @@ -19509,8 +20679,8 @@ public: /// Whether the optional attribute ObjectType is defined for this IfcObject bool hasObjectType() const; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute PredefinedType is set to USERDEFINED. - IfcLabel ObjectType() const; - void setObjectType(IfcLabel v); + std::string ObjectType() const; + void setObjectType(std::string v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_STRING; } return IfcObjectDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "ObjectType"; } return IfcObjectDefinition::getArgumentName(i); } @@ -19520,7 +20690,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcObject (IfcAbstractEntity* e); - IfcObject (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); + IfcObject (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType); typedef IfcTemplatedEntityList< IfcObject > list; }; /// 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. @@ -19540,8 +20710,8 @@ public: IfcCurve* BasisCurve() const; void setBasisCurve(IfcCurve* v); /// The distance of the offset curve from the basis curve. distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).) - IfcLengthMeasure Distance() const; - void setDistance(IfcLengthMeasure v); + double Distance() const; + void setDistance(double v); /// An indication of whether the offset curve self-intersects; this is for information only. bool SelfIntersect() const; void setSelfIntersect(bool v); @@ -19553,7 +20723,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOffsetCurve2D (IfcAbstractEntity* e); - IfcOffsetCurve2D (IfcCurve* v1_BasisCurve, IfcLengthMeasure v2_Distance, bool v3_SelfIntersect); + IfcOffsetCurve2D (IfcCurve* v1_BasisCurve, double v2_Distance, bool v3_SelfIntersect); typedef IfcTemplatedEntityList< IfcOffsetCurve2D > list; }; /// 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. @@ -19577,8 +20747,8 @@ public: IfcCurve* BasisCurve() const; void setBasisCurve(IfcCurve* v); /// The distance of the offset curve from the basis curve. The distance may be positive, negative or zero. - IfcLengthMeasure Distance() const; - void setDistance(IfcLengthMeasure v); + double Distance() const; + void setDistance(double v); /// An indication of whether the offset curve self-intersects, this is for information only. bool SelfIntersect() const; void setSelfIntersect(bool v); @@ -19593,7 +20763,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOffsetCurve3D (IfcAbstractEntity* e); - IfcOffsetCurve3D (IfcCurve* v1_BasisCurve, IfcLengthMeasure v2_Distance, bool v3_SelfIntersect, IfcDirection* v4_RefDirection); + IfcOffsetCurve3D (IfcCurve* v1_BasisCurve, double v2_Distance, bool v3_SelfIntersect, IfcDirection* v4_RefDirection); typedef IfcTemplatedEntityList< IfcOffsetCurve3D > list; }; /// This entity is a description of a panel within a @@ -19638,13 +20808,13 @@ public: /// Whether the optional attribute FrameDepth is defined for this IfcPermeableCoveringProperties bool hasFrameDepth() const; /// Depth of panel frame (used to include the permeable covering), measured from front face to back face horizontally (i.e. perpendicular to the window or door (elevation) plane. - IfcPositiveLengthMeasure FrameDepth() const; - void setFrameDepth(IfcPositiveLengthMeasure v); + double FrameDepth() const; + void setFrameDepth(double v); /// Whether the optional attribute FrameThickness is defined for this IfcPermeableCoveringProperties bool hasFrameThickness() const; /// Width of panel frame (used to include the permeable covering), measured from inside of panel (at permeable covering) to outside of panel (at lining), i.e. parallel to the window or door (elevation) plane. - IfcPositiveLengthMeasure FrameThickness() const; - void setFrameThickness(IfcPositiveLengthMeasure v); + double FrameThickness() const; + void setFrameThickness(double v); /// Whether the optional attribute ShapeAspectStyle is defined for this IfcPermeableCoveringProperties bool hasShapeAspectStyle() const; /// Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the permeable covering. @@ -19658,7 +20828,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPermeableCoveringProperties (IfcAbstractEntity* e); - IfcPermeableCoveringProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< IfcPositiveLengthMeasure > v7_FrameDepth, boost::optional< IfcPositiveLengthMeasure > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle); + IfcPermeableCoveringProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle); typedef IfcTemplatedEntityList< IfcPermeableCoveringProperties > list; }; /// 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. @@ -19671,8 +20841,8 @@ 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. - IfcAxis2Placement Placement() const; - void setPlacement(IfcAxis2Placement v); + IfcAxis2Placement* Placement() const; + void setPlacement(IfcAxis2Placement* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; } return IfcPlanarExtent::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Placement"; } return IfcPlanarExtent::getArgumentName(i); } @@ -19681,7 +20851,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPlanarBox (IfcAbstractEntity* e); - IfcPlanarBox (IfcLengthMeasure v1_SizeInX, IfcLengthMeasure v2_SizeInY, IfcAxis2Placement v3_Placement); + IfcPlanarBox (double v1_SizeInX, double v2_SizeInY, IfcAxis2Placement* v3_Placement); typedef IfcTemplatedEntityList< IfcPlanarBox > list; }; /// 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: @@ -19786,7 +20956,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProcess (IfcAbstractEntity* e); - IfcProcess (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); + IfcProcess (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType); typedef IfcTemplatedEntityList< IfcProcess > list; }; /// Any object that relates to a @@ -19901,7 +21071,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProduct (IfcAbstractEntity* e); - IfcProduct (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); + IfcProduct (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); typedef IfcTemplatedEntityList< IfcProduct > list; }; /// IfcProject indicates the undertaking of some design, engineering, construction, or @@ -19952,12 +21122,12 @@ class IfcProject : public IfcObject { public: /// Whether the optional attribute LongName is defined for this IfcProject bool hasLongName() const; - IfcLabel LongName() const; - void setLongName(IfcLabel v); + std::string LongName() const; + void setLongName(std::string v); /// Whether the optional attribute Phase is defined for this IfcProject bool hasPhase() const; - IfcLabel Phase() const; - void setPhase(IfcLabel v); + std::string Phase() const; + void setPhase(std::string v); IfcTemplatedEntityList< IfcRepresentationContext >::ptr RepresentationContexts() const; void setRepresentationContexts(IfcTemplatedEntityList< IfcRepresentationContext >::ptr v); IfcUnitAssignment* UnitsInContext() const; @@ -19970,7 +21140,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProject (IfcAbstractEntity* e); - IfcProject (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcLabel > v7_Phase, IfcTemplatedEntityList< IfcRepresentationContext >::ptr v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext); + IfcProject (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, IfcTemplatedEntityList< IfcRepresentationContext >::ptr v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext); typedef IfcTemplatedEntityList< IfcProject > list; }; @@ -19984,7 +21154,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProjectionCurve (IfcAbstractEntity* e); - IfcProjectionCurve (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< IfcLabel > v3_Name); + IfcProjectionCurve (IfcRepresentationItem* v1_Item, IfcTemplatedEntityList< IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcProjectionCurve > list; }; /// IfcPropertySet defines all dynamically extensible @@ -20053,7 +21223,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertySet (IfcAbstractEntity* e); - IfcPropertySet (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcProperty >::ptr v5_HasProperties); + IfcPropertySet (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcProperty >::ptr v5_HasProperties); typedef IfcTemplatedEntityList< IfcPropertySet > list; }; /// 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. @@ -20080,8 +21250,8 @@ public: /// Whether the optional attribute Tag is defined for this IfcProxy bool hasTag() const; /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. - IfcLabel Tag() const; - void setTag(IfcLabel v); + std::string Tag() const; + void setTag(std::string v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_STRING; } return IfcProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "ProxyType"; case 8: return "Tag"; } return IfcProduct::getArgumentName(i); } @@ -20090,7 +21260,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProxy (IfcAbstractEntity* e); - IfcProxy (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcObjectTypeEnum::IfcObjectTypeEnum v8_ProxyType, boost::optional< IfcLabel > v9_Tag); + IfcProxy (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcObjectTypeEnum::IfcObjectTypeEnum v8_ProxyType, boost::optional< std::string > v9_Tag); typedef IfcTemplatedEntityList< IfcProxy > list; }; /// 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. @@ -20116,18 +21286,18 @@ public: class IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: /// Thickness of the material. - IfcPositiveLengthMeasure WallThickness() const; - void setWallThickness(IfcPositiveLengthMeasure v); + double WallThickness() const; + void setWallThickness(double v); /// Whether the optional attribute InnerFilletRadius is defined for this IfcRectangleHollowProfileDef bool hasInnerFilletRadius() const; /// Inner corner radius. - IfcPositiveLengthMeasure InnerFilletRadius() const; - void setInnerFilletRadius(IfcPositiveLengthMeasure v); + double InnerFilletRadius() const; + void setInnerFilletRadius(double v); /// Whether the optional attribute OuterFilletRadius is defined for this IfcRectangleHollowProfileDef bool hasOuterFilletRadius() const; /// Outer corner radius. - IfcPositiveLengthMeasure OuterFilletRadius() const; - void setOuterFilletRadius(IfcPositiveLengthMeasure v); + double OuterFilletRadius() const; + void setOuterFilletRadius(double v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; } return IfcRectangleProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "WallThickness"; case 6: return "InnerFilletRadius"; case 7: return "OuterFilletRadius"; } return IfcRectangleProfileDef::getArgumentName(i); } @@ -20136,7 +21306,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRectangleHollowProfileDef (IfcAbstractEntity* e); - IfcRectangleHollowProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim, IfcPositiveLengthMeasure v6_WallThickness, boost::optional< IfcPositiveLengthMeasure > v7_InnerFilletRadius, boost::optional< IfcPositiveLengthMeasure > v8_OuterFilletRadius); + IfcRectangleHollowProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius); typedef IfcTemplatedEntityList< IfcRectangleHollowProfileDef > list; }; /// The IfcRectangularPyramid is a Construction Solid @@ -20230,14 +21400,14 @@ public: class IfcRectangularPyramid : public IfcCsgPrimitive3D { public: /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. - IfcPositiveLengthMeasure XLength() const; - void setXLength(IfcPositiveLengthMeasure v); + double XLength() const; + void setXLength(double v); /// The length of the base measured along the placement Y axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[2]. - IfcPositiveLengthMeasure YLength() const; - void setYLength(IfcPositiveLengthMeasure v); + double YLength() const; + void setYLength(double v); /// The height of the apex above the plane of the base, measured in the direction of the placement Z axis, the SELF\IfcCsgPrimitive3D.Position.P[2]. - IfcPositiveLengthMeasure Height() const; - void setHeight(IfcPositiveLengthMeasure v); + double Height() const; + void setHeight(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "XLength"; case 2: return "YLength"; case 3: return "Height"; } return IfcCsgPrimitive3D::getArgumentName(i); } @@ -20246,7 +21416,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRectangularPyramid (IfcAbstractEntity* e); - IfcRectangularPyramid (IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_XLength, IfcPositiveLengthMeasure v3_YLength, IfcPositiveLengthMeasure v4_Height); + IfcRectangularPyramid (IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height); typedef IfcTemplatedEntityList< IfcRectangularPyramid > list; }; /// 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. @@ -20270,17 +21440,17 @@ public: IfcSurface* BasisSurface() const; void setBasisSurface(IfcSurface* v); /// First u parametric value. - IfcParameterValue U1() const; - void setU1(IfcParameterValue v); + double U1() const; + void setU1(double v); /// First v parametric value. - IfcParameterValue V1() const; - void setV1(IfcParameterValue v); + double V1() const; + void setV1(double v); /// Second u parametric value. - IfcParameterValue U2() const; - void setU2(IfcParameterValue v); + double U2() const; + void setU2(double v); /// Second v parametric value. - IfcParameterValue V2() const; - void setV2(IfcParameterValue v); + double V2() const; + void setV2(double v); /// Flag to indicate whether the direction of the first parameter of the trimmed surface agrees with or opposes the sense of u in the basis surface. bool Usense() const; void setUsense(bool v); @@ -20295,7 +21465,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRectangularTrimmedSurface (IfcAbstractEntity* e); - IfcRectangularTrimmedSurface (IfcSurface* v1_BasisSurface, IfcParameterValue v2_U1, IfcParameterValue v3_V1, IfcParameterValue v4_U2, IfcParameterValue v5_V2, bool v6_Usense, bool v7_Vsense); + IfcRectangularTrimmedSurface (IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); typedef IfcTemplatedEntityList< IfcRectangularTrimmedSurface > list; }; /// 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. @@ -20328,7 +21498,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssigns (IfcAbstractEntity* e); - IfcRelAssigns (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType); + IfcRelAssigns (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType); typedef IfcTemplatedEntityList< IfcRelAssigns > list; }; /// The objectified relationship IfcRelAssignsToActor handles the assignment of objects (subtypes of IfcObject) to an actor (subtypes of IfcActor). @@ -20358,7 +21528,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssignsToActor (IfcAbstractEntity* e); - IfcRelAssignsToActor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole); + IfcRelAssignsToActor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole); typedef IfcTemplatedEntityList< IfcRelAssignsToActor > list; }; /// 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). @@ -20379,7 +21549,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssignsToControl (IfcAbstractEntity* e); - IfcRelAssignsToControl (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl); + IfcRelAssignsToControl (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl); typedef IfcTemplatedEntityList< IfcRelAssignsToControl > list; }; /// 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). @@ -20408,7 +21578,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssignsToGroup (IfcAbstractEntity* e); - IfcRelAssignsToGroup (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup); + IfcRelAssignsToGroup (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup); typedef IfcTemplatedEntityList< IfcRelAssignsToGroup > list; }; /// 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. @@ -20453,7 +21623,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssignsToProcess (IfcAbstractEntity* e); - IfcRelAssignsToProcess (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProcess* v7_RelatingProcess, IfcMeasureWithUnit* v8_QuantityInProcess); + IfcRelAssignsToProcess (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProcess* v7_RelatingProcess, IfcMeasureWithUnit* v8_QuantityInProcess); typedef IfcTemplatedEntityList< IfcRelAssignsToProcess > list; }; /// 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: @@ -20479,7 +21649,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssignsToProduct (IfcAbstractEntity* e); - IfcRelAssignsToProduct (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProduct* v7_RelatingProduct); + IfcRelAssignsToProduct (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProduct* v7_RelatingProduct); typedef IfcTemplatedEntityList< IfcRelAssignsToProduct > list; }; @@ -20493,7 +21663,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssignsToProjectOrder (IfcAbstractEntity* e); - IfcRelAssignsToProjectOrder (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl); + IfcRelAssignsToProjectOrder (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl); typedef IfcTemplatedEntityList< IfcRelAssignsToProjectOrder > list; }; /// The objectified relationship IfcRelAssignsToResource handles the assignment of objects @@ -20517,7 +21687,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssignsToResource (IfcAbstractEntity* e); - IfcRelAssignsToResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcResource* v7_RelatingResource); + IfcRelAssignsToResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcResource* v7_RelatingResource); typedef IfcTemplatedEntityList< IfcRelAssignsToResource > list; }; /// The association relationship @@ -20576,7 +21746,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssociates (IfcAbstractEntity* e); - IfcRelAssociates (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects); + IfcRelAssociates (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects); typedef IfcTemplatedEntityList< IfcRelAssociates > list; }; @@ -20592,7 +21762,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssociatesAppliedValue (IfcAbstractEntity* e); - IfcRelAssociatesAppliedValue (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcAppliedValue* v6_RelatingAppliedValue); + IfcRelAssociatesAppliedValue (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcAppliedValue* v6_RelatingAppliedValue); typedef IfcTemplatedEntityList< IfcRelAssociatesAppliedValue > list; }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. @@ -20611,7 +21781,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssociatesApproval (IfcAbstractEntity* e); - IfcRelAssociatesApproval (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcApproval* v6_RelatingApproval); + IfcRelAssociatesApproval (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcApproval* v6_RelatingApproval); typedef IfcTemplatedEntityList< IfcRelAssociatesApproval > list; }; /// The objectified relationship @@ -20647,8 +21817,8 @@ public: class IfcRelAssociatesClassification : public IfcRelAssociates { public: /// Classification applied to the objects. - IfcClassificationNotationSelect RelatingClassification() const; - void setRelatingClassification(IfcClassificationNotationSelect v); + IfcClassificationNotationSelect* RelatingClassification() const; + void setRelatingClassification(IfcClassificationNotationSelect* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RelatingClassification"; } return IfcRelAssociates::getArgumentName(i); } @@ -20657,7 +21827,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssociatesClassification (IfcAbstractEntity* e); - IfcRelAssociatesClassification (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcClassificationNotationSelect v6_RelatingClassification); + IfcRelAssociatesClassification (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcClassificationNotationSelect* v6_RelatingClassification); typedef IfcTemplatedEntityList< IfcRelAssociatesClassification > list; }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. @@ -20666,8 +21836,8 @@ public: class IfcRelAssociatesConstraint : public IfcRelAssociates { public: /// The intent of the constraint usage with regard to its related IfcConstraint and IfcObjects, IfcPropertyDefinitions or IfcRelationships. Typical values can be e.g. RATIONALE or EXPECTED PERFORMANCE. - IfcLabel Intent() const; - void setIntent(IfcLabel v); + std::string Intent() const; + void setIntent(std::string v); /// Reference to constraint that is being applied using this relationship. IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(IfcConstraint* v); @@ -20679,7 +21849,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssociatesConstraint (IfcAbstractEntity* e); - IfcRelAssociatesConstraint (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcLabel v6_Intent, IfcConstraint* v7_RelatingConstraint); + IfcRelAssociatesConstraint (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, std::string v6_Intent, IfcConstraint* v7_RelatingConstraint); typedef IfcTemplatedEntityList< IfcRelAssociatesConstraint > list; }; /// 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). @@ -20692,8 +21862,8 @@ public: class IfcRelAssociatesDocument : public IfcRelAssociates { public: /// Document information or reference which is applied to the objects. - IfcDocumentSelect RelatingDocument() const; - void setRelatingDocument(IfcDocumentSelect v); + IfcDocumentSelect* RelatingDocument() const; + void setRelatingDocument(IfcDocumentSelect* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RelatingDocument"; } return IfcRelAssociates::getArgumentName(i); } @@ -20702,7 +21872,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssociatesDocument (IfcAbstractEntity* e); - IfcRelAssociatesDocument (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcDocumentSelect v6_RelatingDocument); + IfcRelAssociatesDocument (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcDocumentSelect* v6_RelatingDocument); typedef IfcTemplatedEntityList< IfcRelAssociatesDocument > list; }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. @@ -20715,8 +21885,8 @@ public: class IfcRelAssociatesLibrary : public IfcRelAssociates { public: /// Reference to a library, from which the definition of the property set is taken. - IfcLibrarySelect RelatingLibrary() const; - void setRelatingLibrary(IfcLibrarySelect v); + IfcLibrarySelect* RelatingLibrary() const; + void setRelatingLibrary(IfcLibrarySelect* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RelatingLibrary"; } return IfcRelAssociates::getArgumentName(i); } @@ -20725,7 +21895,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssociatesLibrary (IfcAbstractEntity* e); - IfcRelAssociatesLibrary (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcLibrarySelect v6_RelatingLibrary); + IfcRelAssociatesLibrary (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcLibrarySelect* v6_RelatingLibrary); typedef IfcTemplatedEntityList< IfcRelAssociatesLibrary > list; }; /// Definition from IAI: Objectified relationship between a @@ -20825,8 +21995,8 @@ public: class IfcRelAssociatesMaterial : public IfcRelAssociates { public: /// Material definition assigned to the elements or element types. - IfcMaterialSelect RelatingMaterial() const; - void setRelatingMaterial(IfcMaterialSelect v); + IfcMaterialSelect* RelatingMaterial() const; + void setRelatingMaterial(IfcMaterialSelect* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RelatingMaterial"; } return IfcRelAssociates::getArgumentName(i); } @@ -20835,7 +22005,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssociatesMaterial (IfcAbstractEntity* e); - IfcRelAssociatesMaterial (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcMaterialSelect v6_RelatingMaterial); + IfcRelAssociatesMaterial (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcMaterialSelect* v6_RelatingMaterial); typedef IfcTemplatedEntityList< IfcRelAssociatesMaterial > list; }; @@ -20849,8 +22019,8 @@ public: void setProfileSectionLocation(IfcShapeAspect* v); /// Whether the optional attribute ProfileOrientation is defined for this IfcRelAssociatesProfileProperties bool hasProfileOrientation() const; - IfcOrientationSelect ProfileOrientation() const; - void setProfileOrientation(IfcOrientationSelect v); + IfcOrientationSelect* ProfileOrientation() const; + void setProfileOrientation(IfcOrientationSelect* v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RelatingProfileProperties"; case 6: return "ProfileSectionLocation"; case 7: return "ProfileOrientation"; } return IfcRelAssociates::getArgumentName(i); } @@ -20859,7 +22029,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssociatesProfileProperties (IfcAbstractEntity* e); - IfcRelAssociatesProfileProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcProfileProperties* v6_RelatingProfileProperties, IfcShapeAspect* v7_ProfileSectionLocation, boost::optional< IfcOrientationSelect > v8_ProfileOrientation); + IfcRelAssociatesProfileProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcRoot >::ptr v5_RelatedObjects, IfcProfileProperties* v6_RelatingProfileProperties, IfcShapeAspect* v7_ProfileSectionLocation, IfcOrientationSelect* v8_ProfileOrientation); typedef IfcTemplatedEntityList< IfcRelAssociatesProfileProperties > list; }; /// 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. @@ -20875,7 +22045,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnects (IfcAbstractEntity* e); - IfcRelConnects (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); + IfcRelConnects (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcRelConnects > list; }; /// Definition from IAI: The @@ -20921,7 +22091,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsElements (IfcAbstractEntity* e); - IfcRelConnectsElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement); + IfcRelConnectsElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement); typedef IfcTemplatedEntityList< IfcRelConnectsElements > list; }; /// The @@ -20978,7 +22148,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsPathElements (IfcAbstractEntity* e); - IfcRelConnectsPathElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType); + IfcRelConnectsPathElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType); typedef IfcTemplatedEntityList< IfcRelConnectsPathElements > list; }; /// The objectified relationship @@ -21024,7 +22194,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsPortToElement (IfcAbstractEntity* e); - IfcRelConnectsPortToElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPort* v5_RelatingPort, IfcElement* v6_RelatedElement); + IfcRelConnectsPortToElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPort* v5_RelatingPort, IfcElement* v6_RelatedElement); typedef IfcTemplatedEntityList< IfcRelConnectsPortToElement > list; }; /// Definition from IAI: An IfcRelConnectsPorts @@ -21061,7 +22231,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsPorts (IfcAbstractEntity* e); - IfcRelConnectsPorts (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPort* v5_RelatingPort, IfcPort* v6_RelatedPort, IfcElement* v7_RealizingElement); + IfcRelConnectsPorts (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPort* v5_RelatingPort, IfcPort* v6_RelatedPort, IfcElement* v7_RealizingElement); typedef IfcTemplatedEntityList< IfcRelConnectsPorts > list; }; /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. @@ -21070,8 +22240,8 @@ public: class IfcRelConnectsStructuralActivity : public IfcRelConnects { public: /// Reference to a structural item or element to which the specified activity is applied. - IfcStructuralActivityAssignmentSelect RelatingElement() const; - void setRelatingElement(IfcStructuralActivityAssignmentSelect v); + IfcStructuralActivityAssignmentSelect* RelatingElement() const; + void setRelatingElement(IfcStructuralActivityAssignmentSelect* v); /// Reference to a structural activity which is acting upon the specified structural item or element. IfcStructuralActivity* RelatedStructuralActivity() const; void setRelatedStructuralActivity(IfcStructuralActivity* v); @@ -21083,7 +22253,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsStructuralActivity (IfcAbstractEntity* e); - IfcRelConnectsStructuralActivity (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralActivityAssignmentSelect v5_RelatingElement, IfcStructuralActivity* v6_RelatedStructuralActivity); + IfcRelConnectsStructuralActivity (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralActivityAssignmentSelect* v5_RelatingElement, IfcStructuralActivity* v6_RelatedStructuralActivity); typedef IfcTemplatedEntityList< IfcRelConnectsStructuralActivity > list; }; @@ -21101,7 +22271,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsStructuralElement (IfcAbstractEntity* e); - IfcRelConnectsStructuralElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingElement, IfcStructuralMember* v6_RelatedStructuralMember); + IfcRelConnectsStructuralElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingElement, IfcStructuralMember* v6_RelatedStructuralMember); typedef IfcTemplatedEntityList< IfcRelConnectsStructuralElement > list; }; /// The entity IfcRelConnectsStructuralMember defines all needed properties describing the connection between structural members and structural connection objects (nodes or supports). @@ -21149,8 +22319,8 @@ public: /// Whether the optional attribute SupportedLength is defined for this IfcRelConnectsStructuralMember bool hasSupportedLength() const; /// Defines the 'supported length' of this structural connection. See Fig. for more detail. - IfcLengthMeasure SupportedLength() const; - void setSupportedLength(IfcLengthMeasure v); + double SupportedLength() const; + void setSupportedLength(double v); /// Whether the optional attribute ConditionCoordinateSystem is defined for this IfcRelConnectsStructuralMember bool hasConditionCoordinateSystem() const; /// Defines a coordinate system used for the description of the connection properties in ConnectionCondition relative to the local coordinate system of RelatingStructuralMember. If left unspecified, the placement IfcAxis2Placement3D((x,y,z), ?, ?) is implied with x,y,z being the local member coordinates where the connection is made and the default axes directions being in parallel with the local axes of RelatingStructuralMember. @@ -21164,7 +22334,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsStructuralMember (IfcAbstractEntity* e); - IfcRelConnectsStructuralMember (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< IfcLengthMeasure > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem); + IfcRelConnectsStructuralMember (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem); typedef IfcTemplatedEntityList< IfcRelConnectsStructuralMember > list; }; /// 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). @@ -21197,7 +22367,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsWithEccentricity (IfcAbstractEntity* e); - IfcRelConnectsWithEccentricity (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< IfcLengthMeasure > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem, IfcConnectionGeometry* v11_ConnectionConstraint); + IfcRelConnectsWithEccentricity (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem, IfcConnectionGeometry* v11_ConnectionConstraint); typedef IfcTemplatedEntityList< IfcRelConnectsWithEccentricity > list; }; /// Definition from IAI: @@ -21231,8 +22401,8 @@ public: /// Whether the optional attribute ConnectionType is defined for this IfcRelConnectsWithRealizingElements bool hasConnectionType() const; /// The type of the connection given for informal purposes, it may include labels, like 'joint', 'rigid joint', 'flexible joint', etc. - IfcLabel ConnectionType() const; - void setConnectionType(IfcLabel v); + std::string ConnectionType() const; + void setConnectionType(std::string v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENTITY_LIST; case 8: return IfcUtil::Argument_STRING; } return IfcRelConnectsElements::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "RealizingElements"; case 8: return "ConnectionType"; } return IfcRelConnectsElements::getArgumentName(i); } @@ -21241,7 +22411,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsWithRealizingElements (IfcAbstractEntity* e); - IfcRelConnectsWithRealizingElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, IfcTemplatedEntityList< IfcElement >::ptr v8_RealizingElements, boost::optional< IfcLabel > v9_ConnectionType); + IfcRelConnectsWithRealizingElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, IfcTemplatedEntityList< IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType); typedef IfcTemplatedEntityList< IfcRelConnectsWithRealizingElements > list; }; /// This objectified relationship, @@ -21324,7 +22494,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelContainedInSpatialStructure (IfcAbstractEntity* e); - IfcRelContainedInSpatialStructure (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialStructureElement* v6_RelatingStructure); + IfcRelContainedInSpatialStructure (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialStructureElement* v6_RelatingStructure); typedef IfcTemplatedEntityList< IfcRelContainedInSpatialStructure > list; }; /// Definition from IAI: The @@ -21361,7 +22531,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelCoversBldgElements (IfcAbstractEntity* e); - IfcRelCoversBldgElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings); + IfcRelCoversBldgElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings); typedef IfcTemplatedEntityList< IfcRelCoversBldgElements > list; }; /// Definition from IAI: The objectified relationship, @@ -21405,7 +22575,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelCoversSpaces (IfcAbstractEntity* e); - IfcRelCoversSpaces (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpace* v5_RelatedSpace, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings); + IfcRelCoversSpaces (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpace* v5_RelatedSpace, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings); typedef IfcTemplatedEntityList< IfcRelCoversSpaces > list; }; /// The decomposition relationship, @@ -21452,7 +22622,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelDecomposes (IfcAbstractEntity* e); - IfcRelDecomposes (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects); + IfcRelDecomposes (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects); typedef IfcTemplatedEntityList< IfcRelDecomposes > list; }; /// A generic and abstract relationship which subtypes are used to: @@ -21494,7 +22664,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelDefines (IfcAbstractEntity* e); - IfcRelDefines (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects); + IfcRelDefines (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects); typedef IfcTemplatedEntityList< IfcRelDefines > list; }; /// The objectified relationship @@ -21525,7 +22695,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelDefinesByProperties (IfcAbstractEntity* e); - IfcRelDefinesByProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcPropertySetDefinition* v6_RelatingPropertyDefinition); + IfcRelDefinesByProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcPropertySetDefinition* v6_RelatingPropertyDefinition); typedef IfcTemplatedEntityList< IfcRelDefinesByProperties > list; }; /// The objectified relationship @@ -21612,7 +22782,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelDefinesByType (IfcAbstractEntity* e); - IfcRelDefinesByType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcTypeObject* v6_RelatingType); + IfcRelDefinesByType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcTypeObject* v6_RelatingType); typedef IfcTemplatedEntityList< IfcRelDefinesByType > list; }; /// 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. @@ -21642,7 +22812,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelFillsElement (IfcAbstractEntity* e); - IfcRelFillsElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcOpeningElement* v5_RelatingOpeningElement, IfcElement* v6_RelatedBuildingElement); + IfcRelFillsElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcOpeningElement* v5_RelatingOpeningElement, IfcElement* v6_RelatedBuildingElement); typedef IfcTemplatedEntityList< IfcRelFillsElement > list; }; /// 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. @@ -21668,7 +22838,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelFlowControlElements (IfcAbstractEntity* e); - IfcRelFlowControlElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v5_RelatedControlElements, IfcDistributionFlowElement* v6_RelatingFlowElement); + IfcRelFlowControlElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v5_RelatedControlElements, IfcDistributionFlowElement* v6_RelatingFlowElement); typedef IfcTemplatedEntityList< IfcRelFlowControlElements > list; }; @@ -21676,12 +22846,12 @@ class IfcRelInteractionRequirements : public IfcRelConnects { public: /// Whether the optional attribute DailyInteraction is defined for this IfcRelInteractionRequirements bool hasDailyInteraction() const; - IfcCountMeasure DailyInteraction() const; - void setDailyInteraction(IfcCountMeasure v); + double DailyInteraction() const; + void setDailyInteraction(double v); /// Whether the optional attribute ImportanceRating is defined for this IfcRelInteractionRequirements bool hasImportanceRating() const; - IfcNormalisedRatioMeasure ImportanceRating() const; - void setImportanceRating(IfcNormalisedRatioMeasure v); + double ImportanceRating() const; + void setImportanceRating(double v); /// Whether the optional attribute LocationOfInteraction is defined for this IfcRelInteractionRequirements bool hasLocationOfInteraction() const; IfcSpatialStructureElement* LocationOfInteraction() const; @@ -21698,7 +22868,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelInteractionRequirements (IfcAbstractEntity* e); - IfcRelInteractionRequirements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcCountMeasure > v5_DailyInteraction, boost::optional< IfcNormalisedRatioMeasure > v6_ImportanceRating, IfcSpatialStructureElement* v7_LocationOfInteraction, IfcSpaceProgram* v8_RelatedSpaceProgram, IfcSpaceProgram* v9_RelatingSpaceProgram); + IfcRelInteractionRequirements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_DailyInteraction, boost::optional< double > v6_ImportanceRating, IfcSpatialStructureElement* v7_LocationOfInteraction, IfcSpaceProgram* v8_RelatedSpaceProgram, IfcSpaceProgram* v9_RelatingSpaceProgram); typedef IfcTemplatedEntityList< IfcRelInteractionRequirements > list; }; /// The nesting relationship @@ -21736,7 +22906,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelNests (IfcAbstractEntity* e); - IfcRelNests (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects); + IfcRelNests (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects); typedef IfcTemplatedEntityList< IfcRelNests > list; }; @@ -21750,7 +22920,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelOccupiesSpaces (IfcAbstractEntity* e); - IfcRelOccupiesSpaces (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole); + IfcRelOccupiesSpaces (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole); typedef IfcTemplatedEntityList< IfcRelOccupiesSpaces > list; }; @@ -21766,7 +22936,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelOverridesProperties (IfcAbstractEntity* e); - IfcRelOverridesProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcPropertySetDefinition* v6_RelatingPropertyDefinition, IfcTemplatedEntityList< IfcProperty >::ptr v7_OverridingProperties); + IfcRelOverridesProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcPropertySetDefinition* v6_RelatingPropertyDefinition, IfcTemplatedEntityList< IfcProperty >::ptr v7_OverridingProperties); typedef IfcTemplatedEntityList< IfcRelOverridesProperties > list; }; /// The IfcRelProjectsElement is an objectified relationship @@ -21817,7 +22987,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelProjectsElement (IfcAbstractEntity* e); - IfcRelProjectsElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingElement, IfcFeatureElementAddition* v6_RelatedFeatureElement); + IfcRelProjectsElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingElement, IfcFeatureElementAddition* v6_RelatedFeatureElement); typedef IfcTemplatedEntityList< IfcRelProjectsElement > list; }; /// The objectified relationship, @@ -21888,7 +23058,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelReferencedInSpatialStructure (IfcAbstractEntity* e); - IfcRelReferencedInSpatialStructure (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialStructureElement* v6_RelatingStructure); + IfcRelReferencedInSpatialStructure (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialStructureElement* v6_RelatingStructure); typedef IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure > list; }; @@ -21902,7 +23072,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelSchedulesCostItems (IfcAbstractEntity* e); - IfcRelSchedulesCostItems (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl); + IfcRelSchedulesCostItems (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl); typedef IfcTemplatedEntityList< IfcRelSchedulesCostItems > list; }; /// IfcRelSequence is a @@ -21970,8 +23140,8 @@ public: /// Time duration of the sequence, it is the time lag between the /// predecessor and the successor as specified by the /// SequenceType. - IfcTimeMeasure TimeLag() const; - void setTimeLag(IfcTimeMeasure v); + double TimeLag() const; + void setTimeLag(double v); /// The way in which the time lag applies to the sequence. IfcSequenceEnum::IfcSequenceEnum SequenceType() const; void setSequenceType(IfcSequenceEnum::IfcSequenceEnum v); @@ -21983,7 +23153,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelSequence (IfcAbstractEntity* e); - IfcRelSequence (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcProcess* v5_RelatingProcess, IfcProcess* v6_RelatedProcess, IfcTimeMeasure v7_TimeLag, IfcSequenceEnum::IfcSequenceEnum v8_SequenceType); + IfcRelSequence (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcProcess* v5_RelatingProcess, IfcProcess* v6_RelatedProcess, double v7_TimeLag, IfcSequenceEnum::IfcSequenceEnum v8_SequenceType); typedef IfcTemplatedEntityList< IfcRelSequence > list; }; /// Definition from IAI: An objectified relationship @@ -22027,7 +23197,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelServicesBuildings (IfcAbstractEntity* e); - IfcRelServicesBuildings (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSystem* v5_RelatingSystem, IfcTemplatedEntityList< IfcSpatialStructureElement >::ptr v6_RelatedBuildings); + IfcRelServicesBuildings (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSystem* v5_RelatingSystem, IfcTemplatedEntityList< IfcSpatialStructureElement >::ptr v6_RelatedBuildings); typedef IfcTemplatedEntityList< IfcRelServicesBuildings > list; }; /// The space boundary defines the @@ -22227,7 +23397,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelSpaceBoundary (IfcAbstractEntity* e); - IfcRelSpaceBoundary (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpace* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary); + IfcRelSpaceBoundary (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpace* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary); typedef IfcTemplatedEntityList< IfcRelSpaceBoundary > list; }; /// 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. @@ -22251,7 +23421,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelVoidsElement (IfcAbstractEntity* e); - IfcRelVoidsElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcFeatureElementSubtraction* v6_RelatedOpeningElement); + IfcRelVoidsElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcFeatureElementSubtraction* v6_RelatedOpeningElement); typedef IfcTemplatedEntityList< IfcRelVoidsElement > list; }; /// 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). @@ -22278,7 +23448,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcResource (IfcAbstractEntity* e); - IfcResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); + IfcResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType); typedef IfcTemplatedEntityList< IfcResource > list; }; /// An IfcRevolvedAreaSolid is a solid created by revolving @@ -22363,8 +23533,8 @@ public: IfcAxis1Placement* Axis() const; void setAxis(IfcAxis1Placement* v); /// The angle through which the sweep will be made. This angle is measured from the plane of the swept area provided by the XY plane of the position coordinate system. - IfcPlaneAngleMeasure Angle() const; - void setAngle(IfcPlaneAngleMeasure v); + double Angle() const; + void setAngle(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; } return IfcSweptAreaSolid::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Axis"; case 3: return "Angle"; } return IfcSweptAreaSolid::getArgumentName(i); } @@ -22373,7 +23543,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRevolvedAreaSolid (IfcAbstractEntity* e); - IfcRevolvedAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, IfcPlaneAngleMeasure v4_Angle); + IfcRevolvedAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, double v4_Angle); typedef IfcTemplatedEntityList< IfcRevolvedAreaSolid > list; }; /// The IfcRightCircularCone is a Construction Solid @@ -22444,11 +23614,11 @@ public: class IfcRightCircularCone : public IfcCsgPrimitive3D { public: /// The distance between the base of the cone and the apex. - IfcPositiveLengthMeasure Height() const; - void setHeight(IfcPositiveLengthMeasure v); + double Height() const; + void setHeight(double v); /// The radius of the cone at the base. - IfcPositiveLengthMeasure BottomRadius() const; - void setBottomRadius(IfcPositiveLengthMeasure v); + double BottomRadius() const; + void setBottomRadius(double v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Height"; case 2: return "BottomRadius"; } return IfcCsgPrimitive3D::getArgumentName(i); } @@ -22457,7 +23627,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRightCircularCone (IfcAbstractEntity* e); - IfcRightCircularCone (IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Height, IfcPositiveLengthMeasure v3_BottomRadius); + IfcRightCircularCone (IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius); typedef IfcTemplatedEntityList< IfcRightCircularCone > list; }; /// The IfcRightCircularCylinder is a Construction Solid @@ -22544,11 +23714,11 @@ public: class IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: /// The distance between the planar circular faces of the cylinder. - IfcPositiveLengthMeasure Height() const; - void setHeight(IfcPositiveLengthMeasure v); + double Height() const; + void setHeight(double v); /// The radius of the cylinder. - IfcPositiveLengthMeasure Radius() const; - void setRadius(IfcPositiveLengthMeasure v); + double Radius() const; + void setRadius(double v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Height"; case 2: return "Radius"; } return IfcCsgPrimitive3D::getArgumentName(i); } @@ -22557,7 +23727,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRightCircularCylinder (IfcAbstractEntity* e); - IfcRightCircularCylinder (IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Height, IfcPositiveLengthMeasure v3_Radius); + IfcRightCircularCylinder (IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius); typedef IfcTemplatedEntityList< IfcRightCircularCylinder > list; }; /// A spatial structure element @@ -22638,8 +23808,8 @@ class IfcSpatialStructureElement : public IfcProduct { public: /// Whether the optional attribute LongName is defined for this IfcSpatialStructureElement bool hasLongName() const; - IfcLabel LongName() const; - void setLongName(IfcLabel v); + std::string LongName() const; + void setLongName(std::string v); /// Denotes, whether the predefined spatial structure element represents itself, or an aggregate (complex) or a part (part). The interpretation is given separately for each subtype of spatial structure element. If no CompositionType is asserted, the dafault value 'ELEMENT' applies. /// /// IFC2x4 CHANGE  @@ -22657,7 +23827,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpatialStructureElement (IfcAbstractEntity* e); - IfcSpatialStructureElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType); + IfcSpatialStructureElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType); typedef IfcTemplatedEntityList< IfcSpatialStructureElement > list; }; /// Definition from IAI: The element type @@ -22704,7 +23874,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpatialStructureElementType (IfcAbstractEntity* e); - IfcSpatialStructureElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcSpatialStructureElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcSpatialStructureElementType > list; }; /// The IfcSphere is a Construction Solid Geometry (CSG) 3D @@ -22760,8 +23930,8 @@ public: class IfcSphere : public IfcCsgPrimitive3D { public: /// The radius of the sphere. - IfcPositiveLengthMeasure Radius() const; - void setRadius(IfcPositiveLengthMeasure v); + double Radius() const; + void setRadius(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Radius"; } return IfcCsgPrimitive3D::getArgumentName(i); } @@ -22770,7 +23940,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSphere (IfcAbstractEntity* e); - IfcSphere (IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Radius); + IfcSphere (IfcAxis2Placement3D* v1_Position, double v2_Radius); typedef IfcTemplatedEntityList< IfcSphere > list; }; /// 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. @@ -22901,7 +24071,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralActivity (IfcAbstractEntity* e); - IfcStructuralActivity (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); + IfcStructuralActivity (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); typedef IfcTemplatedEntityList< IfcStructuralActivity > list; }; /// 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). @@ -23002,7 +24172,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralItem (IfcAbstractEntity* e); - IfcStructuralItem (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); + IfcStructuralItem (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); typedef IfcTemplatedEntityList< IfcStructuralItem > list; }; /// Definition from IAI: The abstract entity IfcStructuralMember is the superclass of all structural items which represent the idealized structural behavior of building elements. @@ -23021,7 +24191,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralMember (IfcAbstractEntity* e); - IfcStructuralMember (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); + IfcStructuralMember (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); typedef IfcTemplatedEntityList< IfcStructuralMember > list; }; /// Definition from IAI: A structural reaction is a structural activity that results from a @@ -23055,7 +24225,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralReaction (IfcAbstractEntity* e); - IfcStructuralReaction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); + IfcStructuralReaction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); typedef IfcTemplatedEntityList< IfcStructuralReaction > list; }; /// 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. @@ -23086,8 +24256,8 @@ public: /// Whether the optional attribute Thickness is defined for this IfcStructuralSurfaceMember bool hasThickness() const; /// Defines the typically understood thickness of the structural surface member, measured normal to its reference surface. - IfcPositiveLengthMeasure Thickness() const; - void setThickness(IfcPositiveLengthMeasure v); + double Thickness() const; + void setThickness(double v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_DOUBLE; } return IfcStructuralMember::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "PredefinedType"; case 8: return "Thickness"; } return IfcStructuralMember::getArgumentName(i); } @@ -23096,7 +24266,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralSurfaceMember (IfcAbstractEntity* e); - IfcStructuralSurfaceMember (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v8_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v9_Thickness); + IfcStructuralSurfaceMember (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v8_PredefinedType, boost::optional< double > v9_Thickness); typedef IfcTemplatedEntityList< IfcStructuralSurfaceMember > list; }; /// 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. @@ -23119,8 +24289,8 @@ 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< IfcPositiveLengthMeasure > /*[2:?]*/ SubsequentThickness() const; - void setSubsequentThickness(std::vector< IfcPositiveLengthMeasure > /*[2:?]*/ v); + std::vector< double > /*[2:?]*/ SubsequentThickness() const; + void setSubsequentThickness(std::vector< double > /*[2:?]*/ v); IfcShapeAspect* VaryingThicknessLocation() const; void setVaryingThicknessLocation(IfcShapeAspect* v); virtual unsigned int getArgumentCount() const { return 11; } @@ -23131,7 +24301,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralSurfaceMemberVarying (IfcAbstractEntity* e); - IfcStructuralSurfaceMemberVarying (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v8_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v9_Thickness, std::vector< IfcPositiveLengthMeasure > /*[2:?]*/ v10_SubsequentThickness, IfcShapeAspect* v11_VaryingThicknessLocation); + IfcStructuralSurfaceMemberVarying (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceTypeEnum::IfcStructuralSurfaceTypeEnum v8_PredefinedType, boost::optional< double > v9_Thickness, std::vector< double > /*[2:?]*/ v10_SubsequentThickness, IfcShapeAspect* v11_VaryingThicknessLocation); typedef IfcTemplatedEntityList< IfcStructuralSurfaceMemberVarying > list; }; @@ -23218,13 +24388,13 @@ public: /// 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. - IfcParameterValue StartParam() const; - void setStartParam(IfcParameterValue v); + double StartParam() const; + void setStartParam(double v); /// 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. - IfcParameterValue EndParam() const; - void setEndParam(IfcParameterValue v); + double EndParam() const; + void setEndParam(double v); /// The surface containing the Directrix. IfcSurface* ReferenceSurface() const; void setReferenceSurface(IfcSurface* v); @@ -23236,7 +24406,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSurfaceCurveSweptAreaSolid (IfcAbstractEntity* e); - IfcSurfaceCurveSweptAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcCurve* v3_Directrix, IfcParameterValue v4_StartParam, IfcParameterValue v5_EndParam, IfcSurface* v6_ReferenceSurface); + IfcSurfaceCurveSweptAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcCurve* v3_Directrix, double v4_StartParam, double v5_EndParam, IfcSurface* v6_ReferenceSurface); typedef IfcTemplatedEntityList< IfcSurfaceCurveSweptAreaSolid > list; }; /// 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): @@ -23258,8 +24428,8 @@ public: IfcDirection* ExtrudedDirection() const; void setExtrudedDirection(IfcDirection* v); /// The depth of the extrusion, it determines the parameterization. - IfcLengthMeasure Depth() const; - void setDepth(IfcLengthMeasure v); + double Depth() const; + void setDepth(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; } return IfcSweptSurface::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "ExtrudedDirection"; case 3: return "Depth"; } return IfcSweptSurface::getArgumentName(i); } @@ -23268,7 +24438,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSurfaceOfLinearExtrusion (IfcAbstractEntity* e); - IfcSurfaceOfLinearExtrusion (IfcProfileDef* v1_SweptCurve, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, IfcLengthMeasure v4_Depth); + IfcSurfaceOfLinearExtrusion (IfcProfileDef* v1_SweptCurve, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, double v4_Depth); typedef IfcTemplatedEntityList< IfcSurfaceOfLinearExtrusion > list; }; /// 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. @@ -23344,7 +24514,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSystemFurnitureElementType (IfcAbstractEntity* e); - IfcSystemFurnitureElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcSystemFurnitureElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcSystemFurnitureElementType > list; }; /// An IfcTask is an identifiable unit of work to be @@ -23594,8 +24764,8 @@ public: /// track punch list items individually via IfcRelNests. class IfcTask : public IfcProcess { public: - IfcIdentifier TaskId() const; - void setTaskId(IfcIdentifier v); + std::string TaskId() const; + void setTaskId(std::string v); /// Whether the optional attribute Status is defined for this IfcTask bool hasStatus() const; /// Current status of the task. @@ -23604,8 +24774,8 @@ public: /// specified, these should be determined and agreed by local /// usage. Examples of possible status values include 'Not Yet /// Started', 'Started', 'Completed'. - IfcLabel Status() const; - void setStatus(IfcLabel v); + std::string Status() const; + void setStatus(std::string v); /// Whether the optional attribute WorkMethod is defined for this IfcTask bool hasWorkMethod() const; /// The method of work used in carrying out a task. @@ -23613,8 +24783,8 @@ public: /// NOTE: This attribute should /// not be used if the work method is specified for the /// IfcTaskType - IfcLabel WorkMethod() const; - void setWorkMethod(IfcLabel v); + std::string WorkMethod() const; + void setWorkMethod(std::string v); /// Identifies whether a task is a milestone task (=TRUE) or not /// (= FALSE). /// @@ -23638,7 +24808,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTask (IfcAbstractEntity* e); - IfcTask (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_TaskId, boost::optional< IfcLabel > v7_Status, boost::optional< IfcLabel > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority); + IfcTask (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_TaskId, boost::optional< std::string > v7_Status, boost::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority); typedef IfcTemplatedEntityList< IfcTask > list; }; /// Definition from IAI: The element type @@ -23717,7 +24887,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTransportElementType (IfcAbstractEntity* e); - IfcTransportElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v10_PredefinedType); + IfcTransportElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcTransportElementType > list; }; /// 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. @@ -23738,8 +24908,8 @@ public: class IfcActor : public IfcObject { public: /// Information about the actor. - IfcActorSelect TheActor() const; - void setTheActor(IfcActorSelect v); + IfcActorSelect* TheActor() const; + void setTheActor(IfcActorSelect* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "TheActor"; } return IfcObject::getArgumentName(i); } @@ -23749,7 +24919,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcActor (IfcAbstractEntity* e); - IfcActor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcActorSelect v6_TheActor); + IfcActor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcActorSelect* v6_TheActor); typedef IfcTemplatedEntityList< IfcActor > list; }; /// Definition from IAI: An annotation is a graphical @@ -23936,7 +25106,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAnnotation (IfcAbstractEntity* e); - IfcAnnotation (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); + IfcAnnotation (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); typedef IfcTemplatedEntityList< IfcAnnotation > list; }; /// IfcAsymmetricIShapeProfileDef @@ -23979,22 +25149,22 @@ public: class IfcAsymmetricIShapeProfileDef : public IfcIShapeProfileDef { public: /// Extent of the top flange, defined parallel to the x axis of the position coordinate system. - IfcPositiveLengthMeasure TopFlangeWidth() const; - void setTopFlangeWidth(IfcPositiveLengthMeasure v); + double TopFlangeWidth() const; + void setTopFlangeWidth(double v); /// Whether the optional attribute TopFlangeThickness is defined for this IfcAsymmetricIShapeProfileDef bool hasTopFlangeThickness() const; /// Flange thickness of the top flange of the I-shape. - IfcPositiveLengthMeasure TopFlangeThickness() const; - void setTopFlangeThickness(IfcPositiveLengthMeasure v); + double TopFlangeThickness() const; + void setTopFlangeThickness(double v); /// Whether the optional attribute TopFlangeFilletRadius is defined for this IfcAsymmetricIShapeProfileDef bool hasTopFlangeFilletRadius() const; /// The fillet between the web and the top flange of the I-shape. - IfcPositiveLengthMeasure TopFlangeFilletRadius() const; - void setTopFlangeFilletRadius(IfcPositiveLengthMeasure v); + double TopFlangeFilletRadius() const; + void setTopFlangeFilletRadius(double v); /// Whether the optional attribute CentreOfGravityInY is defined for this IfcAsymmetricIShapeProfileDef bool hasCentreOfGravityInY() const; - IfcPositiveLengthMeasure CentreOfGravityInY() const; - void setCentreOfGravityInY(IfcPositiveLengthMeasure v); + double CentreOfGravityInY() const; + void setCentreOfGravityInY(double v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; } return IfcIShapeProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "TopFlangeWidth"; case 9: return "TopFlangeThickness"; case 10: return "TopFlangeFilletRadius"; case 11: return "CentreOfGravityInY"; } return IfcIShapeProfileDef::getArgumentName(i); } @@ -24003,7 +25173,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAsymmetricIShapeProfileDef (IfcAbstractEntity* e); - IfcAsymmetricIShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_OverallWidth, IfcPositiveLengthMeasure v5_OverallDepth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcPositiveLengthMeasure > v8_FilletRadius, IfcPositiveLengthMeasure v9_TopFlangeWidth, boost::optional< IfcPositiveLengthMeasure > v10_TopFlangeThickness, boost::optional< IfcPositiveLengthMeasure > v11_TopFlangeFilletRadius, boost::optional< IfcPositiveLengthMeasure > v12_CentreOfGravityInY); + IfcAsymmetricIShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, double v9_TopFlangeWidth, boost::optional< double > v10_TopFlangeThickness, boost::optional< double > v11_TopFlangeFilletRadius, boost::optional< double > v12_CentreOfGravityInY); typedef IfcTemplatedEntityList< IfcAsymmetricIShapeProfileDef > list; }; /// The IfcBlock is a Construction Solid Geometry (CSG) 3D @@ -24106,14 +25276,14 @@ public: class IfcBlock : public IfcCsgPrimitive3D { public: /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. - IfcPositiveLengthMeasure XLength() const; - void setXLength(IfcPositiveLengthMeasure v); + double XLength() const; + void setXLength(double v); /// The size of the block along the placement Y axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[2]. - IfcPositiveLengthMeasure YLength() const; - void setYLength(IfcPositiveLengthMeasure v); + double YLength() const; + void setYLength(double v); /// The size of the block along the placement Z axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[3]. - IfcPositiveLengthMeasure ZLength() const; - void setZLength(IfcPositiveLengthMeasure v); + double ZLength() const; + void setZLength(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "XLength"; case 2: return "YLength"; case 3: return "ZLength"; } return IfcCsgPrimitive3D::getArgumentName(i); } @@ -24122,7 +25292,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBlock (IfcAbstractEntity* e); - IfcBlock (IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_XLength, IfcPositiveLengthMeasure v3_YLength, IfcPositiveLengthMeasure v4_ZLength); + IfcBlock (IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); typedef IfcTemplatedEntityList< IfcBlock > list; }; /// 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. @@ -24142,7 +25312,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBooleanClippingResult (IfcAbstractEntity* e); - IfcBooleanClippingResult (IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand v2_FirstOperand, IfcBooleanOperand v3_SecondOperand); + IfcBooleanClippingResult (IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand* v2_FirstOperand, IfcBooleanOperand* v3_SecondOperand); typedef IfcTemplatedEntityList< IfcBooleanClippingResult > list; }; /// Definition from ISO/CD 10303-42:1992: A bounded curve is a curve of finite arc length with identifiable end points. @@ -24348,13 +25518,13 @@ public: /// Whether the optional attribute ElevationOfRefHeight is defined for this IfcBuilding bool hasElevationOfRefHeight() const; /// Elevation above sea level of the reference height used for all storey elevation measures, equals to height 0.0. It is usually the ground floor level. - IfcLengthMeasure ElevationOfRefHeight() const; - void setElevationOfRefHeight(IfcLengthMeasure v); + double ElevationOfRefHeight() const; + void setElevationOfRefHeight(double v); /// Whether the optional attribute ElevationOfTerrain is defined for this IfcBuilding bool hasElevationOfTerrain() const; /// Elevation above the minimal terrain level around the foot print of the building, given in elevation above sea level. - IfcLengthMeasure ElevationOfTerrain() const; - void setElevationOfTerrain(IfcLengthMeasure v); + double ElevationOfTerrain() const; + void setElevationOfTerrain(double v); /// Whether the optional attribute BuildingAddress is defined for this IfcBuilding bool hasBuildingAddress() const; /// Address given to the building for postal purposes. @@ -24368,7 +25538,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuilding (IfcAbstractEntity* e); - IfcBuilding (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< IfcLengthMeasure > v10_ElevationOfRefHeight, boost::optional< IfcLengthMeasure > v11_ElevationOfTerrain, IfcPostalAddress* v12_BuildingAddress); + IfcBuilding (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, IfcPostalAddress* v12_BuildingAddress); typedef IfcTemplatedEntityList< IfcBuilding > list; }; /// Definition from IAI: The element type @@ -24410,7 +25580,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingElementType (IfcAbstractEntity* e); - IfcBuildingElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcBuildingElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcBuildingElementType > list; }; /// The building storey has an @@ -24595,8 +25765,8 @@ public: /// Whether the optional attribute Elevation is defined for this IfcBuildingStorey bool hasElevation() const; /// Elevation of the base of this storey, relative to the 0,00 internal reference height of the building. The 0.00 level is given by the absolute above sea level height by the ElevationOfRefHeight attribute given at IfcBuilding. - IfcLengthMeasure Elevation() const; - void setElevation(IfcLengthMeasure v); + double Elevation() const; + void setElevation(double v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_DOUBLE; } return IfcSpatialStructureElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "Elevation"; } return IfcSpatialStructureElement::getArgumentName(i); } @@ -24605,7 +25775,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingStorey (IfcAbstractEntity* e); - IfcBuildingStorey (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< IfcLengthMeasure > v10_Elevation); + IfcBuildingStorey (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< double > v10_Elevation); typedef IfcTemplatedEntityList< IfcBuildingStorey > list; }; /// IfcCircleHollowProfileDef @@ -24629,8 +25799,8 @@ public: class IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: /// Thickness of the material, it is the difference between the outer and inner radius. - IfcPositiveLengthMeasure WallThickness() const; - void setWallThickness(IfcPositiveLengthMeasure v); + double WallThickness() const; + void setWallThickness(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_DOUBLE; } return IfcCircleProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "WallThickness"; } return IfcCircleProfileDef::getArgumentName(i); } @@ -24639,7 +25809,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCircleHollowProfileDef (IfcAbstractEntity* e); - IfcCircleHollowProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Radius, IfcPositiveLengthMeasure v5_WallThickness); + IfcCircleHollowProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness); typedef IfcTemplatedEntityList< IfcCircleHollowProfileDef > list; }; /// Definition from IAI: The element type @@ -24753,7 +25923,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcColumnType (IfcAbstractEntity* e); - IfcColumnType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcColumnTypeEnum::IfcColumnTypeEnum v10_PredefinedType); + IfcColumnType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcColumnTypeEnum::IfcColumnTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcColumnType > list; }; /// Definition from ISO/CD 10303-42:1992: A composite @@ -24849,8 +26019,8 @@ public: class IfcConic : public IfcCurve { public: /// The location and orientation of the conic. Further details of the interpretation of this attribute are given for the individual subtypes." - IfcAxis2Placement Position() const; - void setPosition(IfcAxis2Placement v); + IfcAxis2Placement* Position() const; + void setPosition(IfcAxis2Placement* v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcCurve::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Position"; } return IfcCurve::getArgumentName(i); } @@ -24859,7 +26029,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConic (IfcAbstractEntity* e); - IfcConic (IfcAxis2Placement v1_Position); + IfcConic (IfcAxis2Placement* v1_Position); typedef IfcTemplatedEntityList< IfcConic > list; }; /// IfcConstructionResource is an abstract generalization of the different resources used in @@ -24938,12 +26108,12 @@ class IfcConstructionResource : public IfcResource { public: /// Whether the optional attribute ResourceIdentifier is defined for this IfcConstructionResource bool hasResourceIdentifier() const; - IfcIdentifier ResourceIdentifier() const; - void setResourceIdentifier(IfcIdentifier v); + std::string ResourceIdentifier() const; + void setResourceIdentifier(std::string v); /// Whether the optional attribute ResourceGroup is defined for this IfcConstructionResource bool hasResourceGroup() const; - IfcLabel ResourceGroup() const; - void setResourceGroup(IfcLabel v); + std::string ResourceGroup() const; + void setResourceGroup(std::string v); /// Whether the optional attribute ResourceConsumption is defined for this IfcConstructionResource bool hasResourceConsumption() const; /// Indicates how the resource is consumed or occupied during its use in a process. Production-based consumption is indicated by CONSUMED, PARTIALLYCONSUMED, or NOTCONSUMED, where QuantityProduced refers to a quantity on the IfcProduct to which the assigned IfcProcess is assigned. Duration-based occupation is indicated by OCCUPIED, PARTIALLYOCCUPIED, or NOTOCCUPIED, where QuantityProduced refers to a quantity on the IfcProcess to which the resource is assigned. @@ -24961,7 +26131,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstructionResource (IfcAbstractEntity* e); - IfcConstructionResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity); + IfcConstructionResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity); typedef IfcTemplatedEntityList< IfcConstructionResource > list; }; /// 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. @@ -24985,7 +26155,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcControl (IfcAbstractEntity* e); - IfcControl (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); + IfcControl (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType); typedef IfcTemplatedEntityList< IfcControl > list; }; /// 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. @@ -25034,7 +26204,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCostItem (IfcAbstractEntity* e); - IfcCostItem (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); + IfcCostItem (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType); typedef IfcTemplatedEntityList< IfcCostItem > list; }; /// 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. @@ -25064,19 +26234,19 @@ class IfcCostSchedule : public IfcControl { public: /// Whether the optional attribute SubmittedBy is defined for this IfcCostSchedule bool hasSubmittedBy() const; - IfcActorSelect SubmittedBy() const; - void setSubmittedBy(IfcActorSelect v); + IfcActorSelect* SubmittedBy() const; + void setSubmittedBy(IfcActorSelect* v); /// Whether the optional attribute PreparedBy is defined for this IfcCostSchedule bool hasPreparedBy() const; - IfcActorSelect PreparedBy() const; - void setPreparedBy(IfcActorSelect v); + IfcActorSelect* PreparedBy() const; + void setPreparedBy(IfcActorSelect* v); /// Whether the optional attribute SubmittedOn is defined for this IfcCostSchedule bool hasSubmittedOn() const; /// The date and time on which the cost schedule was submitted. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - IfcDateTimeSelect SubmittedOn() const; - void setSubmittedOn(IfcDateTimeSelect v); + IfcDateTimeSelect* SubmittedOn() const; + void setSubmittedOn(IfcDateTimeSelect* v); /// Whether the optional attribute Status is defined for this IfcCostSchedule bool hasStatus() const; /// The current status of a cost schedule. Examples of status values that might be used for a cost schedule status include: @@ -25086,21 +26256,21 @@ public: /// AGREED /// ISSUED /// STARTED - IfcLabel Status() const; - void setStatus(IfcLabel v); + std::string Status() const; + void setStatus(std::string v); /// Whether the optional attribute TargetUsers is defined for this IfcCostSchedule bool hasTargetUsers() const; - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr TargetUsers() const; - void setTargetUsers(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr TargetUsers() const; + void setTargetUsers(IfcEntityList::ptr v); /// Whether the optional attribute UpdateDate is defined for this IfcCostSchedule bool hasUpdateDate() const; /// The date and time that this cost schedule is updated; this allows tracking the schedule history. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - IfcDateTimeSelect UpdateDate() const; - void setUpdateDate(IfcDateTimeSelect v); - IfcIdentifier ID() const; - void setID(IfcIdentifier v); + IfcDateTimeSelect* UpdateDate() const; + void setUpdateDate(IfcDateTimeSelect* v); + std::string ID() const; + void setID(std::string v); /// Predefined generic type for a cost schedule that is specified in an enumeration. There may be a property set given specifically for the predefined types. /// /// IFC2x4 CHANGE The attribute has been made optional. @@ -25114,7 +26284,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCostSchedule (IfcAbstractEntity* e); - IfcCostSchedule (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcActorSelect > v6_SubmittedBy, boost::optional< IfcActorSelect > v7_PreparedBy, boost::optional< IfcDateTimeSelect > v8_SubmittedOn, boost::optional< IfcLabel > v9_Status, boost::optional< IfcEntityList::ptr > v10_TargetUsers, boost::optional< IfcDateTimeSelect > v11_UpdateDate, IfcIdentifier v12_ID, IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum v13_PredefinedType); + IfcCostSchedule (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcActorSelect* v6_SubmittedBy, IfcActorSelect* v7_PreparedBy, IfcDateTimeSelect* v8_SubmittedOn, boost::optional< std::string > v9_Status, boost::optional< IfcEntityList::ptr > v10_TargetUsers, IfcDateTimeSelect* v11_UpdateDate, std::string v12_ID, IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum v13_PredefinedType); typedef IfcTemplatedEntityList< IfcCostSchedule > list; }; /// Definition from IAI: The element type @@ -25209,7 +26379,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCoveringType (IfcAbstractEntity* e); - IfcCoveringType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoveringTypeEnum::IfcCoveringTypeEnum v10_PredefinedType); + IfcCoveringType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCoveringTypeEnum::IfcCoveringTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCoveringType > list; }; /// IfcCrewResource represents a collection of internal resources used in construction processes. @@ -25232,7 +26402,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCrewResource (IfcAbstractEntity* e); - IfcCrewResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity); + IfcCrewResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity); typedef IfcTemplatedEntityList< IfcCrewResource > list; }; /// Definition from IAI: The element type (IfcCurtainWallType) @@ -25269,7 +26439,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCurtainWallType (IfcAbstractEntity* e); - IfcCurtainWallType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v10_PredefinedType); + IfcCurtainWallType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCurtainWallType > list; }; @@ -25324,7 +26494,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionElementType (IfcAbstractEntity* e); - IfcDistributionElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcDistributionElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcDistributionElementType > list; }; /// 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). @@ -25402,7 +26572,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionFlowElementType (IfcAbstractEntity* e); - IfcDistributionFlowElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcDistributionFlowElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcDistributionFlowElementType > list; }; @@ -25412,26 +26582,26 @@ public: bool hasElectricCurrentType() const; IfcElectricCurrentEnum::IfcElectricCurrentEnum ElectricCurrentType() const; void setElectricCurrentType(IfcElectricCurrentEnum::IfcElectricCurrentEnum v); - IfcElectricVoltageMeasure InputVoltage() const; - void setInputVoltage(IfcElectricVoltageMeasure v); - IfcFrequencyMeasure InputFrequency() const; - void setInputFrequency(IfcFrequencyMeasure v); + double InputVoltage() const; + void setInputVoltage(double v); + double InputFrequency() const; + void setInputFrequency(double v); /// Whether the optional attribute FullLoadCurrent is defined for this IfcElectricalBaseProperties bool hasFullLoadCurrent() const; - IfcElectricCurrentMeasure FullLoadCurrent() const; - void setFullLoadCurrent(IfcElectricCurrentMeasure v); + double FullLoadCurrent() const; + void setFullLoadCurrent(double v); /// Whether the optional attribute MinimumCircuitCurrent is defined for this IfcElectricalBaseProperties bool hasMinimumCircuitCurrent() const; - IfcElectricCurrentMeasure MinimumCircuitCurrent() const; - void setMinimumCircuitCurrent(IfcElectricCurrentMeasure v); + double MinimumCircuitCurrent() const; + void setMinimumCircuitCurrent(double v); /// Whether the optional attribute MaximumPowerInput is defined for this IfcElectricalBaseProperties bool hasMaximumPowerInput() const; - IfcPowerMeasure MaximumPowerInput() const; - void setMaximumPowerInput(IfcPowerMeasure v); + double MaximumPowerInput() const; + void setMaximumPowerInput(double v); /// Whether the optional attribute RatedPowerInput is defined for this IfcElectricalBaseProperties bool hasRatedPowerInput() const; - IfcPowerMeasure RatedPowerInput() const; - void setRatedPowerInput(IfcPowerMeasure v); + double RatedPowerInput() const; + void setRatedPowerInput(double v); int InputPhase() const; void setInputPhase(int v); virtual unsigned int getArgumentCount() const { return 14; } @@ -25442,7 +26612,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricalBaseProperties (IfcAbstractEntity* e); - IfcElectricalBaseProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcEnergySequenceEnum::IfcEnergySequenceEnum > v5_EnergySequence, boost::optional< IfcLabel > v6_UserDefinedEnergySequence, boost::optional< IfcElectricCurrentEnum::IfcElectricCurrentEnum > v7_ElectricCurrentType, IfcElectricVoltageMeasure v8_InputVoltage, IfcFrequencyMeasure v9_InputFrequency, boost::optional< IfcElectricCurrentMeasure > v10_FullLoadCurrent, boost::optional< IfcElectricCurrentMeasure > v11_MinimumCircuitCurrent, boost::optional< IfcPowerMeasure > v12_MaximumPowerInput, boost::optional< IfcPowerMeasure > v13_RatedPowerInput, int v14_InputPhase); + IfcElectricalBaseProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcEnergySequenceEnum::IfcEnergySequenceEnum > v5_EnergySequence, boost::optional< std::string > v6_UserDefinedEnergySequence, boost::optional< IfcElectricCurrentEnum::IfcElectricCurrentEnum > v7_ElectricCurrentType, double v8_InputVoltage, double v9_InputFrequency, boost::optional< double > v10_FullLoadCurrent, boost::optional< double > v11_MinimumCircuitCurrent, boost::optional< double > v12_MaximumPowerInput, boost::optional< double > v13_RatedPowerInput, int v14_InputPhase); typedef IfcTemplatedEntityList< IfcElectricalBaseProperties > list; }; /// Definition from IAI: Generalization of all components @@ -25503,8 +26673,8 @@ public: /// Whether the optional attribute Tag is defined for this IfcElement bool hasTag() const; /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. - IfcIdentifier Tag() const; - void setTag(IfcIdentifier v); + std::string Tag() const; + void setTag(std::string v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_STRING; } return IfcProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "Tag"; } return IfcProduct::getArgumentName(i); } @@ -25525,7 +26695,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElement (IfcAbstractEntity* e); - IfcElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcElement > list; }; /// The IfcElementAssembly @@ -25642,7 +26812,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElementAssembly (IfcAbstractEntity* e); - IfcElementAssembly (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v9_AssemblyPlace, IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v10_PredefinedType); + IfcElementAssembly (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v9_AssemblyPlace, IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcElementAssembly > list; }; /// An element component is a representation for minor items included in, added to or connecting to or between @@ -25732,7 +26902,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElementComponent (IfcAbstractEntity* e); - IfcElementComponent (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcElementComponent (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcElementComponent > list; }; /// Definition from IAI: @@ -25754,7 +26924,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElementComponentType (IfcAbstractEntity* e); - IfcElementComponentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcElementComponentType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcElementComponentType > list; }; /// 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: @@ -25787,11 +26957,11 @@ public: class IfcEllipse : public IfcConic { public: /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. - IfcPositiveLengthMeasure SemiAxis1() const; - void setSemiAxis1(IfcPositiveLengthMeasure v); + double SemiAxis1() const; + void setSemiAxis1(double v); /// The second radius of the ellipse which shall be positive. - IfcPositiveLengthMeasure SemiAxis2() const; - void setSemiAxis2(IfcPositiveLengthMeasure v); + double SemiAxis2() const; + void setSemiAxis2(double v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; } return IfcConic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "SemiAxis1"; case 2: return "SemiAxis2"; } return IfcConic::getArgumentName(i); } @@ -25800,7 +26970,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEllipse (IfcAbstractEntity* e); - IfcEllipse (IfcAxis2Placement v1_Position, IfcPositiveLengthMeasure v2_SemiAxis1, IfcPositiveLengthMeasure v3_SemiAxis2); + IfcEllipse (IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); typedef IfcTemplatedEntityList< IfcEllipse > list; }; /// The element type IfcEnergyConversionType defines a list of commonly shared property @@ -25838,7 +27008,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEnergyConversionDeviceType (IfcAbstractEntity* e); - IfcEnergyConversionDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcEnergyConversionDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcEnergyConversionDeviceType > list; }; @@ -25852,7 +27022,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEquipmentElement (IfcAbstractEntity* e); - IfcEquipmentElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcEquipmentElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcEquipmentElement > list; }; @@ -25866,7 +27036,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEquipmentStandard (IfcAbstractEntity* e); - IfcEquipmentStandard (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); + IfcEquipmentStandard (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType); typedef IfcTemplatedEntityList< IfcEquipmentStandard > list; }; /// The energy conversion device type IfcEvaporativeCoolerType defines commonly shared information for occurrences of evaporative coolers. The set of shared information may include: @@ -25908,7 +27078,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEvaporativeCoolerType (IfcAbstractEntity* e); - IfcEvaporativeCoolerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v10_PredefinedType); + IfcEvaporativeCoolerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcEvaporativeCoolerType > list; }; /// The energy conversion device type IfcEvaporatorType defines commonly shared information for occurrences of evaporators. The set of shared information may include: @@ -25950,7 +27120,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEvaporatorType (IfcAbstractEntity* e); - IfcEvaporatorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v10_PredefinedType); + IfcEvaporatorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcEvaporatorType > list; }; /// Definition from ISO/CD 10303-42:1992: A faceted B-rep @@ -26048,7 +27218,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFastener (IfcAbstractEntity* e); - IfcFastener (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcFastener (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFastener > list; }; /// Definition from IAI: @@ -26084,7 +27254,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFastenerType (IfcAbstractEntity* e); - IfcFastenerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcFastenerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcFastenerType > list; }; /// Definition from IAI: Generalization of all existence @@ -26191,7 +27361,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFeatureElement (IfcAbstractEntity* e); - IfcFeatureElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcFeatureElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFeatureElement > list; }; /// Definition from IAI: A specialization of the general @@ -26260,7 +27430,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFeatureElementAddition (IfcAbstractEntity* e); - IfcFeatureElementAddition (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcFeatureElementAddition (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFeatureElementAddition > list; }; /// The IfcFeatureElementSubtraction is specialization of @@ -26324,7 +27494,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFeatureElementSubtraction (IfcAbstractEntity* e); - IfcFeatureElementSubtraction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcFeatureElementSubtraction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFeatureElementSubtraction > list; }; /// The element type IfcFlowControllerType defines a list of commonly shared property @@ -26361,7 +27531,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowControllerType (IfcAbstractEntity* e); - IfcFlowControllerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcFlowControllerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcFlowControllerType > list; }; /// The element type IfcFlowFittingType defines a list of commonly shared property @@ -26399,7 +27569,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowFittingType (IfcAbstractEntity* e); - IfcFlowFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcFlowFittingType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcFlowFittingType > list; }; /// The flow controller type IfcFlowMeterType defines commonly shared information for occurrences of flow meters. The set of shared information may include: @@ -26447,7 +27617,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowMeterType (IfcAbstractEntity* e); - IfcFlowMeterType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v10_PredefinedType); + IfcFlowMeterType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcFlowMeterType > list; }; /// The element type IfcFlowMovingDeviceType defines a list of commonly shared property @@ -26483,7 +27653,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowMovingDeviceType (IfcAbstractEntity* e); - IfcFlowMovingDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcFlowMovingDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcFlowMovingDeviceType > list; }; /// The element type IfcFlowSegmentType defines a list of commonly shared property @@ -26528,7 +27698,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowSegmentType (IfcAbstractEntity* e); - IfcFlowSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcFlowSegmentType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcFlowSegmentType > list; }; /// 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). @@ -26548,7 +27718,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowStorageDeviceType (IfcAbstractEntity* e); - IfcFlowStorageDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcFlowStorageDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcFlowStorageDeviceType > list; }; /// 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). @@ -26568,7 +27738,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowTerminalType (IfcAbstractEntity* e); - IfcFlowTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcFlowTerminalType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcFlowTerminalType > list; }; /// 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). @@ -26590,7 +27760,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowTreatmentDeviceType (IfcAbstractEntity* e); - IfcFlowTreatmentDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcFlowTreatmentDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcFlowTreatmentDeviceType > list; }; /// Definition from IAI: Generalization of all furniture @@ -26707,7 +27877,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFurnishingElement (IfcAbstractEntity* e); - IfcFurnishingElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcFurnishingElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFurnishingElement > list; }; @@ -26721,7 +27891,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFurnitureStandard (IfcAbstractEntity* e); - IfcFurnitureStandard (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); + IfcFurnitureStandard (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType); typedef IfcTemplatedEntityList< IfcFurnitureStandard > list; }; @@ -26737,7 +27907,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGasTerminalType (IfcAbstractEntity* e); - IfcGasTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcGasTerminalTypeEnum::IfcGasTerminalTypeEnum v10_PredefinedType); + IfcGasTerminalType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcGasTerminalTypeEnum::IfcGasTerminalTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcGasTerminalType > list; }; /// IfcGrid ia a planar design @@ -26858,7 +28028,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGrid (IfcAbstractEntity* e); - IfcGrid (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcTemplatedEntityList< IfcGridAxis >::ptr v8_UAxes, IfcTemplatedEntityList< IfcGridAxis >::ptr v9_VAxes, boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > v10_WAxes); + IfcGrid (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcTemplatedEntityList< IfcGridAxis >::ptr v8_UAxes, IfcTemplatedEntityList< IfcGridAxis >::ptr v9_VAxes, boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > v10_WAxes); typedef IfcTemplatedEntityList< IfcGrid > list; }; /// 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. @@ -26902,7 +28072,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGroup (IfcAbstractEntity* e); - IfcGroup (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); + IfcGroup (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType); typedef IfcTemplatedEntityList< IfcGroup > list; }; /// The energy conversion device type IfcHeatExchangerType defines commonly shared information for occurrences of heat exchangers. The set of shared information may include: @@ -26947,7 +28117,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcHeatExchangerType (IfcAbstractEntity* e); - IfcHeatExchangerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v10_PredefinedType); + IfcHeatExchangerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcHeatExchangerType > list; }; /// The energy conversion device type IfcHumidifierType defines commonly shared information for occurrences of humidifiers. The set of shared information may include: @@ -26989,7 +28159,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcHumidifierType (IfcAbstractEntity* e); - IfcHumidifierType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v10_PredefinedType); + IfcHumidifierType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcHumidifierType > list; }; /// An inventory is a list of items within an enterprise. @@ -27008,8 +28178,8 @@ public: IfcInventoryTypeEnum::IfcInventoryTypeEnum InventoryType() const; void setInventoryType(IfcInventoryTypeEnum::IfcInventoryTypeEnum v); /// The organizational unit to which the inventory is applicable. - IfcActorSelect Jurisdiction() const; - void setJurisdiction(IfcActorSelect v); + IfcActorSelect* Jurisdiction() const; + void setJurisdiction(IfcActorSelect* v); /// Persons who are responsible for the inventory. IfcTemplatedEntityList< IfcPerson >::ptr ResponsiblePersons() const; void setResponsiblePersons(IfcTemplatedEntityList< IfcPerson >::ptr v); @@ -27036,7 +28206,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcInventory (IfcAbstractEntity* e); - IfcInventory (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcInventoryTypeEnum::IfcInventoryTypeEnum v6_InventoryType, IfcActorSelect v7_Jurisdiction, IfcTemplatedEntityList< IfcPerson >::ptr v8_ResponsiblePersons, IfcCalendarDate* v9_LastUpdateDate, IfcCostValue* v10_CurrentValue, IfcCostValue* v11_OriginalValue); + IfcInventory (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcInventoryTypeEnum::IfcInventoryTypeEnum v6_InventoryType, IfcActorSelect* v7_Jurisdiction, IfcTemplatedEntityList< IfcPerson >::ptr v8_ResponsiblePersons, IfcCalendarDate* v9_LastUpdateDate, IfcCostValue* v10_CurrentValue, IfcCostValue* v11_OriginalValue); typedef IfcTemplatedEntityList< IfcInventory > list; }; /// The flow fitting type IfcJunctionBoxType defines commonly shared information for occurrences of junction boxs. The set of shared information may include: @@ -27079,7 +28249,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcJunctionBoxType (IfcAbstractEntity* e); - IfcJunctionBoxType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v10_PredefinedType); + IfcJunctionBoxType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcJunctionBoxType > list; }; /// An IfcLaborResource is used in construction with particular skills or crafts required to perform certain types of construction or management related work. @@ -27110,8 +28280,8 @@ class IfcLaborResource : public IfcConstructionResource { public: /// Whether the optional attribute SkillSet is defined for this IfcLaborResource bool hasSkillSet() const; - IfcText SkillSet() const; - void setSkillSet(IfcText v); + std::string SkillSet() const; + void setSkillSet(std::string v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_STRING; } return IfcConstructionResource::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "SkillSet"; } return IfcConstructionResource::getArgumentName(i); } @@ -27120,7 +28290,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLaborResource (IfcAbstractEntity* e); - IfcLaborResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< IfcText > v10_SkillSet); + IfcLaborResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< std::string > v10_SkillSet); typedef IfcTemplatedEntityList< IfcLaborResource > list; }; /// The flow terminal type IfcLampType defines commonly shared information for occurrences of lamps. The set of shared information may include: @@ -27165,7 +28335,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLampType (IfcAbstractEntity* e); - IfcLampType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcLampTypeEnum::IfcLampTypeEnum v10_PredefinedType); + IfcLampType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcLampTypeEnum::IfcLampTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcLampType > list; }; /// The flow terminal type IfcLightFixtureType defines commonly shared information for occurrences of light fixtures. The set of shared information may include: @@ -27212,7 +28382,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLightFixtureType (IfcAbstractEntity* e); - IfcLightFixtureType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v10_PredefinedType); + IfcLightFixtureType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcLightFixtureType > list; }; @@ -27262,12 +28432,12 @@ class IfcMechanicalFastener : public IfcFastener { public: /// Whether the optional attribute NominalDiameter is defined for this IfcMechanicalFastener bool hasNominalDiameter() const; - IfcPositiveLengthMeasure NominalDiameter() const; - void setNominalDiameter(IfcPositiveLengthMeasure v); + double NominalDiameter() const; + void setNominalDiameter(double v); /// Whether the optional attribute NominalLength is defined for this IfcMechanicalFastener bool hasNominalLength() const; - IfcPositiveLengthMeasure NominalLength() const; - void setNominalLength(IfcPositiveLengthMeasure v); + double NominalLength() const; + void setNominalLength(double v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; } return IfcFastener::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "NominalDiameter"; case 9: return "NominalLength"; } return IfcFastener::getArgumentName(i); } @@ -27276,7 +28446,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMechanicalFastener (IfcAbstractEntity* e); - IfcMechanicalFastener (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_NominalDiameter, boost::optional< IfcPositiveLengthMeasure > v10_NominalLength); + IfcMechanicalFastener (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength); typedef IfcTemplatedEntityList< IfcMechanicalFastener > list; }; /// 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). @@ -27324,7 +28494,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMechanicalFastenerType (IfcAbstractEntity* e); - IfcMechanicalFastenerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcMechanicalFastenerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcMechanicalFastenerType > list; }; /// Definition from IAI: The element type @@ -27441,7 +28611,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMemberType (IfcAbstractEntity* e); - IfcMemberType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMemberTypeEnum::IfcMemberTypeEnum v10_PredefinedType); + IfcMemberType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMemberTypeEnum::IfcMemberTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcMemberType > list; }; /// The energy conversion device type IfcMotorConnectionType defines commonly shared information for occurrences of motor connections. The set of shared information may include: @@ -27484,7 +28654,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMotorConnectionType (IfcAbstractEntity* e); - IfcMotorConnectionType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v10_PredefinedType); + IfcMotorConnectionType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcMotorConnectionType > list; }; @@ -27496,8 +28666,8 @@ public: void setMoveTo(IfcSpatialStructureElement* v); /// Whether the optional attribute PunchList is defined for this IfcMove bool hasPunchList() const; - std::vector< IfcText > /*[1:?]*/ PunchList() const; - void setPunchList(std::vector< IfcText > /*[1:?]*/ v); + std::vector< std::string > /*[1:?]*/ PunchList() const; + void setPunchList(std::vector< std::string > /*[1:?]*/ v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 10: return IfcUtil::Argument_ENTITY; case 11: return IfcUtil::Argument_ENTITY; case 12: return IfcUtil::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); } @@ -27506,7 +28676,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMove (IfcAbstractEntity* e); - IfcMove (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_TaskId, boost::optional< IfcLabel > v7_Status, boost::optional< IfcLabel > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority, IfcSpatialStructureElement* v11_MoveFrom, IfcSpatialStructureElement* v12_MoveTo, boost::optional< std::vector< IfcText > /*[1:?]*/ > v13_PunchList); + IfcMove (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_TaskId, boost::optional< std::string > v7_Status, boost::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority, IfcSpatialStructureElement* v11_MoveFrom, IfcSpatialStructureElement* v12_MoveTo, boost::optional< std::vector< std::string > /*[1:?]*/ > v13_PunchList); typedef IfcTemplatedEntityList< IfcMove > list; }; /// An occupant is a type of actor that defines the form of occupancy of a property. @@ -27531,7 +28701,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOccupant (IfcAbstractEntity* e); - IfcOccupant (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcActorSelect v6_TheActor, IfcOccupantTypeEnum::IfcOccupantTypeEnum v7_PredefinedType); + IfcOccupant (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcActorSelect* v6_TheActor, IfcOccupantTypeEnum::IfcOccupantTypeEnum v7_PredefinedType); typedef IfcTemplatedEntityList< IfcOccupant > list; }; /// The opening element stands for @@ -27747,14 +28917,14 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOpeningElement (IfcAbstractEntity* e); - IfcOpeningElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcOpeningElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcOpeningElement > list; }; class IfcOrderAction : public IfcTask { public: - IfcIdentifier ActionID() const; - void setActionID(IfcIdentifier v); + std::string ActionID() const; + void setActionID(std::string v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 10: return IfcUtil::Argument_STRING; } return IfcTask::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 10: return "ActionID"; } return IfcTask::getArgumentName(i); } @@ -27763,7 +28933,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOrderAction (IfcAbstractEntity* e); - IfcOrderAction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_TaskId, boost::optional< IfcLabel > v7_Status, boost::optional< IfcLabel > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority, IfcIdentifier v11_ActionID); + IfcOrderAction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_TaskId, boost::optional< std::string > v7_Status, boost::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority, std::string v11_ActionID); typedef IfcTemplatedEntityList< IfcOrderAction > list; }; /// The flow terminal type IfcOutletType defines commonly shared information for occurrences of outlets. The set of shared information may include: @@ -27808,7 +28978,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOutletType (IfcAbstractEntity* e); - IfcOutletType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcOutletTypeEnum::IfcOutletTypeEnum v10_PredefinedType); + IfcOutletType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcOutletTypeEnum::IfcOutletTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcOutletType > list; }; /// 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. @@ -27819,8 +28989,8 @@ public: class IfcPerformanceHistory : public IfcControl { public: /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. - IfcLabel LifeCyclePhase() const; - void setLifeCyclePhase(IfcLabel v); + std::string LifeCyclePhase() const; + void setLifeCyclePhase(std::string v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "LifeCyclePhase"; } return IfcControl::getArgumentName(i); } @@ -27829,7 +28999,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPerformanceHistory (IfcAbstractEntity* e); - IfcPerformanceHistory (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcLabel v6_LifeCyclePhase); + IfcPerformanceHistory (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_LifeCyclePhase); typedef IfcTemplatedEntityList< IfcPerformanceHistory > list; }; /// A permit is a permission to perform work in places and on artifacts where regulatory, security or other access restrictions apply. @@ -27871,8 +29041,8 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcPermit. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IfcPermit : public IfcControl { public: - IfcIdentifier PermitID() const; - void setPermitID(IfcIdentifier v); + std::string PermitID() const; + void setPermitID(std::string v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "PermitID"; } return IfcControl::getArgumentName(i); } @@ -27881,7 +29051,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPermit (IfcAbstractEntity* e); - IfcPermit (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_PermitID); + IfcPermit (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_PermitID); typedef IfcTemplatedEntityList< IfcPermit > list; }; /// The flow fitting type IfcPipeFittingType defines commonly shared information for occurrences of pipe fittings. The set of shared information may include: @@ -27926,7 +29096,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPipeFittingType (IfcAbstractEntity* e); - IfcPipeFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v10_PredefinedType); + IfcPipeFittingType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcPipeFittingType > list; }; /// The flow segment type IfcPipeSegmentType defines commonly shared information for occurrences of pipe segments. The set of shared information may include: @@ -27975,7 +29145,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPipeSegmentType (IfcAbstractEntity* e); - IfcPipeSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v10_PredefinedType); + IfcPipeSegmentType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcPipeSegmentType > list; }; /// The element type IfcPlateType defines commonly shared @@ -28068,7 +29238,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPlateType (IfcAbstractEntity* e); - IfcPlateType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPlateTypeEnum::IfcPlateTypeEnum v10_PredefinedType); + IfcPlateType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPlateTypeEnum::IfcPlateTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcPlateType > list; }; /// Definition from ISO/CD 10303-42:1992: A polyline @@ -28167,7 +29337,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPort (IfcAbstractEntity* e); - IfcPort (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); + IfcPort (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); typedef IfcTemplatedEntityList< IfcPort > list; }; /// An IfcProcedure is a @@ -28276,14 +29446,14 @@ public: /// Figure 12 — Procedure relationships class IfcProcedure : public IfcProcess { public: - IfcIdentifier ProcedureID() const; - void setProcedureID(IfcIdentifier v); + std::string ProcedureID() const; + void setProcedureID(std::string v); IfcProcedureTypeEnum::IfcProcedureTypeEnum ProcedureType() const; void setProcedureType(IfcProcedureTypeEnum::IfcProcedureTypeEnum v); /// Whether the optional attribute UserDefinedProcedureType is defined for this IfcProcedure bool hasUserDefinedProcedureType() const; - IfcLabel UserDefinedProcedureType() const; - void setUserDefinedProcedureType(IfcLabel v); + std::string UserDefinedProcedureType() const; + void setUserDefinedProcedureType(std::string v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_STRING; } return IfcProcess::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "ProcedureID"; case 6: return "ProcedureType"; case 7: return "UserDefinedProcedureType"; } return IfcProcess::getArgumentName(i); } @@ -28292,7 +29462,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProcedure (IfcAbstractEntity* e); - IfcProcedure (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_ProcedureID, IfcProcedureTypeEnum::IfcProcedureTypeEnum v7_ProcedureType, boost::optional< IfcLabel > v8_UserDefinedProcedureType); + IfcProcedure (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_ProcedureID, IfcProcedureTypeEnum::IfcProcedureTypeEnum v7_ProcedureType, boost::optional< std::string > v8_UserDefinedProcedureType); typedef IfcTemplatedEntityList< IfcProcedure > list; }; /// A project order is a directive to purchase products and/or perform work, such as for construction or facilities management. @@ -28340,8 +29510,8 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcProjectOrder. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IfcProjectOrder : public IfcControl { public: - IfcIdentifier ID() const; - void setID(IfcIdentifier v); + std::string ID() const; + void setID(std::string v); /// Predefined generic type for a project order that is specified in an enumeration. There may be a property set given specificly for the predefined types. /// /// IFC2x4 CHANGE The attribute has been made optional. @@ -28358,8 +29528,8 @@ public: /// STARTED /// DELAYED /// DONE - IfcLabel Status() const; - void setStatus(IfcLabel v); + std::string Status() const; + void setStatus(std::string v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "ID"; case 6: return "PredefinedType"; case 7: return "Status"; } return IfcControl::getArgumentName(i); } @@ -28368,7 +29538,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProjectOrder (IfcAbstractEntity* e); - IfcProjectOrder (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_ID, IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum v7_PredefinedType, boost::optional< IfcLabel > v8_Status); + IfcProjectOrder (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_ID, IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum v7_PredefinedType, boost::optional< std::string > v8_Status); typedef IfcTemplatedEntityList< IfcProjectOrder > list; }; @@ -28386,7 +29556,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProjectOrderRecord (IfcAbstractEntity* e); - IfcProjectOrderRecord (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcTemplatedEntityList< IfcRelAssignsToProjectOrder >::ptr v6_Records, IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordTypeEnum v7_PredefinedType); + IfcProjectOrderRecord (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcTemplatedEntityList< IfcRelAssignsToProjectOrder >::ptr v6_Records, IfcProjectOrderRecordTypeEnum::IfcProjectOrderRecordTypeEnum v7_PredefinedType); typedef IfcTemplatedEntityList< IfcProjectOrderRecord > list; }; /// The projection element is a @@ -28506,7 +29676,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProjectionElement (IfcAbstractEntity* e); - IfcProjectionElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcProjectionElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcProjectionElement > list; }; /// The flow controller type IfcProtectiveDeviceType defines commonly shared information for occurrences of protective devices. The set of shared information may include: @@ -28557,7 +29727,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProtectiveDeviceType (IfcAbstractEntity* e); - IfcProtectiveDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v10_PredefinedType); + IfcProtectiveDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcProtectiveDeviceType > list; }; /// The flow moving device type IfcPumpType defines commonly shared information for occurrences of pumps. The set of shared information may include: @@ -28601,7 +29771,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPumpType (IfcAbstractEntity* e); - IfcPumpType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPumpTypeEnum::IfcPumpTypeEnum v10_PredefinedType); + IfcPumpType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPumpTypeEnum::IfcPumpTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcPumpType > list; }; @@ -28651,7 +29821,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRailingType (IfcAbstractEntity* e); - IfcRailingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRailingTypeEnum::IfcRailingTypeEnum v10_PredefinedType); + IfcRailingType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRailingTypeEnum::IfcRailingTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcRailingType > list; }; /// Definition from IAI: The element type (IfcRampFlightType) @@ -28687,7 +29857,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRampFlightType (IfcAbstractEntity* e); - IfcRampFlightType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v10_PredefinedType); + IfcRampFlightType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcRampFlightType > list; }; /// The aggregation relationship @@ -28722,7 +29892,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAggregates (IfcAbstractEntity* e); - IfcRelAggregates (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects); + IfcRelAggregates (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects); typedef IfcTemplatedEntityList< IfcRelAggregates > list; }; @@ -28740,7 +29910,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssignsTasks (IfcAbstractEntity* e); - IfcRelAssignsTasks (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl, IfcScheduleTimeControl* v8_TimeForTask); + IfcRelAssignsTasks (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl, IfcScheduleTimeControl* v8_TimeForTask); typedef IfcTemplatedEntityList< IfcRelAssignsTasks > list; }; /// The flow terminal type IfcSanitaryTerminalType defines commonly shared information for occurrences of sanitary terminals. The set of shared information may include: @@ -28793,7 +29963,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSanitaryTerminalType (IfcAbstractEntity* e); - IfcSanitaryTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v10_PredefinedType); + IfcSanitaryTerminalType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcSanitaryTerminalType > list; }; @@ -28801,76 +29971,76 @@ class IfcScheduleTimeControl : public IfcControl { public: /// Whether the optional attribute ActualStart is defined for this IfcScheduleTimeControl bool hasActualStart() const; - IfcDateTimeSelect ActualStart() const; - void setActualStart(IfcDateTimeSelect v); + IfcDateTimeSelect* ActualStart() const; + void setActualStart(IfcDateTimeSelect* v); /// Whether the optional attribute EarlyStart is defined for this IfcScheduleTimeControl bool hasEarlyStart() const; - IfcDateTimeSelect EarlyStart() const; - void setEarlyStart(IfcDateTimeSelect v); + IfcDateTimeSelect* EarlyStart() const; + void setEarlyStart(IfcDateTimeSelect* v); /// Whether the optional attribute LateStart is defined for this IfcScheduleTimeControl bool hasLateStart() const; - IfcDateTimeSelect LateStart() const; - void setLateStart(IfcDateTimeSelect v); + IfcDateTimeSelect* LateStart() const; + void setLateStart(IfcDateTimeSelect* v); /// Whether the optional attribute ScheduleStart is defined for this IfcScheduleTimeControl bool hasScheduleStart() const; - IfcDateTimeSelect ScheduleStart() const; - void setScheduleStart(IfcDateTimeSelect v); + IfcDateTimeSelect* ScheduleStart() const; + void setScheduleStart(IfcDateTimeSelect* v); /// Whether the optional attribute ActualFinish is defined for this IfcScheduleTimeControl bool hasActualFinish() const; - IfcDateTimeSelect ActualFinish() const; - void setActualFinish(IfcDateTimeSelect v); + IfcDateTimeSelect* ActualFinish() const; + void setActualFinish(IfcDateTimeSelect* v); /// Whether the optional attribute EarlyFinish is defined for this IfcScheduleTimeControl bool hasEarlyFinish() const; - IfcDateTimeSelect EarlyFinish() const; - void setEarlyFinish(IfcDateTimeSelect v); + IfcDateTimeSelect* EarlyFinish() const; + void setEarlyFinish(IfcDateTimeSelect* v); /// Whether the optional attribute LateFinish is defined for this IfcScheduleTimeControl bool hasLateFinish() const; - IfcDateTimeSelect LateFinish() const; - void setLateFinish(IfcDateTimeSelect v); + IfcDateTimeSelect* LateFinish() const; + void setLateFinish(IfcDateTimeSelect* v); /// Whether the optional attribute ScheduleFinish is defined for this IfcScheduleTimeControl bool hasScheduleFinish() const; - IfcDateTimeSelect ScheduleFinish() const; - void setScheduleFinish(IfcDateTimeSelect v); + IfcDateTimeSelect* ScheduleFinish() const; + void setScheduleFinish(IfcDateTimeSelect* v); /// Whether the optional attribute ScheduleDuration is defined for this IfcScheduleTimeControl bool hasScheduleDuration() const; - IfcTimeMeasure ScheduleDuration() const; - void setScheduleDuration(IfcTimeMeasure v); + double ScheduleDuration() const; + void setScheduleDuration(double v); /// Whether the optional attribute ActualDuration is defined for this IfcScheduleTimeControl bool hasActualDuration() const; - IfcTimeMeasure ActualDuration() const; - void setActualDuration(IfcTimeMeasure v); + double ActualDuration() const; + void setActualDuration(double v); /// Whether the optional attribute RemainingTime is defined for this IfcScheduleTimeControl bool hasRemainingTime() const; - IfcTimeMeasure RemainingTime() const; - void setRemainingTime(IfcTimeMeasure v); + double RemainingTime() const; + void setRemainingTime(double v); /// Whether the optional attribute FreeFloat is defined for this IfcScheduleTimeControl bool hasFreeFloat() const; - IfcTimeMeasure FreeFloat() const; - void setFreeFloat(IfcTimeMeasure v); + double FreeFloat() const; + void setFreeFloat(double v); /// Whether the optional attribute TotalFloat is defined for this IfcScheduleTimeControl bool hasTotalFloat() const; - IfcTimeMeasure TotalFloat() const; - void setTotalFloat(IfcTimeMeasure v); + double TotalFloat() const; + void setTotalFloat(double v); /// Whether the optional attribute IsCritical is defined for this IfcScheduleTimeControl bool hasIsCritical() const; bool IsCritical() const; void setIsCritical(bool v); /// Whether the optional attribute StatusTime is defined for this IfcScheduleTimeControl bool hasStatusTime() const; - IfcDateTimeSelect StatusTime() const; - void setStatusTime(IfcDateTimeSelect v); + IfcDateTimeSelect* StatusTime() const; + void setStatusTime(IfcDateTimeSelect* v); /// Whether the optional attribute StartFloat is defined for this IfcScheduleTimeControl bool hasStartFloat() const; - IfcTimeMeasure StartFloat() const; - void setStartFloat(IfcTimeMeasure v); + double StartFloat() const; + void setStartFloat(double v); /// Whether the optional attribute FinishFloat is defined for this IfcScheduleTimeControl bool hasFinishFloat() const; - IfcTimeMeasure FinishFloat() const; - void setFinishFloat(IfcTimeMeasure v); + double FinishFloat() const; + void setFinishFloat(double v); /// Whether the optional attribute Completion is defined for this IfcScheduleTimeControl bool hasCompletion() const; - IfcPositiveRatioMeasure Completion() const; - void setCompletion(IfcPositiveRatioMeasure v); + double Completion() const; + void setCompletion(double v); virtual unsigned int getArgumentCount() const { return 23; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY; case 8: return IfcUtil::Argument_ENTITY; case 9: return IfcUtil::Argument_ENTITY; case 10: return IfcUtil::Argument_ENTITY; case 11: return IfcUtil::Argument_ENTITY; case 12: return IfcUtil::Argument_ENTITY; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; case 15: return IfcUtil::Argument_DOUBLE; case 16: return IfcUtil::Argument_DOUBLE; case 17: return IfcUtil::Argument_DOUBLE; case 18: return IfcUtil::Argument_BOOL; case 19: return IfcUtil::Argument_ENTITY; case 20: return IfcUtil::Argument_DOUBLE; case 21: return IfcUtil::Argument_DOUBLE; case 22: return IfcUtil::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); } @@ -28880,7 +30050,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcScheduleTimeControl (IfcAbstractEntity* e); - IfcScheduleTimeControl (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcDateTimeSelect > v6_ActualStart, boost::optional< IfcDateTimeSelect > v7_EarlyStart, boost::optional< IfcDateTimeSelect > v8_LateStart, boost::optional< IfcDateTimeSelect > v9_ScheduleStart, boost::optional< IfcDateTimeSelect > v10_ActualFinish, boost::optional< IfcDateTimeSelect > v11_EarlyFinish, boost::optional< IfcDateTimeSelect > v12_LateFinish, boost::optional< IfcDateTimeSelect > v13_ScheduleFinish, boost::optional< IfcTimeMeasure > v14_ScheduleDuration, boost::optional< IfcTimeMeasure > v15_ActualDuration, boost::optional< IfcTimeMeasure > v16_RemainingTime, boost::optional< IfcTimeMeasure > v17_FreeFloat, boost::optional< IfcTimeMeasure > v18_TotalFloat, boost::optional< bool > v19_IsCritical, boost::optional< IfcDateTimeSelect > v20_StatusTime, boost::optional< IfcTimeMeasure > v21_StartFloat, boost::optional< IfcTimeMeasure > v22_FinishFloat, boost::optional< IfcPositiveRatioMeasure > v23_Completion); + IfcScheduleTimeControl (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcDateTimeSelect* v6_ActualStart, IfcDateTimeSelect* v7_EarlyStart, IfcDateTimeSelect* v8_LateStart, IfcDateTimeSelect* v9_ScheduleStart, IfcDateTimeSelect* v10_ActualFinish, IfcDateTimeSelect* v11_EarlyFinish, IfcDateTimeSelect* v12_LateFinish, IfcDateTimeSelect* v13_ScheduleFinish, boost::optional< double > v14_ScheduleDuration, boost::optional< double > v15_ActualDuration, boost::optional< double > v16_RemainingTime, boost::optional< double > v17_FreeFloat, boost::optional< double > v18_TotalFloat, boost::optional< bool > v19_IsCritical, IfcDateTimeSelect* v20_StatusTime, boost::optional< double > v21_StartFloat, boost::optional< double > v22_FinishFloat, boost::optional< double > v23_Completion); typedef IfcTemplatedEntityList< IfcScheduleTimeControl > list; }; @@ -28888,8 +30058,8 @@ class IfcServiceLife : public IfcControl { public: IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum ServiceLifeType() const; void setServiceLifeType(IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum v); - IfcTimeMeasure ServiceLifeDuration() const; - void setServiceLifeDuration(IfcTimeMeasure v); + double ServiceLifeDuration() const; + void setServiceLifeDuration(double v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_DOUBLE; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "ServiceLifeType"; case 6: return "ServiceLifeDuration"; } return IfcControl::getArgumentName(i); } @@ -28898,7 +30068,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcServiceLife (IfcAbstractEntity* e); - IfcServiceLife (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum v6_ServiceLifeType, IfcTimeMeasure v7_ServiceLifeDuration); + IfcServiceLife (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcServiceLifeTypeEnum::IfcServiceLifeTypeEnum v6_ServiceLifeType, double v7_ServiceLifeDuration); typedef IfcTemplatedEntityList< IfcServiceLife > list; }; /// Definition from ISO 6707-1:1989: Area where construction @@ -29096,25 +30266,25 @@ public: bool hasRefLatitude() const; /// World Latitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Latitudes are measured relative to the geodetic equator, north of the equator by positive values - from 0 till +90, south of the equator by negative values - from 0 till -90. - IfcCompoundPlaneAngleMeasure RefLatitude() const; - void setRefLatitude(IfcCompoundPlaneAngleMeasure v); + std::vector< int > /*[3:4]*/ RefLatitude() const; + void setRefLatitude(std::vector< int > /*[3:4]*/ v); /// Whether the optional attribute RefLongitude is defined for this IfcSite bool hasRefLongitude() const; /// World Longitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Longitudes are measured relative to the geodetic zero meridian, nominally the same as the Greenwich prime meridian: longitudes west of the zero meridian have negative values - from 0 till -180, longitudes east of the zero meridian have positive values - from 0 till -180. /// Example: Chicago Harbor Light has according to WGS84 a longitude -87.35.40 (or 87.35.40W) and a latitude 41.53.30 (or 41.53.30N). - IfcCompoundPlaneAngleMeasure RefLongitude() const; - void setRefLongitude(IfcCompoundPlaneAngleMeasure v); + std::vector< int > /*[3:4]*/ RefLongitude() const; + void setRefLongitude(std::vector< int > /*[3:4]*/ v); /// Whether the optional attribute RefElevation is defined for this IfcSite bool hasRefElevation() const; /// Datum elevation relative to sea level. - IfcLengthMeasure RefElevation() const; - void setRefElevation(IfcLengthMeasure v); + double RefElevation() const; + void setRefElevation(double v); /// Whether the optional attribute LandTitleNumber is defined for this IfcSite bool hasLandTitleNumber() const; /// The land title number (designation of the site within a regional system). - IfcLabel LandTitleNumber() const; - void setLandTitleNumber(IfcLabel v); + std::string LandTitleNumber() const; + void setLandTitleNumber(std::string v); /// Whether the optional attribute SiteAddress is defined for this IfcSite bool hasSiteAddress() const; /// Address given to the site for postal purposes. @@ -29128,7 +30298,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSite (IfcAbstractEntity* e); - IfcSite (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< IfcCompoundPlaneAngleMeasure > v10_RefLatitude, boost::optional< IfcCompoundPlaneAngleMeasure > v11_RefLongitude, boost::optional< IfcLengthMeasure > v12_RefElevation, boost::optional< IfcLabel > v13_LandTitleNumber, IfcPostalAddress* v14_SiteAddress); + IfcSite (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, boost::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, boost::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, boost::optional< double > v12_RefElevation, boost::optional< std::string > v13_LandTitleNumber, IfcPostalAddress* v14_SiteAddress); typedef IfcTemplatedEntityList< IfcSite > list; }; /// The element type IfcSlabType defines commonly shared @@ -29221,7 +30391,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSlabType (IfcAbstractEntity* e); - IfcSlabType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSlabTypeEnum::IfcSlabTypeEnum v10_PredefinedType); + IfcSlabType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSlabTypeEnum::IfcSlabTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcSlabType > list; }; /// A space represents an area or volume @@ -29481,8 +30651,8 @@ public: /// Whether the optional attribute ElevationWithFlooring is defined for this IfcSpace bool hasElevationWithFlooring() const; /// Level of flooring of this space; the average shall be taken, if the space ground surface is sloping or if there are level differences within this space. - IfcLengthMeasure ElevationWithFlooring() const; - void setElevationWithFlooring(IfcLengthMeasure v); + double ElevationWithFlooring() const; + void setElevationWithFlooring(double v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::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); } @@ -29493,7 +30663,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpace (IfcAbstractEntity* e); - IfcSpace (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v10_InteriorOrExteriorSpace, boost::optional< IfcLengthMeasure > v11_ElevationWithFlooring); + IfcSpace (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, IfcElementCompositionEnum::IfcElementCompositionEnum v9_CompositionType, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v10_InteriorOrExteriorSpace, boost::optional< double > v11_ElevationWithFlooring); typedef IfcTemplatedEntityList< IfcSpace > list; }; /// The energy conversion device type IfcSpaceHeaterType defines commonly shared information for occurrences of space heaters. The set of shared information may include: @@ -29539,28 +30709,28 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpaceHeaterType (IfcAbstractEntity* e); - IfcSpaceHeaterType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v10_PredefinedType); + IfcSpaceHeaterType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcSpaceHeaterType > list; }; class IfcSpaceProgram : public IfcControl { public: - IfcIdentifier SpaceProgramIdentifier() const; - void setSpaceProgramIdentifier(IfcIdentifier v); + std::string SpaceProgramIdentifier() const; + void setSpaceProgramIdentifier(std::string v); /// Whether the optional attribute MaxRequiredArea is defined for this IfcSpaceProgram bool hasMaxRequiredArea() const; - IfcAreaMeasure MaxRequiredArea() const; - void setMaxRequiredArea(IfcAreaMeasure v); + double MaxRequiredArea() const; + void setMaxRequiredArea(double v); /// Whether the optional attribute MinRequiredArea is defined for this IfcSpaceProgram bool hasMinRequiredArea() const; - IfcAreaMeasure MinRequiredArea() const; - void setMinRequiredArea(IfcAreaMeasure v); + double MinRequiredArea() const; + void setMinRequiredArea(double v); /// Whether the optional attribute RequestedLocation is defined for this IfcSpaceProgram bool hasRequestedLocation() const; IfcSpatialStructureElement* RequestedLocation() const; void setRequestedLocation(IfcSpatialStructureElement* v); - IfcAreaMeasure StandardRequiredArea() const; - void setStandardRequiredArea(IfcAreaMeasure v); + double StandardRequiredArea() const; + void setStandardRequiredArea(double v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_ENTITY; case 9: return IfcUtil::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); } @@ -29571,7 +30741,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpaceProgram (IfcAbstractEntity* e); - IfcSpaceProgram (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_SpaceProgramIdentifier, boost::optional< IfcAreaMeasure > v7_MaxRequiredArea, boost::optional< IfcAreaMeasure > v8_MinRequiredArea, IfcSpatialStructureElement* v9_RequestedLocation, IfcAreaMeasure v10_StandardRequiredArea); + IfcSpaceProgram (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_SpaceProgramIdentifier, boost::optional< double > v7_MaxRequiredArea, boost::optional< double > v8_MinRequiredArea, IfcSpatialStructureElement* v9_RequestedLocation, double v10_StandardRequiredArea); typedef IfcTemplatedEntityList< IfcSpaceProgram > list; }; /// Definition from IAI: A space represents an area or @@ -29668,7 +30838,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpaceType (IfcAbstractEntity* e); - IfcSpaceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpaceTypeEnum::IfcSpaceTypeEnum v10_PredefinedType); + IfcSpaceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSpaceTypeEnum::IfcSpaceTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcSpaceType > list; }; /// The flow terminal type IfcStackTerminalType defines commonly shared information for occurrences of stack terminals. The set of shared information may include: @@ -29710,7 +30880,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStackTerminalType (IfcAbstractEntity* e); - IfcStackTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v10_PredefinedType); + IfcStackTerminalType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcStackTerminalType > list; }; /// Definition from IAI: The element type (IfcStairFlightType) @@ -29746,7 +30916,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStairFlightType (IfcAbstractEntity* e); - IfcStairFlightType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v10_PredefinedType); + IfcStairFlightType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcStairFlightType > list; }; /// Definition from IAI: A structural action is a structural activity that acts upon @@ -29785,7 +30955,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralAction (IfcAbstractEntity* e); - IfcStructuralAction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy); + IfcStructuralAction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy); typedef IfcTemplatedEntityList< IfcStructuralAction > list; }; /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. @@ -29807,7 +30977,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralConnection (IfcAbstractEntity* e); - IfcStructuralConnection (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition); + IfcStructuralConnection (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition); typedef IfcTemplatedEntityList< IfcStructuralConnection > list; }; /// 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. @@ -29837,7 +31007,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralCurveConnection (IfcAbstractEntity* e); - IfcStructuralCurveConnection (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition); + IfcStructuralCurveConnection (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition); typedef IfcTemplatedEntityList< IfcStructuralCurveConnection > list; }; /// 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. @@ -29890,7 +31060,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralCurveMember (IfcAbstractEntity* e); - IfcStructuralCurveMember (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v8_PredefinedType); + IfcStructuralCurveMember (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v8_PredefinedType); typedef IfcTemplatedEntityList< IfcStructuralCurveMember > list; }; /// 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. @@ -29923,7 +31093,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralCurveMemberVarying (IfcAbstractEntity* e); - IfcStructuralCurveMemberVarying (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v8_PredefinedType); + IfcStructuralCurveMemberVarying (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveTypeEnum::IfcStructuralCurveTypeEnum v8_PredefinedType); typedef IfcTemplatedEntityList< IfcStructuralCurveMemberVarying > list; }; /// Definition from IAI: Defines an action with constant value which is distributed over a curve. @@ -29945,7 +31115,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLinearAction (IfcAbstractEntity* e); - IfcStructuralLinearAction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue); + IfcStructuralLinearAction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue); typedef IfcTemplatedEntityList< IfcStructuralLinearAction > list; }; @@ -29963,7 +31133,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLinearActionVarying (IfcAbstractEntity* e); - IfcStructuralLinearActionVarying (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue, IfcShapeAspect* v13_VaryingAppliedLoadLocation, IfcTemplatedEntityList< IfcStructuralLoad >::ptr v14_SubsequentAppliedLoads); + IfcStructuralLinearActionVarying (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue, IfcShapeAspect* v13_VaryingAppliedLoadLocation, IfcTemplatedEntityList< IfcStructuralLoad >::ptr v14_SubsequentAppliedLoads); typedef IfcTemplatedEntityList< IfcStructuralLinearActionVarying > list; }; /// Definition from IAI: The entity IfcStructuralLoadGroup is used to structure the @@ -30013,13 +31183,13 @@ public: /// Whether the optional attribute Coefficient is defined for this IfcStructuralLoadGroup bool hasCoefficient() const; /// Load factor. If omitted, a factor is not yet known or not specified. A load factor of 1.0 shall be explicitly exported as Coefficient = 1.0. - IfcRatioMeasure Coefficient() const; - void setCoefficient(IfcRatioMeasure v); + double Coefficient() const; + void setCoefficient(double v); /// Whether the optional attribute Purpose is defined for this IfcStructuralLoadGroup bool hasPurpose() const; /// Description of the purpose of this instance. Among else, possible values of the Purpose of load combinations are 'SLS', 'ULS', 'ALS' to indicate serviceability, ultimate, or accidental limit state. - IfcLabel Purpose() const; - void setPurpose(IfcLabel v); + std::string Purpose() const; + void setPurpose(std::string v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::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); } @@ -30030,7 +31200,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoadGroup (IfcAbstractEntity* e); - IfcStructuralLoadGroup (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< IfcRatioMeasure > v9_Coefficient, boost::optional< IfcLabel > v10_Purpose); + IfcStructuralLoadGroup (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose); typedef IfcTemplatedEntityList< IfcStructuralLoadGroup > list; }; /// Definition from IAI: Defines an action with constant value which is distributed over a surface. @@ -30052,7 +31222,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralPlanarAction (IfcAbstractEntity* e); - IfcStructuralPlanarAction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue); + IfcStructuralPlanarAction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue); typedef IfcTemplatedEntityList< IfcStructuralPlanarAction > list; }; @@ -30070,7 +31240,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralPlanarActionVarying (IfcAbstractEntity* e); - IfcStructuralPlanarActionVarying (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue, IfcShapeAspect* v13_VaryingAppliedLoadLocation, IfcTemplatedEntityList< IfcStructuralLoad >::ptr v14_SubsequentAppliedLoads); + IfcStructuralPlanarActionVarying (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy, IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum v12_ProjectedOrTrue, IfcShapeAspect* v13_VaryingAppliedLoadLocation, IfcTemplatedEntityList< IfcStructuralLoad >::ptr v14_SubsequentAppliedLoads); typedef IfcTemplatedEntityList< IfcStructuralPlanarActionVarying > list; }; /// Definition from IAI: Defines an action which acts on a point. @@ -30128,7 +31298,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralPointAction (IfcAbstractEntity* e); - IfcStructuralPointAction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy); + IfcStructuralPointAction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, bool v10_DestabilizingLoad, IfcStructuralReaction* v11_CausedBy); typedef IfcTemplatedEntityList< IfcStructuralPointAction > list; }; /// Definition from IAI: Instances of IfcStructuralPointConnection describe structural nodes or point supports. @@ -30154,7 +31324,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralPointConnection (IfcAbstractEntity* e); - IfcStructuralPointConnection (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition); + IfcStructuralPointConnection (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition); typedef IfcTemplatedEntityList< IfcStructuralPointConnection > list; }; /// Definition from IAI: Defines a reaction which occurs at a point. @@ -30210,7 +31380,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralPointReaction (IfcAbstractEntity* e); - IfcStructuralPointReaction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); + IfcStructuralPointReaction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); typedef IfcTemplatedEntityList< IfcStructuralPointReaction > list; }; /// 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. @@ -30239,7 +31409,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralResultGroup (IfcAbstractEntity* e); - IfcStructuralResultGroup (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v6_TheoryType, IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear); + IfcStructuralResultGroup (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v6_TheoryType, IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear); typedef IfcTemplatedEntityList< IfcStructuralResultGroup > list; }; /// 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. @@ -30264,7 +31434,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralSurfaceConnection (IfcAbstractEntity* e); - IfcStructuralSurfaceConnection (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition); + IfcStructuralSurfaceConnection (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition); typedef IfcTemplatedEntityList< IfcStructuralSurfaceConnection > list; }; /// IfcSubContractResource is a construction resource needed in a construction process that represents a sub-contractor. @@ -30295,12 +31465,12 @@ class IfcSubContractResource : public IfcConstructionResource { public: /// Whether the optional attribute SubContractor is defined for this IfcSubContractResource bool hasSubContractor() const; - IfcActorSelect SubContractor() const; - void setSubContractor(IfcActorSelect v); + IfcActorSelect* SubContractor() const; + void setSubContractor(IfcActorSelect* v); /// Whether the optional attribute JobDescription is defined for this IfcSubContractResource bool hasJobDescription() const; - IfcText JobDescription() const; - void setJobDescription(IfcText v); + std::string JobDescription() const; + void setJobDescription(std::string v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENTITY; case 10: return IfcUtil::Argument_STRING; } return IfcConstructionResource::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "SubContractor"; case 10: return "JobDescription"; } return IfcConstructionResource::getArgumentName(i); } @@ -30309,7 +31479,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSubContractResource (IfcAbstractEntity* e); - IfcSubContractResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< IfcActorSelect > v10_SubContractor, boost::optional< IfcText > v11_JobDescription); + IfcSubContractResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, IfcActorSelect* v10_SubContractor, boost::optional< std::string > v11_JobDescription); typedef IfcTemplatedEntityList< IfcSubContractResource > list; }; /// The flow controller type IfcSwitchingDeviceType defines commonly shared information for occurrences of switching devices. The set of shared information may include: @@ -30365,7 +31535,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSwitchingDeviceType (IfcAbstractEntity* e); - IfcSwitchingDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v10_PredefinedType); + IfcSwitchingDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcSwitchingDeviceType > list; }; /// Definition from IAI: Organized combination of @@ -30396,7 +31566,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSystem (IfcAbstractEntity* e); - IfcSystem (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); + IfcSystem (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType); typedef IfcTemplatedEntityList< IfcSystem > list; }; /// The flow storage device type IfcTankType defines commonly shared information for occurrences of tanks. The set of shared information may include: @@ -30444,7 +31614,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTankType (IfcAbstractEntity* e); - IfcTankType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTankTypeEnum::IfcTankTypeEnum v10_PredefinedType); + IfcTankType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTankTypeEnum::IfcTankTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcTankType > list; }; @@ -30452,8 +31622,8 @@ class IfcTimeSeriesSchedule : public IfcControl { public: /// Whether the optional attribute ApplicableDates is defined for this IfcTimeSeriesSchedule bool hasApplicableDates() const; - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr ApplicableDates() const; - void setApplicableDates(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr ApplicableDates() const; + void setApplicableDates(IfcEntityList::ptr v); IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum TimeSeriesScheduleType() const; void setTimeSeriesScheduleType(IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum v); IfcTimeSeries* TimeSeries() const; @@ -30466,7 +31636,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTimeSeriesSchedule (IfcAbstractEntity* e); - IfcTimeSeriesSchedule (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcEntityList::ptr > v6_ApplicableDates, IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum v7_TimeSeriesScheduleType, IfcTimeSeries* v8_TimeSeries); + IfcTimeSeriesSchedule (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcEntityList::ptr > v6_ApplicableDates, IfcTimeSeriesScheduleTypeEnum::IfcTimeSeriesScheduleTypeEnum v7_TimeSeriesScheduleType, IfcTimeSeries* v8_TimeSeries); typedef IfcTemplatedEntityList< IfcTimeSeriesSchedule > list; }; /// The energy conversion device type IfcTransformerType defines commonly shared information for occurrences of transformers. The set of shared information may include: @@ -30509,7 +31679,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTransformerType (IfcAbstractEntity* e); - IfcTransformerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTransformerTypeEnum::IfcTransformerTypeEnum v10_PredefinedType); + IfcTransformerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTransformerTypeEnum::IfcTransformerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcTransformerType > list; }; /// Definition from IAI: Generalization of all transport @@ -30637,13 +31807,13 @@ public: /// Whether the optional attribute CapacityByWeight is defined for this IfcTransportElement bool hasCapacityByWeight() const; /// Capacity of the transport element measured by weight. - IfcMassMeasure CapacityByWeight() const; - void setCapacityByWeight(IfcMassMeasure v); + double CapacityByWeight() const; + void setCapacityByWeight(double v); /// Whether the optional attribute CapacityByNumber is defined for this IfcTransportElement bool hasCapacityByNumber() const; /// Capacity of the transportation element measured in numbers of person. - IfcCountMeasure CapacityByNumber() const; - void setCapacityByNumber(IfcCountMeasure v); + double CapacityByNumber() const; + void setCapacityByNumber(double v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; } return IfcElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "OperationType"; case 9: return "CapacityByWeight"; case 10: return "CapacityByNumber"; } return IfcElement::getArgumentName(i); } @@ -30652,7 +31822,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTransportElement (IfcAbstractEntity* e); - IfcTransportElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v9_OperationType, boost::optional< IfcMassMeasure > v10_CapacityByWeight, boost::optional< IfcCountMeasure > v11_CapacityByNumber); + IfcTransportElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v9_OperationType, boost::optional< double > v10_CapacityByWeight, boost::optional< double > v11_CapacityByNumber); typedef IfcTemplatedEntityList< IfcTransportElement > list; }; /// Definition from ISO/CD 10303-42:1992: @@ -30739,11 +31909,11 @@ public: IfcCurve* BasisCurve() const; void setBasisCurve(IfcCurve* v); /// The first trimming point which may be specified as a Cartesian point, as a real parameter or both. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Trim1() const; - void setTrim1(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr Trim1() const; + void setTrim1(IfcEntityList::ptr v); /// The second trimming point which may be specified as a Cartesian point, as a real parameter or both. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Trim2() const; - void setTrim2(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr Trim2() const; + void setTrim2(IfcEntityList::ptr v); /// Flag to indicate whether the direction of the trimmed curve agrees with or is opposed to the direction of the basis curve. bool SenseAgreement() const; void setSenseAgreement(bool v); @@ -30803,7 +31973,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTubeBundleType (IfcAbstractEntity* e); - IfcTubeBundleType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v10_PredefinedType); + IfcTubeBundleType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcTubeBundleType > list; }; /// The energy conversion device type IfcUnitaryEquipmentType defines commonly shared information for occurrences of unitary equipments. The set of shared information may include: @@ -30847,7 +32017,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcUnitaryEquipmentType (IfcAbstractEntity* e); - IfcUnitaryEquipmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v10_PredefinedType); + IfcUnitaryEquipmentType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcUnitaryEquipmentType > list; }; /// The flow controller type IfcValveType defines commonly shared information for occurrences of valves. The set of shared information may include: @@ -30901,7 +32071,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcValveType (IfcAbstractEntity* e); - IfcValveType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcValveTypeEnum::IfcValveTypeEnum v10_PredefinedType); + IfcValveType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcValveTypeEnum::IfcValveTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcValveType > list; }; /// 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. @@ -31000,7 +32170,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcVirtualElement (IfcAbstractEntity* e); - IfcVirtualElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcVirtualElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcVirtualElement > list; }; /// Definition from IAI: The element type @@ -31100,7 +32270,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWallType (IfcAbstractEntity* e); - IfcWallType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWallTypeEnum::IfcWallTypeEnum v10_PredefinedType); + IfcWallType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcWallTypeEnum::IfcWallTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcWallType > list; }; /// The flow terminal type IfcWasteTerminalType defines commonly shared information for occurrences of waste terminals. The set of shared information may include: @@ -31152,7 +32322,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWasteTerminalType (IfcAbstractEntity* e); - IfcWasteTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v10_PredefinedType); + IfcWasteTerminalType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcWasteTerminalType > list; }; /// An IfcWorkControl is an abstract supertype which captures information that is common to both IfcWorkPlan and IfcWorkSchedule. @@ -31201,11 +32371,11 @@ public: /// property set for work control class IfcWorkControl : public IfcControl { public: - IfcIdentifier Identifier() const; - void setIdentifier(IfcIdentifier v); + std::string Identifier() const; + void setIdentifier(std::string v); /// The date that the plan is created. - IfcDateTimeSelect CreationDate() const; - void setCreationDate(IfcDateTimeSelect v); + IfcDateTimeSelect* CreationDate() const; + void setCreationDate(IfcDateTimeSelect* v); /// Whether the optional attribute Creators is defined for this IfcWorkControl bool hasCreators() const; /// The authors of the work plan. @@ -31214,34 +32384,34 @@ public: /// Whether the optional attribute Purpose is defined for this IfcWorkControl bool hasPurpose() const; /// A description of the purpose of the work schedule. - IfcLabel Purpose() const; - void setPurpose(IfcLabel v); + std::string Purpose() const; + void setPurpose(std::string v); /// Whether the optional attribute Duration is defined for this IfcWorkControl bool hasDuration() const; /// The total duration of the entire work schedule. - IfcTimeMeasure Duration() const; - void setDuration(IfcTimeMeasure v); + double Duration() const; + void setDuration(double v); /// Whether the optional attribute TotalFloat is defined for this IfcWorkControl bool hasTotalFloat() const; /// The total time float of the entire work schedule. - IfcTimeMeasure TotalFloat() const; - void setTotalFloat(IfcTimeMeasure v); + double TotalFloat() const; + void setTotalFloat(double v); /// The start time of the schedule. - IfcDateTimeSelect StartTime() const; - void setStartTime(IfcDateTimeSelect v); + IfcDateTimeSelect* StartTime() const; + void setStartTime(IfcDateTimeSelect* v); /// Whether the optional attribute FinishTime is defined for this IfcWorkControl bool hasFinishTime() const; /// The finish time of the schedule. - IfcDateTimeSelect FinishTime() const; - void setFinishTime(IfcDateTimeSelect v); + IfcDateTimeSelect* FinishTime() const; + void setFinishTime(IfcDateTimeSelect* v); /// Whether the optional attribute WorkControlType is defined for this IfcWorkControl bool hasWorkControlType() const; IfcWorkControlTypeEnum::IfcWorkControlTypeEnum WorkControlType() const; void setWorkControlType(IfcWorkControlTypeEnum::IfcWorkControlTypeEnum v); /// Whether the optional attribute UserDefinedControlType is defined for this IfcWorkControl bool hasUserDefinedControlType() const; - IfcLabel UserDefinedControlType() const; - void setUserDefinedControlType(IfcLabel v); + std::string UserDefinedControlType() const; + void setUserDefinedControlType(std::string v); virtual unsigned int getArgumentCount() const { return 15; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENTITY_LIST; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_ENTITY; case 12: return IfcUtil::Argument_ENTITY; case 13: return IfcUtil::Argument_ENUMERATION; case 14: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "Identifier"; case 6: return "CreationDate"; case 7: return "Creators"; case 8: return "Purpose"; case 9: return "Duration"; case 10: return "TotalFloat"; case 11: return "StartTime"; case 12: return "FinishTime"; case 13: return "WorkControlType"; case 14: return "UserDefinedControlType"; } return IfcControl::getArgumentName(i); } @@ -31250,7 +32420,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWorkControl (IfcAbstractEntity* e); - IfcWorkControl (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_Identifier, IfcDateTimeSelect v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcTimeMeasure > v10_Duration, boost::optional< IfcTimeMeasure > v11_TotalFloat, IfcDateTimeSelect v12_StartTime, boost::optional< IfcDateTimeSelect > v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< IfcLabel > v15_UserDefinedControlType); + IfcWorkControl (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_Identifier, IfcDateTimeSelect* v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< double > v10_Duration, boost::optional< double > v11_TotalFloat, IfcDateTimeSelect* v12_StartTime, IfcDateTimeSelect* v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< std::string > v15_UserDefinedControlType); typedef IfcTemplatedEntityList< IfcWorkControl > list; }; /// An IfcWorkPlan represents work plans in a construction or a facilities management project. @@ -31288,7 +32458,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWorkPlan (IfcAbstractEntity* e); - IfcWorkPlan (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_Identifier, IfcDateTimeSelect v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcTimeMeasure > v10_Duration, boost::optional< IfcTimeMeasure > v11_TotalFloat, IfcDateTimeSelect v12_StartTime, boost::optional< IfcDateTimeSelect > v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< IfcLabel > v15_UserDefinedControlType); + IfcWorkPlan (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_Identifier, IfcDateTimeSelect* v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< double > v10_Duration, boost::optional< double > v11_TotalFloat, IfcDateTimeSelect* v12_StartTime, IfcDateTimeSelect* v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< std::string > v15_UserDefinedControlType); typedef IfcTemplatedEntityList< IfcWorkPlan > list; }; /// An IfcWorkSchedule @@ -31341,7 +32511,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWorkSchedule (IfcAbstractEntity* e); - IfcWorkSchedule (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_Identifier, IfcDateTimeSelect v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcTimeMeasure > v10_Duration, boost::optional< IfcTimeMeasure > v11_TotalFloat, IfcDateTimeSelect v12_StartTime, boost::optional< IfcDateTimeSelect > v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< IfcLabel > v15_UserDefinedControlType); + IfcWorkSchedule (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_Identifier, IfcDateTimeSelect* v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< double > v10_Duration, boost::optional< double > v11_TotalFloat, IfcDateTimeSelect* v12_StartTime, IfcDateTimeSelect* v13_FinishTime, boost::optional< IfcWorkControlTypeEnum::IfcWorkControlTypeEnum > v14_WorkControlType, boost::optional< std::string > v15_UserDefinedControlType); typedef IfcTemplatedEntityList< IfcWorkSchedule > list; }; /// Definition from IAI: A zone isÿa group of spaces, @@ -31439,7 +32609,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcZone (IfcAbstractEntity* e); - IfcZone (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); + IfcZone (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType); typedef IfcTemplatedEntityList< IfcZone > list; }; @@ -31496,8 +32666,8 @@ public: /// Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcActionRequest. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted. class IfcActionRequest : public IfcControl { public: - IfcIdentifier RequestID() const; - void setRequestID(IfcIdentifier v); + std::string RequestID() const; + void setRequestID(std::string v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RequestID"; } return IfcControl::getArgumentName(i); } @@ -31506,7 +32676,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcActionRequest (IfcAbstractEntity* e); - IfcActionRequest (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_RequestID); + IfcActionRequest (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_RequestID); typedef IfcTemplatedEntityList< IfcActionRequest > list; }; /// The flow controller type IfcAirTerminalBoxType defines commonly shared information for occurrences of air boxes. The set of shared information may include: @@ -31548,7 +32718,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAirTerminalBoxType (IfcAbstractEntity* e); - IfcAirTerminalBoxType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v10_PredefinedType); + IfcAirTerminalBoxType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcAirTerminalBoxType > list; }; /// The flow terminal type IfcAirTerminalType defines commonly shared information for occurrences of air terminals. The set of shared information may include: @@ -31589,7 +32759,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAirTerminalType (IfcAbstractEntity* e); - IfcAirTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v10_PredefinedType); + IfcAirTerminalType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcAirTerminalType > list; }; /// 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: @@ -31631,7 +32801,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAirToAirHeatRecoveryType (IfcAbstractEntity* e); - IfcAirToAirHeatRecoveryType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v10_PredefinedType); + IfcAirToAirHeatRecoveryType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcAirToAirHeatRecoveryType > list; }; @@ -31674,8 +32844,8 @@ public: /// IfcElement: Physical elements that comprise the asset. class IfcAsset : public IfcGroup { public: - IfcIdentifier AssetID() const; - void setAssetID(IfcIdentifier v); + std::string AssetID() const; + void setAssetID(std::string v); /// The cost value of the asset at the time of purchase. IfcCostValue* OriginalValue() const; void setOriginalValue(IfcCostValue* v); @@ -31686,11 +32856,11 @@ public: IfcCostValue* TotalReplacementCost() const; void setTotalReplacementCost(IfcCostValue* v); /// The name of the person or organization that 'owns' the asset. - IfcActorSelect Owner() const; - void setOwner(IfcActorSelect v); + IfcActorSelect* Owner() const; + void setOwner(IfcActorSelect* v); /// The name of the person or organization that 'uses' the asset. - IfcActorSelect User() const; - void setUser(IfcActorSelect v); + IfcActorSelect* User() const; + void setUser(IfcActorSelect* v); /// The person designated to be responsible for the asset. /// NOTE: In some regulations (for example, UK Health and Safety at Work Act, Electricity at Work Regulations), management of assets must have a person identified as being responsible and to whom regulatory, insurance and other organizations communicate. In places where there is not a legal requirement, the responsible person would be the asset manager but would not have a legal status. IfcPerson* ResponsiblePerson() const; @@ -31712,7 +32882,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAsset (IfcAbstractEntity* e); - IfcAsset (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcIdentifier v6_AssetID, IfcCostValue* v7_OriginalValue, IfcCostValue* v8_CurrentValue, IfcCostValue* v9_TotalReplacementCost, IfcActorSelect v10_Owner, IfcActorSelect v11_User, IfcPerson* v12_ResponsiblePerson, IfcCalendarDate* v13_IncorporationDate, IfcCostValue* v14_DepreciatedValue); + IfcAsset (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_AssetID, IfcCostValue* v7_OriginalValue, IfcCostValue* v8_CurrentValue, IfcCostValue* v9_TotalReplacementCost, IfcActorSelect* v10_Owner, IfcActorSelect* v11_User, IfcPerson* v12_ResponsiblePerson, IfcCalendarDate* v13_IncorporationDate, IfcCostValue* v14_DepreciatedValue); typedef IfcTemplatedEntityList< IfcAsset > list; }; /// 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. @@ -31903,7 +33073,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBeamType (IfcAbstractEntity* e); - IfcBeamType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBeamTypeEnum::IfcBeamTypeEnum v10_PredefinedType); + IfcBeamType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBeamTypeEnum::IfcBeamTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcBeamType > list; }; @@ -31962,7 +33132,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBoilerType (IfcAbstractEntity* e); - IfcBoilerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBoilerTypeEnum::IfcBoilerTypeEnum v10_PredefinedType); + IfcBoilerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBoilerTypeEnum::IfcBoilerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcBoilerType > list; }; /// Definition from ISO 6707-1:1989: Major functional part @@ -32338,7 +33508,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingElement (IfcAbstractEntity* e); - IfcBuildingElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcBuildingElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcBuildingElement > list; }; @@ -32352,7 +33522,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingElementComponent (IfcAbstractEntity* e); - IfcBuildingElementComponent (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcBuildingElementComponent (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcBuildingElementComponent > list; }; /// Definition from IAI: Layers or major components as subordinate @@ -32382,7 +33552,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingElementPart (IfcAbstractEntity* e); - IfcBuildingElementPart (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcBuildingElementPart (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcBuildingElementPart > list; }; /// Definition from IAI: The IfcBuildingElementProxy @@ -32589,7 +33759,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingElementProxy (IfcAbstractEntity* e); - IfcBuildingElementProxy (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType); + IfcBuildingElementProxy (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType); typedef IfcTemplatedEntityList< IfcBuildingElementProxy > list; }; /// Definition from IAI: @@ -32639,7 +33809,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingElementProxyType (IfcAbstractEntity* e); - IfcBuildingElementProxyType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v10_PredefinedType); + IfcBuildingElementProxyType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcBuildingElementProxyType > list; }; /// The flow fitting type IfcCableCarrierFittingType defines commonly shared information for occurrences of cable carrier fittings. The set of shared information may include: @@ -32681,7 +33851,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCableCarrierFittingType (IfcAbstractEntity* e); - IfcCableCarrierFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v10_PredefinedType); + IfcCableCarrierFittingType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCableCarrierFittingType > list; }; /// The flow segment type IfcCableCarrierSegmentType defines commonly shared information for occurrences of cable carrier segments. The set of shared information may include: @@ -32729,7 +33899,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCableCarrierSegmentType (IfcAbstractEntity* e); - IfcCableCarrierSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v10_PredefinedType); + IfcCableCarrierSegmentType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCableCarrierSegmentType > list; }; /// The flow segment type IfcCableSegmentType defines commonly shared information for occurrences of cable segments. The set of shared information may include: @@ -32786,7 +33956,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCableSegmentType (IfcAbstractEntity* e); - IfcCableSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v10_PredefinedType); + IfcCableSegmentType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCableSegmentType > list; }; /// The energy conversion device type IfcChillerType defines commonly shared information for occurrences of chillers. The set of shared information may include: @@ -32834,7 +34004,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcChillerType (IfcAbstractEntity* e); - IfcChillerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcChillerTypeEnum::IfcChillerTypeEnum v10_PredefinedType); + IfcChillerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcChillerTypeEnum::IfcChillerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcChillerType > list; }; /// 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: @@ -32867,8 +34037,8 @@ public: class IfcCircle : public IfcConic { public: /// The radius of the circle, which shall be greater than zero. - IfcPositiveLengthMeasure Radius() const; - void setRadius(IfcPositiveLengthMeasure v); + double Radius() const; + void setRadius(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; } return IfcConic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Radius"; } return IfcConic::getArgumentName(i); } @@ -32877,7 +34047,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCircle (IfcAbstractEntity* e); - IfcCircle (IfcAxis2Placement v1_Position, IfcPositiveLengthMeasure v2_Radius); + IfcCircle (IfcAxis2Placement* v1_Position, double v2_Radius); typedef IfcTemplatedEntityList< IfcCircle > list; }; /// The energy conversion device type IfcCoilType defines commonly shared information for occurrences of coils. The set of shared information may include: @@ -32920,7 +34090,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCoilType (IfcAbstractEntity* e); - IfcCoilType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoilTypeEnum::IfcCoilTypeEnum v10_PredefinedType); + IfcCoilType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCoilTypeEnum::IfcCoilTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCoilType > list; }; /// Definition from ISO 6707-1:1989: Structural member of @@ -33204,7 +34374,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcColumn (IfcAbstractEntity* e); - IfcColumn (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcColumn (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcColumn > list; }; /// The flow moving device type IfcCompressorType defines commonly shared information for occurrences of compressors. The set of shared information may include: @@ -33247,7 +34417,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCompressorType (IfcAbstractEntity* e); - IfcCompressorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCompressorTypeEnum::IfcCompressorTypeEnum v10_PredefinedType); + IfcCompressorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCompressorTypeEnum::IfcCompressorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCompressorType > list; }; /// The energy conversion device type IfcCondenserType defines commonly shared information for occurrences of condensers. The set of shared information may include: @@ -33290,7 +34460,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCondenserType (IfcAbstractEntity* e); - IfcCondenserType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCondenserTypeEnum::IfcCondenserTypeEnum v10_PredefinedType); + IfcCondenserType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCondenserTypeEnum::IfcCondenserTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCondenserType > list; }; @@ -33304,16 +34474,16 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCondition (IfcAbstractEntity* e); - IfcCondition (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); + IfcCondition (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType); typedef IfcTemplatedEntityList< IfcCondition > list; }; class IfcConditionCriterion : public IfcControl { public: - IfcConditionCriterionSelect Criterion() const; - void setCriterion(IfcConditionCriterionSelect v); - IfcDateTimeSelect CriterionDateTime() const; - void setCriterionDateTime(IfcDateTimeSelect v); + IfcConditionCriterionSelect* Criterion() const; + void setCriterion(IfcConditionCriterionSelect* v); + IfcDateTimeSelect* CriterionDateTime() const; + void setCriterionDateTime(IfcDateTimeSelect* v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "Criterion"; case 6: return "CriterionDateTime"; } return IfcControl::getArgumentName(i); } @@ -33322,7 +34492,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConditionCriterion (IfcAbstractEntity* e); - IfcConditionCriterion (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcConditionCriterionSelect v6_Criterion, IfcDateTimeSelect v7_CriterionDateTime); + IfcConditionCriterion (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcConditionCriterionSelect* v6_Criterion, IfcDateTimeSelect* v7_CriterionDateTime); typedef IfcTemplatedEntityList< IfcConditionCriterion > list; }; /// 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. @@ -33357,7 +34527,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstructionEquipmentResource (IfcAbstractEntity* e); - IfcConstructionEquipmentResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity); + IfcConstructionEquipmentResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity); typedef IfcTemplatedEntityList< IfcConstructionEquipmentResource > list; }; /// IfcConstructionMaterialResource identifies a material resource type in a construction project. @@ -33390,12 +34560,12 @@ class IfcConstructionMaterialResource : public IfcConstructionResource { public: /// Whether the optional attribute Suppliers is defined for this IfcConstructionMaterialResource bool hasSuppliers() const; - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Suppliers() const; - void setSuppliers(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr Suppliers() const; + void setSuppliers(IfcEntityList::ptr v); /// Whether the optional attribute UsageRatio is defined for this IfcConstructionMaterialResource bool hasUsageRatio() const; - IfcRatioMeasure UsageRatio() const; - void setUsageRatio(IfcRatioMeasure v); + double UsageRatio() const; + void setUsageRatio(double v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENTITY_LIST; case 10: return IfcUtil::Argument_DOUBLE; } return IfcConstructionResource::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "Suppliers"; case 10: return "UsageRatio"; } return IfcConstructionResource::getArgumentName(i); } @@ -33404,7 +34574,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstructionMaterialResource (IfcAbstractEntity* e); - IfcConstructionMaterialResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< IfcEntityList::ptr > v10_Suppliers, boost::optional< IfcRatioMeasure > v11_UsageRatio); + IfcConstructionMaterialResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< IfcEntityList::ptr > v10_Suppliers, boost::optional< double > v11_UsageRatio); typedef IfcTemplatedEntityList< IfcConstructionMaterialResource > list; }; /// IfcConstructionProductResource defines the role of a product that is consumed (wholly or partially), or occupied in the performance of construction. @@ -33432,7 +34602,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstructionProductResource (IfcAbstractEntity* e); - IfcConstructionProductResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_ResourceIdentifier, boost::optional< IfcLabel > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity); + IfcConstructionProductResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< IfcResourceConsumptionEnum::IfcResourceConsumptionEnum > v8_ResourceConsumption, IfcMeasureWithUnit* v9_BaseQuantity); typedef IfcTemplatedEntityList< IfcConstructionProductResource > list; }; /// The energy conversion device type IfcCooledBeamType defines commonly shared information for occurrences of cooled beams. The set of shared information may include: @@ -33477,7 +34647,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCooledBeamType (IfcAbstractEntity* e); - IfcCooledBeamType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v10_PredefinedType); + IfcCooledBeamType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCooledBeamType > list; }; /// The energy conversion device type IfcCoolingTowerType defines commonly shared information for occurrences of cooling towers. The set of shared information may include: @@ -33526,7 +34696,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCoolingTowerType (IfcAbstractEntity* e); - IfcCoolingTowerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v10_PredefinedType); + IfcCoolingTowerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCoolingTowerType > list; }; /// Definition from ISO 6707-1:1989: term used: Finishing - @@ -33770,7 +34940,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCovering (IfcAbstractEntity* e); - IfcCovering (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v9_PredefinedType); + IfcCovering (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCovering > list; }; /// Definition from ISO 6707-1:1989: Non load bearing wall @@ -33921,7 +35091,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCurtainWall (IfcAbstractEntity* e); - IfcCurtainWall (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcCurtainWall (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcCurtainWall > list; }; /// The flow controller type IfcDamperType defines commonly shared information for occurrences of dampers. The set of shared information may include: @@ -33971,7 +35141,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDamperType (IfcAbstractEntity* e); - IfcDamperType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDamperTypeEnum::IfcDamperTypeEnum v10_PredefinedType); + IfcDamperType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDamperTypeEnum::IfcDamperTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcDamperType > list; }; @@ -34171,7 +35341,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDiscreteAccessory (IfcAbstractEntity* e); - IfcDiscreteAccessory (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcDiscreteAccessory (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcDiscreteAccessory > list; }; /// Definition from IAI: The element type @@ -34372,7 +35542,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDiscreteAccessoryType (IfcAbstractEntity* e); - IfcDiscreteAccessoryType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcDiscreteAccessoryType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcDiscreteAccessoryType > list; }; /// The distribution flow element type IfcDistributionChamberElementType defines commonly shared information for occurrences of distribution chamber elements. The set of shared information may include: @@ -34425,7 +35595,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionChamberElementType (IfcAbstractEntity* e); - IfcDistributionChamberElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v10_PredefinedType); + IfcDistributionChamberElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcDistributionChamberElementType > list; }; /// 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). @@ -34492,7 +35662,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionControlElementType (IfcAbstractEntity* e); - IfcDistributionControlElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcDistributionControlElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcDistributionControlElementType > list; }; /// Definition from IAI: Generalization of all elements @@ -34667,7 +35837,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionElement (IfcAbstractEntity* e); - IfcDistributionElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcDistributionElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcDistributionElement > list; }; /// 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. @@ -34749,7 +35919,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionFlowElement (IfcAbstractEntity* e); - IfcDistributionFlowElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcDistributionFlowElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcDistributionFlowElement > list; }; /// A distribution port is an inlet or outlet of a product through which a particular substance may flow. @@ -34849,7 +36019,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionPort (IfcAbstractEntity* e); - IfcDistributionPort (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v8_FlowDirection); + IfcDistributionPort (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v8_FlowDirection); typedef IfcTemplatedEntityList< IfcDistributionPort > list; }; /// Definition from ISO 6707-1:1989: Construction for @@ -35215,15 +36385,15 @@ public: /// 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. - IfcPositiveLengthMeasure OverallHeight() const; - void setOverallHeight(IfcPositiveLengthMeasure v); + double OverallHeight() const; + void setOverallHeight(double v); /// Whether the optional attribute OverallWidth is defined for this IfcDoor bool hasOverallWidth() const; /// 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. - IfcPositiveLengthMeasure OverallWidth() const; - void setOverallWidth(IfcPositiveLengthMeasure v); + double OverallWidth() const; + void setOverallWidth(double v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; } return IfcBuildingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "OverallHeight"; case 9: return "OverallWidth"; } return IfcBuildingElement::getArgumentName(i); } @@ -35232,7 +36402,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDoor (IfcAbstractEntity* e); - IfcDoor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth); + IfcDoor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth); typedef IfcTemplatedEntityList< IfcDoor > list; }; /// The flow fitting type IfcDuctFittingType defines commonly shared information for occurrences of duct fittings. The set of shared information may include: @@ -35277,7 +36447,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDuctFittingType (IfcAbstractEntity* e); - IfcDuctFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v10_PredefinedType); + IfcDuctFittingType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcDuctFittingType > list; }; /// The flow segment type IfcDuctSegmentType defines commonly shared information for occurrences of duct segments. The set of shared information may include: @@ -35322,7 +36492,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDuctSegmentType (IfcAbstractEntity* e); - IfcDuctSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v10_PredefinedType); + IfcDuctSegmentType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcDuctSegmentType > list; }; /// The flow treatment device type IfcDuctSilencerType defines commonly shared information for occurrences of duct silencers. The set of shared information may include: @@ -35364,7 +36534,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDuctSilencerType (IfcAbstractEntity* e); - IfcDuctSilencerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v10_PredefinedType); + IfcDuctSilencerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcDuctSilencerType > list; }; @@ -35372,8 +36542,8 @@ class IfcEdgeFeature : public IfcFeatureElementSubtraction { public: /// Whether the optional attribute FeatureLength is defined for this IfcEdgeFeature bool hasFeatureLength() const; - IfcPositiveLengthMeasure FeatureLength() const; - void setFeatureLength(IfcPositiveLengthMeasure v); + double FeatureLength() const; + void setFeatureLength(double v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_DOUBLE; } return IfcFeatureElementSubtraction::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "FeatureLength"; } return IfcFeatureElementSubtraction::getArgumentName(i); } @@ -35382,7 +36552,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEdgeFeature (IfcAbstractEntity* e); - IfcEdgeFeature (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_FeatureLength); + IfcEdgeFeature (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_FeatureLength); typedef IfcTemplatedEntityList< IfcEdgeFeature > list; }; /// The flow terminal type IfcElectricApplianceType defines commonly shared information for occurrences of electric appliances. The set of shared information may include: @@ -35427,7 +36597,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricApplianceType (IfcAbstractEntity* e); - IfcElectricApplianceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v10_PredefinedType); + IfcElectricApplianceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricApplianceType > list; }; /// The flow storage device type IfcElectricFlowStorageDeviceType defines commonly shared information for occurrences of electric flow storage devices. The set of shared information may include: @@ -35470,7 +36640,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricFlowStorageDeviceType (IfcAbstractEntity* e); - IfcElectricFlowStorageDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v10_PredefinedType); + IfcElectricFlowStorageDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricFlowStorageDeviceType > list; }; /// The energy conversion device type IfcElectricGeneratorType defines commonly shared information for occurrences of electric generators. The set of shared information may include: @@ -35518,7 +36688,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricGeneratorType (IfcAbstractEntity* e); - IfcElectricGeneratorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v10_PredefinedType); + IfcElectricGeneratorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricGeneratorType > list; }; @@ -35534,7 +36704,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricHeaterType (IfcAbstractEntity* e); - IfcElectricHeaterType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricHeaterTypeEnum::IfcElectricHeaterTypeEnum v10_PredefinedType); + IfcElectricHeaterType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricHeaterTypeEnum::IfcElectricHeaterTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricHeaterType > list; }; /// The energy conversion device type IfcElectricMotorType defines commonly shared information for occurrences of electric motors. The set of shared information may include: @@ -35577,7 +36747,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricMotorType (IfcAbstractEntity* e); - IfcElectricMotorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v10_PredefinedType); + IfcElectricMotorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricMotorType > list; }; /// The flow controller type IfcElectricTimeControlType defines commonly shared information for occurrences of electric time controls. The set of shared information may include: @@ -35620,7 +36790,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricTimeControlType (IfcAbstractEntity* e); - IfcElectricTimeControlType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v10_PredefinedType); + IfcElectricTimeControlType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricTimeControlType > list; }; @@ -35634,7 +36804,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricalCircuit (IfcAbstractEntity* e); - IfcElectricalCircuit (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); + IfcElectricalCircuit (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType); typedef IfcTemplatedEntityList< IfcElectricalCircuit > list; }; @@ -35648,7 +36818,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricalElement (IfcAbstractEntity* e); - IfcElectricalElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcElectricalElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcElectricalElement > list; }; /// The distribution flow element IfcEnergyConversionDevice defines @@ -35670,7 +36840,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEnergyConversionDevice (IfcAbstractEntity* e); - IfcEnergyConversionDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcEnergyConversionDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcEnergyConversionDevice > list; }; /// The flow moving device type IfcFanType defines commonly shared information for occurrences of fans. The set of shared information may include: @@ -35714,7 +36884,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFanType (IfcAbstractEntity* e); - IfcFanType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFanTypeEnum::IfcFanTypeEnum v10_PredefinedType); + IfcFanType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFanTypeEnum::IfcFanTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcFanType > list; }; /// The flow treatment device type IfcFilterType defines commonly shared information for occurrences of filters. The set of shared information may include: @@ -35759,7 +36929,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFilterType (IfcAbstractEntity* e); - IfcFilterType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFilterTypeEnum::IfcFilterTypeEnum v10_PredefinedType); + IfcFilterType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFilterTypeEnum::IfcFilterTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcFilterType > list; }; /// The flow terminal type IfcFireSuppressionTerminalType defines commonly shared information for occurrences of fire suppression terminals. The set of shared information may include: @@ -35808,7 +36978,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFireSuppressionTerminalType (IfcAbstractEntity* e); - IfcFireSuppressionTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v10_PredefinedType); + IfcFireSuppressionTerminalType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcFireSuppressionTerminalType > list; }; /// The distribution flow element IfcFlowController defines @@ -35830,7 +37000,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowController (IfcAbstractEntity* e); - IfcFlowController (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcFlowController (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowController > list; }; /// 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. @@ -35848,7 +37018,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowFitting (IfcAbstractEntity* e); - IfcFlowFitting (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcFlowFitting (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowFitting > list; }; /// The distribution control element type IfcFlowInstrumentType defines commonly shared information for occurrences of flow instruments. The set of shared information may include: @@ -35894,7 +37064,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowInstrumentType (IfcAbstractEntity* e); - IfcFlowInstrumentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v10_PredefinedType); + IfcFlowInstrumentType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcFlowInstrumentType > list; }; /// 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. @@ -35912,7 +37082,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowMovingDevice (IfcAbstractEntity* e); - IfcFlowMovingDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcFlowMovingDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowMovingDevice > list; }; /// The distribution flow element IfcFlowSegment defines the occurrence of a segment of a flow distribution system. @@ -35948,7 +37118,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowSegment (IfcAbstractEntity* e); - IfcFlowSegment (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcFlowSegment (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowSegment > list; }; /// The distribution flow element IfcFlowStorageDevice defines @@ -35971,7 +37141,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowStorageDevice (IfcAbstractEntity* e); - IfcFlowStorageDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcFlowStorageDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowStorageDevice > list; }; /// The distribution flow element IfcFlowTerminal defines the @@ -35995,7 +37165,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowTerminal (IfcAbstractEntity* e); - IfcFlowTerminal (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcFlowTerminal (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowTerminal > list; }; /// 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. @@ -36013,7 +37183,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowTreatmentDevice (IfcAbstractEntity* e); - IfcFlowTreatmentDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcFlowTreatmentDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowTreatmentDevice > list; }; /// 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. @@ -36053,7 +37223,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFooting (IfcAbstractEntity* e); - IfcFooting (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcFootingTypeEnum::IfcFootingTypeEnum v9_PredefinedType); + IfcFooting (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, IfcFootingTypeEnum::IfcFootingTypeEnum v9_PredefinedType); typedef IfcTemplatedEntityList< IfcFooting > list; }; /// An IfcMember is a @@ -36316,7 +37486,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMember (IfcAbstractEntity* e); - IfcMember (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcMember (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcMember > list; }; /// 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. @@ -36359,7 +37529,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPile (IfcAbstractEntity* e); - IfcPile (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcPileTypeEnum::IfcPileTypeEnum v9_PredefinedType, boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v10_ConstructionType); + IfcPile (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, IfcPileTypeEnum::IfcPileTypeEnum v9_PredefinedType, boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v10_ConstructionType); typedef IfcTemplatedEntityList< IfcPile > list; }; /// Definition from IAI: An IfcPlate is a planar and @@ -36600,7 +37770,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPlate (IfcAbstractEntity* e); - IfcPlate (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcPlate (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcPlate > list; }; /// Definition of IAI: The railing is a frame assembly @@ -36752,7 +37922,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRailing (IfcAbstractEntity* e); - IfcRailing (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v9_PredefinedType); + IfcRailing (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcRailing > list; }; /// Definition from ISO 6707-1:1989: Inclined way or floor @@ -36900,7 +38070,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRamp (IfcAbstractEntity* e); - IfcRamp (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcRampTypeEnum::IfcRampTypeEnum v9_ShapeType); + IfcRamp (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, IfcRampTypeEnum::IfcRampTypeEnum v9_ShapeType); typedef IfcTemplatedEntityList< IfcRamp > list; }; /// A ramp is an inclined slab segment, normally @@ -37101,7 +38271,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRampFlight (IfcAbstractEntity* e); - IfcRampFlight (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcRampFlight (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcRampFlight > list; }; @@ -37132,8 +38302,8 @@ class IfcReinforcingElement : public IfcBuildingElementComponent { public: /// Whether the optional attribute SteelGrade is defined for this IfcReinforcingElement bool hasSteelGrade() const; - IfcLabel SteelGrade() const; - void setSteelGrade(IfcLabel v); + std::string SteelGrade() const; + void setSteelGrade(std::string v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_STRING; } return IfcBuildingElementComponent::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "SteelGrade"; } return IfcBuildingElementComponent::getArgumentName(i); } @@ -37142,7 +38312,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReinforcingElement (IfcAbstractEntity* e); - IfcReinforcingElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade); + IfcReinforcingElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade); typedef IfcTemplatedEntityList< IfcReinforcingElement > list; }; /// 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. @@ -37173,24 +38343,24 @@ class IfcReinforcingMesh : public IfcReinforcingElement { public: /// Whether the optional attribute MeshLength is defined for this IfcReinforcingMesh bool hasMeshLength() const; - IfcPositiveLengthMeasure MeshLength() const; - void setMeshLength(IfcPositiveLengthMeasure v); + double MeshLength() const; + void setMeshLength(double v); /// Whether the optional attribute MeshWidth is defined for this IfcReinforcingMesh bool hasMeshWidth() const; - IfcPositiveLengthMeasure MeshWidth() const; - void setMeshWidth(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure LongitudinalBarNominalDiameter() const; - void setLongitudinalBarNominalDiameter(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure TransverseBarNominalDiameter() const; - void setTransverseBarNominalDiameter(IfcPositiveLengthMeasure v); - IfcAreaMeasure LongitudinalBarCrossSectionArea() const; - void setLongitudinalBarCrossSectionArea(IfcAreaMeasure v); - IfcAreaMeasure TransverseBarCrossSectionArea() const; - void setTransverseBarCrossSectionArea(IfcAreaMeasure v); - IfcPositiveLengthMeasure LongitudinalBarSpacing() const; - void setLongitudinalBarSpacing(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure TransverseBarSpacing() const; - void setTransverseBarSpacing(IfcPositiveLengthMeasure v); + double MeshWidth() const; + void setMeshWidth(double v); + double LongitudinalBarNominalDiameter() const; + void setLongitudinalBarNominalDiameter(double v); + double TransverseBarNominalDiameter() const; + void setTransverseBarNominalDiameter(double v); + double LongitudinalBarCrossSectionArea() const; + void setLongitudinalBarCrossSectionArea(double v); + double TransverseBarCrossSectionArea() const; + void setTransverseBarCrossSectionArea(double v); + double LongitudinalBarSpacing() const; + void setLongitudinalBarSpacing(double v); + double TransverseBarSpacing() const; + void setTransverseBarSpacing(double v); virtual unsigned int getArgumentCount() const { return 17; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; case 15: return IfcUtil::Argument_DOUBLE; case 16: return IfcUtil::Argument_DOUBLE; } return IfcReinforcingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "MeshLength"; case 10: return "MeshWidth"; case 11: return "LongitudinalBarNominalDiameter"; case 12: return "TransverseBarNominalDiameter"; case 13: return "LongitudinalBarCrossSectionArea"; case 14: return "TransverseBarCrossSectionArea"; case 15: return "LongitudinalBarSpacing"; case 16: return "TransverseBarSpacing"; } return IfcReinforcingElement::getArgumentName(i); } @@ -37199,7 +38369,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReinforcingMesh (IfcAbstractEntity* e); - IfcReinforcingMesh (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, boost::optional< IfcPositiveLengthMeasure > v10_MeshLength, boost::optional< IfcPositiveLengthMeasure > v11_MeshWidth, IfcPositiveLengthMeasure v12_LongitudinalBarNominalDiameter, IfcPositiveLengthMeasure v13_TransverseBarNominalDiameter, IfcAreaMeasure v14_LongitudinalBarCrossSectionArea, IfcAreaMeasure v15_TransverseBarCrossSectionArea, IfcPositiveLengthMeasure v16_LongitudinalBarSpacing, IfcPositiveLengthMeasure v17_TransverseBarSpacing); + IfcReinforcingMesh (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_MeshLength, boost::optional< double > v11_MeshWidth, double v12_LongitudinalBarNominalDiameter, double v13_TransverseBarNominalDiameter, double v14_LongitudinalBarCrossSectionArea, double v15_TransverseBarCrossSectionArea, double v16_LongitudinalBarSpacing, double v17_TransverseBarSpacing); typedef IfcTemplatedEntityList< IfcReinforcingMesh > list; }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. @@ -37359,7 +38529,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRoof (IfcAbstractEntity* e); - IfcRoof (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcRoofTypeEnum::IfcRoofTypeEnum v9_ShapeType); + IfcRoof (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, IfcRoofTypeEnum::IfcRoofTypeEnum v9_ShapeType); typedef IfcTemplatedEntityList< IfcRoof > list; }; @@ -37367,8 +38537,8 @@ class IfcRoundedEdgeFeature : public IfcEdgeFeature { public: /// Whether the optional attribute Radius is defined for this IfcRoundedEdgeFeature bool hasRadius() const; - IfcPositiveLengthMeasure Radius() const; - void setRadius(IfcPositiveLengthMeasure v); + double Radius() const; + void setRadius(double v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_DOUBLE; } return IfcEdgeFeature::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "Radius"; } return IfcEdgeFeature::getArgumentName(i); } @@ -37377,7 +38547,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRoundedEdgeFeature (IfcAbstractEntity* e); - IfcRoundedEdgeFeature (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_FeatureLength, boost::optional< IfcPositiveLengthMeasure > v10_Radius); + IfcRoundedEdgeFeature (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_FeatureLength, boost::optional< double > v10_Radius); typedef IfcTemplatedEntityList< IfcRoundedEdgeFeature > list; }; /// The distribution control element type IfcSensorType defines commonly shared information for occurrences of sensors. The set of shared information may include: @@ -37441,7 +38611,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSensorType (IfcAbstractEntity* e); - IfcSensorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSensorTypeEnum::IfcSensorTypeEnum v10_PredefinedType); + IfcSensorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSensorTypeEnum::IfcSensorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcSensorType > list; }; /// A slab is a component of the @@ -37722,7 +38892,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSlab (IfcAbstractEntity* e); - IfcSlab (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType); + IfcSlab (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcSlab > list; }; /// Definition from ISO 6707-1:1989: Construction comprising @@ -37902,7 +39072,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStair (IfcAbstractEntity* e); - IfcStair (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcStairTypeEnum::IfcStairTypeEnum v9_ShapeType); + IfcStair (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, IfcStairTypeEnum::IfcStairTypeEnum v9_ShapeType); typedef IfcTemplatedEntityList< IfcStair > list; }; /// A stair flight is an assembly of @@ -38093,15 +39263,15 @@ public: /// Vertical distance from tread to tread. The riser height is supposed to be equal for all stairs in a stair flight. /// /// IFC2x4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use Pset_StairFlightCommon.RiserHeight instead. - IfcPositiveLengthMeasure RiserHeight() const; - void setRiserHeight(IfcPositiveLengthMeasure v); + double RiserHeight() const; + void setRiserHeight(double v); /// Whether the optional attribute TreadLength is defined for this IfcStairFlight bool hasTreadLength() const; /// Horizontal distance from the front to the back of the tread. The tread length is supposed to be equal for all steps of the stair flight. /// /// IFC2x4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use Pset_StairFlightCommon.TreadLength instead. - IfcPositiveLengthMeasure TreadLength() const; - void setTreadLength(IfcPositiveLengthMeasure v); + double TreadLength() const; + void setTreadLength(double v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_INT; case 9: return IfcUtil::Argument_INT; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; } return IfcBuildingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "NumberOfRiser"; case 9: return "NumberOfTreads"; case 10: return "RiserHeight"; case 11: return "TreadLength"; } return IfcBuildingElement::getArgumentName(i); } @@ -38110,7 +39280,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStairFlight (IfcAbstractEntity* e); - IfcStairFlight (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< IfcPositiveLengthMeasure > v11_RiserHeight, boost::optional< IfcPositiveLengthMeasure > v12_TreadLength); + IfcStairFlight (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength); typedef IfcTemplatedEntityList< IfcStairFlight > list; }; /// 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. @@ -38173,7 +39343,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralAnalysisModel (IfcAbstractEntity* e); - IfcStructuralAnalysisModel (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v6_PredefinedType, IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > v9_HasResults); + IfcStructuralAnalysisModel (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v6_PredefinedType, IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > v9_HasResults); typedef IfcTemplatedEntityList< IfcStructuralAnalysisModel > list; }; @@ -38181,30 +39351,30 @@ class IfcTendon : public IfcReinforcingElement { public: IfcTendonTypeEnum::IfcTendonTypeEnum PredefinedType() const; void setPredefinedType(IfcTendonTypeEnum::IfcTendonTypeEnum v); - IfcPositiveLengthMeasure NominalDiameter() const; - void setNominalDiameter(IfcPositiveLengthMeasure v); - IfcAreaMeasure CrossSectionArea() const; - void setCrossSectionArea(IfcAreaMeasure v); + double NominalDiameter() const; + void setNominalDiameter(double v); + double CrossSectionArea() const; + void setCrossSectionArea(double v); /// Whether the optional attribute TensionForce is defined for this IfcTendon bool hasTensionForce() const; - IfcForceMeasure TensionForce() const; - void setTensionForce(IfcForceMeasure v); + double TensionForce() const; + void setTensionForce(double v); /// Whether the optional attribute PreStress is defined for this IfcTendon bool hasPreStress() const; - IfcPressureMeasure PreStress() const; - void setPreStress(IfcPressureMeasure v); + double PreStress() const; + void setPreStress(double v); /// Whether the optional attribute FrictionCoefficient is defined for this IfcTendon bool hasFrictionCoefficient() const; - IfcNormalisedRatioMeasure FrictionCoefficient() const; - void setFrictionCoefficient(IfcNormalisedRatioMeasure v); + double FrictionCoefficient() const; + void setFrictionCoefficient(double v); /// Whether the optional attribute AnchorageSlip is defined for this IfcTendon bool hasAnchorageSlip() const; - IfcPositiveLengthMeasure AnchorageSlip() const; - void setAnchorageSlip(IfcPositiveLengthMeasure v); + double AnchorageSlip() const; + void setAnchorageSlip(double v); /// Whether the optional attribute MinCurvatureRadius is defined for this IfcTendon bool hasMinCurvatureRadius() const; - IfcPositiveLengthMeasure MinCurvatureRadius() const; - void setMinCurvatureRadius(IfcPositiveLengthMeasure v); + double MinCurvatureRadius() const; + void setMinCurvatureRadius(double v); virtual unsigned int getArgumentCount() const { return 17; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; case 15: return IfcUtil::Argument_DOUBLE; case 16: return IfcUtil::Argument_DOUBLE; } return IfcReinforcingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "NominalDiameter"; case 11: return "CrossSectionArea"; case 12: return "TensionForce"; case 13: return "PreStress"; case 14: return "FrictionCoefficient"; case 15: return "AnchorageSlip"; case 16: return "MinCurvatureRadius"; } return IfcReinforcingElement::getArgumentName(i); } @@ -38213,7 +39383,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTendon (IfcAbstractEntity* e); - IfcTendon (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, IfcPositiveLengthMeasure v11_NominalDiameter, IfcAreaMeasure v12_CrossSectionArea, boost::optional< IfcForceMeasure > v13_TensionForce, boost::optional< IfcPressureMeasure > v14_PreStress, boost::optional< IfcNormalisedRatioMeasure > v15_FrictionCoefficient, boost::optional< IfcPositiveLengthMeasure > v16_AnchorageSlip, boost::optional< IfcPositiveLengthMeasure > v17_MinCurvatureRadius); + IfcTendon (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, double v11_NominalDiameter, double v12_CrossSectionArea, boost::optional< double > v13_TensionForce, boost::optional< double > v14_PreStress, boost::optional< double > v15_FrictionCoefficient, boost::optional< double > v16_AnchorageSlip, boost::optional< double > v17_MinCurvatureRadius); typedef IfcTemplatedEntityList< IfcTendon > list; }; @@ -38227,7 +39397,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTendonAnchor (IfcAbstractEntity* e); - IfcTendonAnchor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade); + IfcTendonAnchor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade); typedef IfcTemplatedEntityList< IfcTendonAnchor > list; }; /// The element component type IfcVibrationIsolatorType defines commonly shared information for occurrences of vibration isolators. The set of shared information may include: @@ -38265,7 +39435,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcVibrationIsolatorType (IfcAbstractEntity* e); - IfcVibrationIsolatorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v10_PredefinedType); + IfcVibrationIsolatorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcVibrationIsolatorType > list; }; /// Definition from ISO 6707-1:1989: Vertical construction @@ -38520,7 +39690,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWall (IfcAbstractEntity* e); - IfcWall (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcWall (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcWall > list; }; /// The IfcWallStandardCase defines a wall with certain @@ -38735,7 +39905,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWallStandardCase (IfcAbstractEntity* e); - IfcWallStandardCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcWallStandardCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcWallStandardCase > list; }; /// Definition form ISO 6707-1:1989: Construction for @@ -39103,15 +40273,15 @@ public: /// 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. - IfcPositiveLengthMeasure OverallHeight() const; - void setOverallHeight(IfcPositiveLengthMeasure v); + double OverallHeight() const; + void setOverallHeight(double v); /// Whether the optional attribute OverallWidth is defined for this IfcWindow bool hasOverallWidth() const; /// 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. - IfcPositiveLengthMeasure OverallWidth() const; - void setOverallWidth(IfcPositiveLengthMeasure v); + double OverallWidth() const; + void setOverallWidth(double v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; } return IfcBuildingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "OverallHeight"; case 9: return "OverallWidth"; } return IfcBuildingElement::getArgumentName(i); } @@ -39120,7 +40290,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWindow (IfcAbstractEntity* e); - IfcWindow (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth); + IfcWindow (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth); typedef IfcTemplatedEntityList< IfcWindow > list; }; /// The distribution control element type IfcActuatorType defines commonly shared information for occurrences of actuators. The set of shared information may include: @@ -39167,7 +40337,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcActuatorType (IfcAbstractEntity* e); - IfcActuatorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcActuatorTypeEnum::IfcActuatorTypeEnum v10_PredefinedType); + IfcActuatorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcActuatorTypeEnum::IfcActuatorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcActuatorType > list; }; /// The distribution control element type IfcAlarmType defines commonly shared information for occurrences of alarms. The set of shared information may include: @@ -39209,7 +40379,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAlarmType (IfcAbstractEntity* e); - IfcAlarmType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAlarmTypeEnum::IfcAlarmTypeEnum v10_PredefinedType); + IfcAlarmType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAlarmTypeEnum::IfcAlarmTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcAlarmType > list; }; /// 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. @@ -39459,7 +40629,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBeam (IfcAbstractEntity* e); - IfcBeam (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcBeam (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcBeam > list; }; @@ -39467,12 +40637,12 @@ class IfcChamferEdgeFeature : public IfcEdgeFeature { public: /// Whether the optional attribute Width is defined for this IfcChamferEdgeFeature bool hasWidth() const; - IfcPositiveLengthMeasure Width() const; - void setWidth(IfcPositiveLengthMeasure v); + double Width() const; + void setWidth(double v); /// Whether the optional attribute Height is defined for this IfcChamferEdgeFeature bool hasHeight() const; - IfcPositiveLengthMeasure Height() const; - void setHeight(IfcPositiveLengthMeasure v); + double Height() const; + void setHeight(double v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; } return IfcEdgeFeature::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "Width"; case 10: return "Height"; } return IfcEdgeFeature::getArgumentName(i); } @@ -39481,7 +40651,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcChamferEdgeFeature (IfcAbstractEntity* e); - IfcChamferEdgeFeature (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_FeatureLength, boost::optional< IfcPositiveLengthMeasure > v10_Width, boost::optional< IfcPositiveLengthMeasure > v11_Height); + IfcChamferEdgeFeature (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_FeatureLength, boost::optional< double > v10_Width, boost::optional< double > v11_Height); typedef IfcTemplatedEntityList< IfcChamferEdgeFeature > list; }; /// The distribution control element type IfcControllerType defines commonly shared information for occurrences of controllers. The set of shared information may include: @@ -39533,7 +40703,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcControllerType (IfcAbstractEntity* e); - IfcControllerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcControllerTypeEnum::IfcControllerTypeEnum v10_PredefinedType); + IfcControllerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcControllerTypeEnum::IfcControllerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcControllerType > list; }; /// A distribution chamber element defines a place at which distribution systems and their constituent elements may be inspected or through which they may travel. @@ -39577,7 +40747,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionChamberElement (IfcAbstractEntity* e); - IfcDistributionChamberElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcDistributionChamberElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcDistributionChamberElement > list; }; /// 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. @@ -39662,8 +40832,8 @@ class IfcDistributionControlElement : public IfcDistributionElement { public: /// Whether the optional attribute ControlElementId is defined for this IfcDistributionControlElement bool hasControlElementId() const; - IfcIdentifier ControlElementId() const; - void setControlElementId(IfcIdentifier v); + std::string ControlElementId() const; + void setControlElementId(std::string v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_STRING; } return IfcDistributionElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "ControlElementId"; } return IfcDistributionElement::getArgumentName(i); } @@ -39673,7 +40843,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionControlElement (IfcAbstractEntity* e); - IfcDistributionControlElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcIdentifier > v9_ControlElementId); + IfcDistributionControlElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ControlElementId); typedef IfcTemplatedEntityList< IfcDistributionControlElement > list; }; @@ -39683,8 +40853,8 @@ public: void setDistributionPointFunction(IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum v); /// Whether the optional attribute UserDefinedFunction is defined for this IfcElectricDistributionPoint bool hasUserDefinedFunction() const; - IfcLabel UserDefinedFunction() const; - void setUserDefinedFunction(IfcLabel v); + std::string UserDefinedFunction() const; + void setUserDefinedFunction(std::string v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_STRING; } return IfcFlowController::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "DistributionPointFunction"; case 9: return "UserDefinedFunction"; } return IfcFlowController::getArgumentName(i); } @@ -39693,7 +40863,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricDistributionPoint (IfcAbstractEntity* e); - IfcElectricDistributionPoint (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum v9_DistributionPointFunction, boost::optional< IfcLabel > v10_UserDefinedFunction); + IfcElectricDistributionPoint (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, IfcElectricDistributionPointFunctionEnum::IfcElectricDistributionPointFunctionEnum v9_DistributionPointFunction, boost::optional< std::string > v10_UserDefinedFunction); typedef IfcTemplatedEntityList< IfcElectricDistributionPoint > list; }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, @@ -39726,14 +40896,14 @@ public: /// Simplified geometric representations may be used based on local agreements. class IfcReinforcingBar : public IfcReinforcingElement { public: - IfcPositiveLengthMeasure NominalDiameter() const; - void setNominalDiameter(IfcPositiveLengthMeasure v); - IfcAreaMeasure CrossSectionArea() const; - void setCrossSectionArea(IfcAreaMeasure v); + double NominalDiameter() const; + void setNominalDiameter(double v); + double CrossSectionArea() const; + void setCrossSectionArea(double v); /// Whether the optional attribute BarLength is defined for this IfcReinforcingBar bool hasBarLength() const; - IfcPositiveLengthMeasure BarLength() const; - void setBarLength(IfcPositiveLengthMeasure v); + double BarLength() const; + void setBarLength(double v); IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum BarRole() const; void setBarRole(IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v); /// Whether the optional attribute BarSurface is defined for this IfcReinforcingBar @@ -39748,7 +40918,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReinforcingBar (IfcAbstractEntity* e); - IfcReinforcingBar (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, IfcPositiveLengthMeasure v10_NominalDiameter, IfcAreaMeasure v11_CrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v12_BarLength, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v13_BarRole, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface); + IfcReinforcingBar (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, double v10_NominalDiameter, double v11_CrossSectionArea, boost::optional< double > v12_BarLength, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v13_BarRole, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface); typedef IfcTemplatedEntityList< IfcReinforcingBar > list; }; diff --git a/src/ifcparse/Ifc2x3enum.h b/src/ifcparse/Ifc2x3enum.h index 19f9983add..99c52f7e4a 100644 --- a/src/ifcparse/Ifc2x3enum.h +++ b/src/ifcparse/Ifc2x3enum.h @@ -33,7 +33,7 @@ namespace Ifc2x3 { namespace Type { typedef enum { - IfcAbsorbedDoseMeasure, IfcAccelerationMeasure, IfcAmountOfSubstanceMeasure, IfcAngularVelocityMeasure, IfcAreaMeasure, IfcBoolean, IfcColour, IfcComplexNumber, IfcCompoundPlaneAngleMeasure, IfcContextDependentMeasure, IfcCountMeasure, IfcCurvatureMeasure, IfcCurveStyleFontSelect, IfcDateTimeSelect, IfcDerivedMeasureValue, IfcDescriptiveMeasure, IfcDoseEquivalentMeasure, IfcDynamicViscosityMeasure, IfcElectricCapacitanceMeasure, IfcElectricChargeMeasure, IfcElectricConductanceMeasure, IfcElectricCurrentMeasure, IfcElectricResistanceMeasure, IfcElectricVoltageMeasure, IfcEnergyMeasure, IfcForceMeasure, IfcFrequencyMeasure, IfcHeatFluxDensityMeasure, IfcHeatingValueMeasure, IfcIdentifier, IfcIlluminanceMeasure, IfcInductanceMeasure, IfcInteger, IfcIntegerCountRateMeasure, IfcIonConcentrationMeasure, IfcIsothermalMoistureCapacityMeasure, IfcKinematicViscosityMeasure, IfcLabel, IfcLengthMeasure, IfcLinearForceMeasure, IfcLinearMomentMeasure, IfcLinearStiffnessMeasure, IfcLinearVelocityMeasure, IfcLogical, IfcLuminousFluxMeasure, IfcLuminousIntensityDistributionMeasure, IfcLuminousIntensityMeasure, IfcMagneticFluxDensityMeasure, IfcMagneticFluxMeasure, IfcMassDensityMeasure, IfcMassFlowRateMeasure, IfcMassMeasure, IfcMassPerLengthMeasure, IfcMeasureValue, IfcModulusOfElasticityMeasure, IfcModulusOfLinearSubgradeReactionMeasure, IfcModulusOfRotationalSubgradeReactionMeasure, IfcModulusOfSubgradeReactionMeasure, IfcMoistureDiffusivityMeasure, IfcMolecularWeightMeasure, IfcMomentOfInertiaMeasure, IfcMonetaryMeasure, IfcNormalisedRatioMeasure, IfcNullStyle, IfcNumericMeasure, IfcPHMeasure, IfcParameterValue, IfcPlanarForceMeasure, IfcPlaneAngleMeasure, IfcPositiveLengthMeasure, IfcPositivePlaneAngleMeasure, IfcPositiveRatioMeasure, IfcPowerMeasure, IfcPressureMeasure, IfcRadioActivityMeasure, IfcRatioMeasure, IfcReal, IfcRotationalFrequencyMeasure, IfcRotationalMassMeasure, IfcRotationalStiffnessMeasure, IfcSectionModulusMeasure, IfcSectionalAreaIntegralMeasure, IfcShearModulusMeasure, IfcSimpleValue, IfcSolidAngleMeasure, IfcSoundPowerMeasure, IfcSoundPressureMeasure, IfcSpecificHeatCapacityMeasure, IfcSpecularExponent, IfcSpecularRoughness, IfcTemperatureGradientMeasure, IfcText, IfcThermalAdmittanceMeasure, IfcThermalConductivityMeasure, IfcThermalExpansionCoefficientMeasure, IfcThermalResistanceMeasure, IfcThermalTransmittanceMeasure, IfcThermodynamicTemperatureMeasure, IfcTimeMeasure, IfcTimeStamp, IfcTorqueMeasure, IfcVaporPermeabilityMeasure, IfcVolumeMeasure, IfcVolumetricFlowRateMeasure, IfcWarpingConstantMeasure, IfcWarpingMomentMeasure, Ifc2DCompositeCurve, IfcActionRequest, IfcActor, IfcActorRole, IfcActuatorType, IfcAddress, IfcAirTerminalBoxType, IfcAirTerminalType, IfcAirToAirHeatRecoveryType, IfcAlarmType, IfcAngularDimension, IfcAnnotation, IfcAnnotationCurveOccurrence, IfcAnnotationFillArea, IfcAnnotationFillAreaOccurrence, IfcAnnotationOccurrence, IfcAnnotationSurface, IfcAnnotationSurfaceOccurrence, IfcAnnotationSymbolOccurrence, IfcAnnotationTextOccurrence, IfcApplication, IfcAppliedValue, IfcAppliedValueRelationship, IfcApproval, IfcApprovalActorRelationship, IfcApprovalPropertyRelationship, IfcApprovalRelationship, IfcArbitraryClosedProfileDef, IfcArbitraryOpenProfileDef, IfcArbitraryProfileDefWithVoids, IfcAsset, IfcAsymmetricIShapeProfileDef, IfcAxis1Placement, IfcAxis2Placement2D, IfcAxis2Placement3D, IfcBSplineCurve, IfcBeam, IfcBeamType, IfcBezierCurve, IfcBlobTexture, IfcBlock, IfcBoilerType, IfcBooleanClippingResult, IfcBooleanResult, IfcBoundaryCondition, IfcBoundaryEdgeCondition, IfcBoundaryFaceCondition, IfcBoundaryNodeCondition, IfcBoundaryNodeConditionWarping, IfcBoundedCurve, IfcBoundedSurface, IfcBoundingBox, IfcBoxedHalfSpace, IfcBuilding, IfcBuildingElement, IfcBuildingElementComponent, IfcBuildingElementPart, IfcBuildingElementProxy, IfcBuildingElementProxyType, IfcBuildingElementType, IfcBuildingStorey, IfcCShapeProfileDef, IfcCableCarrierFittingType, IfcCableCarrierSegmentType, IfcCableSegmentType, IfcCalendarDate, IfcCartesianPoint, IfcCartesianTransformationOperator, IfcCartesianTransformationOperator2D, IfcCartesianTransformationOperator2DnonUniform, IfcCartesianTransformationOperator3D, IfcCartesianTransformationOperator3DnonUniform, IfcCenterLineProfileDef, IfcChamferEdgeFeature, IfcChillerType, IfcCircle, IfcCircleHollowProfileDef, IfcCircleProfileDef, IfcClassification, IfcClassificationItem, IfcClassificationItemRelationship, IfcClassificationNotation, IfcClassificationNotationFacet, IfcClassificationReference, IfcClosedShell, IfcCoilType, IfcColourRgb, IfcColourSpecification, IfcColumn, IfcColumnType, IfcComplexProperty, IfcCompositeCurve, IfcCompositeCurveSegment, IfcCompositeProfileDef, IfcCompressorType, IfcCondenserType, IfcCondition, IfcConditionCriterion, IfcConic, IfcConnectedFaceSet, IfcConnectionCurveGeometry, IfcConnectionGeometry, IfcConnectionPointEccentricity, IfcConnectionPointGeometry, IfcConnectionPortGeometry, IfcConnectionSurfaceGeometry, IfcConstraint, IfcConstraintAggregationRelationship, IfcConstraintClassificationRelationship, IfcConstraintRelationship, IfcConstructionEquipmentResource, IfcConstructionMaterialResource, IfcConstructionProductResource, IfcConstructionResource, IfcContextDependentUnit, IfcControl, IfcControllerType, IfcConversionBasedUnit, IfcCooledBeamType, IfcCoolingTowerType, IfcCoordinatedUniversalTimeOffset, IfcCostItem, IfcCostSchedule, IfcCostValue, IfcCovering, IfcCoveringType, IfcCraneRailAShapeProfileDef, IfcCraneRailFShapeProfileDef, IfcCrewResource, IfcCsgPrimitive3D, IfcCsgSolid, IfcCurrencyRelationship, IfcCurtainWall, IfcCurtainWallType, IfcCurve, IfcCurveBoundedPlane, IfcCurveStyle, IfcCurveStyleFont, IfcCurveStyleFontAndScaling, IfcCurveStyleFontPattern, IfcDamperType, IfcDateAndTime, IfcDefinedSymbol, IfcDerivedProfileDef, IfcDerivedUnit, IfcDerivedUnitElement, IfcDiameterDimension, IfcDimensionCalloutRelationship, IfcDimensionCurve, IfcDimensionCurveDirectedCallout, IfcDimensionCurveTerminator, IfcDimensionPair, IfcDimensionalExponents, IfcDirection, IfcDiscreteAccessory, IfcDiscreteAccessoryType, IfcDistributionChamberElement, IfcDistributionChamberElementType, IfcDistributionControlElement, IfcDistributionControlElementType, IfcDistributionElement, IfcDistributionElementType, IfcDistributionFlowElement, IfcDistributionFlowElementType, IfcDistributionPort, IfcDocumentElectronicFormat, IfcDocumentInformation, IfcDocumentInformationRelationship, IfcDocumentReference, IfcDoor, IfcDoorLiningProperties, IfcDoorPanelProperties, IfcDoorStyle, IfcDraughtingCallout, IfcDraughtingCalloutRelationship, IfcDraughtingPreDefinedColour, IfcDraughtingPreDefinedCurveFont, IfcDraughtingPreDefinedTextFont, IfcDuctFittingType, IfcDuctSegmentType, IfcDuctSilencerType, IfcEdge, IfcEdgeCurve, IfcEdgeFeature, IfcEdgeLoop, IfcElectricApplianceType, IfcElectricDistributionPoint, IfcElectricFlowStorageDeviceType, IfcElectricGeneratorType, IfcElectricHeaterType, IfcElectricMotorType, IfcElectricTimeControlType, IfcElectricalBaseProperties, IfcElectricalCircuit, IfcElectricalElement, IfcElement, IfcElementAssembly, IfcElementComponent, IfcElementComponentType, IfcElementQuantity, IfcElementType, IfcElementarySurface, IfcEllipse, IfcEllipseProfileDef, IfcEnergyConversionDevice, IfcEnergyConversionDeviceType, IfcEnergyProperties, IfcEnvironmentalImpactValue, IfcEquipmentElement, IfcEquipmentStandard, IfcEvaporativeCoolerType, IfcEvaporatorType, IfcExtendedMaterialProperties, IfcExternalReference, IfcExternallyDefinedHatchStyle, IfcExternallyDefinedSurfaceStyle, IfcExternallyDefinedSymbol, IfcExternallyDefinedTextFont, IfcExtrudedAreaSolid, IfcFace, IfcFaceBasedSurfaceModel, IfcFaceBound, IfcFaceOuterBound, IfcFaceSurface, IfcFacetedBrep, IfcFacetedBrepWithVoids, IfcFailureConnectionCondition, IfcFanType, IfcFastener, IfcFastenerType, IfcFeatureElement, IfcFeatureElementAddition, IfcFeatureElementSubtraction, IfcFillAreaStyle, IfcFillAreaStyleHatching, IfcFillAreaStyleTileSymbolWithStyle, IfcFillAreaStyleTiles, IfcFilterType, IfcFireSuppressionTerminalType, IfcFlowController, IfcFlowControllerType, IfcFlowFitting, IfcFlowFittingType, IfcFlowInstrumentType, IfcFlowMeterType, IfcFlowMovingDevice, IfcFlowMovingDeviceType, IfcFlowSegment, IfcFlowSegmentType, IfcFlowStorageDevice, IfcFlowStorageDeviceType, IfcFlowTerminal, IfcFlowTerminalType, IfcFlowTreatmentDevice, IfcFlowTreatmentDeviceType, IfcFluidFlowProperties, IfcFooting, IfcFuelProperties, IfcFurnishingElement, IfcFurnishingElementType, IfcFurnitureStandard, IfcFurnitureType, IfcGasTerminalType, IfcGeneralMaterialProperties, IfcGeneralProfileProperties, IfcGeometricCurveSet, IfcGeometricRepresentationContext, IfcGeometricRepresentationItem, IfcGeometricRepresentationSubContext, IfcGeometricSet, IfcGrid, IfcGridAxis, IfcGridPlacement, IfcGroup, IfcHalfSpaceSolid, IfcHeatExchangerType, IfcHumidifierType, IfcHygroscopicMaterialProperties, IfcIShapeProfileDef, IfcImageTexture, IfcInventory, IfcIrregularTimeSeries, IfcIrregularTimeSeriesValue, IfcJunctionBoxType, IfcLShapeProfileDef, IfcLaborResource, IfcLampType, IfcLibraryInformation, IfcLibraryReference, IfcLightDistributionData, IfcLightFixtureType, IfcLightIntensityDistribution, IfcLightSource, IfcLightSourceAmbient, IfcLightSourceDirectional, IfcLightSourceGoniometric, IfcLightSourcePositional, IfcLightSourceSpot, IfcLine, IfcLinearDimension, IfcLocalPlacement, IfcLocalTime, IfcLoop, IfcManifoldSolidBrep, IfcMappedItem, IfcMaterial, IfcMaterialClassificationRelationship, IfcMaterialDefinitionRepresentation, IfcMaterialLayer, IfcMaterialLayerSet, IfcMaterialLayerSetUsage, IfcMaterialList, IfcMaterialProperties, IfcMeasureWithUnit, IfcMechanicalConcreteMaterialProperties, IfcMechanicalFastener, IfcMechanicalFastenerType, IfcMechanicalMaterialProperties, IfcMechanicalSteelMaterialProperties, IfcMember, IfcMemberType, IfcMetric, IfcMonetaryUnit, IfcMotorConnectionType, IfcMove, IfcNamedUnit, IfcObject, IfcObjectDefinition, IfcObjectPlacement, IfcObjective, IfcOccupant, IfcOffsetCurve2D, IfcOffsetCurve3D, IfcOneDirectionRepeatFactor, IfcOpenShell, IfcOpeningElement, IfcOpticalMaterialProperties, IfcOrderAction, IfcOrganization, IfcOrganizationRelationship, IfcOrientedEdge, IfcOutletType, IfcOwnerHistory, IfcParameterizedProfileDef, IfcPath, IfcPerformanceHistory, IfcPermeableCoveringProperties, IfcPermit, IfcPerson, IfcPersonAndOrganization, IfcPhysicalComplexQuantity, IfcPhysicalQuantity, IfcPhysicalSimpleQuantity, IfcPile, IfcPipeFittingType, IfcPipeSegmentType, IfcPixelTexture, IfcPlacement, IfcPlanarBox, IfcPlanarExtent, IfcPlane, IfcPlate, IfcPlateType, IfcPoint, IfcPointOnCurve, IfcPointOnSurface, IfcPolyLoop, IfcPolygonalBoundedHalfSpace, IfcPolyline, IfcPort, IfcPostalAddress, IfcPreDefinedColour, IfcPreDefinedCurveFont, IfcPreDefinedDimensionSymbol, IfcPreDefinedItem, IfcPreDefinedPointMarkerSymbol, IfcPreDefinedSymbol, IfcPreDefinedTerminatorSymbol, IfcPreDefinedTextFont, IfcPresentationLayerAssignment, IfcPresentationLayerWithStyle, IfcPresentationStyle, IfcPresentationStyleAssignment, IfcProcedure, IfcProcess, IfcProduct, IfcProductDefinitionShape, IfcProductRepresentation, IfcProductsOfCombustionProperties, IfcProfileDef, IfcProfileProperties, IfcProject, IfcProjectOrder, IfcProjectOrderRecord, IfcProjectionCurve, IfcProjectionElement, IfcProperty, IfcPropertyBoundedValue, IfcPropertyConstraintRelationship, IfcPropertyDefinition, IfcPropertyDependencyRelationship, IfcPropertyEnumeratedValue, IfcPropertyEnumeration, IfcPropertyListValue, IfcPropertyReferenceValue, IfcPropertySet, IfcPropertySetDefinition, IfcPropertySingleValue, IfcPropertyTableValue, IfcProtectiveDeviceType, IfcProxy, IfcPumpType, IfcQuantityArea, IfcQuantityCount, IfcQuantityLength, IfcQuantityTime, IfcQuantityVolume, IfcQuantityWeight, IfcRadiusDimension, IfcRailing, IfcRailingType, IfcRamp, IfcRampFlight, IfcRampFlightType, IfcRationalBezierCurve, IfcRectangleHollowProfileDef, IfcRectangleProfileDef, IfcRectangularPyramid, IfcRectangularTrimmedSurface, IfcReferencesValueDocument, IfcRegularTimeSeries, IfcReinforcementBarProperties, IfcReinforcementDefinitionProperties, IfcReinforcingBar, IfcReinforcingElement, IfcReinforcingMesh, IfcRelAggregates, IfcRelAssigns, IfcRelAssignsTasks, IfcRelAssignsToActor, IfcRelAssignsToControl, IfcRelAssignsToGroup, IfcRelAssignsToProcess, IfcRelAssignsToProduct, IfcRelAssignsToProjectOrder, IfcRelAssignsToResource, IfcRelAssociates, IfcRelAssociatesAppliedValue, IfcRelAssociatesApproval, IfcRelAssociatesClassification, IfcRelAssociatesConstraint, IfcRelAssociatesDocument, IfcRelAssociatesLibrary, IfcRelAssociatesMaterial, IfcRelAssociatesProfileProperties, IfcRelConnects, IfcRelConnectsElements, IfcRelConnectsPathElements, IfcRelConnectsPortToElement, IfcRelConnectsPorts, IfcRelConnectsStructuralActivity, IfcRelConnectsStructuralElement, IfcRelConnectsStructuralMember, IfcRelConnectsWithEccentricity, IfcRelConnectsWithRealizingElements, IfcRelContainedInSpatialStructure, IfcRelCoversBldgElements, IfcRelCoversSpaces, IfcRelDecomposes, IfcRelDefines, IfcRelDefinesByProperties, IfcRelDefinesByType, IfcRelFillsElement, IfcRelFlowControlElements, IfcRelInteractionRequirements, IfcRelNests, IfcRelOccupiesSpaces, IfcRelOverridesProperties, IfcRelProjectsElement, IfcRelReferencedInSpatialStructure, IfcRelSchedulesCostItems, IfcRelSequence, IfcRelServicesBuildings, IfcRelSpaceBoundary, IfcRelVoidsElement, IfcRelationship, IfcRelaxation, IfcRepresentation, IfcRepresentationContext, IfcRepresentationItem, IfcRepresentationMap, IfcResource, IfcRevolvedAreaSolid, IfcRibPlateProfileProperties, IfcRightCircularCone, IfcRightCircularCylinder, IfcRoof, IfcRoot, IfcRoundedEdgeFeature, IfcRoundedRectangleProfileDef, IfcSIUnit, IfcSanitaryTerminalType, IfcScheduleTimeControl, IfcSectionProperties, IfcSectionReinforcementProperties, IfcSectionedSpine, IfcSensorType, IfcServiceLife, IfcServiceLifeFactor, IfcShapeAspect, IfcShapeModel, IfcShapeRepresentation, IfcShellBasedSurfaceModel, IfcSimpleProperty, IfcSite, IfcSlab, IfcSlabType, IfcSlippageConnectionCondition, IfcSolidModel, IfcSoundProperties, IfcSoundValue, IfcSpace, IfcSpaceHeaterType, IfcSpaceProgram, IfcSpaceThermalLoadProperties, IfcSpaceType, IfcSpatialStructureElement, IfcSpatialStructureElementType, IfcSphere, IfcStackTerminalType, IfcStair, IfcStairFlight, IfcStairFlightType, IfcStructuralAction, IfcStructuralActivity, IfcStructuralAnalysisModel, IfcStructuralConnection, IfcStructuralConnectionCondition, IfcStructuralCurveConnection, IfcStructuralCurveMember, IfcStructuralCurveMemberVarying, IfcStructuralItem, IfcStructuralLinearAction, IfcStructuralLinearActionVarying, IfcStructuralLoad, IfcStructuralLoadGroup, IfcStructuralLoadLinearForce, IfcStructuralLoadPlanarForce, IfcStructuralLoadSingleDisplacement, IfcStructuralLoadSingleDisplacementDistortion, IfcStructuralLoadSingleForce, IfcStructuralLoadSingleForceWarping, IfcStructuralLoadStatic, IfcStructuralLoadTemperature, IfcStructuralMember, IfcStructuralPlanarAction, IfcStructuralPlanarActionVarying, IfcStructuralPointAction, IfcStructuralPointConnection, IfcStructuralPointReaction, IfcStructuralProfileProperties, IfcStructuralReaction, IfcStructuralResultGroup, IfcStructuralSteelProfileProperties, IfcStructuralSurfaceConnection, IfcStructuralSurfaceMember, IfcStructuralSurfaceMemberVarying, IfcStructuredDimensionCallout, IfcStyleModel, IfcStyledItem, IfcStyledRepresentation, IfcSubContractResource, IfcSubedge, IfcSurface, IfcSurfaceCurveSweptAreaSolid, IfcSurfaceOfLinearExtrusion, IfcSurfaceOfRevolution, IfcSurfaceStyle, IfcSurfaceStyleLighting, IfcSurfaceStyleRefraction, IfcSurfaceStyleRendering, IfcSurfaceStyleShading, IfcSurfaceStyleWithTextures, IfcSurfaceTexture, IfcSweptAreaSolid, IfcSweptDiskSolid, IfcSweptSurface, IfcSwitchingDeviceType, IfcSymbolStyle, IfcSystem, IfcSystemFurnitureElementType, IfcTShapeProfileDef, IfcTable, IfcTableRow, IfcTankType, IfcTask, IfcTelecomAddress, IfcTendon, IfcTendonAnchor, IfcTerminatorSymbol, IfcTextLiteral, IfcTextLiteralWithExtent, IfcTextStyle, IfcTextStyleFontModel, IfcTextStyleForDefinedFont, IfcTextStyleTextModel, IfcTextStyleWithBoxCharacteristics, IfcTextureCoordinate, IfcTextureCoordinateGenerator, IfcTextureMap, IfcTextureVertex, IfcThermalMaterialProperties, IfcTimeSeries, IfcTimeSeriesReferenceRelationship, IfcTimeSeriesSchedule, IfcTimeSeriesValue, IfcTopologicalRepresentationItem, IfcTopologyRepresentation, IfcTransformerType, IfcTransportElement, IfcTransportElementType, IfcTrapeziumProfileDef, IfcTrimmedCurve, IfcTubeBundleType, IfcTwoDirectionRepeatFactor, IfcTypeObject, IfcTypeProduct, IfcUShapeProfileDef, IfcUnitAssignment, IfcUnitaryEquipmentType, IfcValveType, IfcVector, IfcVertex, IfcVertexBasedTextureMap, IfcVertexLoop, IfcVertexPoint, IfcVibrationIsolatorType, IfcVirtualElement, IfcVirtualGridIntersection, IfcWall, IfcWallStandardCase, IfcWallType, IfcWasteTerminalType, IfcWaterProperties, IfcWindow, IfcWindowLiningProperties, IfcWindowPanelProperties, IfcWindowStyle, IfcWorkControl, IfcWorkPlan, IfcWorkSchedule, IfcZShapeProfileDef, IfcZone, ALL + Ifc2DCompositeCurve, IfcAbsorbedDoseMeasure, IfcAccelerationMeasure, IfcActionRequest, IfcActionSourceTypeEnum, IfcActionTypeEnum, IfcActor, IfcActorRole, IfcActorSelect, IfcActuatorType, IfcActuatorTypeEnum, IfcAddress, IfcAddressTypeEnum, IfcAheadOrBehind, IfcAirTerminalBoxType, IfcAirTerminalBoxTypeEnum, IfcAirTerminalType, IfcAirTerminalTypeEnum, IfcAirToAirHeatRecoveryType, IfcAirToAirHeatRecoveryTypeEnum, IfcAlarmType, IfcAlarmTypeEnum, IfcAmountOfSubstanceMeasure, IfcAnalysisModelTypeEnum, IfcAnalysisTheoryTypeEnum, IfcAngularDimension, IfcAngularVelocityMeasure, IfcAnnotation, IfcAnnotationCurveOccurrence, IfcAnnotationFillArea, IfcAnnotationFillAreaOccurrence, IfcAnnotationOccurrence, IfcAnnotationSurface, IfcAnnotationSurfaceOccurrence, IfcAnnotationSymbolOccurrence, IfcAnnotationTextOccurrence, IfcApplication, IfcAppliedValue, IfcAppliedValueRelationship, IfcAppliedValueSelect, IfcApproval, IfcApprovalActorRelationship, IfcApprovalPropertyRelationship, IfcApprovalRelationship, IfcArbitraryClosedProfileDef, IfcArbitraryOpenProfileDef, IfcArbitraryProfileDefWithVoids, IfcAreaMeasure, IfcArithmeticOperatorEnum, IfcAssemblyPlaceEnum, IfcAsset, IfcAsymmetricIShapeProfileDef, IfcAxis1Placement, IfcAxis2Placement, IfcAxis2Placement2D, IfcAxis2Placement3D, IfcBSplineCurve, IfcBSplineCurveForm, IfcBeam, IfcBeamType, IfcBeamTypeEnum, IfcBenchmarkEnum, IfcBezierCurve, IfcBlobTexture, IfcBlock, IfcBoilerType, IfcBoilerTypeEnum, IfcBoolean, IfcBooleanClippingResult, IfcBooleanOperand, IfcBooleanOperator, IfcBooleanResult, IfcBoundaryCondition, IfcBoundaryEdgeCondition, IfcBoundaryFaceCondition, IfcBoundaryNodeCondition, IfcBoundaryNodeConditionWarping, IfcBoundedCurve, IfcBoundedSurface, IfcBoundingBox, IfcBoxAlignment, IfcBoxedHalfSpace, IfcBuilding, IfcBuildingElement, IfcBuildingElementComponent, IfcBuildingElementPart, IfcBuildingElementProxy, IfcBuildingElementProxyType, IfcBuildingElementProxyTypeEnum, IfcBuildingElementType, IfcBuildingStorey, IfcCShapeProfileDef, IfcCableCarrierFittingType, IfcCableCarrierFittingTypeEnum, IfcCableCarrierSegmentType, IfcCableCarrierSegmentTypeEnum, IfcCableSegmentType, IfcCableSegmentTypeEnum, IfcCalendarDate, IfcCartesianPoint, IfcCartesianTransformationOperator, IfcCartesianTransformationOperator2D, IfcCartesianTransformationOperator2DnonUniform, IfcCartesianTransformationOperator3D, IfcCartesianTransformationOperator3DnonUniform, IfcCenterLineProfileDef, IfcChamferEdgeFeature, IfcChangeActionEnum, IfcCharacterStyleSelect, IfcChillerType, IfcChillerTypeEnum, IfcCircle, IfcCircleHollowProfileDef, IfcCircleProfileDef, IfcClassification, IfcClassificationItem, IfcClassificationItemRelationship, IfcClassificationNotation, IfcClassificationNotationFacet, IfcClassificationNotationSelect, IfcClassificationReference, IfcClosedShell, IfcCoilType, IfcCoilTypeEnum, IfcColour, IfcColourOrFactor, IfcColourRgb, IfcColourSpecification, IfcColumn, IfcColumnType, IfcColumnTypeEnum, IfcComplexNumber, IfcComplexProperty, IfcCompositeCurve, IfcCompositeCurveSegment, IfcCompositeProfileDef, IfcCompoundPlaneAngleMeasure, IfcCompressorType, IfcCompressorTypeEnum, IfcCondenserType, IfcCondenserTypeEnum, IfcCondition, IfcConditionCriterion, IfcConditionCriterionSelect, IfcConic, IfcConnectedFaceSet, IfcConnectionCurveGeometry, IfcConnectionGeometry, IfcConnectionPointEccentricity, IfcConnectionPointGeometry, IfcConnectionPortGeometry, IfcConnectionSurfaceGeometry, IfcConnectionTypeEnum, IfcConstraint, IfcConstraintAggregationRelationship, IfcConstraintClassificationRelationship, IfcConstraintEnum, IfcConstraintRelationship, IfcConstructionEquipmentResource, IfcConstructionMaterialResource, IfcConstructionProductResource, IfcConstructionResource, IfcContextDependentMeasure, IfcContextDependentUnit, IfcControl, IfcControllerType, IfcControllerTypeEnum, IfcConversionBasedUnit, IfcCooledBeamType, IfcCooledBeamTypeEnum, IfcCoolingTowerType, IfcCoolingTowerTypeEnum, IfcCoordinatedUniversalTimeOffset, IfcCostItem, IfcCostSchedule, IfcCostScheduleTypeEnum, IfcCostValue, IfcCountMeasure, IfcCovering, IfcCoveringType, IfcCoveringTypeEnum, IfcCraneRailAShapeProfileDef, IfcCraneRailFShapeProfileDef, IfcCrewResource, IfcCsgPrimitive3D, IfcCsgSelect, IfcCsgSolid, IfcCurrencyEnum, IfcCurrencyRelationship, IfcCurtainWall, IfcCurtainWallType, IfcCurtainWallTypeEnum, IfcCurvatureMeasure, IfcCurve, IfcCurveBoundedPlane, IfcCurveFontOrScaledCurveFontSelect, IfcCurveOrEdgeCurve, IfcCurveStyle, IfcCurveStyleFont, IfcCurveStyleFontAndScaling, IfcCurveStyleFontPattern, IfcCurveStyleFontSelect, IfcDamperType, IfcDamperTypeEnum, IfcDataOriginEnum, IfcDateAndTime, IfcDateTimeSelect, IfcDayInMonthNumber, IfcDaylightSavingHour, IfcDefinedSymbol, IfcDefinedSymbolSelect, IfcDerivedMeasureValue, IfcDerivedProfileDef, IfcDerivedUnit, IfcDerivedUnitElement, IfcDerivedUnitEnum, IfcDescriptiveMeasure, IfcDiameterDimension, IfcDimensionCalloutRelationship, IfcDimensionCount, IfcDimensionCurve, IfcDimensionCurveDirectedCallout, IfcDimensionCurveTerminator, IfcDimensionExtentUsage, IfcDimensionPair, IfcDimensionalExponents, IfcDirection, IfcDirectionSenseEnum, IfcDiscreteAccessory, IfcDiscreteAccessoryType, IfcDistributionChamberElement, IfcDistributionChamberElementType, IfcDistributionChamberElementTypeEnum, IfcDistributionControlElement, IfcDistributionControlElementType, IfcDistributionElement, IfcDistributionElementType, IfcDistributionFlowElement, IfcDistributionFlowElementType, IfcDistributionPort, IfcDocumentConfidentialityEnum, IfcDocumentElectronicFormat, IfcDocumentInformation, IfcDocumentInformationRelationship, IfcDocumentReference, IfcDocumentSelect, IfcDocumentStatusEnum, IfcDoor, IfcDoorLiningProperties, IfcDoorPanelOperationEnum, IfcDoorPanelPositionEnum, IfcDoorPanelProperties, IfcDoorStyle, IfcDoorStyleConstructionEnum, IfcDoorStyleOperationEnum, IfcDoseEquivalentMeasure, IfcDraughtingCallout, IfcDraughtingCalloutElement, IfcDraughtingCalloutRelationship, IfcDraughtingPreDefinedColour, IfcDraughtingPreDefinedCurveFont, IfcDraughtingPreDefinedTextFont, IfcDuctFittingType, IfcDuctFittingTypeEnum, IfcDuctSegmentType, IfcDuctSegmentTypeEnum, IfcDuctSilencerType, IfcDuctSilencerTypeEnum, IfcDynamicViscosityMeasure, IfcEdge, IfcEdgeCurve, IfcEdgeFeature, IfcEdgeLoop, IfcElectricApplianceType, IfcElectricApplianceTypeEnum, IfcElectricCapacitanceMeasure, IfcElectricChargeMeasure, IfcElectricConductanceMeasure, IfcElectricCurrentEnum, IfcElectricCurrentMeasure, IfcElectricDistributionPoint, IfcElectricDistributionPointFunctionEnum, IfcElectricFlowStorageDeviceType, IfcElectricFlowStorageDeviceTypeEnum, IfcElectricGeneratorType, IfcElectricGeneratorTypeEnum, IfcElectricHeaterType, IfcElectricHeaterTypeEnum, IfcElectricMotorType, IfcElectricMotorTypeEnum, IfcElectricResistanceMeasure, IfcElectricTimeControlType, IfcElectricTimeControlTypeEnum, IfcElectricVoltageMeasure, IfcElectricalBaseProperties, IfcElectricalCircuit, IfcElectricalElement, IfcElement, IfcElementAssembly, IfcElementAssemblyTypeEnum, IfcElementComponent, IfcElementComponentType, IfcElementCompositionEnum, IfcElementQuantity, IfcElementType, IfcElementarySurface, IfcEllipse, IfcEllipseProfileDef, IfcEnergyConversionDevice, IfcEnergyConversionDeviceType, IfcEnergyMeasure, IfcEnergyProperties, IfcEnergySequenceEnum, IfcEnvironmentalImpactCategoryEnum, IfcEnvironmentalImpactValue, IfcEquipmentElement, IfcEquipmentStandard, IfcEvaporativeCoolerType, IfcEvaporativeCoolerTypeEnum, IfcEvaporatorType, IfcEvaporatorTypeEnum, IfcExtendedMaterialProperties, IfcExternalReference, IfcExternallyDefinedHatchStyle, IfcExternallyDefinedSurfaceStyle, IfcExternallyDefinedSymbol, IfcExternallyDefinedTextFont, IfcExtrudedAreaSolid, IfcFace, IfcFaceBasedSurfaceModel, IfcFaceBound, IfcFaceOuterBound, IfcFaceSurface, IfcFacetedBrep, IfcFacetedBrepWithVoids, IfcFailureConnectionCondition, IfcFanType, IfcFanTypeEnum, IfcFastener, IfcFastenerType, IfcFeatureElement, IfcFeatureElementAddition, IfcFeatureElementSubtraction, IfcFillAreaStyle, IfcFillAreaStyleHatching, IfcFillAreaStyleTileShapeSelect, IfcFillAreaStyleTileSymbolWithStyle, IfcFillAreaStyleTiles, IfcFillStyleSelect, IfcFilterType, IfcFilterTypeEnum, IfcFireSuppressionTerminalType, IfcFireSuppressionTerminalTypeEnum, IfcFlowController, IfcFlowControllerType, IfcFlowDirectionEnum, IfcFlowFitting, IfcFlowFittingType, IfcFlowInstrumentType, IfcFlowInstrumentTypeEnum, IfcFlowMeterType, IfcFlowMeterTypeEnum, IfcFlowMovingDevice, IfcFlowMovingDeviceType, IfcFlowSegment, IfcFlowSegmentType, IfcFlowStorageDevice, IfcFlowStorageDeviceType, IfcFlowTerminal, IfcFlowTerminalType, IfcFlowTreatmentDevice, IfcFlowTreatmentDeviceType, IfcFluidFlowProperties, IfcFontStyle, IfcFontVariant, IfcFontWeight, IfcFooting, IfcFootingTypeEnum, IfcForceMeasure, IfcFrequencyMeasure, IfcFuelProperties, IfcFurnishingElement, IfcFurnishingElementType, IfcFurnitureStandard, IfcFurnitureType, IfcGasTerminalType, IfcGasTerminalTypeEnum, IfcGeneralMaterialProperties, IfcGeneralProfileProperties, IfcGeometricCurveSet, IfcGeometricProjectionEnum, IfcGeometricRepresentationContext, IfcGeometricRepresentationItem, IfcGeometricRepresentationSubContext, IfcGeometricSet, IfcGeometricSetSelect, IfcGlobalOrLocalEnum, IfcGloballyUniqueId, IfcGrid, IfcGridAxis, IfcGridPlacement, IfcGroup, IfcHalfSpaceSolid, IfcHatchLineDistanceSelect, IfcHeatExchangerType, IfcHeatExchangerTypeEnum, IfcHeatFluxDensityMeasure, IfcHeatingValueMeasure, IfcHourInDay, IfcHumidifierType, IfcHumidifierTypeEnum, IfcHygroscopicMaterialProperties, IfcIShapeProfileDef, IfcIdentifier, IfcIlluminanceMeasure, IfcImageTexture, IfcInductanceMeasure, IfcInteger, IfcIntegerCountRateMeasure, IfcInternalOrExternalEnum, IfcInventory, IfcInventoryTypeEnum, IfcIonConcentrationMeasure, IfcIrregularTimeSeries, IfcIrregularTimeSeriesValue, IfcIsothermalMoistureCapacityMeasure, IfcJunctionBoxType, IfcJunctionBoxTypeEnum, IfcKinematicViscosityMeasure, IfcLShapeProfileDef, IfcLabel, IfcLaborResource, IfcLampType, IfcLampTypeEnum, IfcLayerSetDirectionEnum, IfcLayeredItem, IfcLengthMeasure, IfcLibraryInformation, IfcLibraryReference, IfcLibrarySelect, IfcLightDistributionCurveEnum, IfcLightDistributionData, IfcLightDistributionDataSourceSelect, IfcLightEmissionSourceEnum, IfcLightFixtureType, IfcLightFixtureTypeEnum, IfcLightIntensityDistribution, IfcLightSource, IfcLightSourceAmbient, IfcLightSourceDirectional, IfcLightSourceGoniometric, IfcLightSourcePositional, IfcLightSourceSpot, IfcLine, IfcLinearDimension, IfcLinearForceMeasure, IfcLinearMomentMeasure, IfcLinearStiffnessMeasure, IfcLinearVelocityMeasure, IfcLoadGroupTypeEnum, IfcLocalPlacement, IfcLocalTime, IfcLogical, IfcLogicalOperatorEnum, IfcLoop, IfcLuminousFluxMeasure, IfcLuminousIntensityDistributionMeasure, IfcLuminousIntensityMeasure, IfcMagneticFluxDensityMeasure, IfcMagneticFluxMeasure, IfcManifoldSolidBrep, IfcMappedItem, IfcMassDensityMeasure, IfcMassFlowRateMeasure, IfcMassMeasure, IfcMassPerLengthMeasure, IfcMaterial, IfcMaterialClassificationRelationship, IfcMaterialDefinitionRepresentation, IfcMaterialLayer, IfcMaterialLayerSet, IfcMaterialLayerSetUsage, IfcMaterialList, IfcMaterialProperties, IfcMaterialSelect, IfcMeasureValue, IfcMeasureWithUnit, IfcMechanicalConcreteMaterialProperties, IfcMechanicalFastener, IfcMechanicalFastenerType, IfcMechanicalMaterialProperties, IfcMechanicalSteelMaterialProperties, IfcMember, IfcMemberType, IfcMemberTypeEnum, IfcMetric, IfcMetricValueSelect, IfcMinuteInHour, IfcModulusOfElasticityMeasure, IfcModulusOfLinearSubgradeReactionMeasure, IfcModulusOfRotationalSubgradeReactionMeasure, IfcModulusOfSubgradeReactionMeasure, IfcMoistureDiffusivityMeasure, IfcMolecularWeightMeasure, IfcMomentOfInertiaMeasure, IfcMonetaryMeasure, IfcMonetaryUnit, IfcMonthInYearNumber, IfcMotorConnectionType, IfcMotorConnectionTypeEnum, IfcMove, IfcNamedUnit, IfcNormalisedRatioMeasure, IfcNullStyle, IfcNumericMeasure, IfcObject, IfcObjectDefinition, IfcObjectPlacement, IfcObjectReferenceSelect, IfcObjectTypeEnum, IfcObjective, IfcObjectiveEnum, IfcOccupant, IfcOccupantTypeEnum, IfcOffsetCurve2D, IfcOffsetCurve3D, IfcOneDirectionRepeatFactor, IfcOpenShell, IfcOpeningElement, IfcOpticalMaterialProperties, IfcOrderAction, IfcOrganization, IfcOrganizationRelationship, IfcOrientationSelect, IfcOrientedEdge, IfcOutletType, IfcOutletTypeEnum, IfcOwnerHistory, IfcPHMeasure, IfcParameterValue, IfcParameterizedProfileDef, IfcPath, IfcPerformanceHistory, IfcPermeableCoveringOperationEnum, IfcPermeableCoveringProperties, IfcPermit, IfcPerson, IfcPersonAndOrganization, IfcPhysicalComplexQuantity, IfcPhysicalOrVirtualEnum, IfcPhysicalQuantity, IfcPhysicalSimpleQuantity, IfcPile, IfcPileConstructionEnum, IfcPileTypeEnum, IfcPipeFittingType, IfcPipeFittingTypeEnum, IfcPipeSegmentType, IfcPipeSegmentTypeEnum, IfcPixelTexture, IfcPlacement, IfcPlanarBox, IfcPlanarExtent, IfcPlanarForceMeasure, IfcPlane, IfcPlaneAngleMeasure, IfcPlate, IfcPlateType, IfcPlateTypeEnum, IfcPoint, IfcPointOnCurve, IfcPointOnSurface, IfcPointOrVertexPoint, IfcPolyLoop, IfcPolygonalBoundedHalfSpace, IfcPolyline, IfcPort, IfcPositiveLengthMeasure, IfcPositivePlaneAngleMeasure, IfcPositiveRatioMeasure, IfcPostalAddress, IfcPowerMeasure, IfcPreDefinedColour, IfcPreDefinedCurveFont, IfcPreDefinedDimensionSymbol, IfcPreDefinedItem, IfcPreDefinedPointMarkerSymbol, IfcPreDefinedSymbol, IfcPreDefinedTerminatorSymbol, IfcPreDefinedTextFont, IfcPresentableText, IfcPresentationLayerAssignment, IfcPresentationLayerWithStyle, IfcPresentationStyle, IfcPresentationStyleAssignment, IfcPresentationStyleSelect, IfcPressureMeasure, IfcProcedure, IfcProcedureTypeEnum, IfcProcess, IfcProduct, IfcProductDefinitionShape, IfcProductRepresentation, IfcProductsOfCombustionProperties, IfcProfileDef, IfcProfileProperties, IfcProfileTypeEnum, IfcProject, IfcProjectOrder, IfcProjectOrderRecord, IfcProjectOrderRecordTypeEnum, IfcProjectOrderTypeEnum, IfcProjectedOrTrueLengthEnum, IfcProjectionCurve, IfcProjectionElement, IfcProperty, IfcPropertyBoundedValue, IfcPropertyConstraintRelationship, IfcPropertyDefinition, IfcPropertyDependencyRelationship, IfcPropertyEnumeratedValue, IfcPropertyEnumeration, IfcPropertyListValue, IfcPropertyReferenceValue, IfcPropertySet, IfcPropertySetDefinition, IfcPropertySingleValue, IfcPropertySourceEnum, IfcPropertyTableValue, IfcProtectiveDeviceType, IfcProtectiveDeviceTypeEnum, IfcProxy, IfcPumpType, IfcPumpTypeEnum, IfcQuantityArea, IfcQuantityCount, IfcQuantityLength, IfcQuantityTime, IfcQuantityVolume, IfcQuantityWeight, IfcRadioActivityMeasure, IfcRadiusDimension, IfcRailing, IfcRailingType, IfcRailingTypeEnum, IfcRamp, IfcRampFlight, IfcRampFlightType, IfcRampFlightTypeEnum, IfcRampTypeEnum, IfcRatioMeasure, IfcRationalBezierCurve, IfcReal, IfcRectangleHollowProfileDef, IfcRectangleProfileDef, IfcRectangularPyramid, IfcRectangularTrimmedSurface, IfcReferencesValueDocument, IfcReflectanceMethodEnum, IfcRegularTimeSeries, IfcReinforcementBarProperties, IfcReinforcementDefinitionProperties, IfcReinforcingBar, IfcReinforcingBarRoleEnum, IfcReinforcingBarSurfaceEnum, IfcReinforcingElement, IfcReinforcingMesh, IfcRelAggregates, IfcRelAssigns, IfcRelAssignsTasks, IfcRelAssignsToActor, IfcRelAssignsToControl, IfcRelAssignsToGroup, IfcRelAssignsToProcess, IfcRelAssignsToProduct, IfcRelAssignsToProjectOrder, IfcRelAssignsToResource, IfcRelAssociates, IfcRelAssociatesAppliedValue, IfcRelAssociatesApproval, IfcRelAssociatesClassification, IfcRelAssociatesConstraint, IfcRelAssociatesDocument, IfcRelAssociatesLibrary, IfcRelAssociatesMaterial, IfcRelAssociatesProfileProperties, IfcRelConnects, IfcRelConnectsElements, IfcRelConnectsPathElements, IfcRelConnectsPortToElement, IfcRelConnectsPorts, IfcRelConnectsStructuralActivity, IfcRelConnectsStructuralElement, IfcRelConnectsStructuralMember, IfcRelConnectsWithEccentricity, IfcRelConnectsWithRealizingElements, IfcRelContainedInSpatialStructure, IfcRelCoversBldgElements, IfcRelCoversSpaces, IfcRelDecomposes, IfcRelDefines, IfcRelDefinesByProperties, IfcRelDefinesByType, IfcRelFillsElement, IfcRelFlowControlElements, IfcRelInteractionRequirements, IfcRelNests, IfcRelOccupiesSpaces, IfcRelOverridesProperties, IfcRelProjectsElement, IfcRelReferencedInSpatialStructure, IfcRelSchedulesCostItems, IfcRelSequence, IfcRelServicesBuildings, IfcRelSpaceBoundary, IfcRelVoidsElement, IfcRelationship, IfcRelaxation, IfcRepresentation, IfcRepresentationContext, IfcRepresentationItem, IfcRepresentationMap, IfcResource, IfcResourceConsumptionEnum, IfcRevolvedAreaSolid, IfcRibPlateDirectionEnum, IfcRibPlateProfileProperties, IfcRightCircularCone, IfcRightCircularCylinder, IfcRoleEnum, IfcRoof, IfcRoofTypeEnum, IfcRoot, IfcRotationalFrequencyMeasure, IfcRotationalMassMeasure, IfcRotationalStiffnessMeasure, IfcRoundedEdgeFeature, IfcRoundedRectangleProfileDef, IfcSIPrefix, IfcSIUnit, IfcSIUnitName, IfcSanitaryTerminalType, IfcSanitaryTerminalTypeEnum, IfcScheduleTimeControl, IfcSecondInMinute, IfcSectionModulusMeasure, IfcSectionProperties, IfcSectionReinforcementProperties, IfcSectionTypeEnum, IfcSectionalAreaIntegralMeasure, IfcSectionedSpine, IfcSensorType, IfcSensorTypeEnum, IfcSequenceEnum, IfcServiceLife, IfcServiceLifeFactor, IfcServiceLifeFactorTypeEnum, IfcServiceLifeTypeEnum, IfcShapeAspect, IfcShapeModel, IfcShapeRepresentation, IfcShearModulusMeasure, IfcShell, IfcShellBasedSurfaceModel, IfcSimpleProperty, IfcSimpleValue, IfcSite, IfcSizeSelect, IfcSlab, IfcSlabType, IfcSlabTypeEnum, IfcSlippageConnectionCondition, IfcSolidAngleMeasure, IfcSolidModel, IfcSoundPowerMeasure, IfcSoundPressureMeasure, IfcSoundProperties, IfcSoundScaleEnum, IfcSoundValue, IfcSpace, IfcSpaceHeaterType, IfcSpaceHeaterTypeEnum, IfcSpaceProgram, IfcSpaceThermalLoadProperties, IfcSpaceType, IfcSpaceTypeEnum, IfcSpatialStructureElement, IfcSpatialStructureElementType, IfcSpecificHeatCapacityMeasure, IfcSpecularExponent, IfcSpecularHighlightSelect, IfcSpecularRoughness, IfcSphere, IfcStackTerminalType, IfcStackTerminalTypeEnum, IfcStair, IfcStairFlight, IfcStairFlightType, IfcStairFlightTypeEnum, IfcStairTypeEnum, IfcStateEnum, IfcStructuralAction, IfcStructuralActivity, IfcStructuralActivityAssignmentSelect, IfcStructuralAnalysisModel, IfcStructuralConnection, IfcStructuralConnectionCondition, IfcStructuralCurveConnection, IfcStructuralCurveMember, IfcStructuralCurveMemberVarying, IfcStructuralCurveTypeEnum, IfcStructuralItem, IfcStructuralLinearAction, IfcStructuralLinearActionVarying, IfcStructuralLoad, IfcStructuralLoadGroup, IfcStructuralLoadLinearForce, IfcStructuralLoadPlanarForce, IfcStructuralLoadSingleDisplacement, IfcStructuralLoadSingleDisplacementDistortion, IfcStructuralLoadSingleForce, IfcStructuralLoadSingleForceWarping, IfcStructuralLoadStatic, IfcStructuralLoadTemperature, IfcStructuralMember, IfcStructuralPlanarAction, IfcStructuralPlanarActionVarying, IfcStructuralPointAction, IfcStructuralPointConnection, IfcStructuralPointReaction, IfcStructuralProfileProperties, IfcStructuralReaction, IfcStructuralResultGroup, IfcStructuralSteelProfileProperties, IfcStructuralSurfaceConnection, IfcStructuralSurfaceMember, IfcStructuralSurfaceMemberVarying, IfcStructuralSurfaceTypeEnum, IfcStructuredDimensionCallout, IfcStyleModel, IfcStyledItem, IfcStyledRepresentation, IfcSubContractResource, IfcSubedge, IfcSurface, IfcSurfaceCurveSweptAreaSolid, IfcSurfaceOfLinearExtrusion, IfcSurfaceOfRevolution, IfcSurfaceOrFaceSurface, IfcSurfaceSide, IfcSurfaceStyle, IfcSurfaceStyleElementSelect, IfcSurfaceStyleLighting, IfcSurfaceStyleRefraction, IfcSurfaceStyleRendering, IfcSurfaceStyleShading, IfcSurfaceStyleWithTextures, IfcSurfaceTexture, IfcSurfaceTextureEnum, IfcSweptAreaSolid, IfcSweptDiskSolid, IfcSweptSurface, IfcSwitchingDeviceType, IfcSwitchingDeviceTypeEnum, IfcSymbolStyle, IfcSymbolStyleSelect, IfcSystem, IfcSystemFurnitureElementType, IfcTShapeProfileDef, IfcTable, IfcTableRow, IfcTankType, IfcTankTypeEnum, IfcTask, IfcTelecomAddress, IfcTemperatureGradientMeasure, IfcTendon, IfcTendonAnchor, IfcTendonTypeEnum, IfcTerminatorSymbol, IfcText, IfcTextAlignment, IfcTextDecoration, IfcTextFontName, IfcTextFontSelect, IfcTextLiteral, IfcTextLiteralWithExtent, IfcTextPath, IfcTextStyle, IfcTextStyleFontModel, IfcTextStyleForDefinedFont, IfcTextStyleSelect, IfcTextStyleTextModel, IfcTextStyleWithBoxCharacteristics, IfcTextTransformation, IfcTextureCoordinate, IfcTextureCoordinateGenerator, IfcTextureMap, IfcTextureVertex, IfcThermalAdmittanceMeasure, IfcThermalConductivityMeasure, IfcThermalExpansionCoefficientMeasure, IfcThermalLoadSourceEnum, IfcThermalLoadTypeEnum, IfcThermalMaterialProperties, IfcThermalResistanceMeasure, IfcThermalTransmittanceMeasure, IfcThermodynamicTemperatureMeasure, IfcTimeMeasure, IfcTimeSeries, IfcTimeSeriesDataTypeEnum, IfcTimeSeriesReferenceRelationship, IfcTimeSeriesSchedule, IfcTimeSeriesScheduleTypeEnum, IfcTimeSeriesValue, IfcTimeStamp, IfcTopologicalRepresentationItem, IfcTopologyRepresentation, IfcTorqueMeasure, IfcTransformerType, IfcTransformerTypeEnum, IfcTransitionCode, IfcTransportElement, IfcTransportElementType, IfcTransportElementTypeEnum, IfcTrapeziumProfileDef, IfcTrimmedCurve, IfcTrimmingPreference, IfcTrimmingSelect, IfcTubeBundleType, IfcTubeBundleTypeEnum, IfcTwoDirectionRepeatFactor, IfcTypeObject, IfcTypeProduct, IfcUShapeProfileDef, IfcUnit, IfcUnitAssignment, IfcUnitEnum, IfcUnitaryEquipmentType, IfcUnitaryEquipmentTypeEnum, IfcValue, IfcValveType, IfcValveTypeEnum, IfcVaporPermeabilityMeasure, IfcVector, IfcVectorOrDirection, IfcVertex, IfcVertexBasedTextureMap, IfcVertexLoop, IfcVertexPoint, IfcVibrationIsolatorType, IfcVibrationIsolatorTypeEnum, IfcVirtualElement, IfcVirtualGridIntersection, IfcVolumeMeasure, IfcVolumetricFlowRateMeasure, IfcWall, IfcWallStandardCase, IfcWallType, IfcWallTypeEnum, IfcWarpingConstantMeasure, IfcWarpingMomentMeasure, IfcWasteTerminalType, IfcWasteTerminalTypeEnum, IfcWaterProperties, IfcWindow, IfcWindowLiningProperties, IfcWindowPanelOperationEnum, IfcWindowPanelPositionEnum, IfcWindowPanelProperties, IfcWindowStyle, IfcWindowStyleConstructionEnum, IfcWindowStyleOperationEnum, IfcWorkControl, IfcWorkControlTypeEnum, IfcWorkPlan, IfcWorkSchedule, IfcYearNumber, IfcZShapeProfileDef, IfcZone, ALL } Enum; Enum Parent(Enum v); Enum FromString(const std::string& s); diff --git a/src/ifcparse/Ifc4-latebound.cpp b/src/ifcparse/Ifc4-latebound.cpp new file mode 100644 index 0000000000..e0552dc962 --- /dev/null +++ b/src/ifcparse/Ifc4-latebound.cpp @@ -0,0 +1,4945 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +/******************************************************************************** + * * + * This file has been generated from IFC4.exp. Do not make modifications * + * but instead modify the python script that has been used to generate this. * + * * + ********************************************************************************/ + +#include + +#include "../ifcparse/Ifc4.h" +#include "../ifcparse/Ifc4-latebound.h" +#include "../ifcparse/IfcException.h" +#include "../ifcparse/IfcWrite.h" +#include "../ifcparse/IfcWritableEntity.h" +#include "../ifcparse/IfcUtil.h" +#include "../ifcparse/IfcEntityDescriptor.h" + +using namespace Ifc4; +using namespace IfcParse; +using namespace IfcWrite; +using namespace IfcUtil; + +std::map entity_descriptor_map; +std::map enumeration_descriptor_map; +std::map, std::pair > inverse_map; +std::map > derived_map; + +void InitDescriptorMap() { + IfcEntityDescriptor* current; + current = entity_descriptor_map[Type::IfcAbsorbedDoseMeasure] = new IfcEntityDescriptor(Type::IfcAbsorbedDoseMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcAccelerationMeasure] = new IfcEntityDescriptor(Type::IfcAccelerationMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcAmountOfSubstanceMeasure] = new IfcEntityDescriptor(Type::IfcAmountOfSubstanceMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcAngularVelocityMeasure] = new IfcEntityDescriptor(Type::IfcAngularVelocityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcAreaDensityMeasure] = new IfcEntityDescriptor(Type::IfcAreaDensityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcAreaMeasure] = new IfcEntityDescriptor(Type::IfcAreaMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcBoolean] = new IfcEntityDescriptor(Type::IfcBoolean,0); + current->add("wrappedValue",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcBoxAlignment] = new IfcEntityDescriptor(Type::IfcBoxAlignment,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcCardinalPointReference] = new IfcEntityDescriptor(Type::IfcCardinalPointReference,0); + current->add("wrappedValue",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcComplexNumber] = new IfcEntityDescriptor(Type::IfcComplexNumber,0); + current->add("wrappedValue",false,IfcUtil::Argument_VECTOR_DOUBLE); + current = entity_descriptor_map[Type::IfcCompoundPlaneAngleMeasure] = new IfcEntityDescriptor(Type::IfcCompoundPlaneAngleMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_VECTOR_INT); + current = entity_descriptor_map[Type::IfcContextDependentMeasure] = new IfcEntityDescriptor(Type::IfcContextDependentMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcCountMeasure] = new IfcEntityDescriptor(Type::IfcCountMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcCurvatureMeasure] = new IfcEntityDescriptor(Type::IfcCurvatureMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcDate] = new IfcEntityDescriptor(Type::IfcDate,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcDateTime] = new IfcEntityDescriptor(Type::IfcDateTime,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcDayInMonthNumber] = new IfcEntityDescriptor(Type::IfcDayInMonthNumber,0); + current->add("wrappedValue",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcDayInWeekNumber] = new IfcEntityDescriptor(Type::IfcDayInWeekNumber,0); + current->add("wrappedValue",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcDescriptiveMeasure] = new IfcEntityDescriptor(Type::IfcDescriptiveMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcDimensionCount] = new IfcEntityDescriptor(Type::IfcDimensionCount,0); + current->add("wrappedValue",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcDoseEquivalentMeasure] = new IfcEntityDescriptor(Type::IfcDoseEquivalentMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcDuration] = new IfcEntityDescriptor(Type::IfcDuration,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcDynamicViscosityMeasure] = new IfcEntityDescriptor(Type::IfcDynamicViscosityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcElectricCapacitanceMeasure] = new IfcEntityDescriptor(Type::IfcElectricCapacitanceMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcElectricChargeMeasure] = new IfcEntityDescriptor(Type::IfcElectricChargeMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcElectricConductanceMeasure] = new IfcEntityDescriptor(Type::IfcElectricConductanceMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcElectricCurrentMeasure] = new IfcEntityDescriptor(Type::IfcElectricCurrentMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcElectricResistanceMeasure] = new IfcEntityDescriptor(Type::IfcElectricResistanceMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcElectricVoltageMeasure] = new IfcEntityDescriptor(Type::IfcElectricVoltageMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcEnergyMeasure] = new IfcEntityDescriptor(Type::IfcEnergyMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcFontStyle] = new IfcEntityDescriptor(Type::IfcFontStyle,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcFontVariant] = new IfcEntityDescriptor(Type::IfcFontVariant,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcFontWeight] = new IfcEntityDescriptor(Type::IfcFontWeight,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcForceMeasure] = new IfcEntityDescriptor(Type::IfcForceMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcFrequencyMeasure] = new IfcEntityDescriptor(Type::IfcFrequencyMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcGloballyUniqueId] = new IfcEntityDescriptor(Type::IfcGloballyUniqueId,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcHeatFluxDensityMeasure] = new IfcEntityDescriptor(Type::IfcHeatFluxDensityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcHeatingValueMeasure] = new IfcEntityDescriptor(Type::IfcHeatingValueMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcIdentifier] = new IfcEntityDescriptor(Type::IfcIdentifier,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcIlluminanceMeasure] = new IfcEntityDescriptor(Type::IfcIlluminanceMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcInductanceMeasure] = new IfcEntityDescriptor(Type::IfcInductanceMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcInteger] = new IfcEntityDescriptor(Type::IfcInteger,0); + current->add("wrappedValue",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcIntegerCountRateMeasure] = new IfcEntityDescriptor(Type::IfcIntegerCountRateMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcIonConcentrationMeasure] = new IfcEntityDescriptor(Type::IfcIonConcentrationMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcIsothermalMoistureCapacityMeasure] = new IfcEntityDescriptor(Type::IfcIsothermalMoistureCapacityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcKinematicViscosityMeasure] = new IfcEntityDescriptor(Type::IfcKinematicViscosityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLabel] = new IfcEntityDescriptor(Type::IfcLabel,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcLanguageId] = new IfcEntityDescriptor(Type::IfcLanguageId,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcLengthMeasure] = new IfcEntityDescriptor(Type::IfcLengthMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLinearForceMeasure] = new IfcEntityDescriptor(Type::IfcLinearForceMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLinearMomentMeasure] = new IfcEntityDescriptor(Type::IfcLinearMomentMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLinearStiffnessMeasure] = new IfcEntityDescriptor(Type::IfcLinearStiffnessMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLinearVelocityMeasure] = new IfcEntityDescriptor(Type::IfcLinearVelocityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLogical] = new IfcEntityDescriptor(Type::IfcLogical,0); + current->add("wrappedValue",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcLuminousFluxMeasure] = new IfcEntityDescriptor(Type::IfcLuminousFluxMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLuminousIntensityDistributionMeasure] = new IfcEntityDescriptor(Type::IfcLuminousIntensityDistributionMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLuminousIntensityMeasure] = new IfcEntityDescriptor(Type::IfcLuminousIntensityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMagneticFluxDensityMeasure] = new IfcEntityDescriptor(Type::IfcMagneticFluxDensityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMagneticFluxMeasure] = new IfcEntityDescriptor(Type::IfcMagneticFluxMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMassDensityMeasure] = new IfcEntityDescriptor(Type::IfcMassDensityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMassFlowRateMeasure] = new IfcEntityDescriptor(Type::IfcMassFlowRateMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMassMeasure] = new IfcEntityDescriptor(Type::IfcMassMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMassPerLengthMeasure] = new IfcEntityDescriptor(Type::IfcMassPerLengthMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcModulusOfElasticityMeasure] = new IfcEntityDescriptor(Type::IfcModulusOfElasticityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcModulusOfLinearSubgradeReactionMeasure] = new IfcEntityDescriptor(Type::IfcModulusOfLinearSubgradeReactionMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcModulusOfRotationalSubgradeReactionMeasure] = new IfcEntityDescriptor(Type::IfcModulusOfRotationalSubgradeReactionMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcModulusOfSubgradeReactionMeasure] = new IfcEntityDescriptor(Type::IfcModulusOfSubgradeReactionMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMoistureDiffusivityMeasure] = new IfcEntityDescriptor(Type::IfcMoistureDiffusivityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMolecularWeightMeasure] = new IfcEntityDescriptor(Type::IfcMolecularWeightMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMomentOfInertiaMeasure] = new IfcEntityDescriptor(Type::IfcMomentOfInertiaMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMonetaryMeasure] = new IfcEntityDescriptor(Type::IfcMonetaryMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMonthInYearNumber] = new IfcEntityDescriptor(Type::IfcMonthInYearNumber,0); + current->add("wrappedValue",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcNonNegativeLengthMeasure] = new IfcEntityDescriptor(Type::IfcNonNegativeLengthMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcNormalisedRatioMeasure] = new IfcEntityDescriptor(Type::IfcNormalisedRatioMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcNumericMeasure] = new IfcEntityDescriptor(Type::IfcNumericMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcPHMeasure] = new IfcEntityDescriptor(Type::IfcPHMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcParameterValue] = new IfcEntityDescriptor(Type::IfcParameterValue,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcPlanarForceMeasure] = new IfcEntityDescriptor(Type::IfcPlanarForceMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcPlaneAngleMeasure] = new IfcEntityDescriptor(Type::IfcPlaneAngleMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcPositiveLengthMeasure] = new IfcEntityDescriptor(Type::IfcPositiveLengthMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcPositivePlaneAngleMeasure] = new IfcEntityDescriptor(Type::IfcPositivePlaneAngleMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcPositiveRatioMeasure] = new IfcEntityDescriptor(Type::IfcPositiveRatioMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcPowerMeasure] = new IfcEntityDescriptor(Type::IfcPowerMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcPresentableText] = new IfcEntityDescriptor(Type::IfcPresentableText,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcPressureMeasure] = new IfcEntityDescriptor(Type::IfcPressureMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcPropertySetDefinitionSet] = new IfcEntityDescriptor(Type::IfcPropertySetDefinitionSet,0); + current->add("wrappedValue",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcRadioActivityMeasure] = new IfcEntityDescriptor(Type::IfcRadioActivityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcRatioMeasure] = new IfcEntityDescriptor(Type::IfcRatioMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcReal] = new IfcEntityDescriptor(Type::IfcReal,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcRotationalFrequencyMeasure] = new IfcEntityDescriptor(Type::IfcRotationalFrequencyMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcRotationalMassMeasure] = new IfcEntityDescriptor(Type::IfcRotationalMassMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcRotationalStiffnessMeasure] = new IfcEntityDescriptor(Type::IfcRotationalStiffnessMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSectionModulusMeasure] = new IfcEntityDescriptor(Type::IfcSectionModulusMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSectionalAreaIntegralMeasure] = new IfcEntityDescriptor(Type::IfcSectionalAreaIntegralMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcShearModulusMeasure] = new IfcEntityDescriptor(Type::IfcShearModulusMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSolidAngleMeasure] = new IfcEntityDescriptor(Type::IfcSolidAngleMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSoundPowerLevelMeasure] = new IfcEntityDescriptor(Type::IfcSoundPowerLevelMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSoundPowerMeasure] = new IfcEntityDescriptor(Type::IfcSoundPowerMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSoundPressureLevelMeasure] = new IfcEntityDescriptor(Type::IfcSoundPressureLevelMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSoundPressureMeasure] = new IfcEntityDescriptor(Type::IfcSoundPressureMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSpecificHeatCapacityMeasure] = new IfcEntityDescriptor(Type::IfcSpecificHeatCapacityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSpecularExponent] = new IfcEntityDescriptor(Type::IfcSpecularExponent,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSpecularRoughness] = new IfcEntityDescriptor(Type::IfcSpecularRoughness,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcTemperatureGradientMeasure] = new IfcEntityDescriptor(Type::IfcTemperatureGradientMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcTemperatureRateOfChangeMeasure] = new IfcEntityDescriptor(Type::IfcTemperatureRateOfChangeMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcText] = new IfcEntityDescriptor(Type::IfcText,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcTextAlignment] = new IfcEntityDescriptor(Type::IfcTextAlignment,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcTextDecoration] = new IfcEntityDescriptor(Type::IfcTextDecoration,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcTextFontName] = new IfcEntityDescriptor(Type::IfcTextFontName,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcTextTransformation] = new IfcEntityDescriptor(Type::IfcTextTransformation,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcThermalAdmittanceMeasure] = new IfcEntityDescriptor(Type::IfcThermalAdmittanceMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcThermalConductivityMeasure] = new IfcEntityDescriptor(Type::IfcThermalConductivityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcThermalExpansionCoefficientMeasure] = new IfcEntityDescriptor(Type::IfcThermalExpansionCoefficientMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcThermalResistanceMeasure] = new IfcEntityDescriptor(Type::IfcThermalResistanceMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcThermalTransmittanceMeasure] = new IfcEntityDescriptor(Type::IfcThermalTransmittanceMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcThermodynamicTemperatureMeasure] = new IfcEntityDescriptor(Type::IfcThermodynamicTemperatureMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcTime] = new IfcEntityDescriptor(Type::IfcTime,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcTimeMeasure] = new IfcEntityDescriptor(Type::IfcTimeMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcTimeStamp] = new IfcEntityDescriptor(Type::IfcTimeStamp,0); + current->add("wrappedValue",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcTorqueMeasure] = new IfcEntityDescriptor(Type::IfcTorqueMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcURIReference] = new IfcEntityDescriptor(Type::IfcURIReference,0); + current->add("wrappedValue",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcVaporPermeabilityMeasure] = new IfcEntityDescriptor(Type::IfcVaporPermeabilityMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcVolumeMeasure] = new IfcEntityDescriptor(Type::IfcVolumeMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcVolumetricFlowRateMeasure] = new IfcEntityDescriptor(Type::IfcVolumetricFlowRateMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcWarpingConstantMeasure] = new IfcEntityDescriptor(Type::IfcWarpingConstantMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcWarpingMomentMeasure] = new IfcEntityDescriptor(Type::IfcWarpingMomentMeasure,0); + current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcActorRole] = new IfcEntityDescriptor(Type::IfcActorRole,0); + current->add("Role",false,IfcUtil::Argument_ENUMERATION,Type::IfcRoleEnum); + current->add("UserDefinedRole",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcAddress] = new IfcEntityDescriptor(Type::IfcAddress,0); + current->add("Purpose",true,IfcUtil::Argument_ENUMERATION,Type::IfcAddressTypeEnum); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("UserDefinedPurpose",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcApplication] = new IfcEntityDescriptor(Type::IfcApplication,0); + current->add("ApplicationDeveloper",false,IfcUtil::Argument_ENTITY); + current->add("Version",false,IfcUtil::Argument_STRING); + current->add("ApplicationFullName",false,IfcUtil::Argument_STRING); + current->add("ApplicationIdentifier",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcAppliedValue] = new IfcEntityDescriptor(Type::IfcAppliedValue,0); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("AppliedValue",true,IfcUtil::Argument_ENTITY); + current->add("UnitBasis",true,IfcUtil::Argument_ENTITY); + current->add("ApplicableDate",true,IfcUtil::Argument_STRING); + current->add("FixedUntilDate",true,IfcUtil::Argument_STRING); + current->add("Category",true,IfcUtil::Argument_STRING); + current->add("Condition",true,IfcUtil::Argument_STRING); + current->add("ArithmeticOperator",true,IfcUtil::Argument_ENUMERATION,Type::IfcArithmeticOperatorEnum); + current->add("Components",true,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcApproval] = new IfcEntityDescriptor(Type::IfcApproval,0); + current->add("Identifier",true,IfcUtil::Argument_STRING); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("TimeOfApproval",true,IfcUtil::Argument_STRING); + current->add("Status",true,IfcUtil::Argument_STRING); + current->add("Level",true,IfcUtil::Argument_STRING); + current->add("Qualifier",true,IfcUtil::Argument_STRING); + current->add("RequestingApproval",true,IfcUtil::Argument_ENTITY); + current->add("GivingApproval",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcBoundaryCondition] = new IfcEntityDescriptor(Type::IfcBoundaryCondition,0); + current->add("Name",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcBoundaryEdgeCondition] = new IfcEntityDescriptor(Type::IfcBoundaryEdgeCondition,entity_descriptor_map.find(Type::IfcBoundaryCondition)->second); + current->add("TranslationalStiffnessByLengthX",true,IfcUtil::Argument_ENTITY); + current->add("TranslationalStiffnessByLengthY",true,IfcUtil::Argument_ENTITY); + current->add("TranslationalStiffnessByLengthZ",true,IfcUtil::Argument_ENTITY); + current->add("RotationalStiffnessByLengthX",true,IfcUtil::Argument_ENTITY); + current->add("RotationalStiffnessByLengthY",true,IfcUtil::Argument_ENTITY); + current->add("RotationalStiffnessByLengthZ",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcBoundaryFaceCondition] = new IfcEntityDescriptor(Type::IfcBoundaryFaceCondition,entity_descriptor_map.find(Type::IfcBoundaryCondition)->second); + current->add("TranslationalStiffnessByAreaX",true,IfcUtil::Argument_ENTITY); + current->add("TranslationalStiffnessByAreaY",true,IfcUtil::Argument_ENTITY); + current->add("TranslationalStiffnessByAreaZ",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcBoundaryNodeCondition] = new IfcEntityDescriptor(Type::IfcBoundaryNodeCondition,entity_descriptor_map.find(Type::IfcBoundaryCondition)->second); + current->add("TranslationalStiffnessX",true,IfcUtil::Argument_ENTITY); + current->add("TranslationalStiffnessY",true,IfcUtil::Argument_ENTITY); + current->add("TranslationalStiffnessZ",true,IfcUtil::Argument_ENTITY); + current->add("RotationalStiffnessX",true,IfcUtil::Argument_ENTITY); + current->add("RotationalStiffnessY",true,IfcUtil::Argument_ENTITY); + current->add("RotationalStiffnessZ",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcBoundaryNodeConditionWarping] = new IfcEntityDescriptor(Type::IfcBoundaryNodeConditionWarping,entity_descriptor_map.find(Type::IfcBoundaryNodeCondition)->second); + current->add("WarpingStiffness",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcConnectionGeometry] = new IfcEntityDescriptor(Type::IfcConnectionGeometry,0); + + current = entity_descriptor_map[Type::IfcConnectionPointGeometry] = new IfcEntityDescriptor(Type::IfcConnectionPointGeometry,entity_descriptor_map.find(Type::IfcConnectionGeometry)->second); + current->add("PointOnRelatingElement",false,IfcUtil::Argument_ENTITY); + current->add("PointOnRelatedElement",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcConnectionSurfaceGeometry] = new IfcEntityDescriptor(Type::IfcConnectionSurfaceGeometry,entity_descriptor_map.find(Type::IfcConnectionGeometry)->second); + current->add("SurfaceOnRelatingElement",false,IfcUtil::Argument_ENTITY); + current->add("SurfaceOnRelatedElement",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcConnectionVolumeGeometry] = new IfcEntityDescriptor(Type::IfcConnectionVolumeGeometry,entity_descriptor_map.find(Type::IfcConnectionGeometry)->second); + current->add("VolumeOnRelatingElement",false,IfcUtil::Argument_ENTITY); + current->add("VolumeOnRelatedElement",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcConstraint] = new IfcEntityDescriptor(Type::IfcConstraint,0); + current->add("Name",false,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("ConstraintGrade",false,IfcUtil::Argument_ENUMERATION,Type::IfcConstraintEnum); + current->add("ConstraintSource",true,IfcUtil::Argument_STRING); + current->add("CreatingActor",true,IfcUtil::Argument_ENTITY); + current->add("CreationTime",true,IfcUtil::Argument_STRING); + current->add("UserDefinedGrade",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcCoordinateOperation] = new IfcEntityDescriptor(Type::IfcCoordinateOperation,0); + current->add("SourceCRS",false,IfcUtil::Argument_ENTITY); + current->add("TargetCRS",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcCoordinateReferenceSystem] = new IfcEntityDescriptor(Type::IfcCoordinateReferenceSystem,0); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("GeodeticDatum",false,IfcUtil::Argument_STRING); + current->add("VerticalDatum",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcCostValue] = new IfcEntityDescriptor(Type::IfcCostValue,entity_descriptor_map.find(Type::IfcAppliedValue)->second); + + current = entity_descriptor_map[Type::IfcDerivedUnit] = new IfcEntityDescriptor(Type::IfcDerivedUnit,0); + current->add("Elements",false,IfcUtil::Argument_ENTITY_LIST); + current->add("UnitType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDerivedUnitEnum); + current->add("UserDefinedType",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcDerivedUnitElement] = new IfcEntityDescriptor(Type::IfcDerivedUnitElement,0); + current->add("Unit",false,IfcUtil::Argument_ENTITY); + current->add("Exponent",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcDimensionalExponents] = new IfcEntityDescriptor(Type::IfcDimensionalExponents,0); + current->add("LengthExponent",false,IfcUtil::Argument_INT); + current->add("MassExponent",false,IfcUtil::Argument_INT); + current->add("TimeExponent",false,IfcUtil::Argument_INT); + current->add("ElectricCurrentExponent",false,IfcUtil::Argument_INT); + current->add("ThermodynamicTemperatureExponent",false,IfcUtil::Argument_INT); + current->add("AmountOfSubstanceExponent",false,IfcUtil::Argument_INT); + current->add("LuminousIntensityExponent",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcExternalInformation] = new IfcEntityDescriptor(Type::IfcExternalInformation,0); + + current = entity_descriptor_map[Type::IfcExternalReference] = new IfcEntityDescriptor(Type::IfcExternalReference,0); + current->add("Location",true,IfcUtil::Argument_STRING); + current->add("Identification",true,IfcUtil::Argument_STRING); + current->add("Name",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcExternallyDefinedHatchStyle] = new IfcEntityDescriptor(Type::IfcExternallyDefinedHatchStyle,entity_descriptor_map.find(Type::IfcExternalReference)->second); + + current = entity_descriptor_map[Type::IfcExternallyDefinedSurfaceStyle] = new IfcEntityDescriptor(Type::IfcExternallyDefinedSurfaceStyle,entity_descriptor_map.find(Type::IfcExternalReference)->second); + + current = entity_descriptor_map[Type::IfcExternallyDefinedTextFont] = new IfcEntityDescriptor(Type::IfcExternallyDefinedTextFont,entity_descriptor_map.find(Type::IfcExternalReference)->second); + + current = entity_descriptor_map[Type::IfcGridAxis] = new IfcEntityDescriptor(Type::IfcGridAxis,0); + current->add("AxisTag",true,IfcUtil::Argument_STRING); + current->add("AxisCurve",false,IfcUtil::Argument_ENTITY); + current->add("SameSense",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcIrregularTimeSeriesValue] = new IfcEntityDescriptor(Type::IfcIrregularTimeSeriesValue,0); + current->add("TimeStamp",false,IfcUtil::Argument_STRING); + current->add("ListValues",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcLibraryInformation] = new IfcEntityDescriptor(Type::IfcLibraryInformation,entity_descriptor_map.find(Type::IfcExternalInformation)->second); + current->add("Name",false,IfcUtil::Argument_STRING); + current->add("Version",true,IfcUtil::Argument_STRING); + current->add("Publisher",true,IfcUtil::Argument_ENTITY); + current->add("VersionDate",true,IfcUtil::Argument_STRING); + current->add("Location",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcLibraryReference] = new IfcEntityDescriptor(Type::IfcLibraryReference,entity_descriptor_map.find(Type::IfcExternalReference)->second); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("Language",true,IfcUtil::Argument_STRING); + current->add("ReferencedLibrary",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcLightDistributionData] = new IfcEntityDescriptor(Type::IfcLightDistributionData,0); + current->add("MainPlaneAngle",false,IfcUtil::Argument_DOUBLE); + current->add("SecondaryPlaneAngle",false,IfcUtil::Argument_VECTOR_DOUBLE); + current->add("LuminousIntensity",false,IfcUtil::Argument_VECTOR_DOUBLE); + current = entity_descriptor_map[Type::IfcLightIntensityDistribution] = new IfcEntityDescriptor(Type::IfcLightIntensityDistribution,0); + current->add("LightDistributionCurve",false,IfcUtil::Argument_ENUMERATION,Type::IfcLightDistributionCurveEnum); + current->add("DistributionData",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcMapConversion] = new IfcEntityDescriptor(Type::IfcMapConversion,entity_descriptor_map.find(Type::IfcCoordinateOperation)->second); + current->add("Eastings",false,IfcUtil::Argument_DOUBLE); + current->add("Northings",false,IfcUtil::Argument_DOUBLE); + current->add("OrthogonalHeight",false,IfcUtil::Argument_DOUBLE); + current->add("XAxisAbscissa",true,IfcUtil::Argument_DOUBLE); + current->add("XAxisOrdinate",true,IfcUtil::Argument_DOUBLE); + current->add("Scale",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMaterialClassificationRelationship] = new IfcEntityDescriptor(Type::IfcMaterialClassificationRelationship,0); + current->add("MaterialClassifications",false,IfcUtil::Argument_ENTITY_LIST); + current->add("ClassifiedMaterial",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcMaterialDefinition] = new IfcEntityDescriptor(Type::IfcMaterialDefinition,0); + + current = entity_descriptor_map[Type::IfcMaterialLayer] = new IfcEntityDescriptor(Type::IfcMaterialLayer,entity_descriptor_map.find(Type::IfcMaterialDefinition)->second); + current->add("Material",true,IfcUtil::Argument_ENTITY); + current->add("LayerThickness",false,IfcUtil::Argument_DOUBLE); + current->add("IsVentilated",true,IfcUtil::Argument_BOOL); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("Category",true,IfcUtil::Argument_STRING); + current->add("Priority",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMaterialLayerSet] = new IfcEntityDescriptor(Type::IfcMaterialLayerSet,entity_descriptor_map.find(Type::IfcMaterialDefinition)->second); + current->add("MaterialLayers",false,IfcUtil::Argument_ENTITY_LIST); + current->add("LayerSetName",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcMaterialLayerWithOffsets] = new IfcEntityDescriptor(Type::IfcMaterialLayerWithOffsets,entity_descriptor_map.find(Type::IfcMaterialLayer)->second); + current->add("OffsetDirection",false,IfcUtil::Argument_ENUMERATION,Type::IfcLayerSetDirectionEnum); + current->add("OffsetValues",false,IfcUtil::Argument_VECTOR_DOUBLE); + current = entity_descriptor_map[Type::IfcMaterialList] = new IfcEntityDescriptor(Type::IfcMaterialList,0); + current->add("Materials",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcMaterialProfile] = new IfcEntityDescriptor(Type::IfcMaterialProfile,entity_descriptor_map.find(Type::IfcMaterialDefinition)->second); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("Material",true,IfcUtil::Argument_ENTITY); + current->add("Profile",false,IfcUtil::Argument_ENTITY); + current->add("Priority",true,IfcUtil::Argument_DOUBLE); + current->add("Category",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcMaterialProfileSet] = new IfcEntityDescriptor(Type::IfcMaterialProfileSet,entity_descriptor_map.find(Type::IfcMaterialDefinition)->second); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("MaterialProfiles",false,IfcUtil::Argument_ENTITY_LIST); + current->add("CompositeProfile",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcMaterialProfileWithOffsets] = new IfcEntityDescriptor(Type::IfcMaterialProfileWithOffsets,entity_descriptor_map.find(Type::IfcMaterialProfile)->second); + current->add("OffsetValues",false,IfcUtil::Argument_VECTOR_DOUBLE); + current = entity_descriptor_map[Type::IfcMaterialUsageDefinition] = new IfcEntityDescriptor(Type::IfcMaterialUsageDefinition,0); + + current = entity_descriptor_map[Type::IfcMeasureWithUnit] = new IfcEntityDescriptor(Type::IfcMeasureWithUnit,0); + current->add("ValueComponent",false,IfcUtil::Argument_ENTITY); + current->add("UnitComponent",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcMetric] = new IfcEntityDescriptor(Type::IfcMetric,entity_descriptor_map.find(Type::IfcConstraint)->second); + current->add("Benchmark",false,IfcUtil::Argument_ENUMERATION,Type::IfcBenchmarkEnum); + current->add("ValueSource",true,IfcUtil::Argument_STRING); + current->add("DataValue",false,IfcUtil::Argument_ENTITY); + current->add("ReferencePath",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcMonetaryUnit] = new IfcEntityDescriptor(Type::IfcMonetaryUnit,0); + current->add("Currency",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcNamedUnit] = new IfcEntityDescriptor(Type::IfcNamedUnit,0); + current->add("Dimensions",false,IfcUtil::Argument_ENTITY); + current->add("UnitType",false,IfcUtil::Argument_ENUMERATION,Type::IfcUnitEnum); + current = entity_descriptor_map[Type::IfcObjectPlacement] = new IfcEntityDescriptor(Type::IfcObjectPlacement,0); + + current = entity_descriptor_map[Type::IfcObjective] = new IfcEntityDescriptor(Type::IfcObjective,entity_descriptor_map.find(Type::IfcConstraint)->second); + current->add("BenchmarkValues",true,IfcUtil::Argument_ENTITY_LIST); + current->add("LogicalAggregator",true,IfcUtil::Argument_ENUMERATION,Type::IfcLogicalOperatorEnum); + current->add("ObjectiveQualifier",false,IfcUtil::Argument_ENUMERATION,Type::IfcObjectiveEnum); + current->add("UserDefinedQualifier",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcOrganization] = new IfcEntityDescriptor(Type::IfcOrganization,0); + current->add("Identification",true,IfcUtil::Argument_STRING); + current->add("Name",false,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("Roles",true,IfcUtil::Argument_ENTITY_LIST); + current->add("Addresses",true,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcOwnerHistory] = new IfcEntityDescriptor(Type::IfcOwnerHistory,0); + current->add("OwningUser",false,IfcUtil::Argument_ENTITY); + current->add("OwningApplication",false,IfcUtil::Argument_ENTITY); + current->add("State",true,IfcUtil::Argument_ENUMERATION,Type::IfcStateEnum); + current->add("ChangeAction",true,IfcUtil::Argument_ENUMERATION,Type::IfcChangeActionEnum); + current->add("LastModifiedDate",true,IfcUtil::Argument_INT); + current->add("LastModifyingUser",true,IfcUtil::Argument_ENTITY); + current->add("LastModifyingApplication",true,IfcUtil::Argument_ENTITY); + current->add("CreationDate",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcPerson] = new IfcEntityDescriptor(Type::IfcPerson,0); + current->add("Identification",true,IfcUtil::Argument_STRING); + current->add("FamilyName",true,IfcUtil::Argument_STRING); + current->add("GivenName",true,IfcUtil::Argument_STRING); + current->add("MiddleNames",true,IfcUtil::Argument_VECTOR_STRING); + current->add("PrefixTitles",true,IfcUtil::Argument_VECTOR_STRING); + current->add("SuffixTitles",true,IfcUtil::Argument_VECTOR_STRING); + current->add("Roles",true,IfcUtil::Argument_ENTITY_LIST); + current->add("Addresses",true,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcPersonAndOrganization] = new IfcEntityDescriptor(Type::IfcPersonAndOrganization,0); + current->add("ThePerson",false,IfcUtil::Argument_ENTITY); + current->add("TheOrganization",false,IfcUtil::Argument_ENTITY); + current->add("Roles",true,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcPhysicalQuantity] = new IfcEntityDescriptor(Type::IfcPhysicalQuantity,0); + current->add("Name",false,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcPhysicalSimpleQuantity] = new IfcEntityDescriptor(Type::IfcPhysicalSimpleQuantity,entity_descriptor_map.find(Type::IfcPhysicalQuantity)->second); + current->add("Unit",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPostalAddress] = new IfcEntityDescriptor(Type::IfcPostalAddress,entity_descriptor_map.find(Type::IfcAddress)->second); + current->add("InternalLocation",true,IfcUtil::Argument_STRING); + current->add("AddressLines",true,IfcUtil::Argument_VECTOR_STRING); + current->add("PostalBox",true,IfcUtil::Argument_STRING); + current->add("Town",true,IfcUtil::Argument_STRING); + current->add("Region",true,IfcUtil::Argument_STRING); + current->add("PostalCode",true,IfcUtil::Argument_STRING); + current->add("Country",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcPresentationItem] = new IfcEntityDescriptor(Type::IfcPresentationItem,0); + + current = entity_descriptor_map[Type::IfcPresentationLayerAssignment] = new IfcEntityDescriptor(Type::IfcPresentationLayerAssignment,0); + current->add("Name",false,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("AssignedItems",false,IfcUtil::Argument_ENTITY_LIST); + current->add("Identifier",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcPresentationLayerWithStyle] = new IfcEntityDescriptor(Type::IfcPresentationLayerWithStyle,entity_descriptor_map.find(Type::IfcPresentationLayerAssignment)->second); + current->add("LayerOn",false,IfcUtil::Argument_BOOL); + current->add("LayerFrozen",false,IfcUtil::Argument_BOOL); + current->add("LayerBlocked",false,IfcUtil::Argument_BOOL); + current->add("LayerStyles",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcPresentationStyle] = new IfcEntityDescriptor(Type::IfcPresentationStyle,0); + current->add("Name",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcPresentationStyleAssignment] = new IfcEntityDescriptor(Type::IfcPresentationStyleAssignment,0); + current->add("Styles",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcProductRepresentation] = new IfcEntityDescriptor(Type::IfcProductRepresentation,0); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("Representations",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcProfileDef] = new IfcEntityDescriptor(Type::IfcProfileDef,0); + current->add("ProfileType",false,IfcUtil::Argument_ENUMERATION,Type::IfcProfileTypeEnum); + current->add("ProfileName",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcProjectedCRS] = new IfcEntityDescriptor(Type::IfcProjectedCRS,entity_descriptor_map.find(Type::IfcCoordinateReferenceSystem)->second); + current->add("MapProjection",true,IfcUtil::Argument_STRING); + current->add("MapZone",true,IfcUtil::Argument_STRING); + current->add("MapUnit",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPropertyAbstraction] = new IfcEntityDescriptor(Type::IfcPropertyAbstraction,0); + + current = entity_descriptor_map[Type::IfcPropertyEnumeration] = new IfcEntityDescriptor(Type::IfcPropertyEnumeration,entity_descriptor_map.find(Type::IfcPropertyAbstraction)->second); + current->add("Name",false,IfcUtil::Argument_STRING); + current->add("EnumerationValues",false,IfcUtil::Argument_ENTITY_LIST); + current->add("Unit",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcQuantityArea] = new IfcEntityDescriptor(Type::IfcQuantityArea,entity_descriptor_map.find(Type::IfcPhysicalSimpleQuantity)->second); + current->add("AreaValue",false,IfcUtil::Argument_DOUBLE); + current->add("Formula",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcQuantityCount] = new IfcEntityDescriptor(Type::IfcQuantityCount,entity_descriptor_map.find(Type::IfcPhysicalSimpleQuantity)->second); + current->add("CountValue",false,IfcUtil::Argument_DOUBLE); + current->add("Formula",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcQuantityLength] = new IfcEntityDescriptor(Type::IfcQuantityLength,entity_descriptor_map.find(Type::IfcPhysicalSimpleQuantity)->second); + current->add("LengthValue",false,IfcUtil::Argument_DOUBLE); + current->add("Formula",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcQuantityTime] = new IfcEntityDescriptor(Type::IfcQuantityTime,entity_descriptor_map.find(Type::IfcPhysicalSimpleQuantity)->second); + current->add("TimeValue",false,IfcUtil::Argument_DOUBLE); + current->add("Formula",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcQuantityVolume] = new IfcEntityDescriptor(Type::IfcQuantityVolume,entity_descriptor_map.find(Type::IfcPhysicalSimpleQuantity)->second); + current->add("VolumeValue",false,IfcUtil::Argument_DOUBLE); + current->add("Formula",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcQuantityWeight] = new IfcEntityDescriptor(Type::IfcQuantityWeight,entity_descriptor_map.find(Type::IfcPhysicalSimpleQuantity)->second); + current->add("WeightValue",false,IfcUtil::Argument_DOUBLE); + current->add("Formula",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcRecurrencePattern] = new IfcEntityDescriptor(Type::IfcRecurrencePattern,0); + current->add("RecurrenceType",false,IfcUtil::Argument_ENUMERATION,Type::IfcRecurrenceTypeEnum); + current->add("DayComponent",true,IfcUtil::Argument_VECTOR_INT); + current->add("WeekdayComponent",true,IfcUtil::Argument_VECTOR_INT); + current->add("MonthComponent",true,IfcUtil::Argument_VECTOR_INT); + current->add("Position",true,IfcUtil::Argument_INT); + current->add("Interval",true,IfcUtil::Argument_INT); + current->add("Occurrences",true,IfcUtil::Argument_INT); + current->add("TimePeriods",true,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcReference] = new IfcEntityDescriptor(Type::IfcReference,0); + current->add("TypeIdentifier",true,IfcUtil::Argument_STRING); + current->add("AttributeIdentifier",true,IfcUtil::Argument_STRING); + current->add("InstanceName",true,IfcUtil::Argument_STRING); + current->add("ListPositions",true,IfcUtil::Argument_VECTOR_INT); + current->add("InnerReference",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRepresentation] = new IfcEntityDescriptor(Type::IfcRepresentation,0); + current->add("ContextOfItems",false,IfcUtil::Argument_ENTITY); + current->add("RepresentationIdentifier",true,IfcUtil::Argument_STRING); + current->add("RepresentationType",true,IfcUtil::Argument_STRING); + current->add("Items",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcRepresentationContext] = new IfcEntityDescriptor(Type::IfcRepresentationContext,0); + current->add("ContextIdentifier",true,IfcUtil::Argument_STRING); + current->add("ContextType",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcRepresentationItem] = new IfcEntityDescriptor(Type::IfcRepresentationItem,0); + + current = entity_descriptor_map[Type::IfcRepresentationMap] = new IfcEntityDescriptor(Type::IfcRepresentationMap,0); + current->add("MappingOrigin",false,IfcUtil::Argument_ENTITY); + current->add("MappedRepresentation",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcResourceLevelRelationship] = new IfcEntityDescriptor(Type::IfcResourceLevelRelationship,0); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcRoot] = new IfcEntityDescriptor(Type::IfcRoot,0); + current->add("GlobalId",false,IfcUtil::Argument_STRING); + current->add("OwnerHistory",true,IfcUtil::Argument_ENTITY); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcSIUnit] = new IfcEntityDescriptor(Type::IfcSIUnit,entity_descriptor_map.find(Type::IfcNamedUnit)->second); + current->add("Prefix",true,IfcUtil::Argument_ENUMERATION,Type::IfcSIPrefix); + current->add("Name",false,IfcUtil::Argument_ENUMERATION,Type::IfcSIUnitName); + current = entity_descriptor_map[Type::IfcSchedulingTime] = new IfcEntityDescriptor(Type::IfcSchedulingTime,0); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("DataOrigin",true,IfcUtil::Argument_ENUMERATION,Type::IfcDataOriginEnum); + current->add("UserDefinedDataOrigin",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcShapeAspect] = new IfcEntityDescriptor(Type::IfcShapeAspect,0); + current->add("ShapeRepresentations",false,IfcUtil::Argument_ENTITY_LIST); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("ProductDefinitional",false,IfcUtil::Argument_BOOL); + current->add("PartOfProductDefinitionShape",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcShapeModel] = new IfcEntityDescriptor(Type::IfcShapeModel,entity_descriptor_map.find(Type::IfcRepresentation)->second); + + current = entity_descriptor_map[Type::IfcShapeRepresentation] = new IfcEntityDescriptor(Type::IfcShapeRepresentation,entity_descriptor_map.find(Type::IfcShapeModel)->second); + + current = entity_descriptor_map[Type::IfcStructuralConnectionCondition] = new IfcEntityDescriptor(Type::IfcStructuralConnectionCondition,0); + current->add("Name",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcStructuralLoad] = new IfcEntityDescriptor(Type::IfcStructuralLoad,0); + current->add("Name",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcStructuralLoadConfiguration] = new IfcEntityDescriptor(Type::IfcStructuralLoadConfiguration,entity_descriptor_map.find(Type::IfcStructuralLoad)->second); + current->add("Values",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcStructuralLoadOrResult] = new IfcEntityDescriptor(Type::IfcStructuralLoadOrResult,entity_descriptor_map.find(Type::IfcStructuralLoad)->second); + + current = entity_descriptor_map[Type::IfcStructuralLoadStatic] = new IfcEntityDescriptor(Type::IfcStructuralLoadStatic,entity_descriptor_map.find(Type::IfcStructuralLoadOrResult)->second); + + current = entity_descriptor_map[Type::IfcStructuralLoadTemperature] = new IfcEntityDescriptor(Type::IfcStructuralLoadTemperature,entity_descriptor_map.find(Type::IfcStructuralLoadStatic)->second); + current->add("DeltaTConstant",true,IfcUtil::Argument_DOUBLE); + current->add("DeltaTY",true,IfcUtil::Argument_DOUBLE); + current->add("DeltaTZ",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcStyleModel] = new IfcEntityDescriptor(Type::IfcStyleModel,entity_descriptor_map.find(Type::IfcRepresentation)->second); + + current = entity_descriptor_map[Type::IfcStyledItem] = new IfcEntityDescriptor(Type::IfcStyledItem,entity_descriptor_map.find(Type::IfcRepresentationItem)->second); + current->add("Item",true,IfcUtil::Argument_ENTITY); + current->add("Styles",false,IfcUtil::Argument_ENTITY_LIST); + current->add("Name",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcStyledRepresentation] = new IfcEntityDescriptor(Type::IfcStyledRepresentation,entity_descriptor_map.find(Type::IfcStyleModel)->second); + + current = entity_descriptor_map[Type::IfcSurfaceReinforcementArea] = new IfcEntityDescriptor(Type::IfcSurfaceReinforcementArea,entity_descriptor_map.find(Type::IfcStructuralLoadOrResult)->second); + current->add("SurfaceReinforcement1",true,IfcUtil::Argument_VECTOR_DOUBLE); + current->add("SurfaceReinforcement2",true,IfcUtil::Argument_VECTOR_DOUBLE); + current->add("ShearReinforcement",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSurfaceStyle] = new IfcEntityDescriptor(Type::IfcSurfaceStyle,entity_descriptor_map.find(Type::IfcPresentationStyle)->second); + current->add("Side",false,IfcUtil::Argument_ENUMERATION,Type::IfcSurfaceSide); + current->add("Styles",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcSurfaceStyleLighting] = new IfcEntityDescriptor(Type::IfcSurfaceStyleLighting,entity_descriptor_map.find(Type::IfcPresentationItem)->second); + current->add("DiffuseTransmissionColour",false,IfcUtil::Argument_ENTITY); + current->add("DiffuseReflectionColour",false,IfcUtil::Argument_ENTITY); + current->add("TransmissionColour",false,IfcUtil::Argument_ENTITY); + current->add("ReflectanceColour",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcSurfaceStyleRefraction] = new IfcEntityDescriptor(Type::IfcSurfaceStyleRefraction,entity_descriptor_map.find(Type::IfcPresentationItem)->second); + current->add("RefractionIndex",true,IfcUtil::Argument_DOUBLE); + current->add("DispersionFactor",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSurfaceStyleShading] = new IfcEntityDescriptor(Type::IfcSurfaceStyleShading,entity_descriptor_map.find(Type::IfcPresentationItem)->second); + current->add("SurfaceColour",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcSurfaceStyleWithTextures] = new IfcEntityDescriptor(Type::IfcSurfaceStyleWithTextures,entity_descriptor_map.find(Type::IfcPresentationItem)->second); + current->add("Textures",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcSurfaceTexture] = new IfcEntityDescriptor(Type::IfcSurfaceTexture,entity_descriptor_map.find(Type::IfcPresentationItem)->second); + current->add("RepeatS",false,IfcUtil::Argument_BOOL); + current->add("RepeatT",false,IfcUtil::Argument_BOOL); + current->add("Mode",true,IfcUtil::Argument_STRING); + current->add("TextureTransform",true,IfcUtil::Argument_ENTITY); + current->add("Parameter",true,IfcUtil::Argument_VECTOR_STRING); + current = entity_descriptor_map[Type::IfcTable] = new IfcEntityDescriptor(Type::IfcTable,0); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Rows",true,IfcUtil::Argument_ENTITY_LIST); + current->add("Columns",true,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcTableColumn] = new IfcEntityDescriptor(Type::IfcTableColumn,0); + current->add("Identifier",true,IfcUtil::Argument_STRING); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("Unit",true,IfcUtil::Argument_ENTITY); + current->add("ReferencePath",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcTableRow] = new IfcEntityDescriptor(Type::IfcTableRow,0); + current->add("RowCells",true,IfcUtil::Argument_ENTITY_LIST); + current->add("IsHeading",true,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcTaskTime] = new IfcEntityDescriptor(Type::IfcTaskTime,entity_descriptor_map.find(Type::IfcSchedulingTime)->second); + current->add("DurationType",true,IfcUtil::Argument_ENUMERATION,Type::IfcTaskDurationEnum); + current->add("ScheduleDuration",true,IfcUtil::Argument_STRING); + current->add("ScheduleStart",true,IfcUtil::Argument_STRING); + current->add("ScheduleFinish",true,IfcUtil::Argument_STRING); + current->add("EarlyStart",true,IfcUtil::Argument_STRING); + current->add("EarlyFinish",true,IfcUtil::Argument_STRING); + current->add("LateStart",true,IfcUtil::Argument_STRING); + current->add("LateFinish",true,IfcUtil::Argument_STRING); + current->add("FreeFloat",true,IfcUtil::Argument_STRING); + current->add("TotalFloat",true,IfcUtil::Argument_STRING); + current->add("IsCritical",true,IfcUtil::Argument_BOOL); + current->add("StatusTime",true,IfcUtil::Argument_STRING); + current->add("ActualDuration",true,IfcUtil::Argument_STRING); + current->add("ActualStart",true,IfcUtil::Argument_STRING); + current->add("ActualFinish",true,IfcUtil::Argument_STRING); + current->add("RemainingTime",true,IfcUtil::Argument_STRING); + current->add("Completion",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcTaskTimeRecurring] = new IfcEntityDescriptor(Type::IfcTaskTimeRecurring,entity_descriptor_map.find(Type::IfcTaskTime)->second); + current->add("Recurrance",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcTelecomAddress] = new IfcEntityDescriptor(Type::IfcTelecomAddress,entity_descriptor_map.find(Type::IfcAddress)->second); + current->add("TelephoneNumbers",true,IfcUtil::Argument_VECTOR_STRING); + current->add("FacsimileNumbers",true,IfcUtil::Argument_VECTOR_STRING); + current->add("PagerNumber",true,IfcUtil::Argument_STRING); + current->add("ElectronicMailAddresses",true,IfcUtil::Argument_VECTOR_STRING); + current->add("WWWHomePageURL",true,IfcUtil::Argument_STRING); + current->add("MessagingIDs",true,IfcUtil::Argument_VECTOR_STRING); + current = entity_descriptor_map[Type::IfcTextStyle] = new IfcEntityDescriptor(Type::IfcTextStyle,entity_descriptor_map.find(Type::IfcPresentationStyle)->second); + current->add("TextCharacterAppearance",true,IfcUtil::Argument_ENTITY); + current->add("TextStyle",true,IfcUtil::Argument_ENTITY); + current->add("TextFontStyle",false,IfcUtil::Argument_ENTITY); + current->add("ModelOrDraughting",true,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcTextStyleForDefinedFont] = new IfcEntityDescriptor(Type::IfcTextStyleForDefinedFont,entity_descriptor_map.find(Type::IfcPresentationItem)->second); + current->add("Colour",false,IfcUtil::Argument_ENTITY); + current->add("BackgroundColour",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcTextStyleTextModel] = new IfcEntityDescriptor(Type::IfcTextStyleTextModel,entity_descriptor_map.find(Type::IfcPresentationItem)->second); + current->add("TextIndent",true,IfcUtil::Argument_ENTITY); + current->add("TextAlign",true,IfcUtil::Argument_STRING); + current->add("TextDecoration",true,IfcUtil::Argument_STRING); + current->add("LetterSpacing",true,IfcUtil::Argument_ENTITY); + current->add("WordSpacing",true,IfcUtil::Argument_ENTITY); + current->add("TextTransform",true,IfcUtil::Argument_STRING); + current->add("LineHeight",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcTextureCoordinate] = new IfcEntityDescriptor(Type::IfcTextureCoordinate,entity_descriptor_map.find(Type::IfcPresentationItem)->second); + current->add("Maps",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcTextureCoordinateGenerator] = new IfcEntityDescriptor(Type::IfcTextureCoordinateGenerator,entity_descriptor_map.find(Type::IfcTextureCoordinate)->second); + current->add("Mode",false,IfcUtil::Argument_STRING); + current->add("Parameter",true,IfcUtil::Argument_VECTOR_DOUBLE); + current = entity_descriptor_map[Type::IfcTextureMap] = new IfcEntityDescriptor(Type::IfcTextureMap,entity_descriptor_map.find(Type::IfcTextureCoordinate)->second); + current->add("Vertices",false,IfcUtil::Argument_ENTITY_LIST); + current->add("MappedTo",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcTextureVertex] = new IfcEntityDescriptor(Type::IfcTextureVertex,entity_descriptor_map.find(Type::IfcPresentationItem)->second); + current->add("Coordinates",false,IfcUtil::Argument_VECTOR_DOUBLE); + current = entity_descriptor_map[Type::IfcTextureVertexList] = new IfcEntityDescriptor(Type::IfcTextureVertexList,entity_descriptor_map.find(Type::IfcPresentationItem)->second); + + current = entity_descriptor_map[Type::IfcTimePeriod] = new IfcEntityDescriptor(Type::IfcTimePeriod,0); + current->add("StartTime",false,IfcUtil::Argument_STRING); + current->add("EndTime",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcTimeSeries] = new IfcEntityDescriptor(Type::IfcTimeSeries,0); + current->add("Name",false,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("StartTime",false,IfcUtil::Argument_STRING); + current->add("EndTime",false,IfcUtil::Argument_STRING); + current->add("TimeSeriesDataType",false,IfcUtil::Argument_ENUMERATION,Type::IfcTimeSeriesDataTypeEnum); + current->add("DataOrigin",false,IfcUtil::Argument_ENUMERATION,Type::IfcDataOriginEnum); + current->add("UserDefinedDataOrigin",true,IfcUtil::Argument_STRING); + current->add("Unit",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcTimeSeriesValue] = new IfcEntityDescriptor(Type::IfcTimeSeriesValue,0); + current->add("ListValues",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcTopologicalRepresentationItem] = new IfcEntityDescriptor(Type::IfcTopologicalRepresentationItem,entity_descriptor_map.find(Type::IfcRepresentationItem)->second); + + current = entity_descriptor_map[Type::IfcTopologyRepresentation] = new IfcEntityDescriptor(Type::IfcTopologyRepresentation,entity_descriptor_map.find(Type::IfcShapeModel)->second); + + current = entity_descriptor_map[Type::IfcUnitAssignment] = new IfcEntityDescriptor(Type::IfcUnitAssignment,0); + current->add("Units",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcVertex] = new IfcEntityDescriptor(Type::IfcVertex,entity_descriptor_map.find(Type::IfcTopologicalRepresentationItem)->second); + + current = entity_descriptor_map[Type::IfcVertexPoint] = new IfcEntityDescriptor(Type::IfcVertexPoint,entity_descriptor_map.find(Type::IfcVertex)->second); + current->add("VertexGeometry",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcVirtualGridIntersection] = new IfcEntityDescriptor(Type::IfcVirtualGridIntersection,0); + current->add("IntersectingAxes",false,IfcUtil::Argument_ENTITY_LIST); + current->add("OffsetDistances",false,IfcUtil::Argument_VECTOR_DOUBLE); + current = entity_descriptor_map[Type::IfcWorkTime] = new IfcEntityDescriptor(Type::IfcWorkTime,entity_descriptor_map.find(Type::IfcSchedulingTime)->second); + current->add("RecurrencePattern",true,IfcUtil::Argument_ENTITY); + current->add("Start",true,IfcUtil::Argument_STRING); + current->add("Finish",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcApprovalRelationship] = new IfcEntityDescriptor(Type::IfcApprovalRelationship,entity_descriptor_map.find(Type::IfcResourceLevelRelationship)->second); + current->add("RelatingApproval",false,IfcUtil::Argument_ENTITY); + current->add("RelatedApprovals",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcArbitraryClosedProfileDef] = new IfcEntityDescriptor(Type::IfcArbitraryClosedProfileDef,entity_descriptor_map.find(Type::IfcProfileDef)->second); + current->add("OuterCurve",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcArbitraryOpenProfileDef] = new IfcEntityDescriptor(Type::IfcArbitraryOpenProfileDef,entity_descriptor_map.find(Type::IfcProfileDef)->second); + current->add("Curve",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcArbitraryProfileDefWithVoids] = new IfcEntityDescriptor(Type::IfcArbitraryProfileDefWithVoids,entity_descriptor_map.find(Type::IfcArbitraryClosedProfileDef)->second); + current->add("InnerCurves",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcBlobTexture] = new IfcEntityDescriptor(Type::IfcBlobTexture,entity_descriptor_map.find(Type::IfcSurfaceTexture)->second); + current->add("RasterFormat",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcCenterLineProfileDef] = new IfcEntityDescriptor(Type::IfcCenterLineProfileDef,entity_descriptor_map.find(Type::IfcArbitraryOpenProfileDef)->second); + current->add("Thickness",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcClassification] = new IfcEntityDescriptor(Type::IfcClassification,entity_descriptor_map.find(Type::IfcExternalInformation)->second); + current->add("Source",true,IfcUtil::Argument_STRING); + current->add("Edition",true,IfcUtil::Argument_STRING); + current->add("EditionDate",true,IfcUtil::Argument_STRING); + current->add("Name",false,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("Location",true,IfcUtil::Argument_STRING); + current->add("ReferenceTokens",true,IfcUtil::Argument_VECTOR_STRING); + current = entity_descriptor_map[Type::IfcClassificationReference] = new IfcEntityDescriptor(Type::IfcClassificationReference,entity_descriptor_map.find(Type::IfcExternalReference)->second); + current->add("ReferencedSource",true,IfcUtil::Argument_ENTITY); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("Sort",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcColourRgbList] = new IfcEntityDescriptor(Type::IfcColourRgbList,entity_descriptor_map.find(Type::IfcPresentationItem)->second); + + current = entity_descriptor_map[Type::IfcColourSpecification] = new IfcEntityDescriptor(Type::IfcColourSpecification,entity_descriptor_map.find(Type::IfcPresentationItem)->second); + current->add("Name",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcCompositeProfileDef] = new IfcEntityDescriptor(Type::IfcCompositeProfileDef,entity_descriptor_map.find(Type::IfcProfileDef)->second); + current->add("Profiles",false,IfcUtil::Argument_ENTITY_LIST); + current->add("Label",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcConnectedFaceSet] = new IfcEntityDescriptor(Type::IfcConnectedFaceSet,entity_descriptor_map.find(Type::IfcTopologicalRepresentationItem)->second); + current->add("CfsFaces",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcConnectionCurveGeometry] = new IfcEntityDescriptor(Type::IfcConnectionCurveGeometry,entity_descriptor_map.find(Type::IfcConnectionGeometry)->second); + current->add("CurveOnRelatingElement",false,IfcUtil::Argument_ENTITY); + current->add("CurveOnRelatedElement",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcConnectionPointEccentricity] = new IfcEntityDescriptor(Type::IfcConnectionPointEccentricity,entity_descriptor_map.find(Type::IfcConnectionPointGeometry)->second); + current->add("EccentricityInX",true,IfcUtil::Argument_DOUBLE); + current->add("EccentricityInY",true,IfcUtil::Argument_DOUBLE); + current->add("EccentricityInZ",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcContextDependentUnit] = new IfcEntityDescriptor(Type::IfcContextDependentUnit,entity_descriptor_map.find(Type::IfcNamedUnit)->second); + current->add("Name",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcConversionBasedUnit] = new IfcEntityDescriptor(Type::IfcConversionBasedUnit,entity_descriptor_map.find(Type::IfcNamedUnit)->second); + current->add("Name",false,IfcUtil::Argument_STRING); + current->add("ConversionFactor",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcConversionBasedUnitWithOffset] = new IfcEntityDescriptor(Type::IfcConversionBasedUnitWithOffset,entity_descriptor_map.find(Type::IfcConversionBasedUnit)->second); + current->add("ConversionOffset",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcCurrencyRelationship] = new IfcEntityDescriptor(Type::IfcCurrencyRelationship,entity_descriptor_map.find(Type::IfcResourceLevelRelationship)->second); + current->add("RelatingMonetaryUnit",false,IfcUtil::Argument_ENTITY); + current->add("RelatedMonetaryUnit",false,IfcUtil::Argument_ENTITY); + current->add("ExchangeRate",false,IfcUtil::Argument_DOUBLE); + current->add("RateDateTime",true,IfcUtil::Argument_STRING); + current->add("RateSource",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcCurveStyle] = new IfcEntityDescriptor(Type::IfcCurveStyle,entity_descriptor_map.find(Type::IfcPresentationStyle)->second); + current->add("CurveFont",true,IfcUtil::Argument_ENTITY); + current->add("CurveWidth",true,IfcUtil::Argument_ENTITY); + current->add("CurveColour",true,IfcUtil::Argument_ENTITY); + current->add("ModelOrDraughting",true,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcCurveStyleFont] = new IfcEntityDescriptor(Type::IfcCurveStyleFont,entity_descriptor_map.find(Type::IfcPresentationItem)->second); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("PatternList",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcCurveStyleFontAndScaling] = new IfcEntityDescriptor(Type::IfcCurveStyleFontAndScaling,entity_descriptor_map.find(Type::IfcPresentationItem)->second); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("CurveFont",false,IfcUtil::Argument_ENTITY); + current->add("CurveFontScaling",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcCurveStyleFontPattern] = new IfcEntityDescriptor(Type::IfcCurveStyleFontPattern,entity_descriptor_map.find(Type::IfcPresentationItem)->second); + current->add("VisibleSegmentLength",false,IfcUtil::Argument_DOUBLE); + current->add("InvisibleSegmentLength",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcDerivedProfileDef] = new IfcEntityDescriptor(Type::IfcDerivedProfileDef,entity_descriptor_map.find(Type::IfcProfileDef)->second); + current->add("ParentProfile",false,IfcUtil::Argument_ENTITY); + current->add("Operator",false,IfcUtil::Argument_ENTITY); + current->add("Label",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcDocumentInformation] = new IfcEntityDescriptor(Type::IfcDocumentInformation,entity_descriptor_map.find(Type::IfcExternalInformation)->second); + current->add("Identification",false,IfcUtil::Argument_STRING); + current->add("Name",false,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("Location",true,IfcUtil::Argument_STRING); + current->add("Purpose",true,IfcUtil::Argument_STRING); + current->add("IntendedUse",true,IfcUtil::Argument_STRING); + current->add("Scope",true,IfcUtil::Argument_STRING); + current->add("Revision",true,IfcUtil::Argument_STRING); + current->add("DocumentOwner",true,IfcUtil::Argument_ENTITY); + current->add("Editors",true,IfcUtil::Argument_ENTITY_LIST); + current->add("CreationTime",true,IfcUtil::Argument_STRING); + current->add("LastRevisionTime",true,IfcUtil::Argument_STRING); + current->add("ElectronicFormat",true,IfcUtil::Argument_STRING); + current->add("ValidFrom",true,IfcUtil::Argument_STRING); + current->add("ValidUntil",true,IfcUtil::Argument_STRING); + current->add("Confidentiality",true,IfcUtil::Argument_ENUMERATION,Type::IfcDocumentConfidentialityEnum); + current->add("Status",true,IfcUtil::Argument_ENUMERATION,Type::IfcDocumentStatusEnum); + current = entity_descriptor_map[Type::IfcDocumentInformationRelationship] = new IfcEntityDescriptor(Type::IfcDocumentInformationRelationship,entity_descriptor_map.find(Type::IfcResourceLevelRelationship)->second); + current->add("RelatingDocument",false,IfcUtil::Argument_ENTITY); + current->add("RelatedDocuments",false,IfcUtil::Argument_ENTITY_LIST); + current->add("RelationshipType",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcDocumentReference] = new IfcEntityDescriptor(Type::IfcDocumentReference,entity_descriptor_map.find(Type::IfcExternalReference)->second); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("ReferencedDocument",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcEdge] = new IfcEntityDescriptor(Type::IfcEdge,entity_descriptor_map.find(Type::IfcTopologicalRepresentationItem)->second); + current->add("EdgeStart",false,IfcUtil::Argument_ENTITY); + current->add("EdgeEnd",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcEdgeCurve] = new IfcEntityDescriptor(Type::IfcEdgeCurve,entity_descriptor_map.find(Type::IfcEdge)->second); + current->add("EdgeGeometry",false,IfcUtil::Argument_ENTITY); + current->add("SameSense",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcEventTime] = new IfcEntityDescriptor(Type::IfcEventTime,entity_descriptor_map.find(Type::IfcSchedulingTime)->second); + current->add("ActualDate",true,IfcUtil::Argument_STRING); + current->add("EarlyDate",true,IfcUtil::Argument_STRING); + current->add("LateDate",true,IfcUtil::Argument_STRING); + current->add("ScheduleDate",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcExtendedProperties] = new IfcEntityDescriptor(Type::IfcExtendedProperties,entity_descriptor_map.find(Type::IfcPropertyAbstraction)->second); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("Properties",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcExternalReferenceRelationship] = new IfcEntityDescriptor(Type::IfcExternalReferenceRelationship,entity_descriptor_map.find(Type::IfcResourceLevelRelationship)->second); + current->add("RelatingReference",false,IfcUtil::Argument_ENTITY); + current->add("RelatedResourceObjects",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcFace] = new IfcEntityDescriptor(Type::IfcFace,entity_descriptor_map.find(Type::IfcTopologicalRepresentationItem)->second); + current->add("Bounds",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcFaceBound] = new IfcEntityDescriptor(Type::IfcFaceBound,entity_descriptor_map.find(Type::IfcTopologicalRepresentationItem)->second); + current->add("Bound",false,IfcUtil::Argument_ENTITY); + current->add("Orientation",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcFaceOuterBound] = new IfcEntityDescriptor(Type::IfcFaceOuterBound,entity_descriptor_map.find(Type::IfcFaceBound)->second); + + current = entity_descriptor_map[Type::IfcFaceSurface] = new IfcEntityDescriptor(Type::IfcFaceSurface,entity_descriptor_map.find(Type::IfcFace)->second); + current->add("FaceSurface",false,IfcUtil::Argument_ENTITY); + current->add("SameSense",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcFailureConnectionCondition] = new IfcEntityDescriptor(Type::IfcFailureConnectionCondition,entity_descriptor_map.find(Type::IfcStructuralConnectionCondition)->second); + current->add("TensionFailureX",true,IfcUtil::Argument_DOUBLE); + current->add("TensionFailureY",true,IfcUtil::Argument_DOUBLE); + current->add("TensionFailureZ",true,IfcUtil::Argument_DOUBLE); + current->add("CompressionFailureX",true,IfcUtil::Argument_DOUBLE); + current->add("CompressionFailureY",true,IfcUtil::Argument_DOUBLE); + current->add("CompressionFailureZ",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcFillAreaStyle] = new IfcEntityDescriptor(Type::IfcFillAreaStyle,entity_descriptor_map.find(Type::IfcPresentationStyle)->second); + current->add("FillStyles",false,IfcUtil::Argument_ENTITY_LIST); + current->add("ModelorDraughting",true,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcGeometricRepresentationContext] = new IfcEntityDescriptor(Type::IfcGeometricRepresentationContext,entity_descriptor_map.find(Type::IfcRepresentationContext)->second); + current->add("CoordinateSpaceDimension",false,IfcUtil::Argument_INT); + current->add("Precision",true,IfcUtil::Argument_DOUBLE); + current->add("WorldCoordinateSystem",false,IfcUtil::Argument_ENTITY); + current->add("TrueNorth",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcGeometricRepresentationItem] = new IfcEntityDescriptor(Type::IfcGeometricRepresentationItem,entity_descriptor_map.find(Type::IfcRepresentationItem)->second); + + current = entity_descriptor_map[Type::IfcGeometricRepresentationSubContext] = new IfcEntityDescriptor(Type::IfcGeometricRepresentationSubContext,entity_descriptor_map.find(Type::IfcGeometricRepresentationContext)->second); + current->add("ParentContext",false,IfcUtil::Argument_ENTITY); + current->add("TargetScale",true,IfcUtil::Argument_DOUBLE); + current->add("TargetView",false,IfcUtil::Argument_ENUMERATION,Type::IfcGeometricProjectionEnum); + current->add("UserDefinedTargetView",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcGeometricSet] = new IfcEntityDescriptor(Type::IfcGeometricSet,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("Elements",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcGridPlacement] = new IfcEntityDescriptor(Type::IfcGridPlacement,entity_descriptor_map.find(Type::IfcObjectPlacement)->second); + current->add("PlacementLocation",false,IfcUtil::Argument_ENTITY); + current->add("PlacementRefDirection",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcHalfSpaceSolid] = new IfcEntityDescriptor(Type::IfcHalfSpaceSolid,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("BaseSurface",false,IfcUtil::Argument_ENTITY); + current->add("AgreementFlag",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcImageTexture] = new IfcEntityDescriptor(Type::IfcImageTexture,entity_descriptor_map.find(Type::IfcSurfaceTexture)->second); + current->add("URLReference",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcIndexedColourMap] = new IfcEntityDescriptor(Type::IfcIndexedColourMap,entity_descriptor_map.find(Type::IfcPresentationItem)->second); + current->add("MappedTo",false,IfcUtil::Argument_ENTITY); + current->add("Overrides",true,IfcUtil::Argument_ENTITY); + current->add("Colours",false,IfcUtil::Argument_ENTITY); + current->add("ColourIndex",false,IfcUtil::Argument_VECTOR_INT); + current = entity_descriptor_map[Type::IfcIndexedTextureMap] = new IfcEntityDescriptor(Type::IfcIndexedTextureMap,entity_descriptor_map.find(Type::IfcTextureCoordinate)->second); + current->add("MappedTo",false,IfcUtil::Argument_ENTITY); + current->add("TexCoords",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcIndexedTriangleTextureMap] = new IfcEntityDescriptor(Type::IfcIndexedTriangleTextureMap,entity_descriptor_map.find(Type::IfcIndexedTextureMap)->second); + + current = entity_descriptor_map[Type::IfcIrregularTimeSeries] = new IfcEntityDescriptor(Type::IfcIrregularTimeSeries,entity_descriptor_map.find(Type::IfcTimeSeries)->second); + current->add("Values",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcLagTime] = new IfcEntityDescriptor(Type::IfcLagTime,entity_descriptor_map.find(Type::IfcSchedulingTime)->second); + current->add("LagValue",false,IfcUtil::Argument_ENTITY); + current->add("DurationType",false,IfcUtil::Argument_ENUMERATION,Type::IfcTaskDurationEnum); + current = entity_descriptor_map[Type::IfcLightSource] = new IfcEntityDescriptor(Type::IfcLightSource,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("LightColour",false,IfcUtil::Argument_ENTITY); + current->add("AmbientIntensity",true,IfcUtil::Argument_DOUBLE); + current->add("Intensity",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLightSourceAmbient] = new IfcEntityDescriptor(Type::IfcLightSourceAmbient,entity_descriptor_map.find(Type::IfcLightSource)->second); + + current = entity_descriptor_map[Type::IfcLightSourceDirectional] = new IfcEntityDescriptor(Type::IfcLightSourceDirectional,entity_descriptor_map.find(Type::IfcLightSource)->second); + current->add("Orientation",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcLightSourceGoniometric] = new IfcEntityDescriptor(Type::IfcLightSourceGoniometric,entity_descriptor_map.find(Type::IfcLightSource)->second); + current->add("Position",false,IfcUtil::Argument_ENTITY); + current->add("ColourAppearance",true,IfcUtil::Argument_ENTITY); + current->add("ColourTemperature",false,IfcUtil::Argument_DOUBLE); + current->add("LuminousFlux",false,IfcUtil::Argument_DOUBLE); + current->add("LightEmissionSource",false,IfcUtil::Argument_ENUMERATION,Type::IfcLightEmissionSourceEnum); + current->add("LightDistributionDataSource",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcLightSourcePositional] = new IfcEntityDescriptor(Type::IfcLightSourcePositional,entity_descriptor_map.find(Type::IfcLightSource)->second); + current->add("Position",false,IfcUtil::Argument_ENTITY); + current->add("Radius",false,IfcUtil::Argument_DOUBLE); + current->add("ConstantAttenuation",false,IfcUtil::Argument_DOUBLE); + current->add("DistanceAttenuation",false,IfcUtil::Argument_DOUBLE); + current->add("QuadricAttenuation",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLightSourceSpot] = new IfcEntityDescriptor(Type::IfcLightSourceSpot,entity_descriptor_map.find(Type::IfcLightSourcePositional)->second); + current->add("Orientation",false,IfcUtil::Argument_ENTITY); + current->add("ConcentrationExponent",true,IfcUtil::Argument_DOUBLE); + current->add("SpreadAngle",false,IfcUtil::Argument_DOUBLE); + current->add("BeamWidthAngle",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLocalPlacement] = new IfcEntityDescriptor(Type::IfcLocalPlacement,entity_descriptor_map.find(Type::IfcObjectPlacement)->second); + current->add("PlacementRelTo",true,IfcUtil::Argument_ENTITY); + current->add("RelativePlacement",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcLoop] = new IfcEntityDescriptor(Type::IfcLoop,entity_descriptor_map.find(Type::IfcTopologicalRepresentationItem)->second); + + current = entity_descriptor_map[Type::IfcMappedItem] = new IfcEntityDescriptor(Type::IfcMappedItem,entity_descriptor_map.find(Type::IfcRepresentationItem)->second); + current->add("MappingSource",false,IfcUtil::Argument_ENTITY); + current->add("MappingTarget",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcMaterial] = new IfcEntityDescriptor(Type::IfcMaterial,entity_descriptor_map.find(Type::IfcMaterialDefinition)->second); + current->add("Name",false,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("Category",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcMaterialConstituent] = new IfcEntityDescriptor(Type::IfcMaterialConstituent,entity_descriptor_map.find(Type::IfcMaterialDefinition)->second); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("Material",false,IfcUtil::Argument_ENTITY); + current->add("Fraction",true,IfcUtil::Argument_DOUBLE); + current->add("Category",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcMaterialConstituentSet] = new IfcEntityDescriptor(Type::IfcMaterialConstituentSet,entity_descriptor_map.find(Type::IfcMaterialDefinition)->second); + current->add("Name",true,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current->add("MaterialConstituents",true,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcMaterialDefinitionRepresentation] = new IfcEntityDescriptor(Type::IfcMaterialDefinitionRepresentation,entity_descriptor_map.find(Type::IfcProductRepresentation)->second); + current->add("RepresentedMaterial",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcMaterialLayerSetUsage] = new IfcEntityDescriptor(Type::IfcMaterialLayerSetUsage,entity_descriptor_map.find(Type::IfcMaterialUsageDefinition)->second); + current->add("ForLayerSet",false,IfcUtil::Argument_ENTITY); + current->add("LayerSetDirection",false,IfcUtil::Argument_ENUMERATION,Type::IfcLayerSetDirectionEnum); + current->add("DirectionSense",false,IfcUtil::Argument_ENUMERATION,Type::IfcDirectionSenseEnum); + current->add("OffsetFromReferenceLine",false,IfcUtil::Argument_DOUBLE); + current->add("ReferenceExtent",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMaterialProfileSetUsage] = new IfcEntityDescriptor(Type::IfcMaterialProfileSetUsage,entity_descriptor_map.find(Type::IfcMaterialUsageDefinition)->second); + current->add("ForProfileSet",false,IfcUtil::Argument_ENTITY); + current->add("CardinalPoint",true,IfcUtil::Argument_INT); + current->add("ReferenceExtent",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMaterialProfileSetUsageTapering] = new IfcEntityDescriptor(Type::IfcMaterialProfileSetUsageTapering,entity_descriptor_map.find(Type::IfcMaterialProfileSetUsage)->second); + current->add("ForProfileEndSet",false,IfcUtil::Argument_ENTITY); + current->add("CardinalEndPoint",true,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcMaterialProperties] = new IfcEntityDescriptor(Type::IfcMaterialProperties,entity_descriptor_map.find(Type::IfcExtendedProperties)->second); + current->add("Material",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcMaterialRelationship] = new IfcEntityDescriptor(Type::IfcMaterialRelationship,entity_descriptor_map.find(Type::IfcResourceLevelRelationship)->second); + current->add("RelatingMaterial",false,IfcUtil::Argument_ENTITY); + current->add("RelatedMaterials",false,IfcUtil::Argument_ENTITY_LIST); + current->add("Expression",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcMirroredProfileDef] = new IfcEntityDescriptor(Type::IfcMirroredProfileDef,entity_descriptor_map.find(Type::IfcDerivedProfileDef)->second); + + current = entity_descriptor_map[Type::IfcObjectDefinition] = new IfcEntityDescriptor(Type::IfcObjectDefinition,entity_descriptor_map.find(Type::IfcRoot)->second); + + current = entity_descriptor_map[Type::IfcOpenShell] = new IfcEntityDescriptor(Type::IfcOpenShell,entity_descriptor_map.find(Type::IfcConnectedFaceSet)->second); + + current = entity_descriptor_map[Type::IfcOrganizationRelationship] = new IfcEntityDescriptor(Type::IfcOrganizationRelationship,entity_descriptor_map.find(Type::IfcResourceLevelRelationship)->second); + current->add("RelatingOrganization",false,IfcUtil::Argument_ENTITY); + current->add("RelatedOrganizations",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcOrientedEdge] = new IfcEntityDescriptor(Type::IfcOrientedEdge,entity_descriptor_map.find(Type::IfcEdge)->second); + current->add("EdgeElement",false,IfcUtil::Argument_ENTITY); + current->add("Orientation",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcParameterizedProfileDef] = new IfcEntityDescriptor(Type::IfcParameterizedProfileDef,entity_descriptor_map.find(Type::IfcProfileDef)->second); + current->add("Position",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPath] = new IfcEntityDescriptor(Type::IfcPath,entity_descriptor_map.find(Type::IfcTopologicalRepresentationItem)->second); + current->add("EdgeList",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcPhysicalComplexQuantity] = new IfcEntityDescriptor(Type::IfcPhysicalComplexQuantity,entity_descriptor_map.find(Type::IfcPhysicalQuantity)->second); + current->add("HasQuantities",false,IfcUtil::Argument_ENTITY_LIST); + current->add("Discrimination",false,IfcUtil::Argument_STRING); + current->add("Quality",true,IfcUtil::Argument_STRING); + current->add("Usage",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcPixelTexture] = new IfcEntityDescriptor(Type::IfcPixelTexture,entity_descriptor_map.find(Type::IfcSurfaceTexture)->second); + current->add("Width",false,IfcUtil::Argument_INT); + current->add("Height",false,IfcUtil::Argument_INT); + current->add("ColourComponents",false,IfcUtil::Argument_INT); + current = entity_descriptor_map[Type::IfcPlacement] = new IfcEntityDescriptor(Type::IfcPlacement,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("Location",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPlanarExtent] = new IfcEntityDescriptor(Type::IfcPlanarExtent,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("SizeInX",false,IfcUtil::Argument_DOUBLE); + current->add("SizeInY",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcPoint] = new IfcEntityDescriptor(Type::IfcPoint,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + + current = entity_descriptor_map[Type::IfcPointOnCurve] = new IfcEntityDescriptor(Type::IfcPointOnCurve,entity_descriptor_map.find(Type::IfcPoint)->second); + current->add("BasisCurve",false,IfcUtil::Argument_ENTITY); + current->add("PointParameter",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcPointOnSurface] = new IfcEntityDescriptor(Type::IfcPointOnSurface,entity_descriptor_map.find(Type::IfcPoint)->second); + current->add("BasisSurface",false,IfcUtil::Argument_ENTITY); + current->add("PointParameterU",false,IfcUtil::Argument_DOUBLE); + current->add("PointParameterV",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcPolyLoop] = new IfcEntityDescriptor(Type::IfcPolyLoop,entity_descriptor_map.find(Type::IfcLoop)->second); + current->add("Polygon",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcPolygonalBoundedHalfSpace] = new IfcEntityDescriptor(Type::IfcPolygonalBoundedHalfSpace,entity_descriptor_map.find(Type::IfcHalfSpaceSolid)->second); + current->add("Position",false,IfcUtil::Argument_ENTITY); + current->add("PolygonalBoundary",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPreDefinedItem] = new IfcEntityDescriptor(Type::IfcPreDefinedItem,entity_descriptor_map.find(Type::IfcPresentationItem)->second); + current->add("Name",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcPreDefinedProperties] = new IfcEntityDescriptor(Type::IfcPreDefinedProperties,entity_descriptor_map.find(Type::IfcPropertyAbstraction)->second); + + current = entity_descriptor_map[Type::IfcPreDefinedTextFont] = new IfcEntityDescriptor(Type::IfcPreDefinedTextFont,entity_descriptor_map.find(Type::IfcPreDefinedItem)->second); + + current = entity_descriptor_map[Type::IfcProductDefinitionShape] = new IfcEntityDescriptor(Type::IfcProductDefinitionShape,entity_descriptor_map.find(Type::IfcProductRepresentation)->second); + + current = entity_descriptor_map[Type::IfcProfileProperties] = new IfcEntityDescriptor(Type::IfcProfileProperties,entity_descriptor_map.find(Type::IfcExtendedProperties)->second); + current->add("ProfileDefinition",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcProperty] = new IfcEntityDescriptor(Type::IfcProperty,entity_descriptor_map.find(Type::IfcPropertyAbstraction)->second); + current->add("Name",false,IfcUtil::Argument_STRING); + current->add("Description",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcPropertyDefinition] = new IfcEntityDescriptor(Type::IfcPropertyDefinition,entity_descriptor_map.find(Type::IfcRoot)->second); + + current = entity_descriptor_map[Type::IfcPropertyDependencyRelationship] = new IfcEntityDescriptor(Type::IfcPropertyDependencyRelationship,entity_descriptor_map.find(Type::IfcResourceLevelRelationship)->second); + current->add("DependingProperty",false,IfcUtil::Argument_ENTITY); + current->add("DependantProperty",false,IfcUtil::Argument_ENTITY); + current->add("Expression",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcPropertySetDefinition] = new IfcEntityDescriptor(Type::IfcPropertySetDefinition,entity_descriptor_map.find(Type::IfcPropertyDefinition)->second); + + current = entity_descriptor_map[Type::IfcPropertyTemplateDefinition] = new IfcEntityDescriptor(Type::IfcPropertyTemplateDefinition,entity_descriptor_map.find(Type::IfcPropertyDefinition)->second); + + current = entity_descriptor_map[Type::IfcQuantitySet] = new IfcEntityDescriptor(Type::IfcQuantitySet,entity_descriptor_map.find(Type::IfcPropertySetDefinition)->second); + + current = entity_descriptor_map[Type::IfcRectangleProfileDef] = new IfcEntityDescriptor(Type::IfcRectangleProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); + current->add("XDim",false,IfcUtil::Argument_DOUBLE); + current->add("YDim",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcRegularTimeSeries] = new IfcEntityDescriptor(Type::IfcRegularTimeSeries,entity_descriptor_map.find(Type::IfcTimeSeries)->second); + current->add("TimeStep",false,IfcUtil::Argument_DOUBLE); + current->add("Values",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcReinforcementBarProperties] = new IfcEntityDescriptor(Type::IfcReinforcementBarProperties,entity_descriptor_map.find(Type::IfcPreDefinedProperties)->second); + current->add("TotalCrossSectionArea",false,IfcUtil::Argument_DOUBLE); + current->add("SteelGrade",false,IfcUtil::Argument_STRING); + current->add("BarSurface",true,IfcUtil::Argument_ENUMERATION,Type::IfcReinforcingBarSurfaceEnum); + current->add("EffectiveDepth",true,IfcUtil::Argument_DOUBLE); + current->add("NominalBarDiameter",true,IfcUtil::Argument_DOUBLE); + current->add("BarCount",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcRelationship] = new IfcEntityDescriptor(Type::IfcRelationship,entity_descriptor_map.find(Type::IfcRoot)->second); + + current = entity_descriptor_map[Type::IfcResourceApprovalRelationship] = new IfcEntityDescriptor(Type::IfcResourceApprovalRelationship,entity_descriptor_map.find(Type::IfcResourceLevelRelationship)->second); + current->add("RelatedResourceObjects",false,IfcUtil::Argument_ENTITY_LIST); + current->add("RelatingApproval",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcResourceConstraintRelationship] = new IfcEntityDescriptor(Type::IfcResourceConstraintRelationship,entity_descriptor_map.find(Type::IfcResourceLevelRelationship)->second); + current->add("RelatingConstraint",false,IfcUtil::Argument_ENTITY); + current->add("RelatedResourceObjects",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcResourceTime] = new IfcEntityDescriptor(Type::IfcResourceTime,entity_descriptor_map.find(Type::IfcSchedulingTime)->second); + current->add("ScheduleWork",true,IfcUtil::Argument_STRING); + current->add("ScheduleUsage",true,IfcUtil::Argument_DOUBLE); + current->add("ScheduleStart",true,IfcUtil::Argument_STRING); + current->add("ScheduleFinish",true,IfcUtil::Argument_STRING); + current->add("ScheduleContour",true,IfcUtil::Argument_STRING); + current->add("LevelingDelay",true,IfcUtil::Argument_STRING); + current->add("IsOverAllocated",true,IfcUtil::Argument_BOOL); + current->add("StatusTime",true,IfcUtil::Argument_STRING); + current->add("ActualWork",true,IfcUtil::Argument_STRING); + current->add("ActualUsage",true,IfcUtil::Argument_DOUBLE); + current->add("ActualStart",true,IfcUtil::Argument_STRING); + current->add("ActualFinish",true,IfcUtil::Argument_STRING); + current->add("RemainingWork",true,IfcUtil::Argument_STRING); + current->add("RemainingUsage",true,IfcUtil::Argument_DOUBLE); + current->add("Completion",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcRoundedRectangleProfileDef] = new IfcEntityDescriptor(Type::IfcRoundedRectangleProfileDef,entity_descriptor_map.find(Type::IfcRectangleProfileDef)->second); + current->add("RoundingRadius",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSectionProperties] = new IfcEntityDescriptor(Type::IfcSectionProperties,entity_descriptor_map.find(Type::IfcPreDefinedProperties)->second); + current->add("SectionType",false,IfcUtil::Argument_ENUMERATION,Type::IfcSectionTypeEnum); + current->add("StartProfile",false,IfcUtil::Argument_ENTITY); + current->add("EndProfile",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcSectionReinforcementProperties] = new IfcEntityDescriptor(Type::IfcSectionReinforcementProperties,entity_descriptor_map.find(Type::IfcPreDefinedProperties)->second); + current->add("LongitudinalStartPosition",false,IfcUtil::Argument_DOUBLE); + current->add("LongitudinalEndPosition",false,IfcUtil::Argument_DOUBLE); + current->add("TransversePosition",true,IfcUtil::Argument_DOUBLE); + current->add("ReinforcementRole",false,IfcUtil::Argument_ENUMERATION,Type::IfcReinforcingBarRoleEnum); + current->add("SectionDefinition",false,IfcUtil::Argument_ENTITY); + current->add("CrossSectionReinforcementDefinitions",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcSectionedSpine] = new IfcEntityDescriptor(Type::IfcSectionedSpine,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("SpineCurve",false,IfcUtil::Argument_ENTITY); + current->add("CrossSections",false,IfcUtil::Argument_ENTITY_LIST); + current->add("CrossSectionPositions",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcShellBasedSurfaceModel] = new IfcEntityDescriptor(Type::IfcShellBasedSurfaceModel,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("SbsmBoundary",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcSimpleProperty] = new IfcEntityDescriptor(Type::IfcSimpleProperty,entity_descriptor_map.find(Type::IfcProperty)->second); + + current = entity_descriptor_map[Type::IfcSlippageConnectionCondition] = new IfcEntityDescriptor(Type::IfcSlippageConnectionCondition,entity_descriptor_map.find(Type::IfcStructuralConnectionCondition)->second); + current->add("SlippageX",true,IfcUtil::Argument_DOUBLE); + current->add("SlippageY",true,IfcUtil::Argument_DOUBLE); + current->add("SlippageZ",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSolidModel] = new IfcEntityDescriptor(Type::IfcSolidModel,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + + current = entity_descriptor_map[Type::IfcStructuralLoadLinearForce] = new IfcEntityDescriptor(Type::IfcStructuralLoadLinearForce,entity_descriptor_map.find(Type::IfcStructuralLoadStatic)->second); + current->add("LinearForceX",true,IfcUtil::Argument_DOUBLE); + current->add("LinearForceY",true,IfcUtil::Argument_DOUBLE); + current->add("LinearForceZ",true,IfcUtil::Argument_DOUBLE); + current->add("LinearMomentX",true,IfcUtil::Argument_DOUBLE); + current->add("LinearMomentY",true,IfcUtil::Argument_DOUBLE); + current->add("LinearMomentZ",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcStructuralLoadPlanarForce] = new IfcEntityDescriptor(Type::IfcStructuralLoadPlanarForce,entity_descriptor_map.find(Type::IfcStructuralLoadStatic)->second); + current->add("PlanarForceX",true,IfcUtil::Argument_DOUBLE); + current->add("PlanarForceY",true,IfcUtil::Argument_DOUBLE); + current->add("PlanarForceZ",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcStructuralLoadSingleDisplacement] = new IfcEntityDescriptor(Type::IfcStructuralLoadSingleDisplacement,entity_descriptor_map.find(Type::IfcStructuralLoadStatic)->second); + current->add("DisplacementX",true,IfcUtil::Argument_DOUBLE); + current->add("DisplacementY",true,IfcUtil::Argument_DOUBLE); + current->add("DisplacementZ",true,IfcUtil::Argument_DOUBLE); + current->add("RotationalDisplacementRX",true,IfcUtil::Argument_DOUBLE); + current->add("RotationalDisplacementRY",true,IfcUtil::Argument_DOUBLE); + current->add("RotationalDisplacementRZ",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcStructuralLoadSingleDisplacementDistortion] = new IfcEntityDescriptor(Type::IfcStructuralLoadSingleDisplacementDistortion,entity_descriptor_map.find(Type::IfcStructuralLoadSingleDisplacement)->second); + current->add("Distortion",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcStructuralLoadSingleForce] = new IfcEntityDescriptor(Type::IfcStructuralLoadSingleForce,entity_descriptor_map.find(Type::IfcStructuralLoadStatic)->second); + current->add("ForceX",true,IfcUtil::Argument_DOUBLE); + current->add("ForceY",true,IfcUtil::Argument_DOUBLE); + current->add("ForceZ",true,IfcUtil::Argument_DOUBLE); + current->add("MomentX",true,IfcUtil::Argument_DOUBLE); + current->add("MomentY",true,IfcUtil::Argument_DOUBLE); + current->add("MomentZ",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcStructuralLoadSingleForceWarping] = new IfcEntityDescriptor(Type::IfcStructuralLoadSingleForceWarping,entity_descriptor_map.find(Type::IfcStructuralLoadSingleForce)->second); + current->add("WarpingMoment",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSubedge] = new IfcEntityDescriptor(Type::IfcSubedge,entity_descriptor_map.find(Type::IfcEdge)->second); + current->add("ParentEdge",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcSurface] = new IfcEntityDescriptor(Type::IfcSurface,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + + current = entity_descriptor_map[Type::IfcSurfaceStyleRendering] = new IfcEntityDescriptor(Type::IfcSurfaceStyleRendering,entity_descriptor_map.find(Type::IfcSurfaceStyleShading)->second); + current->add("Transparency",true,IfcUtil::Argument_DOUBLE); + current->add("DiffuseColour",true,IfcUtil::Argument_ENTITY); + current->add("TransmissionColour",true,IfcUtil::Argument_ENTITY); + current->add("DiffuseTransmissionColour",true,IfcUtil::Argument_ENTITY); + current->add("ReflectionColour",true,IfcUtil::Argument_ENTITY); + current->add("SpecularColour",true,IfcUtil::Argument_ENTITY); + current->add("SpecularHighlight",true,IfcUtil::Argument_ENTITY); + current->add("ReflectanceMethod",false,IfcUtil::Argument_ENUMERATION,Type::IfcReflectanceMethodEnum); + current = entity_descriptor_map[Type::IfcSweptAreaSolid] = new IfcEntityDescriptor(Type::IfcSweptAreaSolid,entity_descriptor_map.find(Type::IfcSolidModel)->second); + current->add("SweptArea",false,IfcUtil::Argument_ENTITY); + current->add("Position",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcSweptDiskSolid] = new IfcEntityDescriptor(Type::IfcSweptDiskSolid,entity_descriptor_map.find(Type::IfcSolidModel)->second); + current->add("Directrix",false,IfcUtil::Argument_ENTITY); + current->add("Radius",false,IfcUtil::Argument_DOUBLE); + current->add("InnerRadius",true,IfcUtil::Argument_DOUBLE); + current->add("StartParam",true,IfcUtil::Argument_DOUBLE); + current->add("EndParam",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSweptDiskSolidPolygonal] = new IfcEntityDescriptor(Type::IfcSweptDiskSolidPolygonal,entity_descriptor_map.find(Type::IfcSweptDiskSolid)->second); + current->add("FilletRadius",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSweptSurface] = new IfcEntityDescriptor(Type::IfcSweptSurface,entity_descriptor_map.find(Type::IfcSurface)->second); + current->add("SweptCurve",false,IfcUtil::Argument_ENTITY); + current->add("Position",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcTShapeProfileDef] = new IfcEntityDescriptor(Type::IfcTShapeProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); + current->add("Depth",false,IfcUtil::Argument_DOUBLE); + current->add("FlangeWidth",false,IfcUtil::Argument_DOUBLE); + current->add("WebThickness",false,IfcUtil::Argument_DOUBLE); + current->add("FlangeThickness",false,IfcUtil::Argument_DOUBLE); + current->add("FilletRadius",true,IfcUtil::Argument_DOUBLE); + current->add("FlangeEdgeRadius",true,IfcUtil::Argument_DOUBLE); + current->add("WebEdgeRadius",true,IfcUtil::Argument_DOUBLE); + current->add("WebSlope",true,IfcUtil::Argument_DOUBLE); + current->add("FlangeSlope",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcTessellatedItem] = new IfcEntityDescriptor(Type::IfcTessellatedItem,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + + current = entity_descriptor_map[Type::IfcTextLiteral] = new IfcEntityDescriptor(Type::IfcTextLiteral,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("Literal",false,IfcUtil::Argument_STRING); + current->add("Placement",false,IfcUtil::Argument_ENTITY); + current->add("Path",false,IfcUtil::Argument_ENUMERATION,Type::IfcTextPath); + current = entity_descriptor_map[Type::IfcTextLiteralWithExtent] = new IfcEntityDescriptor(Type::IfcTextLiteralWithExtent,entity_descriptor_map.find(Type::IfcTextLiteral)->second); + current->add("Extent",false,IfcUtil::Argument_ENTITY); + current->add("BoxAlignment",false,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcTextStyleFontModel] = new IfcEntityDescriptor(Type::IfcTextStyleFontModel,entity_descriptor_map.find(Type::IfcPreDefinedTextFont)->second); + current->add("FontFamily",false,IfcUtil::Argument_VECTOR_STRING); + current->add("FontStyle",true,IfcUtil::Argument_STRING); + current->add("FontVariant",true,IfcUtil::Argument_STRING); + current->add("FontWeight",true,IfcUtil::Argument_STRING); + current->add("FontSize",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcTrapeziumProfileDef] = new IfcEntityDescriptor(Type::IfcTrapeziumProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); + current->add("BottomXDim",false,IfcUtil::Argument_DOUBLE); + current->add("TopXDim",false,IfcUtil::Argument_DOUBLE); + current->add("YDim",false,IfcUtil::Argument_DOUBLE); + current->add("TopXOffset",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcTypeObject] = new IfcEntityDescriptor(Type::IfcTypeObject,entity_descriptor_map.find(Type::IfcObjectDefinition)->second); + current->add("ApplicableOccurrence",true,IfcUtil::Argument_STRING); + current->add("HasPropertySets",true,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcTypeProcess] = new IfcEntityDescriptor(Type::IfcTypeProcess,entity_descriptor_map.find(Type::IfcTypeObject)->second); + current->add("Identification",true,IfcUtil::Argument_STRING); + current->add("LongDescription",true,IfcUtil::Argument_STRING); + current->add("ProcessType",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcTypeProduct] = new IfcEntityDescriptor(Type::IfcTypeProduct,entity_descriptor_map.find(Type::IfcTypeObject)->second); + current->add("RepresentationMaps",true,IfcUtil::Argument_ENTITY_LIST); + current->add("Tag",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcTypeResource] = new IfcEntityDescriptor(Type::IfcTypeResource,entity_descriptor_map.find(Type::IfcTypeObject)->second); + current->add("Identification",true,IfcUtil::Argument_STRING); + current->add("LongDescription",true,IfcUtil::Argument_STRING); + current->add("ResourceType",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcUShapeProfileDef] = new IfcEntityDescriptor(Type::IfcUShapeProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); + current->add("Depth",false,IfcUtil::Argument_DOUBLE); + current->add("FlangeWidth",false,IfcUtil::Argument_DOUBLE); + current->add("WebThickness",false,IfcUtil::Argument_DOUBLE); + current->add("FlangeThickness",false,IfcUtil::Argument_DOUBLE); + current->add("FilletRadius",true,IfcUtil::Argument_DOUBLE); + current->add("EdgeRadius",true,IfcUtil::Argument_DOUBLE); + current->add("FlangeSlope",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcVector] = new IfcEntityDescriptor(Type::IfcVector,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("Orientation",false,IfcUtil::Argument_ENTITY); + current->add("Magnitude",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcVertexLoop] = new IfcEntityDescriptor(Type::IfcVertexLoop,entity_descriptor_map.find(Type::IfcLoop)->second); + current->add("LoopVertex",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcWindowStyle] = new IfcEntityDescriptor(Type::IfcWindowStyle,entity_descriptor_map.find(Type::IfcTypeProduct)->second); + current->add("ConstructionType",false,IfcUtil::Argument_ENUMERATION,Type::IfcWindowStyleConstructionEnum); + current->add("OperationType",false,IfcUtil::Argument_ENUMERATION,Type::IfcWindowStyleOperationEnum); + current->add("ParameterTakesPrecedence",false,IfcUtil::Argument_BOOL); + current->add("Sizeable",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcZShapeProfileDef] = new IfcEntityDescriptor(Type::IfcZShapeProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); + current->add("Depth",false,IfcUtil::Argument_DOUBLE); + current->add("FlangeWidth",false,IfcUtil::Argument_DOUBLE); + current->add("WebThickness",false,IfcUtil::Argument_DOUBLE); + current->add("FlangeThickness",false,IfcUtil::Argument_DOUBLE); + current->add("FilletRadius",true,IfcUtil::Argument_DOUBLE); + current->add("EdgeRadius",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcAdvancedFace] = new IfcEntityDescriptor(Type::IfcAdvancedFace,entity_descriptor_map.find(Type::IfcFaceSurface)->second); + + current = entity_descriptor_map[Type::IfcAnnotationFillArea] = new IfcEntityDescriptor(Type::IfcAnnotationFillArea,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("OuterBoundary",false,IfcUtil::Argument_ENTITY); + current->add("InnerBoundaries",true,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcAsymmetricIShapeProfileDef] = new IfcEntityDescriptor(Type::IfcAsymmetricIShapeProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); + current->add("BottomFlangeWidth",false,IfcUtil::Argument_DOUBLE); + current->add("OverallDepth",false,IfcUtil::Argument_DOUBLE); + current->add("WebThickness",false,IfcUtil::Argument_DOUBLE); + current->add("BottomFlangeThickness",false,IfcUtil::Argument_DOUBLE); + current->add("BottomFlangeFilletRadius",true,IfcUtil::Argument_DOUBLE); + current->add("TopFlangeWidth",false,IfcUtil::Argument_DOUBLE); + current->add("TopFlangeThickness",true,IfcUtil::Argument_DOUBLE); + current->add("TopFlangeFilletRadius",true,IfcUtil::Argument_DOUBLE); + current->add("BottomFlangeEdgeRadius",true,IfcUtil::Argument_DOUBLE); + current->add("BottomFlangeSlope",true,IfcUtil::Argument_DOUBLE); + current->add("TopFlangeEdgeRadius",true,IfcUtil::Argument_DOUBLE); + current->add("TopFlangeSlope",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcAxis1Placement] = new IfcEntityDescriptor(Type::IfcAxis1Placement,entity_descriptor_map.find(Type::IfcPlacement)->second); + current->add("Axis",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcAxis2Placement2D] = new IfcEntityDescriptor(Type::IfcAxis2Placement2D,entity_descriptor_map.find(Type::IfcPlacement)->second); + current->add("RefDirection",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcAxis2Placement3D] = new IfcEntityDescriptor(Type::IfcAxis2Placement3D,entity_descriptor_map.find(Type::IfcPlacement)->second); + current->add("Axis",true,IfcUtil::Argument_ENTITY); + current->add("RefDirection",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcBooleanResult] = new IfcEntityDescriptor(Type::IfcBooleanResult,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("Operator",false,IfcUtil::Argument_ENUMERATION,Type::IfcBooleanOperator); + current->add("FirstOperand",false,IfcUtil::Argument_ENTITY); + current->add("SecondOperand",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcBoundedSurface] = new IfcEntityDescriptor(Type::IfcBoundedSurface,entity_descriptor_map.find(Type::IfcSurface)->second); + + current = entity_descriptor_map[Type::IfcBoundingBox] = new IfcEntityDescriptor(Type::IfcBoundingBox,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("Corner",false,IfcUtil::Argument_ENTITY); + current->add("XDim",false,IfcUtil::Argument_DOUBLE); + current->add("YDim",false,IfcUtil::Argument_DOUBLE); + current->add("ZDim",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcBoxedHalfSpace] = new IfcEntityDescriptor(Type::IfcBoxedHalfSpace,entity_descriptor_map.find(Type::IfcHalfSpaceSolid)->second); + current->add("Enclosure",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcCShapeProfileDef] = new IfcEntityDescriptor(Type::IfcCShapeProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); + current->add("Depth",false,IfcUtil::Argument_DOUBLE); + current->add("Width",false,IfcUtil::Argument_DOUBLE); + current->add("WallThickness",false,IfcUtil::Argument_DOUBLE); + current->add("Girth",false,IfcUtil::Argument_DOUBLE); + current->add("InternalFilletRadius",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcCartesianPoint] = new IfcEntityDescriptor(Type::IfcCartesianPoint,entity_descriptor_map.find(Type::IfcPoint)->second); + current->add("Coordinates",false,IfcUtil::Argument_VECTOR_DOUBLE); + current = entity_descriptor_map[Type::IfcCartesianPointList] = new IfcEntityDescriptor(Type::IfcCartesianPointList,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + + current = entity_descriptor_map[Type::IfcCartesianPointList3D] = new IfcEntityDescriptor(Type::IfcCartesianPointList3D,entity_descriptor_map.find(Type::IfcCartesianPointList)->second); + + current = entity_descriptor_map[Type::IfcCartesianTransformationOperator] = new IfcEntityDescriptor(Type::IfcCartesianTransformationOperator,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("Axis1",true,IfcUtil::Argument_ENTITY); + current->add("Axis2",true,IfcUtil::Argument_ENTITY); + current->add("LocalOrigin",false,IfcUtil::Argument_ENTITY); + current->add("Scale",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcCartesianTransformationOperator2D] = new IfcEntityDescriptor(Type::IfcCartesianTransformationOperator2D,entity_descriptor_map.find(Type::IfcCartesianTransformationOperator)->second); + + current = entity_descriptor_map[Type::IfcCartesianTransformationOperator2DnonUniform] = new IfcEntityDescriptor(Type::IfcCartesianTransformationOperator2DnonUniform,entity_descriptor_map.find(Type::IfcCartesianTransformationOperator2D)->second); + current->add("Scale2",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcCartesianTransformationOperator3D] = new IfcEntityDescriptor(Type::IfcCartesianTransformationOperator3D,entity_descriptor_map.find(Type::IfcCartesianTransformationOperator)->second); + current->add("Axis3",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcCartesianTransformationOperator3DnonUniform] = new IfcEntityDescriptor(Type::IfcCartesianTransformationOperator3DnonUniform,entity_descriptor_map.find(Type::IfcCartesianTransformationOperator3D)->second); + current->add("Scale2",true,IfcUtil::Argument_DOUBLE); + current->add("Scale3",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcCircleProfileDef] = new IfcEntityDescriptor(Type::IfcCircleProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); + current->add("Radius",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcClosedShell] = new IfcEntityDescriptor(Type::IfcClosedShell,entity_descriptor_map.find(Type::IfcConnectedFaceSet)->second); + + current = entity_descriptor_map[Type::IfcColourRgb] = new IfcEntityDescriptor(Type::IfcColourRgb,entity_descriptor_map.find(Type::IfcColourSpecification)->second); + current->add("Red",false,IfcUtil::Argument_DOUBLE); + current->add("Green",false,IfcUtil::Argument_DOUBLE); + current->add("Blue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcComplexProperty] = new IfcEntityDescriptor(Type::IfcComplexProperty,entity_descriptor_map.find(Type::IfcProperty)->second); + current->add("UsageName",false,IfcUtil::Argument_STRING); + current->add("HasProperties",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcCompositeCurveSegment] = new IfcEntityDescriptor(Type::IfcCompositeCurveSegment,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("Transition",false,IfcUtil::Argument_ENUMERATION,Type::IfcTransitionCode); + current->add("SameSense",false,IfcUtil::Argument_BOOL); + current->add("ParentCurve",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcConstructionResourceType] = new IfcEntityDescriptor(Type::IfcConstructionResourceType,entity_descriptor_map.find(Type::IfcTypeResource)->second); + current->add("BaseCosts",true,IfcUtil::Argument_ENTITY_LIST); + current->add("BaseQuantity",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcContext] = new IfcEntityDescriptor(Type::IfcContext,entity_descriptor_map.find(Type::IfcObjectDefinition)->second); + current->add("ObjectType",true,IfcUtil::Argument_STRING); + current->add("LongName",true,IfcUtil::Argument_STRING); + current->add("Phase",true,IfcUtil::Argument_STRING); + current->add("RepresentationContexts",true,IfcUtil::Argument_ENTITY_LIST); + current->add("UnitsInContext",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcCrewResourceType] = new IfcEntityDescriptor(Type::IfcCrewResourceType,entity_descriptor_map.find(Type::IfcConstructionResourceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcCrewResourceTypeEnum); + current = entity_descriptor_map[Type::IfcCsgPrimitive3D] = new IfcEntityDescriptor(Type::IfcCsgPrimitive3D,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("Position",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcCsgSolid] = new IfcEntityDescriptor(Type::IfcCsgSolid,entity_descriptor_map.find(Type::IfcSolidModel)->second); + current->add("TreeRootExpression",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcCurve] = new IfcEntityDescriptor(Type::IfcCurve,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + + current = entity_descriptor_map[Type::IfcCurveBoundedPlane] = new IfcEntityDescriptor(Type::IfcCurveBoundedPlane,entity_descriptor_map.find(Type::IfcBoundedSurface)->second); + current->add("BasisSurface",false,IfcUtil::Argument_ENTITY); + current->add("OuterBoundary",false,IfcUtil::Argument_ENTITY); + current->add("InnerBoundaries",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcCurveBoundedSurface] = new IfcEntityDescriptor(Type::IfcCurveBoundedSurface,entity_descriptor_map.find(Type::IfcBoundedSurface)->second); + current->add("BasisSurface",false,IfcUtil::Argument_ENTITY); + current->add("Boundaries",false,IfcUtil::Argument_ENTITY_LIST); + current->add("ImplicitOuter",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcDirection] = new IfcEntityDescriptor(Type::IfcDirection,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("DirectionRatios",false,IfcUtil::Argument_VECTOR_DOUBLE); + current = entity_descriptor_map[Type::IfcDoorStyle] = new IfcEntityDescriptor(Type::IfcDoorStyle,entity_descriptor_map.find(Type::IfcTypeProduct)->second); + current->add("OperationType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDoorStyleOperationEnum); + current->add("ConstructionType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDoorStyleConstructionEnum); + current->add("ParameterTakesPrecedence",false,IfcUtil::Argument_BOOL); + current->add("Sizeable",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcEdgeLoop] = new IfcEntityDescriptor(Type::IfcEdgeLoop,entity_descriptor_map.find(Type::IfcLoop)->second); + current->add("EdgeList",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcElementQuantity] = new IfcEntityDescriptor(Type::IfcElementQuantity,entity_descriptor_map.find(Type::IfcQuantitySet)->second); + current->add("MethodOfMeasurement",true,IfcUtil::Argument_STRING); + current->add("Quantities",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcElementType] = new IfcEntityDescriptor(Type::IfcElementType,entity_descriptor_map.find(Type::IfcTypeProduct)->second); + current->add("ElementType",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcElementarySurface] = new IfcEntityDescriptor(Type::IfcElementarySurface,entity_descriptor_map.find(Type::IfcSurface)->second); + current->add("Position",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcEllipseProfileDef] = new IfcEntityDescriptor(Type::IfcEllipseProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); + current->add("SemiAxis1",false,IfcUtil::Argument_DOUBLE); + current->add("SemiAxis2",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcEventType] = new IfcEntityDescriptor(Type::IfcEventType,entity_descriptor_map.find(Type::IfcTypeProcess)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcEventTypeEnum); + current->add("EventTriggerType",false,IfcUtil::Argument_ENUMERATION,Type::IfcEventTriggerTypeEnum); + current->add("UserDefinedEventTriggerType",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcExtrudedAreaSolid] = new IfcEntityDescriptor(Type::IfcExtrudedAreaSolid,entity_descriptor_map.find(Type::IfcSweptAreaSolid)->second); + current->add("ExtrudedDirection",false,IfcUtil::Argument_ENTITY); + current->add("Depth",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcExtrudedAreaSolidTapered] = new IfcEntityDescriptor(Type::IfcExtrudedAreaSolidTapered,entity_descriptor_map.find(Type::IfcExtrudedAreaSolid)->second); + current->add("EndSweptArea",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcFaceBasedSurfaceModel] = new IfcEntityDescriptor(Type::IfcFaceBasedSurfaceModel,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("FbsmFaces",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcFillAreaStyleHatching] = new IfcEntityDescriptor(Type::IfcFillAreaStyleHatching,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("HatchLineAppearance",false,IfcUtil::Argument_ENTITY); + current->add("StartOfNextHatchLine",false,IfcUtil::Argument_ENTITY); + current->add("PointOfReferenceHatchLine",true,IfcUtil::Argument_ENTITY); + current->add("PatternStart",true,IfcUtil::Argument_ENTITY); + current->add("HatchLineAngle",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcFillAreaStyleTiles] = new IfcEntityDescriptor(Type::IfcFillAreaStyleTiles,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current->add("TilingPattern",false,IfcUtil::Argument_ENTITY_LIST); + current->add("Tiles",false,IfcUtil::Argument_ENTITY_LIST); + current->add("TilingScale",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcFixedReferenceSweptAreaSolid] = new IfcEntityDescriptor(Type::IfcFixedReferenceSweptAreaSolid,entity_descriptor_map.find(Type::IfcSweptAreaSolid)->second); + current->add("Directrix",false,IfcUtil::Argument_ENTITY); + current->add("StartParam",true,IfcUtil::Argument_DOUBLE); + current->add("EndParam",true,IfcUtil::Argument_DOUBLE); + current->add("FixedReference",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcFurnishingElementType] = new IfcEntityDescriptor(Type::IfcFurnishingElementType,entity_descriptor_map.find(Type::IfcElementType)->second); + + current = entity_descriptor_map[Type::IfcFurnitureType] = new IfcEntityDescriptor(Type::IfcFurnitureType,entity_descriptor_map.find(Type::IfcFurnishingElementType)->second); + current->add("AssemblyPlace",false,IfcUtil::Argument_ENUMERATION,Type::IfcAssemblyPlaceEnum); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcFurnitureTypeEnum); + current = entity_descriptor_map[Type::IfcGeographicElementType] = new IfcEntityDescriptor(Type::IfcGeographicElementType,entity_descriptor_map.find(Type::IfcElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcGeographicElementTypeEnum); + current = entity_descriptor_map[Type::IfcGeometricCurveSet] = new IfcEntityDescriptor(Type::IfcGeometricCurveSet,entity_descriptor_map.find(Type::IfcGeometricSet)->second); + + current = entity_descriptor_map[Type::IfcIShapeProfileDef] = new IfcEntityDescriptor(Type::IfcIShapeProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); + current->add("OverallWidth",false,IfcUtil::Argument_DOUBLE); + current->add("OverallDepth",false,IfcUtil::Argument_DOUBLE); + current->add("WebThickness",false,IfcUtil::Argument_DOUBLE); + current->add("FlangeThickness",false,IfcUtil::Argument_DOUBLE); + current->add("FilletRadius",true,IfcUtil::Argument_DOUBLE); + current->add("FlangeEdgeRadius",true,IfcUtil::Argument_DOUBLE); + current->add("FlangeSlope",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLShapeProfileDef] = new IfcEntityDescriptor(Type::IfcLShapeProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); + current->add("Depth",false,IfcUtil::Argument_DOUBLE); + current->add("Width",true,IfcUtil::Argument_DOUBLE); + current->add("Thickness",false,IfcUtil::Argument_DOUBLE); + current->add("FilletRadius",true,IfcUtil::Argument_DOUBLE); + current->add("EdgeRadius",true,IfcUtil::Argument_DOUBLE); + current->add("LegSlope",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLaborResourceType] = new IfcEntityDescriptor(Type::IfcLaborResourceType,entity_descriptor_map.find(Type::IfcConstructionResourceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcLaborResourceTypeEnum); + current = entity_descriptor_map[Type::IfcLine] = new IfcEntityDescriptor(Type::IfcLine,entity_descriptor_map.find(Type::IfcCurve)->second); + current->add("Pnt",false,IfcUtil::Argument_ENTITY); + current->add("Dir",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcManifoldSolidBrep] = new IfcEntityDescriptor(Type::IfcManifoldSolidBrep,entity_descriptor_map.find(Type::IfcSolidModel)->second); + current->add("Outer",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcObject] = new IfcEntityDescriptor(Type::IfcObject,entity_descriptor_map.find(Type::IfcObjectDefinition)->second); + current->add("ObjectType",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcOffsetCurve2D] = new IfcEntityDescriptor(Type::IfcOffsetCurve2D,entity_descriptor_map.find(Type::IfcCurve)->second); + current->add("BasisCurve",false,IfcUtil::Argument_ENTITY); + current->add("Distance",false,IfcUtil::Argument_DOUBLE); + current->add("SelfIntersect",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcOffsetCurve3D] = new IfcEntityDescriptor(Type::IfcOffsetCurve3D,entity_descriptor_map.find(Type::IfcCurve)->second); + current->add("BasisCurve",false,IfcUtil::Argument_ENTITY); + current->add("Distance",false,IfcUtil::Argument_DOUBLE); + current->add("SelfIntersect",false,IfcUtil::Argument_BOOL); + current->add("RefDirection",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPcurve] = new IfcEntityDescriptor(Type::IfcPcurve,entity_descriptor_map.find(Type::IfcCurve)->second); + current->add("BasisSurface",false,IfcUtil::Argument_ENTITY); + current->add("ReferenceCurve",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPlanarBox] = new IfcEntityDescriptor(Type::IfcPlanarBox,entity_descriptor_map.find(Type::IfcPlanarExtent)->second); + current->add("Placement",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPlane] = new IfcEntityDescriptor(Type::IfcPlane,entity_descriptor_map.find(Type::IfcElementarySurface)->second); + + current = entity_descriptor_map[Type::IfcPreDefinedColour] = new IfcEntityDescriptor(Type::IfcPreDefinedColour,entity_descriptor_map.find(Type::IfcPreDefinedItem)->second); + + current = entity_descriptor_map[Type::IfcPreDefinedCurveFont] = new IfcEntityDescriptor(Type::IfcPreDefinedCurveFont,entity_descriptor_map.find(Type::IfcPreDefinedItem)->second); + + current = entity_descriptor_map[Type::IfcPreDefinedPropertySet] = new IfcEntityDescriptor(Type::IfcPreDefinedPropertySet,entity_descriptor_map.find(Type::IfcPropertySetDefinition)->second); + + current = entity_descriptor_map[Type::IfcProcedureType] = new IfcEntityDescriptor(Type::IfcProcedureType,entity_descriptor_map.find(Type::IfcTypeProcess)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcProcedureTypeEnum); + current = entity_descriptor_map[Type::IfcProcess] = new IfcEntityDescriptor(Type::IfcProcess,entity_descriptor_map.find(Type::IfcObject)->second); + current->add("Identification",true,IfcUtil::Argument_STRING); + current->add("LongDescription",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcProduct] = new IfcEntityDescriptor(Type::IfcProduct,entity_descriptor_map.find(Type::IfcObject)->second); + current->add("ObjectPlacement",true,IfcUtil::Argument_ENTITY); + current->add("Representation",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcProject] = new IfcEntityDescriptor(Type::IfcProject,entity_descriptor_map.find(Type::IfcContext)->second); + + current = entity_descriptor_map[Type::IfcProjectLibrary] = new IfcEntityDescriptor(Type::IfcProjectLibrary,entity_descriptor_map.find(Type::IfcContext)->second); + + current = entity_descriptor_map[Type::IfcPropertyBoundedValue] = new IfcEntityDescriptor(Type::IfcPropertyBoundedValue,entity_descriptor_map.find(Type::IfcSimpleProperty)->second); + current->add("UpperBoundValue",true,IfcUtil::Argument_ENTITY); + current->add("LowerBoundValue",true,IfcUtil::Argument_ENTITY); + current->add("Unit",true,IfcUtil::Argument_ENTITY); + current->add("SetPointValue",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPropertyEnumeratedValue] = new IfcEntityDescriptor(Type::IfcPropertyEnumeratedValue,entity_descriptor_map.find(Type::IfcSimpleProperty)->second); + current->add("EnumerationValues",true,IfcUtil::Argument_ENTITY_LIST); + current->add("EnumerationReference",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPropertyListValue] = new IfcEntityDescriptor(Type::IfcPropertyListValue,entity_descriptor_map.find(Type::IfcSimpleProperty)->second); + current->add("ListValues",true,IfcUtil::Argument_ENTITY_LIST); + current->add("Unit",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPropertyReferenceValue] = new IfcEntityDescriptor(Type::IfcPropertyReferenceValue,entity_descriptor_map.find(Type::IfcSimpleProperty)->second); + current->add("UsageName",true,IfcUtil::Argument_STRING); + current->add("PropertyReference",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPropertySet] = new IfcEntityDescriptor(Type::IfcPropertySet,entity_descriptor_map.find(Type::IfcPropertySetDefinition)->second); + current->add("HasProperties",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcPropertySetTemplate] = new IfcEntityDescriptor(Type::IfcPropertySetTemplate,entity_descriptor_map.find(Type::IfcPropertyTemplateDefinition)->second); + current->add("TemplateType",true,IfcUtil::Argument_ENUMERATION,Type::IfcPropertySetTemplateTypeEnum); + current->add("ApplicableEntity",true,IfcUtil::Argument_STRING); + current->add("HasPropertyTemplates",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcPropertySingleValue] = new IfcEntityDescriptor(Type::IfcPropertySingleValue,entity_descriptor_map.find(Type::IfcSimpleProperty)->second); + current->add("NominalValue",true,IfcUtil::Argument_ENTITY); + current->add("Unit",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPropertyTableValue] = new IfcEntityDescriptor(Type::IfcPropertyTableValue,entity_descriptor_map.find(Type::IfcSimpleProperty)->second); + current->add("DefiningValues",true,IfcUtil::Argument_ENTITY_LIST); + current->add("DefinedValues",true,IfcUtil::Argument_ENTITY_LIST); + current->add("Expression",true,IfcUtil::Argument_STRING); + current->add("DefiningUnit",true,IfcUtil::Argument_ENTITY); + current->add("DefinedUnit",true,IfcUtil::Argument_ENTITY); + current->add("CurveInterpolation",true,IfcUtil::Argument_ENUMERATION,Type::IfcCurveInterpolationEnum); + current = entity_descriptor_map[Type::IfcPropertyTemplate] = new IfcEntityDescriptor(Type::IfcPropertyTemplate,entity_descriptor_map.find(Type::IfcPropertyTemplateDefinition)->second); + + current = entity_descriptor_map[Type::IfcProxy] = new IfcEntityDescriptor(Type::IfcProxy,entity_descriptor_map.find(Type::IfcProduct)->second); + current->add("ProxyType",false,IfcUtil::Argument_ENUMERATION,Type::IfcObjectTypeEnum); + current->add("Tag",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcRectangleHollowProfileDef] = new IfcEntityDescriptor(Type::IfcRectangleHollowProfileDef,entity_descriptor_map.find(Type::IfcRectangleProfileDef)->second); + current->add("WallThickness",false,IfcUtil::Argument_DOUBLE); + current->add("InnerFilletRadius",true,IfcUtil::Argument_DOUBLE); + current->add("OuterFilletRadius",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcRectangularPyramid] = new IfcEntityDescriptor(Type::IfcRectangularPyramid,entity_descriptor_map.find(Type::IfcCsgPrimitive3D)->second); + current->add("XLength",false,IfcUtil::Argument_DOUBLE); + current->add("YLength",false,IfcUtil::Argument_DOUBLE); + current->add("Height",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcRectangularTrimmedSurface] = new IfcEntityDescriptor(Type::IfcRectangularTrimmedSurface,entity_descriptor_map.find(Type::IfcBoundedSurface)->second); + current->add("BasisSurface",false,IfcUtil::Argument_ENTITY); + current->add("U1",false,IfcUtil::Argument_DOUBLE); + current->add("V1",false,IfcUtil::Argument_DOUBLE); + current->add("U2",false,IfcUtil::Argument_DOUBLE); + current->add("V2",false,IfcUtil::Argument_DOUBLE); + current->add("Usense",false,IfcUtil::Argument_BOOL); + current->add("Vsense",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcReinforcementDefinitionProperties] = new IfcEntityDescriptor(Type::IfcReinforcementDefinitionProperties,entity_descriptor_map.find(Type::IfcPreDefinedPropertySet)->second); + current->add("DefinitionType",true,IfcUtil::Argument_STRING); + current->add("ReinforcementSectionDefinitions",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcRelAssigns] = new IfcEntityDescriptor(Type::IfcRelAssigns,entity_descriptor_map.find(Type::IfcRelationship)->second); + current->add("RelatedObjects",false,IfcUtil::Argument_ENTITY_LIST); + current->add("RelatedObjectsType",true,IfcUtil::Argument_ENUMERATION,Type::IfcObjectTypeEnum); + current = entity_descriptor_map[Type::IfcRelAssignsToActor] = new IfcEntityDescriptor(Type::IfcRelAssignsToActor,entity_descriptor_map.find(Type::IfcRelAssigns)->second); + current->add("RelatingActor",false,IfcUtil::Argument_ENTITY); + current->add("ActingRole",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelAssignsToControl] = new IfcEntityDescriptor(Type::IfcRelAssignsToControl,entity_descriptor_map.find(Type::IfcRelAssigns)->second); + current->add("RelatingControl",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelAssignsToGroup] = new IfcEntityDescriptor(Type::IfcRelAssignsToGroup,entity_descriptor_map.find(Type::IfcRelAssigns)->second); + current->add("RelatingGroup",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelAssignsToGroupByFactor] = new IfcEntityDescriptor(Type::IfcRelAssignsToGroupByFactor,entity_descriptor_map.find(Type::IfcRelAssignsToGroup)->second); + current->add("Factor",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcRelAssignsToProcess] = new IfcEntityDescriptor(Type::IfcRelAssignsToProcess,entity_descriptor_map.find(Type::IfcRelAssigns)->second); + current->add("RelatingProcess",false,IfcUtil::Argument_ENTITY); + current->add("QuantityInProcess",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelAssignsToProduct] = new IfcEntityDescriptor(Type::IfcRelAssignsToProduct,entity_descriptor_map.find(Type::IfcRelAssigns)->second); + current->add("RelatingProduct",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelAssignsToResource] = new IfcEntityDescriptor(Type::IfcRelAssignsToResource,entity_descriptor_map.find(Type::IfcRelAssigns)->second); + current->add("RelatingResource",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelAssociates] = new IfcEntityDescriptor(Type::IfcRelAssociates,entity_descriptor_map.find(Type::IfcRelationship)->second); + current->add("RelatedObjects",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcRelAssociatesApproval] = new IfcEntityDescriptor(Type::IfcRelAssociatesApproval,entity_descriptor_map.find(Type::IfcRelAssociates)->second); + current->add("RelatingApproval",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelAssociatesClassification] = new IfcEntityDescriptor(Type::IfcRelAssociatesClassification,entity_descriptor_map.find(Type::IfcRelAssociates)->second); + current->add("RelatingClassification",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelAssociatesConstraint] = new IfcEntityDescriptor(Type::IfcRelAssociatesConstraint,entity_descriptor_map.find(Type::IfcRelAssociates)->second); + current->add("Intent",true,IfcUtil::Argument_STRING); + current->add("RelatingConstraint",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelAssociatesDocument] = new IfcEntityDescriptor(Type::IfcRelAssociatesDocument,entity_descriptor_map.find(Type::IfcRelAssociates)->second); + current->add("RelatingDocument",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelAssociatesLibrary] = new IfcEntityDescriptor(Type::IfcRelAssociatesLibrary,entity_descriptor_map.find(Type::IfcRelAssociates)->second); + current->add("RelatingLibrary",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelAssociatesMaterial] = new IfcEntityDescriptor(Type::IfcRelAssociatesMaterial,entity_descriptor_map.find(Type::IfcRelAssociates)->second); + current->add("RelatingMaterial",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelConnects] = new IfcEntityDescriptor(Type::IfcRelConnects,entity_descriptor_map.find(Type::IfcRelationship)->second); + + current = entity_descriptor_map[Type::IfcRelConnectsElements] = new IfcEntityDescriptor(Type::IfcRelConnectsElements,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("ConnectionGeometry",true,IfcUtil::Argument_ENTITY); + current->add("RelatingElement",false,IfcUtil::Argument_ENTITY); + current->add("RelatedElement",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelConnectsPathElements] = new IfcEntityDescriptor(Type::IfcRelConnectsPathElements,entity_descriptor_map.find(Type::IfcRelConnectsElements)->second); + current->add("RelatingPriorities",false,IfcUtil::Argument_VECTOR_DOUBLE); + current->add("RelatedPriorities",false,IfcUtil::Argument_VECTOR_DOUBLE); + current->add("RelatedConnectionType",false,IfcUtil::Argument_ENUMERATION,Type::IfcConnectionTypeEnum); + current->add("RelatingConnectionType",false,IfcUtil::Argument_ENUMERATION,Type::IfcConnectionTypeEnum); + current = entity_descriptor_map[Type::IfcRelConnectsPortToElement] = new IfcEntityDescriptor(Type::IfcRelConnectsPortToElement,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatingPort",false,IfcUtil::Argument_ENTITY); + current->add("RelatedElement",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelConnectsPorts] = new IfcEntityDescriptor(Type::IfcRelConnectsPorts,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatingPort",false,IfcUtil::Argument_ENTITY); + current->add("RelatedPort",false,IfcUtil::Argument_ENTITY); + current->add("RealizingElement",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelConnectsStructuralActivity] = new IfcEntityDescriptor(Type::IfcRelConnectsStructuralActivity,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatingElement",false,IfcUtil::Argument_ENTITY); + current->add("RelatedStructuralActivity",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelConnectsStructuralMember] = new IfcEntityDescriptor(Type::IfcRelConnectsStructuralMember,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatingStructuralMember",false,IfcUtil::Argument_ENTITY); + current->add("RelatedStructuralConnection",false,IfcUtil::Argument_ENTITY); + current->add("AppliedCondition",true,IfcUtil::Argument_ENTITY); + current->add("AdditionalConditions",true,IfcUtil::Argument_ENTITY); + current->add("SupportedLength",true,IfcUtil::Argument_DOUBLE); + current->add("ConditionCoordinateSystem",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelConnectsWithEccentricity] = new IfcEntityDescriptor(Type::IfcRelConnectsWithEccentricity,entity_descriptor_map.find(Type::IfcRelConnectsStructuralMember)->second); + current->add("ConnectionConstraint",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelConnectsWithRealizingElements] = new IfcEntityDescriptor(Type::IfcRelConnectsWithRealizingElements,entity_descriptor_map.find(Type::IfcRelConnectsElements)->second); + current->add("RealizingElements",false,IfcUtil::Argument_ENTITY_LIST); + current->add("ConnectionType",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcRelContainedInSpatialStructure] = new IfcEntityDescriptor(Type::IfcRelContainedInSpatialStructure,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatedElements",false,IfcUtil::Argument_ENTITY_LIST); + current->add("RelatingStructure",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelCoversBldgElements] = new IfcEntityDescriptor(Type::IfcRelCoversBldgElements,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatingBuildingElement",false,IfcUtil::Argument_ENTITY); + current->add("RelatedCoverings",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcRelCoversSpaces] = new IfcEntityDescriptor(Type::IfcRelCoversSpaces,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatingSpace",false,IfcUtil::Argument_ENTITY); + current->add("RelatedCoverings",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcRelDeclares] = new IfcEntityDescriptor(Type::IfcRelDeclares,entity_descriptor_map.find(Type::IfcRelationship)->second); + current->add("RelatingContext",false,IfcUtil::Argument_ENTITY); + current->add("RelatedDefinitions",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcRelDecomposes] = new IfcEntityDescriptor(Type::IfcRelDecomposes,entity_descriptor_map.find(Type::IfcRelationship)->second); + + current = entity_descriptor_map[Type::IfcRelDefines] = new IfcEntityDescriptor(Type::IfcRelDefines,entity_descriptor_map.find(Type::IfcRelationship)->second); + + current = entity_descriptor_map[Type::IfcRelDefinesByObject] = new IfcEntityDescriptor(Type::IfcRelDefinesByObject,entity_descriptor_map.find(Type::IfcRelDefines)->second); + current->add("RelatedObjects",false,IfcUtil::Argument_ENTITY_LIST); + current->add("RelatingObject",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelDefinesByProperties] = new IfcEntityDescriptor(Type::IfcRelDefinesByProperties,entity_descriptor_map.find(Type::IfcRelDefines)->second); + current->add("RelatedObjects",false,IfcUtil::Argument_ENTITY_LIST); + current->add("RelatingPropertyDefinition",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelDefinesByTemplate] = new IfcEntityDescriptor(Type::IfcRelDefinesByTemplate,entity_descriptor_map.find(Type::IfcRelDefines)->second); + current->add("RelatedPropertySets",false,IfcUtil::Argument_ENTITY_LIST); + current->add("RelatingTemplate",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelDefinesByType] = new IfcEntityDescriptor(Type::IfcRelDefinesByType,entity_descriptor_map.find(Type::IfcRelDefines)->second); + current->add("RelatedObjects",false,IfcUtil::Argument_ENTITY_LIST); + current->add("RelatingType",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelFillsElement] = new IfcEntityDescriptor(Type::IfcRelFillsElement,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatingOpeningElement",false,IfcUtil::Argument_ENTITY); + current->add("RelatedBuildingElement",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelFlowControlElements] = new IfcEntityDescriptor(Type::IfcRelFlowControlElements,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatedControlElements",false,IfcUtil::Argument_ENTITY_LIST); + current->add("RelatingFlowElement",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelInterferesElements] = new IfcEntityDescriptor(Type::IfcRelInterferesElements,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatingElement",false,IfcUtil::Argument_ENTITY); + current->add("RelatedElement",false,IfcUtil::Argument_ENTITY); + current->add("InterferenceGeometry",true,IfcUtil::Argument_ENTITY); + current->add("InterferenceType",true,IfcUtil::Argument_STRING); + current->add("ImpliedOrder",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcRelNests] = new IfcEntityDescriptor(Type::IfcRelNests,entity_descriptor_map.find(Type::IfcRelDecomposes)->second); + current->add("RelatingObject",false,IfcUtil::Argument_ENTITY); + current->add("RelatedObjects",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcRelProjectsElement] = new IfcEntityDescriptor(Type::IfcRelProjectsElement,entity_descriptor_map.find(Type::IfcRelDecomposes)->second); + current->add("RelatingElement",false,IfcUtil::Argument_ENTITY); + current->add("RelatedFeatureElement",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelReferencedInSpatialStructure] = new IfcEntityDescriptor(Type::IfcRelReferencedInSpatialStructure,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatedElements",false,IfcUtil::Argument_ENTITY_LIST); + current->add("RelatingStructure",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelSequence] = new IfcEntityDescriptor(Type::IfcRelSequence,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatingProcess",false,IfcUtil::Argument_ENTITY); + current->add("RelatedProcess",false,IfcUtil::Argument_ENTITY); + current->add("TimeLag",true,IfcUtil::Argument_ENTITY); + current->add("SequenceType",true,IfcUtil::Argument_ENUMERATION,Type::IfcSequenceEnum); + current->add("UserDefinedSequenceType",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcRelServicesBuildings] = new IfcEntityDescriptor(Type::IfcRelServicesBuildings,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatingSystem",false,IfcUtil::Argument_ENTITY); + current->add("RelatedBuildings",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcRelSpaceBoundary] = new IfcEntityDescriptor(Type::IfcRelSpaceBoundary,entity_descriptor_map.find(Type::IfcRelConnects)->second); + current->add("RelatingSpace",false,IfcUtil::Argument_ENTITY); + current->add("RelatedBuildingElement",false,IfcUtil::Argument_ENTITY); + current->add("ConnectionGeometry",true,IfcUtil::Argument_ENTITY); + current->add("PhysicalOrVirtualBoundary",false,IfcUtil::Argument_ENUMERATION,Type::IfcPhysicalOrVirtualEnum); + current->add("InternalOrExternalBoundary",false,IfcUtil::Argument_ENUMERATION,Type::IfcInternalOrExternalEnum); + current = entity_descriptor_map[Type::IfcRelSpaceBoundary1stLevel] = new IfcEntityDescriptor(Type::IfcRelSpaceBoundary1stLevel,entity_descriptor_map.find(Type::IfcRelSpaceBoundary)->second); + current->add("ParentBoundary",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelSpaceBoundary2ndLevel] = new IfcEntityDescriptor(Type::IfcRelSpaceBoundary2ndLevel,entity_descriptor_map.find(Type::IfcRelSpaceBoundary1stLevel)->second); + current->add("CorrespondingBoundary",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRelVoidsElement] = new IfcEntityDescriptor(Type::IfcRelVoidsElement,entity_descriptor_map.find(Type::IfcRelDecomposes)->second); + current->add("RelatingBuildingElement",false,IfcUtil::Argument_ENTITY); + current->add("RelatedOpeningElement",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcReparametrisedCompositeCurveSegment] = new IfcEntityDescriptor(Type::IfcReparametrisedCompositeCurveSegment,entity_descriptor_map.find(Type::IfcCompositeCurveSegment)->second); + current->add("ParamLength",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcResource] = new IfcEntityDescriptor(Type::IfcResource,entity_descriptor_map.find(Type::IfcObject)->second); + current->add("Identification",true,IfcUtil::Argument_STRING); + current->add("LongDescription",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcRevolvedAreaSolid] = new IfcEntityDescriptor(Type::IfcRevolvedAreaSolid,entity_descriptor_map.find(Type::IfcSweptAreaSolid)->second); + current->add("Axis",false,IfcUtil::Argument_ENTITY); + current->add("Angle",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcRevolvedAreaSolidTapered] = new IfcEntityDescriptor(Type::IfcRevolvedAreaSolidTapered,entity_descriptor_map.find(Type::IfcRevolvedAreaSolid)->second); + current->add("EndSweptArea",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcRightCircularCone] = new IfcEntityDescriptor(Type::IfcRightCircularCone,entity_descriptor_map.find(Type::IfcCsgPrimitive3D)->second); + current->add("Height",false,IfcUtil::Argument_DOUBLE); + current->add("BottomRadius",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcRightCircularCylinder] = new IfcEntityDescriptor(Type::IfcRightCircularCylinder,entity_descriptor_map.find(Type::IfcCsgPrimitive3D)->second); + current->add("Height",false,IfcUtil::Argument_DOUBLE); + current->add("Radius",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSimplePropertyTemplate] = new IfcEntityDescriptor(Type::IfcSimplePropertyTemplate,entity_descriptor_map.find(Type::IfcPropertyTemplate)->second); + current->add("TemplateType",true,IfcUtil::Argument_ENUMERATION,Type::IfcSimplePropertyTemplateTypeEnum); + current->add("PrimaryMeasureType",true,IfcUtil::Argument_STRING); + current->add("SecondaryMeasureType",true,IfcUtil::Argument_STRING); + current->add("Enumerators",true,IfcUtil::Argument_ENTITY); + current->add("PrimaryUnit",true,IfcUtil::Argument_ENTITY); + current->add("SecondaryUnit",true,IfcUtil::Argument_ENTITY); + current->add("Expression",true,IfcUtil::Argument_STRING); + current->add("AccessState",true,IfcUtil::Argument_ENUMERATION,Type::IfcStateEnum); + current = entity_descriptor_map[Type::IfcSpatialElement] = new IfcEntityDescriptor(Type::IfcSpatialElement,entity_descriptor_map.find(Type::IfcProduct)->second); + current->add("LongName",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcSpatialElementType] = new IfcEntityDescriptor(Type::IfcSpatialElementType,entity_descriptor_map.find(Type::IfcTypeProduct)->second); + current->add("ElementType",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcSpatialStructureElement] = new IfcEntityDescriptor(Type::IfcSpatialStructureElement,entity_descriptor_map.find(Type::IfcSpatialElement)->second); + current->add("CompositionType",true,IfcUtil::Argument_ENUMERATION,Type::IfcElementCompositionEnum); + current = entity_descriptor_map[Type::IfcSpatialStructureElementType] = new IfcEntityDescriptor(Type::IfcSpatialStructureElementType,entity_descriptor_map.find(Type::IfcSpatialElementType)->second); + + current = entity_descriptor_map[Type::IfcSpatialZone] = new IfcEntityDescriptor(Type::IfcSpatialZone,entity_descriptor_map.find(Type::IfcSpatialElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcSpatialZoneTypeEnum); + current = entity_descriptor_map[Type::IfcSpatialZoneType] = new IfcEntityDescriptor(Type::IfcSpatialZoneType,entity_descriptor_map.find(Type::IfcSpatialElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcSpatialZoneTypeEnum); + current->add("LongName",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcSphere] = new IfcEntityDescriptor(Type::IfcSphere,entity_descriptor_map.find(Type::IfcCsgPrimitive3D)->second); + current->add("Radius",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcStructuralActivity] = new IfcEntityDescriptor(Type::IfcStructuralActivity,entity_descriptor_map.find(Type::IfcProduct)->second); + current->add("AppliedLoad",false,IfcUtil::Argument_ENTITY); + current->add("GlobalOrLocal",false,IfcUtil::Argument_ENUMERATION,Type::IfcGlobalOrLocalEnum); + current = entity_descriptor_map[Type::IfcStructuralItem] = new IfcEntityDescriptor(Type::IfcStructuralItem,entity_descriptor_map.find(Type::IfcProduct)->second); + + current = entity_descriptor_map[Type::IfcStructuralMember] = new IfcEntityDescriptor(Type::IfcStructuralMember,entity_descriptor_map.find(Type::IfcStructuralItem)->second); + + current = entity_descriptor_map[Type::IfcStructuralReaction] = new IfcEntityDescriptor(Type::IfcStructuralReaction,entity_descriptor_map.find(Type::IfcStructuralActivity)->second); + + current = entity_descriptor_map[Type::IfcStructuralSurfaceMember] = new IfcEntityDescriptor(Type::IfcStructuralSurfaceMember,entity_descriptor_map.find(Type::IfcStructuralMember)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcStructuralSurfaceMemberTypeEnum); + current->add("Thickness",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcStructuralSurfaceMemberVarying] = new IfcEntityDescriptor(Type::IfcStructuralSurfaceMemberVarying,entity_descriptor_map.find(Type::IfcStructuralSurfaceMember)->second); + + current = entity_descriptor_map[Type::IfcStructuralSurfaceReaction] = new IfcEntityDescriptor(Type::IfcStructuralSurfaceReaction,entity_descriptor_map.find(Type::IfcStructuralReaction)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcStructuralSurfaceActivityTypeEnum); + current = entity_descriptor_map[Type::IfcSubContractResourceType] = new IfcEntityDescriptor(Type::IfcSubContractResourceType,entity_descriptor_map.find(Type::IfcConstructionResourceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcSubContractResourceTypeEnum); + current = entity_descriptor_map[Type::IfcSurfaceCurveSweptAreaSolid] = new IfcEntityDescriptor(Type::IfcSurfaceCurveSweptAreaSolid,entity_descriptor_map.find(Type::IfcSweptAreaSolid)->second); + current->add("Directrix",false,IfcUtil::Argument_ENTITY); + current->add("StartParam",true,IfcUtil::Argument_DOUBLE); + current->add("EndParam",true,IfcUtil::Argument_DOUBLE); + current->add("ReferenceSurface",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcSurfaceOfLinearExtrusion] = new IfcEntityDescriptor(Type::IfcSurfaceOfLinearExtrusion,entity_descriptor_map.find(Type::IfcSweptSurface)->second); + current->add("ExtrudedDirection",false,IfcUtil::Argument_ENTITY); + current->add("Depth",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSurfaceOfRevolution] = new IfcEntityDescriptor(Type::IfcSurfaceOfRevolution,entity_descriptor_map.find(Type::IfcSweptSurface)->second); + current->add("AxisPosition",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcSystemFurnitureElementType] = new IfcEntityDescriptor(Type::IfcSystemFurnitureElementType,entity_descriptor_map.find(Type::IfcFurnishingElementType)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcSystemFurnitureElementTypeEnum); + current = entity_descriptor_map[Type::IfcTask] = new IfcEntityDescriptor(Type::IfcTask,entity_descriptor_map.find(Type::IfcProcess)->second); + current->add("Status",true,IfcUtil::Argument_STRING); + current->add("WorkMethod",true,IfcUtil::Argument_STRING); + current->add("IsMilestone",false,IfcUtil::Argument_BOOL); + current->add("Priority",true,IfcUtil::Argument_INT); + current->add("TaskTime",true,IfcUtil::Argument_ENTITY); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcTaskTypeEnum); + current = entity_descriptor_map[Type::IfcTaskType] = new IfcEntityDescriptor(Type::IfcTaskType,entity_descriptor_map.find(Type::IfcTypeProcess)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcTaskTypeEnum); + current->add("WorkMethod",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcTessellatedFaceSet] = new IfcEntityDescriptor(Type::IfcTessellatedFaceSet,entity_descriptor_map.find(Type::IfcTessellatedItem)->second); + current->add("Coordinates",false,IfcUtil::Argument_ENTITY); + current->add("Closed",true,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcTransportElementType] = new IfcEntityDescriptor(Type::IfcTransportElementType,entity_descriptor_map.find(Type::IfcElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcTransportElementTypeEnum); + current = entity_descriptor_map[Type::IfcTriangulatedFaceSet] = new IfcEntityDescriptor(Type::IfcTriangulatedFaceSet,entity_descriptor_map.find(Type::IfcTessellatedFaceSet)->second); + + current = entity_descriptor_map[Type::IfcWindowLiningProperties] = new IfcEntityDescriptor(Type::IfcWindowLiningProperties,entity_descriptor_map.find(Type::IfcPreDefinedPropertySet)->second); + current->add("LiningDepth",true,IfcUtil::Argument_DOUBLE); + current->add("LiningThickness",true,IfcUtil::Argument_DOUBLE); + current->add("TransomThickness",true,IfcUtil::Argument_DOUBLE); + current->add("MullionThickness",true,IfcUtil::Argument_DOUBLE); + current->add("FirstTransomOffset",true,IfcUtil::Argument_DOUBLE); + current->add("SecondTransomOffset",true,IfcUtil::Argument_DOUBLE); + current->add("FirstMullionOffset",true,IfcUtil::Argument_DOUBLE); + current->add("SecondMullionOffset",true,IfcUtil::Argument_DOUBLE); + current->add("ShapeAspectStyle",true,IfcUtil::Argument_ENTITY); + current->add("LiningOffset",true,IfcUtil::Argument_DOUBLE); + current->add("LiningToPanelOffsetX",true,IfcUtil::Argument_DOUBLE); + current->add("LiningToPanelOffsetY",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcWindowPanelProperties] = new IfcEntityDescriptor(Type::IfcWindowPanelProperties,entity_descriptor_map.find(Type::IfcPreDefinedPropertySet)->second); + current->add("OperationType",false,IfcUtil::Argument_ENUMERATION,Type::IfcWindowPanelOperationEnum); + current->add("PanelPosition",false,IfcUtil::Argument_ENUMERATION,Type::IfcWindowPanelPositionEnum); + current->add("FrameDepth",true,IfcUtil::Argument_DOUBLE); + current->add("FrameThickness",true,IfcUtil::Argument_DOUBLE); + current->add("ShapeAspectStyle",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcActor] = new IfcEntityDescriptor(Type::IfcActor,entity_descriptor_map.find(Type::IfcObject)->second); + current->add("TheActor",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcAdvancedBrep] = new IfcEntityDescriptor(Type::IfcAdvancedBrep,entity_descriptor_map.find(Type::IfcManifoldSolidBrep)->second); + + current = entity_descriptor_map[Type::IfcAdvancedBrepWithVoids] = new IfcEntityDescriptor(Type::IfcAdvancedBrepWithVoids,entity_descriptor_map.find(Type::IfcAdvancedBrep)->second); + current->add("Voids",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcAnnotation] = new IfcEntityDescriptor(Type::IfcAnnotation,entity_descriptor_map.find(Type::IfcProduct)->second); + + current = entity_descriptor_map[Type::IfcBSplineSurface] = new IfcEntityDescriptor(Type::IfcBSplineSurface,entity_descriptor_map.find(Type::IfcBoundedSurface)->second); + current->add("UDegree",false,IfcUtil::Argument_INT); + current->add("VDegree",false,IfcUtil::Argument_INT); + current->add("ControlPointsList",false,IfcUtil::Argument_ENTITY_LIST_LIST); + current->add("SurfaceForm",false,IfcUtil::Argument_ENUMERATION,Type::IfcBSplineSurfaceForm); + current->add("UClosed",false,IfcUtil::Argument_BOOL); + current->add("VClosed",false,IfcUtil::Argument_BOOL); + current->add("SelfIntersect",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcBSplineSurfaceWithKnots] = new IfcEntityDescriptor(Type::IfcBSplineSurfaceWithKnots,entity_descriptor_map.find(Type::IfcBSplineSurface)->second); + current->add("UMultiplicities",false,IfcUtil::Argument_VECTOR_INT); + current->add("VMultiplicities",false,IfcUtil::Argument_VECTOR_INT); + current->add("UKnots",false,IfcUtil::Argument_VECTOR_DOUBLE); + current->add("VKnots",false,IfcUtil::Argument_VECTOR_DOUBLE); + current->add("KnotSpec",false,IfcUtil::Argument_ENUMERATION,Type::IfcKnotType); + current = entity_descriptor_map[Type::IfcBlock] = new IfcEntityDescriptor(Type::IfcBlock,entity_descriptor_map.find(Type::IfcCsgPrimitive3D)->second); + current->add("XLength",false,IfcUtil::Argument_DOUBLE); + current->add("YLength",false,IfcUtil::Argument_DOUBLE); + current->add("ZLength",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcBooleanClippingResult] = new IfcEntityDescriptor(Type::IfcBooleanClippingResult,entity_descriptor_map.find(Type::IfcBooleanResult)->second); + + current = entity_descriptor_map[Type::IfcBoundedCurve] = new IfcEntityDescriptor(Type::IfcBoundedCurve,entity_descriptor_map.find(Type::IfcCurve)->second); + + current = entity_descriptor_map[Type::IfcBuilding] = new IfcEntityDescriptor(Type::IfcBuilding,entity_descriptor_map.find(Type::IfcSpatialStructureElement)->second); + current->add("ElevationOfRefHeight",true,IfcUtil::Argument_DOUBLE); + current->add("ElevationOfTerrain",true,IfcUtil::Argument_DOUBLE); + current->add("BuildingAddress",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcBuildingElementType] = new IfcEntityDescriptor(Type::IfcBuildingElementType,entity_descriptor_map.find(Type::IfcElementType)->second); + + current = entity_descriptor_map[Type::IfcBuildingStorey] = new IfcEntityDescriptor(Type::IfcBuildingStorey,entity_descriptor_map.find(Type::IfcSpatialStructureElement)->second); + current->add("Elevation",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcChimneyType] = new IfcEntityDescriptor(Type::IfcChimneyType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcChimneyTypeEnum); + current = entity_descriptor_map[Type::IfcCircleHollowProfileDef] = new IfcEntityDescriptor(Type::IfcCircleHollowProfileDef,entity_descriptor_map.find(Type::IfcCircleProfileDef)->second); + current->add("WallThickness",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcCivilElementType] = new IfcEntityDescriptor(Type::IfcCivilElementType,entity_descriptor_map.find(Type::IfcElementType)->second); + + current = entity_descriptor_map[Type::IfcColumnType] = new IfcEntityDescriptor(Type::IfcColumnType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcColumnTypeEnum); + current = entity_descriptor_map[Type::IfcComplexPropertyTemplate] = new IfcEntityDescriptor(Type::IfcComplexPropertyTemplate,entity_descriptor_map.find(Type::IfcPropertyTemplate)->second); + current->add("UsageName",true,IfcUtil::Argument_STRING); + current->add("TemplateType",true,IfcUtil::Argument_ENUMERATION,Type::IfcComplexPropertyTemplateTypeEnum); + current->add("HasPropertyTemplates",true,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcCompositeCurve] = new IfcEntityDescriptor(Type::IfcCompositeCurve,entity_descriptor_map.find(Type::IfcBoundedCurve)->second); + current->add("Segments",false,IfcUtil::Argument_ENTITY_LIST); + current->add("SelfIntersect",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcCompositeCurveOnSurface] = new IfcEntityDescriptor(Type::IfcCompositeCurveOnSurface,entity_descriptor_map.find(Type::IfcCompositeCurve)->second); + + current = entity_descriptor_map[Type::IfcConic] = new IfcEntityDescriptor(Type::IfcConic,entity_descriptor_map.find(Type::IfcCurve)->second); + current->add("Position",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcConstructionEquipmentResourceType] = new IfcEntityDescriptor(Type::IfcConstructionEquipmentResourceType,entity_descriptor_map.find(Type::IfcConstructionResourceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcConstructionEquipmentResourceTypeEnum); + current = entity_descriptor_map[Type::IfcConstructionMaterialResourceType] = new IfcEntityDescriptor(Type::IfcConstructionMaterialResourceType,entity_descriptor_map.find(Type::IfcConstructionResourceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcConstructionMaterialResourceTypeEnum); + current = entity_descriptor_map[Type::IfcConstructionProductResourceType] = new IfcEntityDescriptor(Type::IfcConstructionProductResourceType,entity_descriptor_map.find(Type::IfcConstructionResourceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcConstructionProductResourceTypeEnum); + current = entity_descriptor_map[Type::IfcConstructionResource] = new IfcEntityDescriptor(Type::IfcConstructionResource,entity_descriptor_map.find(Type::IfcResource)->second); + current->add("Usage",true,IfcUtil::Argument_ENTITY); + current->add("BaseCosts",true,IfcUtil::Argument_ENTITY_LIST); + current->add("BaseQuantity",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcControl] = new IfcEntityDescriptor(Type::IfcControl,entity_descriptor_map.find(Type::IfcObject)->second); + current->add("Identification",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcCostItem] = new IfcEntityDescriptor(Type::IfcCostItem,entity_descriptor_map.find(Type::IfcControl)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcCostItemTypeEnum); + current->add("CostValues",true,IfcUtil::Argument_ENTITY_LIST); + current->add("CostQuantities",true,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcCostSchedule] = new IfcEntityDescriptor(Type::IfcCostSchedule,entity_descriptor_map.find(Type::IfcControl)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcCostScheduleTypeEnum); + current->add("Status",true,IfcUtil::Argument_STRING); + current->add("SubmittedOn",true,IfcUtil::Argument_STRING); + current->add("UpdateDate",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcCoveringType] = new IfcEntityDescriptor(Type::IfcCoveringType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcCoveringTypeEnum); + current = entity_descriptor_map[Type::IfcCrewResource] = new IfcEntityDescriptor(Type::IfcCrewResource,entity_descriptor_map.find(Type::IfcConstructionResource)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcCrewResourceTypeEnum); + current = entity_descriptor_map[Type::IfcCurtainWallType] = new IfcEntityDescriptor(Type::IfcCurtainWallType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcCurtainWallTypeEnum); + current = entity_descriptor_map[Type::IfcCylindricalSurface] = new IfcEntityDescriptor(Type::IfcCylindricalSurface,entity_descriptor_map.find(Type::IfcElementarySurface)->second); + current->add("Radius",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcDistributionElementType] = new IfcEntityDescriptor(Type::IfcDistributionElementType,entity_descriptor_map.find(Type::IfcElementType)->second); + + current = entity_descriptor_map[Type::IfcDistributionFlowElementType] = new IfcEntityDescriptor(Type::IfcDistributionFlowElementType,entity_descriptor_map.find(Type::IfcDistributionElementType)->second); + + current = entity_descriptor_map[Type::IfcDoorLiningProperties] = new IfcEntityDescriptor(Type::IfcDoorLiningProperties,entity_descriptor_map.find(Type::IfcPreDefinedPropertySet)->second); + current->add("LiningDepth",true,IfcUtil::Argument_DOUBLE); + current->add("LiningThickness",true,IfcUtil::Argument_DOUBLE); + current->add("ThresholdDepth",true,IfcUtil::Argument_DOUBLE); + current->add("ThresholdThickness",true,IfcUtil::Argument_DOUBLE); + current->add("TransomThickness",true,IfcUtil::Argument_DOUBLE); + current->add("TransomOffset",true,IfcUtil::Argument_DOUBLE); + current->add("LiningOffset",true,IfcUtil::Argument_DOUBLE); + current->add("ThresholdOffset",true,IfcUtil::Argument_DOUBLE); + current->add("CasingThickness",true,IfcUtil::Argument_DOUBLE); + current->add("CasingDepth",true,IfcUtil::Argument_DOUBLE); + current->add("ShapeAspectStyle",true,IfcUtil::Argument_ENTITY); + current->add("LiningToPanelOffsetX",true,IfcUtil::Argument_DOUBLE); + current->add("LiningToPanelOffsetY",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcDoorPanelProperties] = new IfcEntityDescriptor(Type::IfcDoorPanelProperties,entity_descriptor_map.find(Type::IfcPreDefinedPropertySet)->second); + current->add("PanelDepth",true,IfcUtil::Argument_DOUBLE); + current->add("PanelOperation",false,IfcUtil::Argument_ENUMERATION,Type::IfcDoorPanelOperationEnum); + current->add("PanelWidth",true,IfcUtil::Argument_DOUBLE); + current->add("PanelPosition",false,IfcUtil::Argument_ENUMERATION,Type::IfcDoorPanelPositionEnum); + current->add("ShapeAspectStyle",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcDoorType] = new IfcEntityDescriptor(Type::IfcDoorType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDoorTypeEnum); + current->add("OperationType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDoorTypeOperationEnum); + current->add("ParameterTakesPrecedence",true,IfcUtil::Argument_BOOL); + current->add("UserDefinedOperationType",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcDraughtingPreDefinedColour] = new IfcEntityDescriptor(Type::IfcDraughtingPreDefinedColour,entity_descriptor_map.find(Type::IfcPreDefinedColour)->second); + + current = entity_descriptor_map[Type::IfcDraughtingPreDefinedCurveFont] = new IfcEntityDescriptor(Type::IfcDraughtingPreDefinedCurveFont,entity_descriptor_map.find(Type::IfcPreDefinedCurveFont)->second); + + current = entity_descriptor_map[Type::IfcElement] = new IfcEntityDescriptor(Type::IfcElement,entity_descriptor_map.find(Type::IfcProduct)->second); + current->add("Tag",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcElementAssembly] = new IfcEntityDescriptor(Type::IfcElementAssembly,entity_descriptor_map.find(Type::IfcElement)->second); + current->add("AssemblyPlace",true,IfcUtil::Argument_ENUMERATION,Type::IfcAssemblyPlaceEnum); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcElementAssemblyTypeEnum); + current = entity_descriptor_map[Type::IfcElementAssemblyType] = new IfcEntityDescriptor(Type::IfcElementAssemblyType,entity_descriptor_map.find(Type::IfcElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcElementAssemblyTypeEnum); + current = entity_descriptor_map[Type::IfcElementComponent] = new IfcEntityDescriptor(Type::IfcElementComponent,entity_descriptor_map.find(Type::IfcElement)->second); + + current = entity_descriptor_map[Type::IfcElementComponentType] = new IfcEntityDescriptor(Type::IfcElementComponentType,entity_descriptor_map.find(Type::IfcElementType)->second); + + current = entity_descriptor_map[Type::IfcEllipse] = new IfcEntityDescriptor(Type::IfcEllipse,entity_descriptor_map.find(Type::IfcConic)->second); + current->add("SemiAxis1",false,IfcUtil::Argument_DOUBLE); + current->add("SemiAxis2",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcEnergyConversionDeviceType] = new IfcEntityDescriptor(Type::IfcEnergyConversionDeviceType,entity_descriptor_map.find(Type::IfcDistributionFlowElementType)->second); + + current = entity_descriptor_map[Type::IfcEngineType] = new IfcEntityDescriptor(Type::IfcEngineType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcEngineTypeEnum); + current = entity_descriptor_map[Type::IfcEvaporativeCoolerType] = new IfcEntityDescriptor(Type::IfcEvaporativeCoolerType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcEvaporativeCoolerTypeEnum); + current = entity_descriptor_map[Type::IfcEvaporatorType] = new IfcEntityDescriptor(Type::IfcEvaporatorType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcEvaporatorTypeEnum); + current = entity_descriptor_map[Type::IfcEvent] = new IfcEntityDescriptor(Type::IfcEvent,entity_descriptor_map.find(Type::IfcProcess)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcEventTypeEnum); + current->add("EventTriggerType",true,IfcUtil::Argument_ENUMERATION,Type::IfcEventTriggerTypeEnum); + current->add("UserDefinedEventTriggerType",true,IfcUtil::Argument_STRING); + current->add("EventOccurenceTime",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcExternalSpatialStructureElement] = new IfcEntityDescriptor(Type::IfcExternalSpatialStructureElement,entity_descriptor_map.find(Type::IfcSpatialElement)->second); + + current = entity_descriptor_map[Type::IfcFacetedBrep] = new IfcEntityDescriptor(Type::IfcFacetedBrep,entity_descriptor_map.find(Type::IfcManifoldSolidBrep)->second); + + current = entity_descriptor_map[Type::IfcFacetedBrepWithVoids] = new IfcEntityDescriptor(Type::IfcFacetedBrepWithVoids,entity_descriptor_map.find(Type::IfcFacetedBrep)->second); + current->add("Voids",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcFastener] = new IfcEntityDescriptor(Type::IfcFastener,entity_descriptor_map.find(Type::IfcElementComponent)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcFastenerTypeEnum); + current = entity_descriptor_map[Type::IfcFastenerType] = new IfcEntityDescriptor(Type::IfcFastenerType,entity_descriptor_map.find(Type::IfcElementComponentType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcFastenerTypeEnum); + current = entity_descriptor_map[Type::IfcFeatureElement] = new IfcEntityDescriptor(Type::IfcFeatureElement,entity_descriptor_map.find(Type::IfcElement)->second); + + current = entity_descriptor_map[Type::IfcFeatureElementAddition] = new IfcEntityDescriptor(Type::IfcFeatureElementAddition,entity_descriptor_map.find(Type::IfcFeatureElement)->second); + + current = entity_descriptor_map[Type::IfcFeatureElementSubtraction] = new IfcEntityDescriptor(Type::IfcFeatureElementSubtraction,entity_descriptor_map.find(Type::IfcFeatureElement)->second); + + current = entity_descriptor_map[Type::IfcFlowControllerType] = new IfcEntityDescriptor(Type::IfcFlowControllerType,entity_descriptor_map.find(Type::IfcDistributionFlowElementType)->second); + + current = entity_descriptor_map[Type::IfcFlowFittingType] = new IfcEntityDescriptor(Type::IfcFlowFittingType,entity_descriptor_map.find(Type::IfcDistributionFlowElementType)->second); + + current = entity_descriptor_map[Type::IfcFlowMeterType] = new IfcEntityDescriptor(Type::IfcFlowMeterType,entity_descriptor_map.find(Type::IfcFlowControllerType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcFlowMeterTypeEnum); + current = entity_descriptor_map[Type::IfcFlowMovingDeviceType] = new IfcEntityDescriptor(Type::IfcFlowMovingDeviceType,entity_descriptor_map.find(Type::IfcDistributionFlowElementType)->second); + + current = entity_descriptor_map[Type::IfcFlowSegmentType] = new IfcEntityDescriptor(Type::IfcFlowSegmentType,entity_descriptor_map.find(Type::IfcDistributionFlowElementType)->second); + + current = entity_descriptor_map[Type::IfcFlowStorageDeviceType] = new IfcEntityDescriptor(Type::IfcFlowStorageDeviceType,entity_descriptor_map.find(Type::IfcDistributionFlowElementType)->second); + + current = entity_descriptor_map[Type::IfcFlowTerminalType] = new IfcEntityDescriptor(Type::IfcFlowTerminalType,entity_descriptor_map.find(Type::IfcDistributionFlowElementType)->second); + + current = entity_descriptor_map[Type::IfcFlowTreatmentDeviceType] = new IfcEntityDescriptor(Type::IfcFlowTreatmentDeviceType,entity_descriptor_map.find(Type::IfcDistributionFlowElementType)->second); + + current = entity_descriptor_map[Type::IfcFootingType] = new IfcEntityDescriptor(Type::IfcFootingType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcFootingTypeEnum); + current = entity_descriptor_map[Type::IfcFurnishingElement] = new IfcEntityDescriptor(Type::IfcFurnishingElement,entity_descriptor_map.find(Type::IfcElement)->second); + + current = entity_descriptor_map[Type::IfcFurniture] = new IfcEntityDescriptor(Type::IfcFurniture,entity_descriptor_map.find(Type::IfcFurnishingElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcFurnitureTypeEnum); + current = entity_descriptor_map[Type::IfcGeographicElement] = new IfcEntityDescriptor(Type::IfcGeographicElement,entity_descriptor_map.find(Type::IfcElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcGeographicElementTypeEnum); + current = entity_descriptor_map[Type::IfcGrid] = new IfcEntityDescriptor(Type::IfcGrid,entity_descriptor_map.find(Type::IfcProduct)->second); + current->add("UAxes",false,IfcUtil::Argument_ENTITY_LIST); + current->add("VAxes",false,IfcUtil::Argument_ENTITY_LIST); + current->add("WAxes",true,IfcUtil::Argument_ENTITY_LIST); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcGridTypeEnum); + current = entity_descriptor_map[Type::IfcGroup] = new IfcEntityDescriptor(Type::IfcGroup,entity_descriptor_map.find(Type::IfcObject)->second); + + current = entity_descriptor_map[Type::IfcHeatExchangerType] = new IfcEntityDescriptor(Type::IfcHeatExchangerType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcHeatExchangerTypeEnum); + current = entity_descriptor_map[Type::IfcHumidifierType] = new IfcEntityDescriptor(Type::IfcHumidifierType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcHumidifierTypeEnum); + current = entity_descriptor_map[Type::IfcInterceptorType] = new IfcEntityDescriptor(Type::IfcInterceptorType,entity_descriptor_map.find(Type::IfcFlowTreatmentDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcInterceptorTypeEnum); + current = entity_descriptor_map[Type::IfcInventory] = new IfcEntityDescriptor(Type::IfcInventory,entity_descriptor_map.find(Type::IfcGroup)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcInventoryTypeEnum); + current->add("Jurisdiction",true,IfcUtil::Argument_ENTITY); + current->add("ResponsiblePersons",true,IfcUtil::Argument_ENTITY_LIST); + current->add("LastUpdateDate",true,IfcUtil::Argument_STRING); + current->add("CurrentValue",true,IfcUtil::Argument_ENTITY); + current->add("OriginalValue",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcJunctionBoxType] = new IfcEntityDescriptor(Type::IfcJunctionBoxType,entity_descriptor_map.find(Type::IfcFlowFittingType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcJunctionBoxTypeEnum); + current = entity_descriptor_map[Type::IfcLaborResource] = new IfcEntityDescriptor(Type::IfcLaborResource,entity_descriptor_map.find(Type::IfcConstructionResource)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcLaborResourceTypeEnum); + current = entity_descriptor_map[Type::IfcLampType] = new IfcEntityDescriptor(Type::IfcLampType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcLampTypeEnum); + current = entity_descriptor_map[Type::IfcLightFixtureType] = new IfcEntityDescriptor(Type::IfcLightFixtureType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcLightFixtureTypeEnum); + current = entity_descriptor_map[Type::IfcMechanicalFastener] = new IfcEntityDescriptor(Type::IfcMechanicalFastener,entity_descriptor_map.find(Type::IfcElementComponent)->second); + current->add("NominalDiameter",true,IfcUtil::Argument_DOUBLE); + current->add("NominalLength",true,IfcUtil::Argument_DOUBLE); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcMechanicalFastenerTypeEnum); + current = entity_descriptor_map[Type::IfcMechanicalFastenerType] = new IfcEntityDescriptor(Type::IfcMechanicalFastenerType,entity_descriptor_map.find(Type::IfcElementComponentType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcMechanicalFastenerTypeEnum); + current->add("NominalDiameter",true,IfcUtil::Argument_DOUBLE); + current->add("NominalLength",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcMedicalDeviceType] = new IfcEntityDescriptor(Type::IfcMedicalDeviceType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcMedicalDeviceTypeEnum); + current = entity_descriptor_map[Type::IfcMemberType] = new IfcEntityDescriptor(Type::IfcMemberType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcMemberTypeEnum); + current = entity_descriptor_map[Type::IfcMotorConnectionType] = new IfcEntityDescriptor(Type::IfcMotorConnectionType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcMotorConnectionTypeEnum); + current = entity_descriptor_map[Type::IfcOccupant] = new IfcEntityDescriptor(Type::IfcOccupant,entity_descriptor_map.find(Type::IfcActor)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcOccupantTypeEnum); + current = entity_descriptor_map[Type::IfcOpeningElement] = new IfcEntityDescriptor(Type::IfcOpeningElement,entity_descriptor_map.find(Type::IfcFeatureElementSubtraction)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcOpeningElementTypeEnum); + current = entity_descriptor_map[Type::IfcOpeningStandardCase] = new IfcEntityDescriptor(Type::IfcOpeningStandardCase,entity_descriptor_map.find(Type::IfcOpeningElement)->second); + + current = entity_descriptor_map[Type::IfcOutletType] = new IfcEntityDescriptor(Type::IfcOutletType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcOutletTypeEnum); + current = entity_descriptor_map[Type::IfcPerformanceHistory] = new IfcEntityDescriptor(Type::IfcPerformanceHistory,entity_descriptor_map.find(Type::IfcControl)->second); + current->add("LifeCyclePhase",false,IfcUtil::Argument_STRING); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcPerformanceHistoryTypeEnum); + current = entity_descriptor_map[Type::IfcPermeableCoveringProperties] = new IfcEntityDescriptor(Type::IfcPermeableCoveringProperties,entity_descriptor_map.find(Type::IfcPreDefinedPropertySet)->second); + current->add("OperationType",false,IfcUtil::Argument_ENUMERATION,Type::IfcPermeableCoveringOperationEnum); + current->add("PanelPosition",false,IfcUtil::Argument_ENUMERATION,Type::IfcWindowPanelPositionEnum); + current->add("FrameDepth",true,IfcUtil::Argument_DOUBLE); + current->add("FrameThickness",true,IfcUtil::Argument_DOUBLE); + current->add("ShapeAspectStyle",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcPermit] = new IfcEntityDescriptor(Type::IfcPermit,entity_descriptor_map.find(Type::IfcControl)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcPermitTypeEnum); + current->add("Status",true,IfcUtil::Argument_STRING); + current->add("LongDescription",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcPileType] = new IfcEntityDescriptor(Type::IfcPileType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcPileTypeEnum); + current = entity_descriptor_map[Type::IfcPipeFittingType] = new IfcEntityDescriptor(Type::IfcPipeFittingType,entity_descriptor_map.find(Type::IfcFlowFittingType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcPipeFittingTypeEnum); + current = entity_descriptor_map[Type::IfcPipeSegmentType] = new IfcEntityDescriptor(Type::IfcPipeSegmentType,entity_descriptor_map.find(Type::IfcFlowSegmentType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcPipeSegmentTypeEnum); + current = entity_descriptor_map[Type::IfcPlateType] = new IfcEntityDescriptor(Type::IfcPlateType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcPlateTypeEnum); + current = entity_descriptor_map[Type::IfcPolyline] = new IfcEntityDescriptor(Type::IfcPolyline,entity_descriptor_map.find(Type::IfcBoundedCurve)->second); + current->add("Points",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcPort] = new IfcEntityDescriptor(Type::IfcPort,entity_descriptor_map.find(Type::IfcProduct)->second); + + current = entity_descriptor_map[Type::IfcProcedure] = new IfcEntityDescriptor(Type::IfcProcedure,entity_descriptor_map.find(Type::IfcProcess)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcProcedureTypeEnum); + current = entity_descriptor_map[Type::IfcProjectOrder] = new IfcEntityDescriptor(Type::IfcProjectOrder,entity_descriptor_map.find(Type::IfcControl)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcProjectOrderTypeEnum); + current->add("Status",true,IfcUtil::Argument_STRING); + current->add("LongDescription",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcProjectionElement] = new IfcEntityDescriptor(Type::IfcProjectionElement,entity_descriptor_map.find(Type::IfcFeatureElementAddition)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcProjectionElementTypeEnum); + current = entity_descriptor_map[Type::IfcProtectiveDeviceType] = new IfcEntityDescriptor(Type::IfcProtectiveDeviceType,entity_descriptor_map.find(Type::IfcFlowControllerType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcProtectiveDeviceTypeEnum); + current = entity_descriptor_map[Type::IfcPumpType] = new IfcEntityDescriptor(Type::IfcPumpType,entity_descriptor_map.find(Type::IfcFlowMovingDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcPumpTypeEnum); + current = entity_descriptor_map[Type::IfcRailingType] = new IfcEntityDescriptor(Type::IfcRailingType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcRailingTypeEnum); + current = entity_descriptor_map[Type::IfcRampFlightType] = new IfcEntityDescriptor(Type::IfcRampFlightType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcRampFlightTypeEnum); + current = entity_descriptor_map[Type::IfcRampType] = new IfcEntityDescriptor(Type::IfcRampType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcRampTypeEnum); + current = entity_descriptor_map[Type::IfcRationalBSplineSurfaceWithKnots] = new IfcEntityDescriptor(Type::IfcRationalBSplineSurfaceWithKnots,entity_descriptor_map.find(Type::IfcBSplineSurfaceWithKnots)->second); + + current = entity_descriptor_map[Type::IfcReinforcingElement] = new IfcEntityDescriptor(Type::IfcReinforcingElement,entity_descriptor_map.find(Type::IfcElementComponent)->second); + current->add("SteelGrade",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcReinforcingElementType] = new IfcEntityDescriptor(Type::IfcReinforcingElementType,entity_descriptor_map.find(Type::IfcElementComponentType)->second); + + current = entity_descriptor_map[Type::IfcReinforcingMesh] = new IfcEntityDescriptor(Type::IfcReinforcingMesh,entity_descriptor_map.find(Type::IfcReinforcingElement)->second); + current->add("MeshLength",true,IfcUtil::Argument_DOUBLE); + current->add("MeshWidth",true,IfcUtil::Argument_DOUBLE); + current->add("LongitudinalBarNominalDiameter",true,IfcUtil::Argument_DOUBLE); + current->add("TransverseBarNominalDiameter",true,IfcUtil::Argument_DOUBLE); + current->add("LongitudinalBarCrossSectionArea",true,IfcUtil::Argument_DOUBLE); + current->add("TransverseBarCrossSectionArea",true,IfcUtil::Argument_DOUBLE); + current->add("LongitudinalBarSpacing",true,IfcUtil::Argument_DOUBLE); + current->add("TransverseBarSpacing",true,IfcUtil::Argument_DOUBLE); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcReinforcingMeshTypeEnum); + current = entity_descriptor_map[Type::IfcReinforcingMeshType] = new IfcEntityDescriptor(Type::IfcReinforcingMeshType,entity_descriptor_map.find(Type::IfcReinforcingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcReinforcingMeshTypeEnum); + current->add("MeshLength",true,IfcUtil::Argument_DOUBLE); + current->add("MeshWidth",true,IfcUtil::Argument_DOUBLE); + current->add("LongitudinalBarNominalDiameter",true,IfcUtil::Argument_DOUBLE); + current->add("TransverseBarNominalDiameter",true,IfcUtil::Argument_DOUBLE); + current->add("LongitudinalBarCrossSectionArea",true,IfcUtil::Argument_DOUBLE); + current->add("TransverseBarCrossSectionArea",true,IfcUtil::Argument_DOUBLE); + current->add("LongitudinalBarSpacing",true,IfcUtil::Argument_DOUBLE); + current->add("TransverseBarSpacing",true,IfcUtil::Argument_DOUBLE); + current->add("BendingShapeCode",true,IfcUtil::Argument_STRING); + current->add("BendingParameters",true,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcRelAggregates] = new IfcEntityDescriptor(Type::IfcRelAggregates,entity_descriptor_map.find(Type::IfcRelDecomposes)->second); + current->add("RelatingObject",false,IfcUtil::Argument_ENTITY); + current->add("RelatedObjects",false,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcRoofType] = new IfcEntityDescriptor(Type::IfcRoofType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcRoofTypeEnum); + current = entity_descriptor_map[Type::IfcSanitaryTerminalType] = new IfcEntityDescriptor(Type::IfcSanitaryTerminalType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcSanitaryTerminalTypeEnum); + current = entity_descriptor_map[Type::IfcShadingDeviceType] = new IfcEntityDescriptor(Type::IfcShadingDeviceType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcShadingDeviceTypeEnum); + current = entity_descriptor_map[Type::IfcSite] = new IfcEntityDescriptor(Type::IfcSite,entity_descriptor_map.find(Type::IfcSpatialStructureElement)->second); + current->add("RefLatitude",true,IfcUtil::Argument_VECTOR_INT); + current->add("RefLongitude",true,IfcUtil::Argument_VECTOR_INT); + current->add("RefElevation",true,IfcUtil::Argument_DOUBLE); + current->add("LandTitleNumber",true,IfcUtil::Argument_STRING); + current->add("SiteAddress",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcSlabType] = new IfcEntityDescriptor(Type::IfcSlabType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcSlabTypeEnum); + current = entity_descriptor_map[Type::IfcSolarDeviceType] = new IfcEntityDescriptor(Type::IfcSolarDeviceType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcSolarDeviceTypeEnum); + current = entity_descriptor_map[Type::IfcSpace] = new IfcEntityDescriptor(Type::IfcSpace,entity_descriptor_map.find(Type::IfcSpatialStructureElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcSpaceTypeEnum); + current->add("ElevationWithFlooring",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcSpaceHeaterType] = new IfcEntityDescriptor(Type::IfcSpaceHeaterType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcSpaceHeaterTypeEnum); + current = entity_descriptor_map[Type::IfcSpaceType] = new IfcEntityDescriptor(Type::IfcSpaceType,entity_descriptor_map.find(Type::IfcSpatialStructureElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcSpaceTypeEnum); + current->add("LongName",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcStackTerminalType] = new IfcEntityDescriptor(Type::IfcStackTerminalType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcStackTerminalTypeEnum); + current = entity_descriptor_map[Type::IfcStairFlightType] = new IfcEntityDescriptor(Type::IfcStairFlightType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcStairFlightTypeEnum); + current = entity_descriptor_map[Type::IfcStairType] = new IfcEntityDescriptor(Type::IfcStairType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcStairTypeEnum); + current = entity_descriptor_map[Type::IfcStructuralAction] = new IfcEntityDescriptor(Type::IfcStructuralAction,entity_descriptor_map.find(Type::IfcStructuralActivity)->second); + current->add("DestabilizingLoad",true,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcStructuralConnection] = new IfcEntityDescriptor(Type::IfcStructuralConnection,entity_descriptor_map.find(Type::IfcStructuralItem)->second); + current->add("AppliedCondition",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcStructuralCurveAction] = new IfcEntityDescriptor(Type::IfcStructuralCurveAction,entity_descriptor_map.find(Type::IfcStructuralAction)->second); + current->add("ProjectedOrTrue",true,IfcUtil::Argument_ENUMERATION,Type::IfcProjectedOrTrueLengthEnum); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcStructuralCurveActivityTypeEnum); + current = entity_descriptor_map[Type::IfcStructuralCurveConnection] = new IfcEntityDescriptor(Type::IfcStructuralCurveConnection,entity_descriptor_map.find(Type::IfcStructuralConnection)->second); + current->add("Axis",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcStructuralCurveMember] = new IfcEntityDescriptor(Type::IfcStructuralCurveMember,entity_descriptor_map.find(Type::IfcStructuralMember)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcStructuralCurveMemberTypeEnum); + current->add("Axis",false,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcStructuralCurveMemberVarying] = new IfcEntityDescriptor(Type::IfcStructuralCurveMemberVarying,entity_descriptor_map.find(Type::IfcStructuralCurveMember)->second); + + current = entity_descriptor_map[Type::IfcStructuralCurveReaction] = new IfcEntityDescriptor(Type::IfcStructuralCurveReaction,entity_descriptor_map.find(Type::IfcStructuralReaction)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcStructuralCurveActivityTypeEnum); + current = entity_descriptor_map[Type::IfcStructuralLinearAction] = new IfcEntityDescriptor(Type::IfcStructuralLinearAction,entity_descriptor_map.find(Type::IfcStructuralCurveAction)->second); + + current = entity_descriptor_map[Type::IfcStructuralLoadGroup] = new IfcEntityDescriptor(Type::IfcStructuralLoadGroup,entity_descriptor_map.find(Type::IfcGroup)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcLoadGroupTypeEnum); + current->add("ActionType",false,IfcUtil::Argument_ENUMERATION,Type::IfcActionTypeEnum); + current->add("ActionSource",false,IfcUtil::Argument_ENUMERATION,Type::IfcActionSourceTypeEnum); + current->add("Coefficient",true,IfcUtil::Argument_DOUBLE); + current->add("Purpose",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcStructuralPointAction] = new IfcEntityDescriptor(Type::IfcStructuralPointAction,entity_descriptor_map.find(Type::IfcStructuralAction)->second); + + current = entity_descriptor_map[Type::IfcStructuralPointConnection] = new IfcEntityDescriptor(Type::IfcStructuralPointConnection,entity_descriptor_map.find(Type::IfcStructuralConnection)->second); + current->add("ConditionCoordinateSystem",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcStructuralPointReaction] = new IfcEntityDescriptor(Type::IfcStructuralPointReaction,entity_descriptor_map.find(Type::IfcStructuralReaction)->second); + + current = entity_descriptor_map[Type::IfcStructuralResultGroup] = new IfcEntityDescriptor(Type::IfcStructuralResultGroup,entity_descriptor_map.find(Type::IfcGroup)->second); + current->add("TheoryType",false,IfcUtil::Argument_ENUMERATION,Type::IfcAnalysisTheoryTypeEnum); + current->add("ResultForLoadGroup",true,IfcUtil::Argument_ENTITY); + current->add("IsLinear",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcStructuralSurfaceAction] = new IfcEntityDescriptor(Type::IfcStructuralSurfaceAction,entity_descriptor_map.find(Type::IfcStructuralAction)->second); + current->add("ProjectedOrTrue",true,IfcUtil::Argument_ENUMERATION,Type::IfcProjectedOrTrueLengthEnum); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcStructuralSurfaceActivityTypeEnum); + current = entity_descriptor_map[Type::IfcStructuralSurfaceConnection] = new IfcEntityDescriptor(Type::IfcStructuralSurfaceConnection,entity_descriptor_map.find(Type::IfcStructuralConnection)->second); + + current = entity_descriptor_map[Type::IfcSubContractResource] = new IfcEntityDescriptor(Type::IfcSubContractResource,entity_descriptor_map.find(Type::IfcConstructionResource)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcSubContractResourceTypeEnum); + current = entity_descriptor_map[Type::IfcSurfaceFeature] = new IfcEntityDescriptor(Type::IfcSurfaceFeature,entity_descriptor_map.find(Type::IfcFeatureElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcSurfaceFeatureTypeEnum); + current = entity_descriptor_map[Type::IfcSwitchingDeviceType] = new IfcEntityDescriptor(Type::IfcSwitchingDeviceType,entity_descriptor_map.find(Type::IfcFlowControllerType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcSwitchingDeviceTypeEnum); + current = entity_descriptor_map[Type::IfcSystem] = new IfcEntityDescriptor(Type::IfcSystem,entity_descriptor_map.find(Type::IfcGroup)->second); + + current = entity_descriptor_map[Type::IfcSystemFurnitureElement] = new IfcEntityDescriptor(Type::IfcSystemFurnitureElement,entity_descriptor_map.find(Type::IfcFurnishingElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcSystemFurnitureElementTypeEnum); + current = entity_descriptor_map[Type::IfcTankType] = new IfcEntityDescriptor(Type::IfcTankType,entity_descriptor_map.find(Type::IfcFlowStorageDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcTankTypeEnum); + current = entity_descriptor_map[Type::IfcTendon] = new IfcEntityDescriptor(Type::IfcTendon,entity_descriptor_map.find(Type::IfcReinforcingElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcTendonTypeEnum); + current->add("NominalDiameter",true,IfcUtil::Argument_DOUBLE); + current->add("CrossSectionArea",true,IfcUtil::Argument_DOUBLE); + current->add("TensionForce",true,IfcUtil::Argument_DOUBLE); + current->add("PreStress",true,IfcUtil::Argument_DOUBLE); + current->add("FrictionCoefficient",true,IfcUtil::Argument_DOUBLE); + current->add("AnchorageSlip",true,IfcUtil::Argument_DOUBLE); + current->add("MinCurvatureRadius",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcTendonAnchor] = new IfcEntityDescriptor(Type::IfcTendonAnchor,entity_descriptor_map.find(Type::IfcReinforcingElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcTendonAnchorTypeEnum); + current = entity_descriptor_map[Type::IfcTendonAnchorType] = new IfcEntityDescriptor(Type::IfcTendonAnchorType,entity_descriptor_map.find(Type::IfcReinforcingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcTendonAnchorTypeEnum); + current = entity_descriptor_map[Type::IfcTendonType] = new IfcEntityDescriptor(Type::IfcTendonType,entity_descriptor_map.find(Type::IfcReinforcingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcTendonTypeEnum); + current->add("NominalDiameter",true,IfcUtil::Argument_DOUBLE); + current->add("CrossSectionArea",true,IfcUtil::Argument_DOUBLE); + current->add("SheethDiameter",true,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcTransformerType] = new IfcEntityDescriptor(Type::IfcTransformerType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcTransformerTypeEnum); + current = entity_descriptor_map[Type::IfcTransportElement] = new IfcEntityDescriptor(Type::IfcTransportElement,entity_descriptor_map.find(Type::IfcElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcTransportElementTypeEnum); + current = entity_descriptor_map[Type::IfcTrimmedCurve] = new IfcEntityDescriptor(Type::IfcTrimmedCurve,entity_descriptor_map.find(Type::IfcBoundedCurve)->second); + current->add("BasisCurve",false,IfcUtil::Argument_ENTITY); + current->add("Trim1",false,IfcUtil::Argument_ENTITY_LIST); + current->add("Trim2",false,IfcUtil::Argument_ENTITY_LIST); + current->add("SenseAgreement",false,IfcUtil::Argument_BOOL); + current->add("MasterRepresentation",false,IfcUtil::Argument_ENUMERATION,Type::IfcTrimmingPreference); + current = entity_descriptor_map[Type::IfcTubeBundleType] = new IfcEntityDescriptor(Type::IfcTubeBundleType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcTubeBundleTypeEnum); + current = entity_descriptor_map[Type::IfcUnitaryEquipmentType] = new IfcEntityDescriptor(Type::IfcUnitaryEquipmentType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcUnitaryEquipmentTypeEnum); + current = entity_descriptor_map[Type::IfcValveType] = new IfcEntityDescriptor(Type::IfcValveType,entity_descriptor_map.find(Type::IfcFlowControllerType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcValveTypeEnum); + current = entity_descriptor_map[Type::IfcVibrationIsolator] = new IfcEntityDescriptor(Type::IfcVibrationIsolator,entity_descriptor_map.find(Type::IfcElementComponent)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcVibrationIsolatorTypeEnum); + current = entity_descriptor_map[Type::IfcVibrationIsolatorType] = new IfcEntityDescriptor(Type::IfcVibrationIsolatorType,entity_descriptor_map.find(Type::IfcElementComponentType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcVibrationIsolatorTypeEnum); + current = entity_descriptor_map[Type::IfcVirtualElement] = new IfcEntityDescriptor(Type::IfcVirtualElement,entity_descriptor_map.find(Type::IfcElement)->second); + + current = entity_descriptor_map[Type::IfcVoidingFeature] = new IfcEntityDescriptor(Type::IfcVoidingFeature,entity_descriptor_map.find(Type::IfcFeatureElementSubtraction)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcVoidingFeatureTypeEnum); + current = entity_descriptor_map[Type::IfcWallType] = new IfcEntityDescriptor(Type::IfcWallType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcWallTypeEnum); + current = entity_descriptor_map[Type::IfcWasteTerminalType] = new IfcEntityDescriptor(Type::IfcWasteTerminalType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcWasteTerminalTypeEnum); + current = entity_descriptor_map[Type::IfcWindowType] = new IfcEntityDescriptor(Type::IfcWindowType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcWindowTypeEnum); + current->add("PartitioningType",false,IfcUtil::Argument_ENUMERATION,Type::IfcWindowTypePartitioningEnum); + current->add("ParameterTakesPrecedence",true,IfcUtil::Argument_BOOL); + current->add("UserDefinedPartitioningType",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcWorkCalendar] = new IfcEntityDescriptor(Type::IfcWorkCalendar,entity_descriptor_map.find(Type::IfcControl)->second); + current->add("WorkingTimes",true,IfcUtil::Argument_ENTITY_LIST); + current->add("ExceptionTimes",true,IfcUtil::Argument_ENTITY_LIST); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcWorkCalendarTypeEnum); + current = entity_descriptor_map[Type::IfcWorkControl] = new IfcEntityDescriptor(Type::IfcWorkControl,entity_descriptor_map.find(Type::IfcControl)->second); + current->add("CreationDate",false,IfcUtil::Argument_STRING); + current->add("Creators",true,IfcUtil::Argument_ENTITY_LIST); + current->add("Purpose",true,IfcUtil::Argument_STRING); + current->add("Duration",true,IfcUtil::Argument_STRING); + current->add("TotalFloat",true,IfcUtil::Argument_STRING); + current->add("StartTime",false,IfcUtil::Argument_STRING); + current->add("FinishTime",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcWorkPlan] = new IfcEntityDescriptor(Type::IfcWorkPlan,entity_descriptor_map.find(Type::IfcWorkControl)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcWorkPlanTypeEnum); + current = entity_descriptor_map[Type::IfcWorkSchedule] = new IfcEntityDescriptor(Type::IfcWorkSchedule,entity_descriptor_map.find(Type::IfcWorkControl)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcWorkScheduleTypeEnum); + current = entity_descriptor_map[Type::IfcZone] = new IfcEntityDescriptor(Type::IfcZone,entity_descriptor_map.find(Type::IfcSystem)->second); + current->add("LongName",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcActionRequest] = new IfcEntityDescriptor(Type::IfcActionRequest,entity_descriptor_map.find(Type::IfcControl)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcActionRequestTypeEnum); + current->add("Status",true,IfcUtil::Argument_STRING); + current->add("LongDescription",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcAirTerminalBoxType] = new IfcEntityDescriptor(Type::IfcAirTerminalBoxType,entity_descriptor_map.find(Type::IfcFlowControllerType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcAirTerminalBoxTypeEnum); + current = entity_descriptor_map[Type::IfcAirTerminalType] = new IfcEntityDescriptor(Type::IfcAirTerminalType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcAirTerminalTypeEnum); + current = entity_descriptor_map[Type::IfcAirToAirHeatRecoveryType] = new IfcEntityDescriptor(Type::IfcAirToAirHeatRecoveryType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcAirToAirHeatRecoveryTypeEnum); + current = entity_descriptor_map[Type::IfcAsset] = new IfcEntityDescriptor(Type::IfcAsset,entity_descriptor_map.find(Type::IfcGroup)->second); + current->add("Identification",true,IfcUtil::Argument_STRING); + current->add("OriginalValue",true,IfcUtil::Argument_ENTITY); + current->add("CurrentValue",true,IfcUtil::Argument_ENTITY); + current->add("TotalReplacementCost",true,IfcUtil::Argument_ENTITY); + current->add("Owner",true,IfcUtil::Argument_ENTITY); + current->add("User",true,IfcUtil::Argument_ENTITY); + current->add("ResponsiblePerson",true,IfcUtil::Argument_ENTITY); + current->add("IncorporationDate",true,IfcUtil::Argument_STRING); + current->add("DepreciatedValue",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcAudioVisualApplianceType] = new IfcEntityDescriptor(Type::IfcAudioVisualApplianceType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcAudioVisualApplianceTypeEnum); + current = entity_descriptor_map[Type::IfcBSplineCurve] = new IfcEntityDescriptor(Type::IfcBSplineCurve,entity_descriptor_map.find(Type::IfcBoundedCurve)->second); + current->add("Degree",false,IfcUtil::Argument_INT); + current->add("ControlPointsList",false,IfcUtil::Argument_ENTITY_LIST); + current->add("CurveForm",false,IfcUtil::Argument_ENUMERATION,Type::IfcBSplineCurveForm); + current->add("ClosedCurve",false,IfcUtil::Argument_BOOL); + current->add("SelfIntersect",false,IfcUtil::Argument_BOOL); + current = entity_descriptor_map[Type::IfcBSplineCurveWithKnots] = new IfcEntityDescriptor(Type::IfcBSplineCurveWithKnots,entity_descriptor_map.find(Type::IfcBSplineCurve)->second); + current->add("KnotMultiplicities",false,IfcUtil::Argument_VECTOR_INT); + current->add("Knots",false,IfcUtil::Argument_VECTOR_DOUBLE); + current->add("KnotSpec",false,IfcUtil::Argument_ENUMERATION,Type::IfcKnotType); + current = entity_descriptor_map[Type::IfcBeamType] = new IfcEntityDescriptor(Type::IfcBeamType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcBeamTypeEnum); + current = entity_descriptor_map[Type::IfcBoilerType] = new IfcEntityDescriptor(Type::IfcBoilerType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcBoilerTypeEnum); + current = entity_descriptor_map[Type::IfcBoundaryCurve] = new IfcEntityDescriptor(Type::IfcBoundaryCurve,entity_descriptor_map.find(Type::IfcCompositeCurveOnSurface)->second); + + current = entity_descriptor_map[Type::IfcBuildingElement] = new IfcEntityDescriptor(Type::IfcBuildingElement,entity_descriptor_map.find(Type::IfcElement)->second); + + current = entity_descriptor_map[Type::IfcBuildingElementPart] = new IfcEntityDescriptor(Type::IfcBuildingElementPart,entity_descriptor_map.find(Type::IfcElementComponent)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcBuildingElementPartTypeEnum); + current = entity_descriptor_map[Type::IfcBuildingElementPartType] = new IfcEntityDescriptor(Type::IfcBuildingElementPartType,entity_descriptor_map.find(Type::IfcElementComponentType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcBuildingElementPartTypeEnum); + current = entity_descriptor_map[Type::IfcBuildingElementProxy] = new IfcEntityDescriptor(Type::IfcBuildingElementProxy,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcBuildingElementProxyTypeEnum); + current = entity_descriptor_map[Type::IfcBuildingElementProxyType] = new IfcEntityDescriptor(Type::IfcBuildingElementProxyType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcBuildingElementProxyTypeEnum); + current = entity_descriptor_map[Type::IfcBuildingSystem] = new IfcEntityDescriptor(Type::IfcBuildingSystem,entity_descriptor_map.find(Type::IfcSystem)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcBuildingSystemTypeEnum); + current = entity_descriptor_map[Type::IfcBurnerType] = new IfcEntityDescriptor(Type::IfcBurnerType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcBurnerTypeEnum); + current = entity_descriptor_map[Type::IfcCableCarrierFittingType] = new IfcEntityDescriptor(Type::IfcCableCarrierFittingType,entity_descriptor_map.find(Type::IfcFlowFittingType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcCableCarrierFittingTypeEnum); + current = entity_descriptor_map[Type::IfcCableCarrierSegmentType] = new IfcEntityDescriptor(Type::IfcCableCarrierSegmentType,entity_descriptor_map.find(Type::IfcFlowSegmentType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcCableCarrierSegmentTypeEnum); + current = entity_descriptor_map[Type::IfcCableFittingType] = new IfcEntityDescriptor(Type::IfcCableFittingType,entity_descriptor_map.find(Type::IfcFlowFittingType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcCableFittingTypeEnum); + current = entity_descriptor_map[Type::IfcCableSegmentType] = new IfcEntityDescriptor(Type::IfcCableSegmentType,entity_descriptor_map.find(Type::IfcFlowSegmentType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcCableSegmentTypeEnum); + current = entity_descriptor_map[Type::IfcChillerType] = new IfcEntityDescriptor(Type::IfcChillerType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcChillerTypeEnum); + current = entity_descriptor_map[Type::IfcChimney] = new IfcEntityDescriptor(Type::IfcChimney,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcChimneyTypeEnum); + current = entity_descriptor_map[Type::IfcCircle] = new IfcEntityDescriptor(Type::IfcCircle,entity_descriptor_map.find(Type::IfcConic)->second); + current->add("Radius",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcCivilElement] = new IfcEntityDescriptor(Type::IfcCivilElement,entity_descriptor_map.find(Type::IfcElement)->second); + + current = entity_descriptor_map[Type::IfcCoilType] = new IfcEntityDescriptor(Type::IfcCoilType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcCoilTypeEnum); + current = entity_descriptor_map[Type::IfcColumn] = new IfcEntityDescriptor(Type::IfcColumn,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcColumnTypeEnum); + current = entity_descriptor_map[Type::IfcColumnStandardCase] = new IfcEntityDescriptor(Type::IfcColumnStandardCase,entity_descriptor_map.find(Type::IfcColumn)->second); + + current = entity_descriptor_map[Type::IfcCommunicationsApplianceType] = new IfcEntityDescriptor(Type::IfcCommunicationsApplianceType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcCommunicationsApplianceTypeEnum); + current = entity_descriptor_map[Type::IfcCompressorType] = new IfcEntityDescriptor(Type::IfcCompressorType,entity_descriptor_map.find(Type::IfcFlowMovingDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcCompressorTypeEnum); + current = entity_descriptor_map[Type::IfcCondenserType] = new IfcEntityDescriptor(Type::IfcCondenserType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcCondenserTypeEnum); + current = entity_descriptor_map[Type::IfcConstructionEquipmentResource] = new IfcEntityDescriptor(Type::IfcConstructionEquipmentResource,entity_descriptor_map.find(Type::IfcConstructionResource)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcConstructionEquipmentResourceTypeEnum); + current = entity_descriptor_map[Type::IfcConstructionMaterialResource] = new IfcEntityDescriptor(Type::IfcConstructionMaterialResource,entity_descriptor_map.find(Type::IfcConstructionResource)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcConstructionMaterialResourceTypeEnum); + current = entity_descriptor_map[Type::IfcConstructionProductResource] = new IfcEntityDescriptor(Type::IfcConstructionProductResource,entity_descriptor_map.find(Type::IfcConstructionResource)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcConstructionProductResourceTypeEnum); + current = entity_descriptor_map[Type::IfcCooledBeamType] = new IfcEntityDescriptor(Type::IfcCooledBeamType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcCooledBeamTypeEnum); + current = entity_descriptor_map[Type::IfcCoolingTowerType] = new IfcEntityDescriptor(Type::IfcCoolingTowerType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcCoolingTowerTypeEnum); + current = entity_descriptor_map[Type::IfcCovering] = new IfcEntityDescriptor(Type::IfcCovering,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcCoveringTypeEnum); + current = entity_descriptor_map[Type::IfcCurtainWall] = new IfcEntityDescriptor(Type::IfcCurtainWall,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcCurtainWallTypeEnum); + current = entity_descriptor_map[Type::IfcDamperType] = new IfcEntityDescriptor(Type::IfcDamperType,entity_descriptor_map.find(Type::IfcFlowControllerType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDamperTypeEnum); + current = entity_descriptor_map[Type::IfcDiscreteAccessory] = new IfcEntityDescriptor(Type::IfcDiscreteAccessory,entity_descriptor_map.find(Type::IfcElementComponent)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcDiscreteAccessoryTypeEnum); + current = entity_descriptor_map[Type::IfcDiscreteAccessoryType] = new IfcEntityDescriptor(Type::IfcDiscreteAccessoryType,entity_descriptor_map.find(Type::IfcElementComponentType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDiscreteAccessoryTypeEnum); + current = entity_descriptor_map[Type::IfcDistributionChamberElementType] = new IfcEntityDescriptor(Type::IfcDistributionChamberElementType,entity_descriptor_map.find(Type::IfcDistributionFlowElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDistributionChamberElementTypeEnum); + current = entity_descriptor_map[Type::IfcDistributionControlElementType] = new IfcEntityDescriptor(Type::IfcDistributionControlElementType,entity_descriptor_map.find(Type::IfcDistributionElementType)->second); + + current = entity_descriptor_map[Type::IfcDistributionElement] = new IfcEntityDescriptor(Type::IfcDistributionElement,entity_descriptor_map.find(Type::IfcElement)->second); + + current = entity_descriptor_map[Type::IfcDistributionFlowElement] = new IfcEntityDescriptor(Type::IfcDistributionFlowElement,entity_descriptor_map.find(Type::IfcDistributionElement)->second); + + current = entity_descriptor_map[Type::IfcDistributionPort] = new IfcEntityDescriptor(Type::IfcDistributionPort,entity_descriptor_map.find(Type::IfcPort)->second); + current->add("FlowDirection",true,IfcUtil::Argument_ENUMERATION,Type::IfcFlowDirectionEnum); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcDistributionPortTypeEnum); + current->add("SystemType",true,IfcUtil::Argument_ENUMERATION,Type::IfcDistributionSystemEnum); + current = entity_descriptor_map[Type::IfcDistributionSystem] = new IfcEntityDescriptor(Type::IfcDistributionSystem,entity_descriptor_map.find(Type::IfcSystem)->second); + current->add("LongName",true,IfcUtil::Argument_STRING); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcDistributionSystemEnum); + current = entity_descriptor_map[Type::IfcDoor] = new IfcEntityDescriptor(Type::IfcDoor,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("OverallHeight",true,IfcUtil::Argument_DOUBLE); + current->add("OverallWidth",true,IfcUtil::Argument_DOUBLE); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcDoorTypeEnum); + current->add("OperationType",true,IfcUtil::Argument_ENUMERATION,Type::IfcDoorTypeOperationEnum); + current->add("UserDefinedOperationType",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcDoorStandardCase] = new IfcEntityDescriptor(Type::IfcDoorStandardCase,entity_descriptor_map.find(Type::IfcDoor)->second); + + current = entity_descriptor_map[Type::IfcDuctFittingType] = new IfcEntityDescriptor(Type::IfcDuctFittingType,entity_descriptor_map.find(Type::IfcFlowFittingType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDuctFittingTypeEnum); + current = entity_descriptor_map[Type::IfcDuctSegmentType] = new IfcEntityDescriptor(Type::IfcDuctSegmentType,entity_descriptor_map.find(Type::IfcFlowSegmentType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDuctSegmentTypeEnum); + current = entity_descriptor_map[Type::IfcDuctSilencerType] = new IfcEntityDescriptor(Type::IfcDuctSilencerType,entity_descriptor_map.find(Type::IfcFlowTreatmentDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDuctSilencerTypeEnum); + current = entity_descriptor_map[Type::IfcElectricApplianceType] = new IfcEntityDescriptor(Type::IfcElectricApplianceType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcElectricApplianceTypeEnum); + current = entity_descriptor_map[Type::IfcElectricDistributionBoardType] = new IfcEntityDescriptor(Type::IfcElectricDistributionBoardType,entity_descriptor_map.find(Type::IfcFlowControllerType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcElectricDistributionBoardTypeEnum); + current = entity_descriptor_map[Type::IfcElectricFlowStorageDeviceType] = new IfcEntityDescriptor(Type::IfcElectricFlowStorageDeviceType,entity_descriptor_map.find(Type::IfcFlowStorageDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcElectricFlowStorageDeviceTypeEnum); + current = entity_descriptor_map[Type::IfcElectricGeneratorType] = new IfcEntityDescriptor(Type::IfcElectricGeneratorType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcElectricGeneratorTypeEnum); + current = entity_descriptor_map[Type::IfcElectricMotorType] = new IfcEntityDescriptor(Type::IfcElectricMotorType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcElectricMotorTypeEnum); + current = entity_descriptor_map[Type::IfcElectricTimeControlType] = new IfcEntityDescriptor(Type::IfcElectricTimeControlType,entity_descriptor_map.find(Type::IfcFlowControllerType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcElectricTimeControlTypeEnum); + current = entity_descriptor_map[Type::IfcEnergyConversionDevice] = new IfcEntityDescriptor(Type::IfcEnergyConversionDevice,entity_descriptor_map.find(Type::IfcDistributionFlowElement)->second); + + current = entity_descriptor_map[Type::IfcEngine] = new IfcEntityDescriptor(Type::IfcEngine,entity_descriptor_map.find(Type::IfcEnergyConversionDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcEngineTypeEnum); + current = entity_descriptor_map[Type::IfcEvaporativeCooler] = new IfcEntityDescriptor(Type::IfcEvaporativeCooler,entity_descriptor_map.find(Type::IfcEnergyConversionDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcEvaporativeCoolerTypeEnum); + current = entity_descriptor_map[Type::IfcEvaporator] = new IfcEntityDescriptor(Type::IfcEvaporator,entity_descriptor_map.find(Type::IfcEnergyConversionDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcEvaporatorTypeEnum); + current = entity_descriptor_map[Type::IfcExternalSpatialElement] = new IfcEntityDescriptor(Type::IfcExternalSpatialElement,entity_descriptor_map.find(Type::IfcExternalSpatialStructureElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcExternalSpatialElementTypeEnum); + current = entity_descriptor_map[Type::IfcFanType] = new IfcEntityDescriptor(Type::IfcFanType,entity_descriptor_map.find(Type::IfcFlowMovingDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcFanTypeEnum); + current = entity_descriptor_map[Type::IfcFilterType] = new IfcEntityDescriptor(Type::IfcFilterType,entity_descriptor_map.find(Type::IfcFlowTreatmentDeviceType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcFilterTypeEnum); + current = entity_descriptor_map[Type::IfcFireSuppressionTerminalType] = new IfcEntityDescriptor(Type::IfcFireSuppressionTerminalType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcFireSuppressionTerminalTypeEnum); + current = entity_descriptor_map[Type::IfcFlowController] = new IfcEntityDescriptor(Type::IfcFlowController,entity_descriptor_map.find(Type::IfcDistributionFlowElement)->second); + + current = entity_descriptor_map[Type::IfcFlowFitting] = new IfcEntityDescriptor(Type::IfcFlowFitting,entity_descriptor_map.find(Type::IfcDistributionFlowElement)->second); + + current = entity_descriptor_map[Type::IfcFlowInstrumentType] = new IfcEntityDescriptor(Type::IfcFlowInstrumentType,entity_descriptor_map.find(Type::IfcDistributionControlElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcFlowInstrumentTypeEnum); + current = entity_descriptor_map[Type::IfcFlowMeter] = new IfcEntityDescriptor(Type::IfcFlowMeter,entity_descriptor_map.find(Type::IfcFlowController)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcFlowMeterTypeEnum); + current = entity_descriptor_map[Type::IfcFlowMovingDevice] = new IfcEntityDescriptor(Type::IfcFlowMovingDevice,entity_descriptor_map.find(Type::IfcDistributionFlowElement)->second); + + current = entity_descriptor_map[Type::IfcFlowSegment] = new IfcEntityDescriptor(Type::IfcFlowSegment,entity_descriptor_map.find(Type::IfcDistributionFlowElement)->second); + + current = entity_descriptor_map[Type::IfcFlowStorageDevice] = new IfcEntityDescriptor(Type::IfcFlowStorageDevice,entity_descriptor_map.find(Type::IfcDistributionFlowElement)->second); + + current = entity_descriptor_map[Type::IfcFlowTerminal] = new IfcEntityDescriptor(Type::IfcFlowTerminal,entity_descriptor_map.find(Type::IfcDistributionFlowElement)->second); + + current = entity_descriptor_map[Type::IfcFlowTreatmentDevice] = new IfcEntityDescriptor(Type::IfcFlowTreatmentDevice,entity_descriptor_map.find(Type::IfcDistributionFlowElement)->second); + + current = entity_descriptor_map[Type::IfcFooting] = new IfcEntityDescriptor(Type::IfcFooting,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcFootingTypeEnum); + current = entity_descriptor_map[Type::IfcHeatExchanger] = new IfcEntityDescriptor(Type::IfcHeatExchanger,entity_descriptor_map.find(Type::IfcEnergyConversionDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcHeatExchangerTypeEnum); + current = entity_descriptor_map[Type::IfcHumidifier] = new IfcEntityDescriptor(Type::IfcHumidifier,entity_descriptor_map.find(Type::IfcEnergyConversionDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcHumidifierTypeEnum); + current = entity_descriptor_map[Type::IfcInterceptor] = new IfcEntityDescriptor(Type::IfcInterceptor,entity_descriptor_map.find(Type::IfcFlowTreatmentDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcInterceptorTypeEnum); + current = entity_descriptor_map[Type::IfcJunctionBox] = new IfcEntityDescriptor(Type::IfcJunctionBox,entity_descriptor_map.find(Type::IfcFlowFitting)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcJunctionBoxTypeEnum); + current = entity_descriptor_map[Type::IfcLamp] = new IfcEntityDescriptor(Type::IfcLamp,entity_descriptor_map.find(Type::IfcFlowTerminal)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcLampTypeEnum); + current = entity_descriptor_map[Type::IfcLightFixture] = new IfcEntityDescriptor(Type::IfcLightFixture,entity_descriptor_map.find(Type::IfcFlowTerminal)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcLightFixtureTypeEnum); + current = entity_descriptor_map[Type::IfcMedicalDevice] = new IfcEntityDescriptor(Type::IfcMedicalDevice,entity_descriptor_map.find(Type::IfcFlowTerminal)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcMedicalDeviceTypeEnum); + current = entity_descriptor_map[Type::IfcMember] = new IfcEntityDescriptor(Type::IfcMember,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcMemberTypeEnum); + current = entity_descriptor_map[Type::IfcMemberStandardCase] = new IfcEntityDescriptor(Type::IfcMemberStandardCase,entity_descriptor_map.find(Type::IfcMember)->second); + + current = entity_descriptor_map[Type::IfcMotorConnection] = new IfcEntityDescriptor(Type::IfcMotorConnection,entity_descriptor_map.find(Type::IfcEnergyConversionDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcMotorConnectionTypeEnum); + current = entity_descriptor_map[Type::IfcOuterBoundaryCurve] = new IfcEntityDescriptor(Type::IfcOuterBoundaryCurve,entity_descriptor_map.find(Type::IfcBoundaryCurve)->second); + + current = entity_descriptor_map[Type::IfcOutlet] = new IfcEntityDescriptor(Type::IfcOutlet,entity_descriptor_map.find(Type::IfcFlowTerminal)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcOutletTypeEnum); + current = entity_descriptor_map[Type::IfcPile] = new IfcEntityDescriptor(Type::IfcPile,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcPileTypeEnum); + current->add("ConstructionType",true,IfcUtil::Argument_ENUMERATION,Type::IfcPileConstructionEnum); + current = entity_descriptor_map[Type::IfcPipeFitting] = new IfcEntityDescriptor(Type::IfcPipeFitting,entity_descriptor_map.find(Type::IfcFlowFitting)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcPipeFittingTypeEnum); + current = entity_descriptor_map[Type::IfcPipeSegment] = new IfcEntityDescriptor(Type::IfcPipeSegment,entity_descriptor_map.find(Type::IfcFlowSegment)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcPipeSegmentTypeEnum); + current = entity_descriptor_map[Type::IfcPlate] = new IfcEntityDescriptor(Type::IfcPlate,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcPlateTypeEnum); + current = entity_descriptor_map[Type::IfcPlateStandardCase] = new IfcEntityDescriptor(Type::IfcPlateStandardCase,entity_descriptor_map.find(Type::IfcPlate)->second); + + current = entity_descriptor_map[Type::IfcProtectiveDevice] = new IfcEntityDescriptor(Type::IfcProtectiveDevice,entity_descriptor_map.find(Type::IfcFlowController)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcProtectiveDeviceTypeEnum); + current = entity_descriptor_map[Type::IfcProtectiveDeviceTrippingUnitType] = new IfcEntityDescriptor(Type::IfcProtectiveDeviceTrippingUnitType,entity_descriptor_map.find(Type::IfcDistributionControlElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcProtectiveDeviceTrippingUnitTypeEnum); + current = entity_descriptor_map[Type::IfcPump] = new IfcEntityDescriptor(Type::IfcPump,entity_descriptor_map.find(Type::IfcFlowMovingDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcPumpTypeEnum); + current = entity_descriptor_map[Type::IfcRailing] = new IfcEntityDescriptor(Type::IfcRailing,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcRailingTypeEnum); + current = entity_descriptor_map[Type::IfcRamp] = new IfcEntityDescriptor(Type::IfcRamp,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcRampTypeEnum); + current = entity_descriptor_map[Type::IfcRampFlight] = new IfcEntityDescriptor(Type::IfcRampFlight,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcRampFlightTypeEnum); + current = entity_descriptor_map[Type::IfcRationalBSplineCurveWithKnots] = new IfcEntityDescriptor(Type::IfcRationalBSplineCurveWithKnots,entity_descriptor_map.find(Type::IfcBSplineCurveWithKnots)->second); + current->add("WeightsData",false,IfcUtil::Argument_VECTOR_DOUBLE); + current = entity_descriptor_map[Type::IfcReinforcingBar] = new IfcEntityDescriptor(Type::IfcReinforcingBar,entity_descriptor_map.find(Type::IfcReinforcingElement)->second); + current->add("NominalDiameter",true,IfcUtil::Argument_DOUBLE); + current->add("CrossSectionArea",true,IfcUtil::Argument_DOUBLE); + current->add("BarLength",true,IfcUtil::Argument_DOUBLE); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcReinforcingBarTypeEnum); + current->add("BarSurface",true,IfcUtil::Argument_ENUMERATION,Type::IfcReinforcingBarSurfaceEnum); + current = entity_descriptor_map[Type::IfcReinforcingBarType] = new IfcEntityDescriptor(Type::IfcReinforcingBarType,entity_descriptor_map.find(Type::IfcReinforcingElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcReinforcingBarTypeEnum); + current->add("NominalDiameter",true,IfcUtil::Argument_DOUBLE); + current->add("CrossSectionArea",true,IfcUtil::Argument_DOUBLE); + current->add("BarLength",true,IfcUtil::Argument_DOUBLE); + current->add("BarSurface",true,IfcUtil::Argument_ENUMERATION,Type::IfcReinforcingBarSurfaceEnum); + current->add("BendingShapeCode",true,IfcUtil::Argument_STRING); + current->add("BendingParameters",true,IfcUtil::Argument_ENTITY_LIST); + current = entity_descriptor_map[Type::IfcRoof] = new IfcEntityDescriptor(Type::IfcRoof,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcRoofTypeEnum); + current = entity_descriptor_map[Type::IfcSanitaryTerminal] = new IfcEntityDescriptor(Type::IfcSanitaryTerminal,entity_descriptor_map.find(Type::IfcFlowTerminal)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcSanitaryTerminalTypeEnum); + current = entity_descriptor_map[Type::IfcSensorType] = new IfcEntityDescriptor(Type::IfcSensorType,entity_descriptor_map.find(Type::IfcDistributionControlElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcSensorTypeEnum); + current = entity_descriptor_map[Type::IfcShadingDevice] = new IfcEntityDescriptor(Type::IfcShadingDevice,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcShadingDeviceTypeEnum); + current = entity_descriptor_map[Type::IfcSlab] = new IfcEntityDescriptor(Type::IfcSlab,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcSlabTypeEnum); + current = entity_descriptor_map[Type::IfcSlabElementedCase] = new IfcEntityDescriptor(Type::IfcSlabElementedCase,entity_descriptor_map.find(Type::IfcSlab)->second); + + current = entity_descriptor_map[Type::IfcSlabStandardCase] = new IfcEntityDescriptor(Type::IfcSlabStandardCase,entity_descriptor_map.find(Type::IfcSlab)->second); + + current = entity_descriptor_map[Type::IfcSolarDevice] = new IfcEntityDescriptor(Type::IfcSolarDevice,entity_descriptor_map.find(Type::IfcEnergyConversionDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcSolarDeviceTypeEnum); + current = entity_descriptor_map[Type::IfcSpaceHeater] = new IfcEntityDescriptor(Type::IfcSpaceHeater,entity_descriptor_map.find(Type::IfcFlowTerminal)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcSpaceHeaterTypeEnum); + current = entity_descriptor_map[Type::IfcStackTerminal] = new IfcEntityDescriptor(Type::IfcStackTerminal,entity_descriptor_map.find(Type::IfcFlowTerminal)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcStackTerminalTypeEnum); + current = entity_descriptor_map[Type::IfcStair] = new IfcEntityDescriptor(Type::IfcStair,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcStairTypeEnum); + current = entity_descriptor_map[Type::IfcStairFlight] = new IfcEntityDescriptor(Type::IfcStairFlight,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("NumberOfRiser",true,IfcUtil::Argument_INT); + current->add("NumberOfTreads",true,IfcUtil::Argument_INT); + current->add("RiserHeight",true,IfcUtil::Argument_DOUBLE); + current->add("TreadLength",true,IfcUtil::Argument_DOUBLE); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcStairFlightTypeEnum); + current = entity_descriptor_map[Type::IfcStructuralAnalysisModel] = new IfcEntityDescriptor(Type::IfcStructuralAnalysisModel,entity_descriptor_map.find(Type::IfcSystem)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcAnalysisModelTypeEnum); + current->add("OrientationOf2DPlane",true,IfcUtil::Argument_ENTITY); + current->add("LoadedBy",true,IfcUtil::Argument_ENTITY_LIST); + current->add("HasResults",true,IfcUtil::Argument_ENTITY_LIST); + current->add("SharedPlacement",true,IfcUtil::Argument_ENTITY); + current = entity_descriptor_map[Type::IfcStructuralLoadCase] = new IfcEntityDescriptor(Type::IfcStructuralLoadCase,entity_descriptor_map.find(Type::IfcStructuralLoadGroup)->second); + current->add("SelfWeightCoefficients",true,IfcUtil::Argument_VECTOR_DOUBLE); + current = entity_descriptor_map[Type::IfcStructuralPlanarAction] = new IfcEntityDescriptor(Type::IfcStructuralPlanarAction,entity_descriptor_map.find(Type::IfcStructuralSurfaceAction)->second); + + current = entity_descriptor_map[Type::IfcSwitchingDevice] = new IfcEntityDescriptor(Type::IfcSwitchingDevice,entity_descriptor_map.find(Type::IfcFlowController)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcSwitchingDeviceTypeEnum); + current = entity_descriptor_map[Type::IfcTank] = new IfcEntityDescriptor(Type::IfcTank,entity_descriptor_map.find(Type::IfcFlowStorageDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcTankTypeEnum); + current = entity_descriptor_map[Type::IfcTransformer] = new IfcEntityDescriptor(Type::IfcTransformer,entity_descriptor_map.find(Type::IfcEnergyConversionDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcTransformerTypeEnum); + current = entity_descriptor_map[Type::IfcTubeBundle] = new IfcEntityDescriptor(Type::IfcTubeBundle,entity_descriptor_map.find(Type::IfcEnergyConversionDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcTubeBundleTypeEnum); + current = entity_descriptor_map[Type::IfcUnitaryControlElementType] = new IfcEntityDescriptor(Type::IfcUnitaryControlElementType,entity_descriptor_map.find(Type::IfcDistributionControlElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcUnitaryControlElementTypeEnum); + current = entity_descriptor_map[Type::IfcUnitaryEquipment] = new IfcEntityDescriptor(Type::IfcUnitaryEquipment,entity_descriptor_map.find(Type::IfcEnergyConversionDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcUnitaryEquipmentTypeEnum); + current = entity_descriptor_map[Type::IfcValve] = new IfcEntityDescriptor(Type::IfcValve,entity_descriptor_map.find(Type::IfcFlowController)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcValveTypeEnum); + current = entity_descriptor_map[Type::IfcWall] = new IfcEntityDescriptor(Type::IfcWall,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcWallTypeEnum); + current = entity_descriptor_map[Type::IfcWallElementedCase] = new IfcEntityDescriptor(Type::IfcWallElementedCase,entity_descriptor_map.find(Type::IfcWall)->second); + + current = entity_descriptor_map[Type::IfcWallStandardCase] = new IfcEntityDescriptor(Type::IfcWallStandardCase,entity_descriptor_map.find(Type::IfcWall)->second); + + current = entity_descriptor_map[Type::IfcWasteTerminal] = new IfcEntityDescriptor(Type::IfcWasteTerminal,entity_descriptor_map.find(Type::IfcFlowTerminal)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcWasteTerminalTypeEnum); + current = entity_descriptor_map[Type::IfcWindow] = new IfcEntityDescriptor(Type::IfcWindow,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("OverallHeight",true,IfcUtil::Argument_DOUBLE); + current->add("OverallWidth",true,IfcUtil::Argument_DOUBLE); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcWindowTypeEnum); + current->add("PartitioningType",true,IfcUtil::Argument_ENUMERATION,Type::IfcWindowTypePartitioningEnum); + current->add("UserDefinedPartitioningType",true,IfcUtil::Argument_STRING); + current = entity_descriptor_map[Type::IfcWindowStandardCase] = new IfcEntityDescriptor(Type::IfcWindowStandardCase,entity_descriptor_map.find(Type::IfcWindow)->second); + + current = entity_descriptor_map[Type::IfcActuatorType] = new IfcEntityDescriptor(Type::IfcActuatorType,entity_descriptor_map.find(Type::IfcDistributionControlElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcActuatorTypeEnum); + current = entity_descriptor_map[Type::IfcAirTerminal] = new IfcEntityDescriptor(Type::IfcAirTerminal,entity_descriptor_map.find(Type::IfcFlowTerminal)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcAirTerminalTypeEnum); + current = entity_descriptor_map[Type::IfcAirTerminalBox] = new IfcEntityDescriptor(Type::IfcAirTerminalBox,entity_descriptor_map.find(Type::IfcFlowController)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcAirTerminalBoxTypeEnum); + current = entity_descriptor_map[Type::IfcAirToAirHeatRecovery] = new IfcEntityDescriptor(Type::IfcAirToAirHeatRecovery,entity_descriptor_map.find(Type::IfcEnergyConversionDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcAirToAirHeatRecoveryTypeEnum); + current = entity_descriptor_map[Type::IfcAlarmType] = new IfcEntityDescriptor(Type::IfcAlarmType,entity_descriptor_map.find(Type::IfcDistributionControlElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcAlarmTypeEnum); + current = entity_descriptor_map[Type::IfcAudioVisualAppliance] = new IfcEntityDescriptor(Type::IfcAudioVisualAppliance,entity_descriptor_map.find(Type::IfcFlowTerminal)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcAudioVisualApplianceTypeEnum); + current = entity_descriptor_map[Type::IfcBeam] = new IfcEntityDescriptor(Type::IfcBeam,entity_descriptor_map.find(Type::IfcBuildingElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcBeamTypeEnum); + current = entity_descriptor_map[Type::IfcBeamStandardCase] = new IfcEntityDescriptor(Type::IfcBeamStandardCase,entity_descriptor_map.find(Type::IfcBeam)->second); + + current = entity_descriptor_map[Type::IfcBoiler] = new IfcEntityDescriptor(Type::IfcBoiler,entity_descriptor_map.find(Type::IfcEnergyConversionDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcBoilerTypeEnum); + current = entity_descriptor_map[Type::IfcBurner] = new IfcEntityDescriptor(Type::IfcBurner,entity_descriptor_map.find(Type::IfcEnergyConversionDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcBurnerTypeEnum); + current = entity_descriptor_map[Type::IfcCableCarrierFitting] = new IfcEntityDescriptor(Type::IfcCableCarrierFitting,entity_descriptor_map.find(Type::IfcFlowFitting)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcCableCarrierFittingTypeEnum); + current = entity_descriptor_map[Type::IfcCableCarrierSegment] = new IfcEntityDescriptor(Type::IfcCableCarrierSegment,entity_descriptor_map.find(Type::IfcFlowSegment)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcCableCarrierSegmentTypeEnum); + current = entity_descriptor_map[Type::IfcCableFitting] = new IfcEntityDescriptor(Type::IfcCableFitting,entity_descriptor_map.find(Type::IfcFlowFitting)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcCableFittingTypeEnum); + current = entity_descriptor_map[Type::IfcCableSegment] = new IfcEntityDescriptor(Type::IfcCableSegment,entity_descriptor_map.find(Type::IfcFlowSegment)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcCableSegmentTypeEnum); + current = entity_descriptor_map[Type::IfcChiller] = new IfcEntityDescriptor(Type::IfcChiller,entity_descriptor_map.find(Type::IfcEnergyConversionDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcChillerTypeEnum); + current = entity_descriptor_map[Type::IfcCoil] = new IfcEntityDescriptor(Type::IfcCoil,entity_descriptor_map.find(Type::IfcEnergyConversionDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcCoilTypeEnum); + current = entity_descriptor_map[Type::IfcCommunicationsAppliance] = new IfcEntityDescriptor(Type::IfcCommunicationsAppliance,entity_descriptor_map.find(Type::IfcFlowTerminal)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcCommunicationsApplianceTypeEnum); + current = entity_descriptor_map[Type::IfcCompressor] = new IfcEntityDescriptor(Type::IfcCompressor,entity_descriptor_map.find(Type::IfcFlowMovingDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcCompressorTypeEnum); + current = entity_descriptor_map[Type::IfcCondenser] = new IfcEntityDescriptor(Type::IfcCondenser,entity_descriptor_map.find(Type::IfcEnergyConversionDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcCondenserTypeEnum); + current = entity_descriptor_map[Type::IfcControllerType] = new IfcEntityDescriptor(Type::IfcControllerType,entity_descriptor_map.find(Type::IfcDistributionControlElementType)->second); + current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcControllerTypeEnum); + current = entity_descriptor_map[Type::IfcCooledBeam] = new IfcEntityDescriptor(Type::IfcCooledBeam,entity_descriptor_map.find(Type::IfcEnergyConversionDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcCooledBeamTypeEnum); + current = entity_descriptor_map[Type::IfcCoolingTower] = new IfcEntityDescriptor(Type::IfcCoolingTower,entity_descriptor_map.find(Type::IfcEnergyConversionDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcCoolingTowerTypeEnum); + current = entity_descriptor_map[Type::IfcDamper] = new IfcEntityDescriptor(Type::IfcDamper,entity_descriptor_map.find(Type::IfcFlowController)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcDamperTypeEnum); + current = entity_descriptor_map[Type::IfcDistributionChamberElement] = new IfcEntityDescriptor(Type::IfcDistributionChamberElement,entity_descriptor_map.find(Type::IfcDistributionFlowElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcDistributionChamberElementTypeEnum); + current = entity_descriptor_map[Type::IfcDistributionCircuit] = new IfcEntityDescriptor(Type::IfcDistributionCircuit,entity_descriptor_map.find(Type::IfcDistributionSystem)->second); + + current = entity_descriptor_map[Type::IfcDistributionControlElement] = new IfcEntityDescriptor(Type::IfcDistributionControlElement,entity_descriptor_map.find(Type::IfcDistributionElement)->second); + + current = entity_descriptor_map[Type::IfcDuctFitting] = new IfcEntityDescriptor(Type::IfcDuctFitting,entity_descriptor_map.find(Type::IfcFlowFitting)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcDuctFittingTypeEnum); + current = entity_descriptor_map[Type::IfcDuctSegment] = new IfcEntityDescriptor(Type::IfcDuctSegment,entity_descriptor_map.find(Type::IfcFlowSegment)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcDuctSegmentTypeEnum); + current = entity_descriptor_map[Type::IfcDuctSilencer] = new IfcEntityDescriptor(Type::IfcDuctSilencer,entity_descriptor_map.find(Type::IfcFlowTreatmentDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcDuctSilencerTypeEnum); + current = entity_descriptor_map[Type::IfcElectricAppliance] = new IfcEntityDescriptor(Type::IfcElectricAppliance,entity_descriptor_map.find(Type::IfcFlowTerminal)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcElectricApplianceTypeEnum); + current = entity_descriptor_map[Type::IfcElectricDistributionBoard] = new IfcEntityDescriptor(Type::IfcElectricDistributionBoard,entity_descriptor_map.find(Type::IfcFlowController)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcElectricDistributionBoardTypeEnum); + current = entity_descriptor_map[Type::IfcElectricFlowStorageDevice] = new IfcEntityDescriptor(Type::IfcElectricFlowStorageDevice,entity_descriptor_map.find(Type::IfcFlowStorageDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcElectricFlowStorageDeviceTypeEnum); + current = entity_descriptor_map[Type::IfcElectricGenerator] = new IfcEntityDescriptor(Type::IfcElectricGenerator,entity_descriptor_map.find(Type::IfcEnergyConversionDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcElectricGeneratorTypeEnum); + current = entity_descriptor_map[Type::IfcElectricMotor] = new IfcEntityDescriptor(Type::IfcElectricMotor,entity_descriptor_map.find(Type::IfcEnergyConversionDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcElectricMotorTypeEnum); + current = entity_descriptor_map[Type::IfcElectricTimeControl] = new IfcEntityDescriptor(Type::IfcElectricTimeControl,entity_descriptor_map.find(Type::IfcFlowController)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcElectricTimeControlTypeEnum); + current = entity_descriptor_map[Type::IfcFan] = new IfcEntityDescriptor(Type::IfcFan,entity_descriptor_map.find(Type::IfcFlowMovingDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcFanTypeEnum); + current = entity_descriptor_map[Type::IfcFilter] = new IfcEntityDescriptor(Type::IfcFilter,entity_descriptor_map.find(Type::IfcFlowTreatmentDevice)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcFilterTypeEnum); + current = entity_descriptor_map[Type::IfcFireSuppressionTerminal] = new IfcEntityDescriptor(Type::IfcFireSuppressionTerminal,entity_descriptor_map.find(Type::IfcFlowTerminal)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcFireSuppressionTerminalTypeEnum); + current = entity_descriptor_map[Type::IfcFlowInstrument] = new IfcEntityDescriptor(Type::IfcFlowInstrument,entity_descriptor_map.find(Type::IfcDistributionControlElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcFlowInstrumentTypeEnum); + current = entity_descriptor_map[Type::IfcProtectiveDeviceTrippingUnit] = new IfcEntityDescriptor(Type::IfcProtectiveDeviceTrippingUnit,entity_descriptor_map.find(Type::IfcDistributionControlElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcProtectiveDeviceTrippingUnitTypeEnum); + current = entity_descriptor_map[Type::IfcSensor] = new IfcEntityDescriptor(Type::IfcSensor,entity_descriptor_map.find(Type::IfcDistributionControlElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcSensorTypeEnum); + current = entity_descriptor_map[Type::IfcUnitaryControlElement] = new IfcEntityDescriptor(Type::IfcUnitaryControlElement,entity_descriptor_map.find(Type::IfcDistributionControlElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcUnitaryControlElementTypeEnum); + current = entity_descriptor_map[Type::IfcActuator] = new IfcEntityDescriptor(Type::IfcActuator,entity_descriptor_map.find(Type::IfcDistributionControlElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcActuatorTypeEnum); + current = entity_descriptor_map[Type::IfcAlarm] = new IfcEntityDescriptor(Type::IfcAlarm,entity_descriptor_map.find(Type::IfcDistributionControlElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcAlarmTypeEnum); + current = entity_descriptor_map[Type::IfcController] = new IfcEntityDescriptor(Type::IfcController,entity_descriptor_map.find(Type::IfcDistributionControlElement)->second); + current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcControllerTypeEnum); + // Enumerations + IfcEnumerationDescriptor* current_enum; + std::vector values; + values.clear(); values.reserve(128); + values.push_back("EMAIL"); + values.push_back("FAX"); + values.push_back("PHONE"); + values.push_back("POST"); + values.push_back("VERBAL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcActionRequestTypeEnum] = new IfcEnumerationDescriptor(Type::IfcActionRequestTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("DEAD_LOAD_G"); + values.push_back("COMPLETION_G1"); + values.push_back("LIVE_LOAD_Q"); + values.push_back("SNOW_S"); + values.push_back("WIND_W"); + values.push_back("PRESTRESSING_P"); + values.push_back("SETTLEMENT_U"); + values.push_back("TEMPERATURE_T"); + values.push_back("EARTHQUAKE_E"); + values.push_back("FIRE"); + values.push_back("IMPULSE"); + values.push_back("IMPACT"); + values.push_back("TRANSPORT"); + values.push_back("ERECTION"); + values.push_back("PROPPING"); + values.push_back("SYSTEM_IMPERFECTION"); + values.push_back("SHRINKAGE"); + values.push_back("CREEP"); + values.push_back("LACK_OF_FIT"); + values.push_back("BUOYANCY"); + values.push_back("ICE"); + values.push_back("CURRENT"); + values.push_back("WAVE"); + values.push_back("RAIN"); + values.push_back("BRAKES"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcActionSourceTypeEnum] = new IfcEnumerationDescriptor(Type::IfcActionSourceTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("PERMANENT_G"); + values.push_back("VARIABLE_Q"); + values.push_back("EXTRAORDINARY_A"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcActionTypeEnum] = new IfcEnumerationDescriptor(Type::IfcActionTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ELECTRICACTUATOR"); + values.push_back("HANDOPERATEDACTUATOR"); + values.push_back("HYDRAULICACTUATOR"); + values.push_back("PNEUMATICACTUATOR"); + values.push_back("THERMOSTATICACTUATOR"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcActuatorTypeEnum] = new IfcEnumerationDescriptor(Type::IfcActuatorTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("OFFICE"); + values.push_back("SITE"); + values.push_back("HOME"); + values.push_back("DISTRIBUTIONPOINT"); + values.push_back("USERDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcAddressTypeEnum] = new IfcEnumerationDescriptor(Type::IfcAddressTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CONSTANTFLOW"); + values.push_back("VARIABLEFLOWPRESSUREDEPENDANT"); + values.push_back("VARIABLEFLOWPRESSUREINDEPENDANT"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcAirTerminalBoxTypeEnum] = new IfcEnumerationDescriptor(Type::IfcAirTerminalBoxTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("DIFFUSER"); + values.push_back("GRILLE"); + values.push_back("LOUVRE"); + values.push_back("REGISTER"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcAirTerminalTypeEnum] = new IfcEnumerationDescriptor(Type::IfcAirTerminalTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("FIXEDPLATECOUNTERFLOWEXCHANGER"); + values.push_back("FIXEDPLATECROSSFLOWEXCHANGER"); + values.push_back("FIXEDPLATEPARALLELFLOWEXCHANGER"); + values.push_back("ROTARYWHEEL"); + values.push_back("RUNAROUNDCOILLOOP"); + values.push_back("HEATPIPE"); + values.push_back("TWINTOWERENTHALPYRECOVERYLOOPS"); + values.push_back("THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"); + values.push_back("THERMOSIPHONCOILTYPEHEATEXCHANGERS"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcAirToAirHeatRecoveryTypeEnum] = new IfcEnumerationDescriptor(Type::IfcAirToAirHeatRecoveryTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("BELL"); + values.push_back("BREAKGLASSBUTTON"); + values.push_back("LIGHT"); + values.push_back("MANUALPULLBOX"); + values.push_back("SIREN"); + values.push_back("WHISTLE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcAlarmTypeEnum] = new IfcEnumerationDescriptor(Type::IfcAlarmTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("IN_PLANE_LOADING_2D"); + values.push_back("OUT_PLANE_LOADING_2D"); + values.push_back("LOADING_3D"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcAnalysisModelTypeEnum] = new IfcEnumerationDescriptor(Type::IfcAnalysisModelTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("FIRST_ORDER_THEORY"); + values.push_back("SECOND_ORDER_THEORY"); + values.push_back("THIRD_ORDER_THEORY"); + values.push_back("FULL_NONLINEAR_THEORY"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcAnalysisTheoryTypeEnum] = new IfcEnumerationDescriptor(Type::IfcAnalysisTheoryTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ADD"); + values.push_back("DIVIDE"); + values.push_back("MULTIPLY"); + values.push_back("SUBTRACT"); + current_enum = enumeration_descriptor_map[Type::IfcArithmeticOperatorEnum] = new IfcEnumerationDescriptor(Type::IfcArithmeticOperatorEnum, values); + values.clear(); values.reserve(128); + values.push_back("SITE"); + values.push_back("FACTORY"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcAssemblyPlaceEnum] = new IfcEnumerationDescriptor(Type::IfcAssemblyPlaceEnum, values); + values.clear(); values.reserve(128); + values.push_back("AMPLIFIER"); + values.push_back("CAMERA"); + values.push_back("DISPLAY"); + values.push_back("MICROPHONE"); + values.push_back("PLAYER"); + values.push_back("PROJECTOR"); + values.push_back("RECEIVER"); + values.push_back("SPEAKER"); + values.push_back("SWITCHER"); + values.push_back("TELEPHONE"); + values.push_back("TUNER"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcAudioVisualApplianceTypeEnum] = new IfcEnumerationDescriptor(Type::IfcAudioVisualApplianceTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("POLYLINE_FORM"); + values.push_back("CIRCULAR_ARC"); + values.push_back("ELLIPTIC_ARC"); + values.push_back("PARABOLIC_ARC"); + values.push_back("HYPERBOLIC_ARC"); + values.push_back("UNSPECIFIED"); + current_enum = enumeration_descriptor_map[Type::IfcBSplineCurveForm] = new IfcEnumerationDescriptor(Type::IfcBSplineCurveForm, values); + values.clear(); values.reserve(128); + values.push_back("PLANE_SURF"); + values.push_back("CYLINDRICAL_SURF"); + values.push_back("CONICAL_SURF"); + values.push_back("SPHERICAL_SURF"); + values.push_back("TOROIDAL_SURF"); + values.push_back("SURF_OF_REVOLUTION"); + values.push_back("RULED_SURF"); + values.push_back("GENERALISED_CONE"); + values.push_back("QUADRIC_SURF"); + values.push_back("SURF_OF_LINEAR_EXTRUSION"); + values.push_back("UNSPECIFIED"); + current_enum = enumeration_descriptor_map[Type::IfcBSplineSurfaceForm] = new IfcEnumerationDescriptor(Type::IfcBSplineSurfaceForm, values); + values.clear(); values.reserve(128); + values.push_back("BEAM"); + values.push_back("JOIST"); + values.push_back("HOLLOWCORE"); + values.push_back("LINTEL"); + values.push_back("SPANDREL"); + values.push_back("T_BEAM"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcBeamTypeEnum] = new IfcEnumerationDescriptor(Type::IfcBeamTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("GREATERTHAN"); + values.push_back("GREATERTHANOREQUALTO"); + values.push_back("LESSTHAN"); + values.push_back("LESSTHANOREQUALTO"); + values.push_back("EQUALTO"); + values.push_back("NOTEQUALTO"); + values.push_back("INCLUDES"); + values.push_back("NOTINCLUDES"); + values.push_back("INCLUDEDIN"); + values.push_back("NOTINCLUDEDIN"); + current_enum = enumeration_descriptor_map[Type::IfcBenchmarkEnum] = new IfcEnumerationDescriptor(Type::IfcBenchmarkEnum, values); + values.clear(); values.reserve(128); + values.push_back("WATER"); + values.push_back("STEAM"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcBoilerTypeEnum] = new IfcEnumerationDescriptor(Type::IfcBoilerTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("UNION"); + values.push_back("INTERSECTION"); + values.push_back("DIFFERENCE"); + current_enum = enumeration_descriptor_map[Type::IfcBooleanOperator] = new IfcEnumerationDescriptor(Type::IfcBooleanOperator, values); + values.clear(); values.reserve(128); + values.push_back("INSULATION"); + values.push_back("PRECASTPANEL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcBuildingElementPartTypeEnum] = new IfcEnumerationDescriptor(Type::IfcBuildingElementPartTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("COMPLEX"); + values.push_back("ELEMENT"); + values.push_back("PARTIAL"); + values.push_back("PROVISIONFORVOID"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcBuildingElementProxyTypeEnum] = new IfcEnumerationDescriptor(Type::IfcBuildingElementProxyTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("FENESTRATION"); + values.push_back("FOUNDATION"); + values.push_back("LOADBEARING"); + values.push_back("OUTERSHELL"); + values.push_back("SHADING"); + values.push_back("TRANSPORT"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcBuildingSystemTypeEnum] = new IfcEnumerationDescriptor(Type::IfcBuildingSystemTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcBurnerTypeEnum] = new IfcEnumerationDescriptor(Type::IfcBurnerTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("BEND"); + values.push_back("CROSS"); + values.push_back("REDUCER"); + values.push_back("TEE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCableCarrierFittingTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCableCarrierFittingTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CABLELADDERSEGMENT"); + values.push_back("CABLETRAYSEGMENT"); + values.push_back("CABLETRUNKINGSEGMENT"); + values.push_back("CONDUITSEGMENT"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCableCarrierSegmentTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCableCarrierSegmentTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CONNECTOR"); + values.push_back("ENTRY"); + values.push_back("EXIT"); + values.push_back("JUNCTION"); + values.push_back("TRANSITION"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCableFittingTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCableFittingTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("BUSBARSEGMENT"); + values.push_back("CABLESEGMENT"); + values.push_back("CONDUCTORSEGMENT"); + values.push_back("CORESEGMENT"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCableSegmentTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCableSegmentTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("NOCHANGE"); + values.push_back("MODIFIED"); + values.push_back("ADDED"); + values.push_back("DELETED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcChangeActionEnum] = new IfcEnumerationDescriptor(Type::IfcChangeActionEnum, values); + values.clear(); values.reserve(128); + values.push_back("AIRCOOLED"); + values.push_back("WATERCOOLED"); + values.push_back("HEATRECOVERY"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcChillerTypeEnum] = new IfcEnumerationDescriptor(Type::IfcChillerTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcChimneyTypeEnum] = new IfcEnumerationDescriptor(Type::IfcChimneyTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("DXCOOLINGCOIL"); + values.push_back("ELECTRICHEATINGCOIL"); + values.push_back("GASHEATINGCOIL"); + values.push_back("HYDRONICCOIL"); + values.push_back("STEAMHEATINGCOIL"); + values.push_back("WATERCOOLINGCOIL"); + values.push_back("WATERHEATINGCOIL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCoilTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCoilTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("COLUMN"); + values.push_back("PILASTER"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcColumnTypeEnum] = new IfcEnumerationDescriptor(Type::IfcColumnTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ANTENNA"); + values.push_back("COMPUTER"); + values.push_back("FAX"); + values.push_back("GATEWAY"); + values.push_back("MODEM"); + values.push_back("NETWORKAPPLIANCE"); + values.push_back("NETWORKBRIDGE"); + values.push_back("NETWORKHUB"); + values.push_back("PRINTER"); + values.push_back("REPEATER"); + values.push_back("ROUTER"); + values.push_back("SCANNER"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCommunicationsApplianceTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCommunicationsApplianceTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("P_COMPLEX"); + values.push_back("Q_COMPLEX"); + current_enum = enumeration_descriptor_map[Type::IfcComplexPropertyTemplateTypeEnum] = new IfcEnumerationDescriptor(Type::IfcComplexPropertyTemplateTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("DYNAMIC"); + values.push_back("RECIPROCATING"); + values.push_back("ROTARY"); + values.push_back("SCROLL"); + values.push_back("TROCHOIDAL"); + values.push_back("SINGLESTAGE"); + values.push_back("BOOSTER"); + values.push_back("OPENTYPE"); + values.push_back("HERMETIC"); + values.push_back("SEMIHERMETIC"); + values.push_back("WELDEDSHELLHERMETIC"); + values.push_back("ROLLINGPISTON"); + values.push_back("ROTARYVANE"); + values.push_back("SINGLESCREW"); + values.push_back("TWINSCREW"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCompressorTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCompressorTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("AIRCOOLED"); + values.push_back("EVAPORATIVECOOLED"); + values.push_back("WATERCOOLED"); + values.push_back("WATERCOOLEDBRAZEDPLATE"); + values.push_back("WATERCOOLEDSHELLCOIL"); + values.push_back("WATERCOOLEDSHELLTUBE"); + values.push_back("WATERCOOLEDTUBEINTUBE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCondenserTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCondenserTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ATPATH"); + values.push_back("ATSTART"); + values.push_back("ATEND"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcConnectionTypeEnum] = new IfcEnumerationDescriptor(Type::IfcConnectionTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("HARD"); + values.push_back("SOFT"); + values.push_back("ADVISORY"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcConstraintEnum] = new IfcEnumerationDescriptor(Type::IfcConstraintEnum, values); + values.clear(); values.reserve(128); + values.push_back("DEMOLISHING"); + values.push_back("EARTHMOVING"); + values.push_back("ERECTING"); + values.push_back("HEATING"); + values.push_back("LIGHTING"); + values.push_back("PAVING"); + values.push_back("PUMPING"); + values.push_back("TRANSPORTING"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcConstructionEquipmentResourceTypeEnum] = new IfcEnumerationDescriptor(Type::IfcConstructionEquipmentResourceTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("AGGREGATES"); + values.push_back("CONCRETE"); + values.push_back("DRYWALL"); + values.push_back("FUEL"); + values.push_back("GYPSUM"); + values.push_back("MASONRY"); + values.push_back("METAL"); + values.push_back("PLASTIC"); + values.push_back("WOOD"); + values.push_back("NOTDEFINED"); + values.push_back("USERDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcConstructionMaterialResourceTypeEnum] = new IfcEnumerationDescriptor(Type::IfcConstructionMaterialResourceTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ASSEMBLY"); + values.push_back("FORMWORK"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcConstructionProductResourceTypeEnum] = new IfcEnumerationDescriptor(Type::IfcConstructionProductResourceTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("FLOATING"); + values.push_back("PROGRAMMABLE"); + values.push_back("PROPORTIONAL"); + values.push_back("MULTIPOSITION"); + values.push_back("TWOPOSITION"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcControllerTypeEnum] = new IfcEnumerationDescriptor(Type::IfcControllerTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ACTIVE"); + values.push_back("PASSIVE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCooledBeamTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCooledBeamTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("NATURALDRAFT"); + values.push_back("MECHANICALINDUCEDDRAFT"); + values.push_back("MECHANICALFORCEDDRAFT"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCoolingTowerTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCoolingTowerTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCostItemTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCostItemTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("BUDGET"); + values.push_back("COSTPLAN"); + values.push_back("ESTIMATE"); + values.push_back("TENDER"); + values.push_back("PRICEDBILLOFQUANTITIES"); + values.push_back("UNPRICEDBILLOFQUANTITIES"); + values.push_back("SCHEDULEOFRATES"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCostScheduleTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCostScheduleTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CEILING"); + values.push_back("FLOORING"); + values.push_back("CLADDING"); + values.push_back("ROOFING"); + values.push_back("MOLDING"); + values.push_back("SKIRTINGBOARD"); + values.push_back("INSULATION"); + values.push_back("MEMBRANE"); + values.push_back("SLEEVING"); + values.push_back("WRAPPING"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCoveringTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCoveringTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("OFFICE"); + values.push_back("SITE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCrewResourceTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCrewResourceTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCurtainWallTypeEnum] = new IfcEnumerationDescriptor(Type::IfcCurtainWallTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("LINEAR"); + values.push_back("LOG_LINEAR"); + values.push_back("LOG_LOG"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcCurveInterpolationEnum] = new IfcEnumerationDescriptor(Type::IfcCurveInterpolationEnum, values); + values.clear(); values.reserve(128); + values.push_back("BACKDRAFTDAMPER"); + values.push_back("BALANCINGDAMPER"); + values.push_back("BLASTDAMPER"); + values.push_back("CONTROLDAMPER"); + values.push_back("FIREDAMPER"); + values.push_back("FIRESMOKEDAMPER"); + values.push_back("FUMEHOODEXHAUST"); + values.push_back("GRAVITYDAMPER"); + values.push_back("GRAVITYRELIEFDAMPER"); + values.push_back("RELIEFDAMPER"); + values.push_back("SMOKEDAMPER"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDamperTypeEnum] = new IfcEnumerationDescriptor(Type::IfcDamperTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("MEASURED"); + values.push_back("PREDICTED"); + values.push_back("SIMULATED"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDataOriginEnum] = new IfcEnumerationDescriptor(Type::IfcDataOriginEnum, values); + values.clear(); values.reserve(128); + values.push_back("ANGULARVELOCITYUNIT"); + values.push_back("AREADENSITYUNIT"); + values.push_back("COMPOUNDPLANEANGLEUNIT"); + values.push_back("DYNAMICVISCOSITYUNIT"); + values.push_back("HEATFLUXDENSITYUNIT"); + values.push_back("INTEGERCOUNTRATEUNIT"); + values.push_back("ISOTHERMALMOISTURECAPACITYUNIT"); + values.push_back("KINEMATICVISCOSITYUNIT"); + values.push_back("LINEARVELOCITYUNIT"); + values.push_back("MASSDENSITYUNIT"); + values.push_back("MASSFLOWRATEUNIT"); + values.push_back("MOISTUREDIFFUSIVITYUNIT"); + values.push_back("MOLECULARWEIGHTUNIT"); + values.push_back("SPECIFICHEATCAPACITYUNIT"); + values.push_back("THERMALADMITTANCEUNIT"); + values.push_back("THERMALCONDUCTANCEUNIT"); + values.push_back("THERMALRESISTANCEUNIT"); + values.push_back("THERMALTRANSMITTANCEUNIT"); + values.push_back("VAPORPERMEABILITYUNIT"); + values.push_back("VOLUMETRICFLOWRATEUNIT"); + values.push_back("ROTATIONALFREQUENCYUNIT"); + values.push_back("TORQUEUNIT"); + values.push_back("MOMENTOFINERTIAUNIT"); + values.push_back("LINEARMOMENTUNIT"); + values.push_back("LINEARFORCEUNIT"); + values.push_back("PLANARFORCEUNIT"); + values.push_back("MODULUSOFELASTICITYUNIT"); + values.push_back("SHEARMODULUSUNIT"); + values.push_back("LINEARSTIFFNESSUNIT"); + values.push_back("ROTATIONALSTIFFNESSUNIT"); + values.push_back("MODULUSOFSUBGRADEREACTIONUNIT"); + values.push_back("ACCELERATIONUNIT"); + values.push_back("CURVATUREUNIT"); + values.push_back("HEATINGVALUEUNIT"); + values.push_back("IONCONCENTRATIONUNIT"); + values.push_back("LUMINOUSINTENSITYDISTRIBUTIONUNIT"); + values.push_back("MASSPERLENGTHUNIT"); + values.push_back("MODULUSOFLINEARSUBGRADEREACTIONUNIT"); + values.push_back("MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"); + values.push_back("PHUNIT"); + values.push_back("ROTATIONALMASSUNIT"); + values.push_back("SECTIONAREAINTEGRALUNIT"); + values.push_back("SECTIONMODULUSUNIT"); + values.push_back("SOUNDPOWERLEVELUNIT"); + values.push_back("SOUNDPOWERUNIT"); + values.push_back("SOUNDPRESSURELEVELUNIT"); + values.push_back("SOUNDPRESSUREUNIT"); + values.push_back("TEMPERATUREGRADIENTUNIT"); + values.push_back("TEMPERATURERATEOFCHANGEUNIT"); + values.push_back("THERMALEXPANSIONCOEFFICIENTUNIT"); + values.push_back("WARPINGCONSTANTUNIT"); + values.push_back("WARPINGMOMENTUNIT"); + values.push_back("USERDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDerivedUnitEnum] = new IfcEnumerationDescriptor(Type::IfcDerivedUnitEnum, values); + values.clear(); values.reserve(128); + values.push_back("POSITIVE"); + values.push_back("NEGATIVE"); + current_enum = enumeration_descriptor_map[Type::IfcDirectionSenseEnum] = new IfcEnumerationDescriptor(Type::IfcDirectionSenseEnum, values); + values.clear(); values.reserve(128); + values.push_back("ANCHORPLATE"); + values.push_back("BRACKET"); + values.push_back("SHOE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDiscreteAccessoryTypeEnum] = new IfcEnumerationDescriptor(Type::IfcDiscreteAccessoryTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("FORMEDDUCT"); + values.push_back("INSPECTIONCHAMBER"); + values.push_back("INSPECTIONPIT"); + values.push_back("MANHOLE"); + values.push_back("METERCHAMBER"); + values.push_back("SUMP"); + values.push_back("TRENCH"); + values.push_back("VALVECHAMBER"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDistributionChamberElementTypeEnum] = new IfcEnumerationDescriptor(Type::IfcDistributionChamberElementTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CABLE"); + values.push_back("CABLECARRIER"); + values.push_back("DUCT"); + values.push_back("PIPE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDistributionPortTypeEnum] = new IfcEnumerationDescriptor(Type::IfcDistributionPortTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("AIRCONDITIONING"); + values.push_back("AUDIOVISUAL"); + values.push_back("CHEMICAL"); + values.push_back("CHILLEDWATER"); + values.push_back("COMMUNICATION"); + values.push_back("COMPRESSEDAIR"); + values.push_back("CONDENSERWATER"); + values.push_back("CONTROL"); + values.push_back("CONVEYING"); + values.push_back("DATA"); + values.push_back("DISPOSAL"); + values.push_back("DOMESTICCOLDWATER"); + values.push_back("DOMESTICHOTWATER"); + values.push_back("DRAINAGE"); + values.push_back("EARTHING"); + values.push_back("ELECTRICAL"); + values.push_back("ELECTROACOUSTIC"); + values.push_back("EXHAUST"); + values.push_back("FIREPROTECTION"); + values.push_back("FUEL"); + values.push_back("GAS"); + values.push_back("HAZARDOUS"); + values.push_back("HEATING"); + values.push_back("LIGHTING"); + values.push_back("LIGHTNINGPROTECTION"); + values.push_back("MUNICIPALSOLIDWASTE"); + values.push_back("OIL"); + values.push_back("OPERATIONAL"); + values.push_back("POWERGENERATION"); + values.push_back("RAINWATER"); + values.push_back("REFRIGERATION"); + values.push_back("SECURITY"); + values.push_back("SEWAGE"); + values.push_back("SIGNAL"); + values.push_back("STORMWATER"); + values.push_back("TELEPHONE"); + values.push_back("TV"); + values.push_back("VACUUM"); + values.push_back("VENT"); + values.push_back("VENTILATION"); + values.push_back("WASTEWATER"); + values.push_back("WATERSUPPLY"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDistributionSystemEnum] = new IfcEnumerationDescriptor(Type::IfcDistributionSystemEnum, values); + values.clear(); values.reserve(128); + values.push_back("PUBLIC"); + values.push_back("RESTRICTED"); + values.push_back("CONFIDENTIAL"); + values.push_back("PERSONAL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDocumentConfidentialityEnum] = new IfcEnumerationDescriptor(Type::IfcDocumentConfidentialityEnum, values); + values.clear(); values.reserve(128); + values.push_back("DRAFT"); + values.push_back("FINALDRAFT"); + values.push_back("FINAL"); + values.push_back("REVISION"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDocumentStatusEnum] = new IfcEnumerationDescriptor(Type::IfcDocumentStatusEnum, values); + values.clear(); values.reserve(128); + values.push_back("SWINGING"); + values.push_back("DOUBLE_ACTING"); + values.push_back("SLIDING"); + values.push_back("FOLDING"); + values.push_back("REVOLVING"); + values.push_back("ROLLINGUP"); + values.push_back("FIXEDPANEL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDoorPanelOperationEnum] = new IfcEnumerationDescriptor(Type::IfcDoorPanelOperationEnum, values); + values.clear(); values.reserve(128); + values.push_back("LEFT"); + values.push_back("MIDDLE"); + values.push_back("RIGHT"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDoorPanelPositionEnum] = new IfcEnumerationDescriptor(Type::IfcDoorPanelPositionEnum, values); + values.clear(); values.reserve(128); + values.push_back("ALUMINIUM"); + values.push_back("HIGH_GRADE_STEEL"); + values.push_back("STEEL"); + values.push_back("WOOD"); + values.push_back("ALUMINIUM_WOOD"); + values.push_back("ALUMINIUM_PLASTIC"); + values.push_back("PLASTIC"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDoorStyleConstructionEnum] = new IfcEnumerationDescriptor(Type::IfcDoorStyleConstructionEnum, values); + values.clear(); values.reserve(128); + values.push_back("SINGLE_SWING_LEFT"); + values.push_back("SINGLE_SWING_RIGHT"); + values.push_back("DOUBLE_DOOR_SINGLE_SWING"); + values.push_back("DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"); + values.push_back("DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"); + values.push_back("DOUBLE_SWING_LEFT"); + values.push_back("DOUBLE_SWING_RIGHT"); + values.push_back("DOUBLE_DOOR_DOUBLE_SWING"); + values.push_back("SLIDING_TO_LEFT"); + values.push_back("SLIDING_TO_RIGHT"); + values.push_back("DOUBLE_DOOR_SLIDING"); + values.push_back("FOLDING_TO_LEFT"); + values.push_back("FOLDING_TO_RIGHT"); + values.push_back("DOUBLE_DOOR_FOLDING"); + values.push_back("REVOLVING"); + values.push_back("ROLLINGUP"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDoorStyleOperationEnum] = new IfcEnumerationDescriptor(Type::IfcDoorStyleOperationEnum, values); + values.clear(); values.reserve(128); + values.push_back("DOOR"); + values.push_back("GATE"); + values.push_back("TRAPDOOR"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDoorTypeEnum] = new IfcEnumerationDescriptor(Type::IfcDoorTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("SINGLE_SWING_LEFT"); + values.push_back("SINGLE_SWING_RIGHT"); + values.push_back("DOUBLE_DOOR_SINGLE_SWING"); + values.push_back("DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"); + values.push_back("DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"); + values.push_back("DOUBLE_SWING_LEFT"); + values.push_back("DOUBLE_SWING_RIGHT"); + values.push_back("DOUBLE_DOOR_DOUBLE_SWING"); + values.push_back("SLIDING_TO_LEFT"); + values.push_back("SLIDING_TO_RIGHT"); + values.push_back("DOUBLE_DOOR_SLIDING"); + values.push_back("FOLDING_TO_LEFT"); + values.push_back("FOLDING_TO_RIGHT"); + values.push_back("DOUBLE_DOOR_FOLDING"); + values.push_back("REVOLVING"); + values.push_back("ROLLINGUP"); + values.push_back("SWING_FIXED_LEFT"); + values.push_back("SWING_FIXED_RIGHT"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDoorTypeOperationEnum] = new IfcEnumerationDescriptor(Type::IfcDoorTypeOperationEnum, values); + values.clear(); values.reserve(128); + values.push_back("BEND"); + values.push_back("CONNECTOR"); + values.push_back("ENTRY"); + values.push_back("EXIT"); + values.push_back("JUNCTION"); + values.push_back("OBSTRUCTION"); + values.push_back("TRANSITION"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDuctFittingTypeEnum] = new IfcEnumerationDescriptor(Type::IfcDuctFittingTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("RIGIDSEGMENT"); + values.push_back("FLEXIBLESEGMENT"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDuctSegmentTypeEnum] = new IfcEnumerationDescriptor(Type::IfcDuctSegmentTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("FLATOVAL"); + values.push_back("RECTANGULAR"); + values.push_back("ROUND"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcDuctSilencerTypeEnum] = new IfcEnumerationDescriptor(Type::IfcDuctSilencerTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("DISHWASHER"); + values.push_back("ELECTRICCOOKER"); + values.push_back("FREESTANDINGELECTRICHEATER"); + values.push_back("FREESTANDINGFAN"); + values.push_back("FREESTANDINGWATERHEATER"); + values.push_back("FREESTANDINGWATERCOOLER"); + values.push_back("FREEZER"); + values.push_back("FRIDGE_FREEZER"); + values.push_back("HANDDRYER"); + values.push_back("KITCHENMACHINE"); + values.push_back("MICROWAVE"); + values.push_back("PHOTOCOPIER"); + values.push_back("REFRIGERATOR"); + values.push_back("TUMBLEDRYER"); + values.push_back("VENDINGMACHINE"); + values.push_back("WASHINGMACHINE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcElectricApplianceTypeEnum] = new IfcEnumerationDescriptor(Type::IfcElectricApplianceTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CONSUMERUNIT"); + values.push_back("DISTRIBUTIONBOARD"); + values.push_back("MOTORCONTROLCENTRE"); + values.push_back("SWITCHBOARD"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcElectricDistributionBoardTypeEnum] = new IfcEnumerationDescriptor(Type::IfcElectricDistributionBoardTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("BATTERY"); + values.push_back("CAPACITORBANK"); + values.push_back("HARMONICFILTER"); + values.push_back("INDUCTORBANK"); + values.push_back("UPS"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcElectricFlowStorageDeviceTypeEnum] = new IfcEnumerationDescriptor(Type::IfcElectricFlowStorageDeviceTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CHP"); + values.push_back("ENGINEGENERATOR"); + values.push_back("STANDALONE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcElectricGeneratorTypeEnum] = new IfcEnumerationDescriptor(Type::IfcElectricGeneratorTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("DC"); + values.push_back("INDUCTION"); + values.push_back("POLYPHASE"); + values.push_back("RELUCTANCESYNCHRONOUS"); + values.push_back("SYNCHRONOUS"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcElectricMotorTypeEnum] = new IfcEnumerationDescriptor(Type::IfcElectricMotorTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("TIMECLOCK"); + values.push_back("TIMEDELAY"); + values.push_back("RELAY"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcElectricTimeControlTypeEnum] = new IfcEnumerationDescriptor(Type::IfcElectricTimeControlTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ACCESSORY_ASSEMBLY"); + values.push_back("ARCH"); + values.push_back("BEAM_GRID"); + values.push_back("BRACED_FRAME"); + values.push_back("GIRDER"); + values.push_back("REINFORCEMENT_UNIT"); + values.push_back("RIGID_FRAME"); + values.push_back("SLAB_FIELD"); + values.push_back("TRUSS"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcElementAssemblyTypeEnum] = new IfcEnumerationDescriptor(Type::IfcElementAssemblyTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("COMPLEX"); + values.push_back("ELEMENT"); + values.push_back("PARTIAL"); + current_enum = enumeration_descriptor_map[Type::IfcElementCompositionEnum] = new IfcEnumerationDescriptor(Type::IfcElementCompositionEnum, values); + values.clear(); values.reserve(128); + values.push_back("EXTERNALCOMBUSTION"); + values.push_back("INTERNALCOMBUSTION"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcEngineTypeEnum] = new IfcEnumerationDescriptor(Type::IfcEngineTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"); + values.push_back("DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"); + values.push_back("DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"); + values.push_back("DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"); + values.push_back("DIRECTEVAPORATIVEAIRWASHER"); + values.push_back("INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"); + values.push_back("INDIRECTEVAPORATIVEWETCOIL"); + values.push_back("INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"); + values.push_back("INDIRECTDIRECTCOMBINATION"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcEvaporativeCoolerTypeEnum] = new IfcEnumerationDescriptor(Type::IfcEvaporativeCoolerTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("DIRECTEXPANSION"); + values.push_back("DIRECTEXPANSIONSHELLANDTUBE"); + values.push_back("DIRECTEXPANSIONTUBEINTUBE"); + values.push_back("DIRECTEXPANSIONBRAZEDPLATE"); + values.push_back("FLOODEDSHELLANDTUBE"); + values.push_back("SHELLANDCOIL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcEvaporatorTypeEnum] = new IfcEnumerationDescriptor(Type::IfcEvaporatorTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("EVENTRULE"); + values.push_back("EVENTMESSAGE"); + values.push_back("EVENTTIME"); + values.push_back("EVENTCOMPLEX"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcEventTriggerTypeEnum] = new IfcEnumerationDescriptor(Type::IfcEventTriggerTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("STARTEVENT"); + values.push_back("ENDEVENT"); + values.push_back("INTERMEDIATEEVENT"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcEventTypeEnum] = new IfcEnumerationDescriptor(Type::IfcEventTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("EXTERNAL"); + values.push_back("EXTERNAL_EARTH"); + values.push_back("EXTERNAL_WATER"); + values.push_back("EXTERNAL_FIRE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFIEND"); + current_enum = enumeration_descriptor_map[Type::IfcExternalSpatialElementTypeEnum] = new IfcEnumerationDescriptor(Type::IfcExternalSpatialElementTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CENTRIFUGALFORWARDCURVED"); + values.push_back("CENTRIFUGALRADIAL"); + values.push_back("CENTRIFUGALBACKWARDINCLINEDCURVED"); + values.push_back("CENTRIFUGALAIRFOIL"); + values.push_back("TUBEAXIAL"); + values.push_back("VANEAXIAL"); + values.push_back("PROPELLORAXIAL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcFanTypeEnum] = new IfcEnumerationDescriptor(Type::IfcFanTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("GLUE"); + values.push_back("MORTAR"); + values.push_back("WELD"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcFastenerTypeEnum] = new IfcEnumerationDescriptor(Type::IfcFastenerTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("AIRPARTICLEFILTER"); + values.push_back("COMPRESSEDAIRFILTER"); + values.push_back("ODORFILTER"); + values.push_back("OILFILTER"); + values.push_back("STRAINER"); + values.push_back("WATERFILTER"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcFilterTypeEnum] = new IfcEnumerationDescriptor(Type::IfcFilterTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("BREECHINGINLET"); + values.push_back("FIREHYDRANT"); + values.push_back("HOSEREEL"); + values.push_back("SPRINKLER"); + values.push_back("SPRINKLERDEFLECTOR"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcFireSuppressionTerminalTypeEnum] = new IfcEnumerationDescriptor(Type::IfcFireSuppressionTerminalTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("SOURCE"); + values.push_back("SINK"); + values.push_back("SOURCEANDSINK"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcFlowDirectionEnum] = new IfcEnumerationDescriptor(Type::IfcFlowDirectionEnum, values); + values.clear(); values.reserve(128); + values.push_back("PRESSUREGAUGE"); + values.push_back("THERMOMETER"); + values.push_back("AMMETER"); + values.push_back("FREQUENCYMETER"); + values.push_back("POWERFACTORMETER"); + values.push_back("PHASEANGLEMETER"); + values.push_back("VOLTMETER_PEAK"); + values.push_back("VOLTMETER_RMS"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcFlowInstrumentTypeEnum] = new IfcEnumerationDescriptor(Type::IfcFlowInstrumentTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ENERGYMETER"); + values.push_back("GASMETER"); + values.push_back("OILMETER"); + values.push_back("WATERMETER"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcFlowMeterTypeEnum] = new IfcEnumerationDescriptor(Type::IfcFlowMeterTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CAISSON_FOUNDATION"); + values.push_back("FOOTING_BEAM"); + values.push_back("PAD_FOOTING"); + values.push_back("PILE_CAP"); + values.push_back("STRIP_FOOTING"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcFootingTypeEnum] = new IfcEnumerationDescriptor(Type::IfcFootingTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CHAIR"); + values.push_back("TABLE"); + values.push_back("DESK"); + values.push_back("BED"); + values.push_back("FILECABINET"); + values.push_back("SHELF"); + values.push_back("SOFA"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcFurnitureTypeEnum] = new IfcEnumerationDescriptor(Type::IfcFurnitureTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("TERRAIN"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcGeographicElementTypeEnum] = new IfcEnumerationDescriptor(Type::IfcGeographicElementTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("GRAPH_VIEW"); + values.push_back("SKETCH_VIEW"); + values.push_back("MODEL_VIEW"); + values.push_back("PLAN_VIEW"); + values.push_back("REFLECTED_PLAN_VIEW"); + values.push_back("SECTION_VIEW"); + values.push_back("ELEVATION_VIEW"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcGeometricProjectionEnum] = new IfcEnumerationDescriptor(Type::IfcGeometricProjectionEnum, values); + values.clear(); values.reserve(128); + values.push_back("GLOBAL_COORDS"); + values.push_back("LOCAL_COORDS"); + current_enum = enumeration_descriptor_map[Type::IfcGlobalOrLocalEnum] = new IfcEnumerationDescriptor(Type::IfcGlobalOrLocalEnum, values); + values.clear(); values.reserve(128); + values.push_back("RECTANGULAR"); + values.push_back("RADIAL"); + values.push_back("TRIANGULAR"); + values.push_back("IRREGULAR"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcGridTypeEnum] = new IfcEnumerationDescriptor(Type::IfcGridTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("PLATE"); + values.push_back("SHELLANDTUBE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcHeatExchangerTypeEnum] = new IfcEnumerationDescriptor(Type::IfcHeatExchangerTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("STEAMINJECTION"); + values.push_back("ADIABATICAIRWASHER"); + values.push_back("ADIABATICPAN"); + values.push_back("ADIABATICWETTEDELEMENT"); + values.push_back("ADIABATICATOMIZING"); + values.push_back("ADIABATICULTRASONIC"); + values.push_back("ADIABATICRIGIDMEDIA"); + values.push_back("ADIABATICCOMPRESSEDAIRNOZZLE"); + values.push_back("ASSISTEDELECTRIC"); + values.push_back("ASSISTEDNATURALGAS"); + values.push_back("ASSISTEDPROPANE"); + values.push_back("ASSISTEDBUTANE"); + values.push_back("ASSISTEDSTEAM"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcHumidifierTypeEnum] = new IfcEnumerationDescriptor(Type::IfcHumidifierTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CYCLONIC"); + values.push_back("GREASE"); + values.push_back("OIL"); + values.push_back("PETROL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcInterceptorTypeEnum] = new IfcEnumerationDescriptor(Type::IfcInterceptorTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("INTERNAL"); + values.push_back("EXTERNAL"); + values.push_back("EXTERNAL_EARTH"); + values.push_back("EXTERNAL_WATER"); + values.push_back("EXTERNAL_FIRE"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcInternalOrExternalEnum] = new IfcEnumerationDescriptor(Type::IfcInternalOrExternalEnum, values); + values.clear(); values.reserve(128); + values.push_back("ASSETINVENTORY"); + values.push_back("SPACEINVENTORY"); + values.push_back("FURNITUREINVENTORY"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcInventoryTypeEnum] = new IfcEnumerationDescriptor(Type::IfcInventoryTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("DATA"); + values.push_back("POWER"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcJunctionBoxTypeEnum] = new IfcEnumerationDescriptor(Type::IfcJunctionBoxTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("UNIFORM_KNOTS"); + values.push_back("QUASI_UNIFORM_KNOTS"); + values.push_back("PIECEWISE_BEZIER_KNOTS"); + values.push_back("UNSPECIFIED"); + current_enum = enumeration_descriptor_map[Type::IfcKnotType] = new IfcEnumerationDescriptor(Type::IfcKnotType, values); + values.clear(); values.reserve(128); + values.push_back("ADMINISTRATION"); + values.push_back("CARPENTRY"); + values.push_back("CLEANING"); + values.push_back("CONCRETE"); + values.push_back("DRYWALL"); + values.push_back("ELECTRIC"); + values.push_back("FINISHING"); + values.push_back("FLOORING"); + values.push_back("GENERAL"); + values.push_back("HVAC"); + values.push_back("LANDSCAPING"); + values.push_back("MASONRY"); + values.push_back("PAINTING"); + values.push_back("PAVING"); + values.push_back("PLUMBING"); + values.push_back("ROOFING"); + values.push_back("SITEGRADING"); + values.push_back("STEELWORK"); + values.push_back("SURVEYING"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcLaborResourceTypeEnum] = new IfcEnumerationDescriptor(Type::IfcLaborResourceTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("COMPACTFLUORESCENT"); + values.push_back("FLUORESCENT"); + values.push_back("HALOGEN"); + values.push_back("HIGHPRESSUREMERCURY"); + values.push_back("HIGHPRESSURESODIUM"); + values.push_back("LED"); + values.push_back("METALHALIDE"); + values.push_back("OLED"); + values.push_back("TUNGSTENFILAMENT"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcLampTypeEnum] = new IfcEnumerationDescriptor(Type::IfcLampTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("AXIS1"); + values.push_back("AXIS2"); + values.push_back("AXIS3"); + current_enum = enumeration_descriptor_map[Type::IfcLayerSetDirectionEnum] = new IfcEnumerationDescriptor(Type::IfcLayerSetDirectionEnum, values); + values.clear(); values.reserve(128); + values.push_back("TYPE_A"); + values.push_back("TYPE_B"); + values.push_back("TYPE_C"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcLightDistributionCurveEnum] = new IfcEnumerationDescriptor(Type::IfcLightDistributionCurveEnum, values); + values.clear(); values.reserve(128); + values.push_back("COMPACTFLUORESCENT"); + values.push_back("FLUORESCENT"); + values.push_back("HIGHPRESSUREMERCURY"); + values.push_back("HIGHPRESSURESODIUM"); + values.push_back("LIGHTEMITTINGDIODE"); + values.push_back("LOWPRESSURESODIUM"); + values.push_back("LOWVOLTAGEHALOGEN"); + values.push_back("MAINVOLTAGEHALOGEN"); + values.push_back("METALHALIDE"); + values.push_back("TUNGSTENFILAMENT"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcLightEmissionSourceEnum] = new IfcEnumerationDescriptor(Type::IfcLightEmissionSourceEnum, values); + values.clear(); values.reserve(128); + values.push_back("POINTSOURCE"); + values.push_back("DIRECTIONSOURCE"); + values.push_back("SECURITYLIGHTING"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcLightFixtureTypeEnum] = new IfcEnumerationDescriptor(Type::IfcLightFixtureTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("LOAD_GROUP"); + values.push_back("LOAD_CASE"); + values.push_back("LOAD_COMBINATION"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcLoadGroupTypeEnum] = new IfcEnumerationDescriptor(Type::IfcLoadGroupTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("LOGICALAND"); + values.push_back("LOGICALOR"); + values.push_back("LOGICALXOR"); + values.push_back("LOGICALNOTAND"); + values.push_back("LOGICALNOTOR"); + current_enum = enumeration_descriptor_map[Type::IfcLogicalOperatorEnum] = new IfcEnumerationDescriptor(Type::IfcLogicalOperatorEnum, values); + values.clear(); values.reserve(128); + values.push_back("ANCHORBOLT"); + values.push_back("BOLT"); + values.push_back("DOWEL"); + values.push_back("NAIL"); + values.push_back("NAILPLATE"); + values.push_back("RIVET"); + values.push_back("SCREW"); + values.push_back("SHEARCONNECTOR"); + values.push_back("STAPLE"); + values.push_back("STUDSHEARCONNECTOR"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcMechanicalFastenerTypeEnum] = new IfcEnumerationDescriptor(Type::IfcMechanicalFastenerTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("AIRSTATION"); + values.push_back("FEEDAIRUNIT"); + values.push_back("OXYGENGENERATOR"); + values.push_back("OXYGENPLANT"); + values.push_back("VACUUMSTATION"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcMedicalDeviceTypeEnum] = new IfcEnumerationDescriptor(Type::IfcMedicalDeviceTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("BRACE"); + values.push_back("CHORD"); + values.push_back("COLLAR"); + values.push_back("MEMBER"); + values.push_back("MULLION"); + values.push_back("PLATE"); + values.push_back("POST"); + values.push_back("PURLIN"); + values.push_back("RAFTER"); + values.push_back("STRINGER"); + values.push_back("STRUT"); + values.push_back("STUD"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcMemberTypeEnum] = new IfcEnumerationDescriptor(Type::IfcMemberTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("BELTDRIVE"); + values.push_back("COUPLING"); + values.push_back("DIRECTDRIVE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcMotorConnectionTypeEnum] = new IfcEnumerationDescriptor(Type::IfcMotorConnectionTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("NULL"); + current_enum = enumeration_descriptor_map[Type::IfcNullStyle] = new IfcEnumerationDescriptor(Type::IfcNullStyle, values); + values.clear(); values.reserve(128); + values.push_back("PRODUCT"); + values.push_back("PROCESS"); + values.push_back("CONTROL"); + values.push_back("RESOURCE"); + values.push_back("ACTOR"); + values.push_back("GROUP"); + values.push_back("PROJECT"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcObjectTypeEnum] = new IfcEnumerationDescriptor(Type::IfcObjectTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CODECOMPLIANCE"); + values.push_back("CODEWAIVER"); + values.push_back("DESIGNINTENT"); + values.push_back("EXTERNAL"); + values.push_back("HEALTHANDSAFETY"); + values.push_back("MERGECONFLICT"); + values.push_back("MODELVIEW"); + values.push_back("PARAMETER"); + values.push_back("REQUIREMENT"); + values.push_back("SPECIFICATION"); + values.push_back("TRIGGERCONDITION"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcObjectiveEnum] = new IfcEnumerationDescriptor(Type::IfcObjectiveEnum, values); + values.clear(); values.reserve(128); + values.push_back("ASSIGNEE"); + values.push_back("ASSIGNOR"); + values.push_back("LESSEE"); + values.push_back("LESSOR"); + values.push_back("LETTINGAGENT"); + values.push_back("OWNER"); + values.push_back("TENANT"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcOccupantTypeEnum] = new IfcEnumerationDescriptor(Type::IfcOccupantTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("OPENING"); + values.push_back("RECESS"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcOpeningElementTypeEnum] = new IfcEnumerationDescriptor(Type::IfcOpeningElementTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("AUDIOVISUALOUTLET"); + values.push_back("COMMUNICATIONSOUTLET"); + values.push_back("POWEROUTLET"); + values.push_back("DATAOUTLET"); + values.push_back("TELEPHONEOUTLET"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcOutletTypeEnum] = new IfcEnumerationDescriptor(Type::IfcOutletTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcPerformanceHistoryTypeEnum] = new IfcEnumerationDescriptor(Type::IfcPerformanceHistoryTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("GRILL"); + values.push_back("LOUVER"); + values.push_back("SCREEN"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcPermeableCoveringOperationEnum] = new IfcEnumerationDescriptor(Type::IfcPermeableCoveringOperationEnum, values); + values.clear(); values.reserve(128); + values.push_back("ACCESS"); + values.push_back("BUILDING"); + values.push_back("WORK"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcPermitTypeEnum] = new IfcEnumerationDescriptor(Type::IfcPermitTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("PHYSICAL"); + values.push_back("VIRTUAL"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcPhysicalOrVirtualEnum] = new IfcEnumerationDescriptor(Type::IfcPhysicalOrVirtualEnum, values); + values.clear(); values.reserve(128); + values.push_back("CAST_IN_PLACE"); + values.push_back("COMPOSITE"); + values.push_back("PRECAST_CONCRETE"); + values.push_back("PREFAB_STEEL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcPileConstructionEnum] = new IfcEnumerationDescriptor(Type::IfcPileConstructionEnum, values); + values.clear(); values.reserve(128); + values.push_back("BORED"); + values.push_back("DRIVEN"); + values.push_back("JETGROUTING"); + values.push_back("COHESION"); + values.push_back("FRICTION"); + values.push_back("SUPPORT"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcPileTypeEnum] = new IfcEnumerationDescriptor(Type::IfcPileTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("BEND"); + values.push_back("CONNECTOR"); + values.push_back("ENTRY"); + values.push_back("EXIT"); + values.push_back("JUNCTION"); + values.push_back("OBSTRUCTION"); + values.push_back("TRANSITION"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcPipeFittingTypeEnum] = new IfcEnumerationDescriptor(Type::IfcPipeFittingTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CULVERT"); + values.push_back("FLEXIBLESEGMENT"); + values.push_back("RIGIDSEGMENT"); + values.push_back("GUTTER"); + values.push_back("SPOOL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcPipeSegmentTypeEnum] = new IfcEnumerationDescriptor(Type::IfcPipeSegmentTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CURTAIN_PANEL"); + values.push_back("SHEET"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcPlateTypeEnum] = new IfcEnumerationDescriptor(Type::IfcPlateTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ADVICE_CAUTION"); + values.push_back("ADVICE_NOTE"); + values.push_back("ADVICE_WARNING"); + values.push_back("CALIBRATION"); + values.push_back("DIAGNOSTIC"); + values.push_back("SHUTDOWN"); + values.push_back("STARTUP"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcProcedureTypeEnum] = new IfcEnumerationDescriptor(Type::IfcProcedureTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CURVE"); + values.push_back("AREA"); + current_enum = enumeration_descriptor_map[Type::IfcProfileTypeEnum] = new IfcEnumerationDescriptor(Type::IfcProfileTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CHANGEORDER"); + values.push_back("MAINTENANCEWORKORDER"); + values.push_back("MOVEORDER"); + values.push_back("PURCHASEORDER"); + values.push_back("WORKORDER"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcProjectOrderTypeEnum] = new IfcEnumerationDescriptor(Type::IfcProjectOrderTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("PROJECTED_LENGTH"); + values.push_back("TRUE_LENGTH"); + current_enum = enumeration_descriptor_map[Type::IfcProjectedOrTrueLengthEnum] = new IfcEnumerationDescriptor(Type::IfcProjectedOrTrueLengthEnum, values); + values.clear(); values.reserve(128); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcProjectionElementTypeEnum] = new IfcEnumerationDescriptor(Type::IfcProjectionElementTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("PSET_TYPEDRIVENONLY"); + values.push_back("PSET_TYPEDRIVENOVERRIDE"); + values.push_back("PSET_OCCURRENCEDRIVEN"); + values.push_back("PSET_PERFORMANCEDRIVEN"); + values.push_back("QTO_TYPEDRIVENONLY"); + values.push_back("QTO_TYPEDRIVENOVERRIDE"); + values.push_back("QTO_OCCURRENCEDRIVEN"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcPropertySetTemplateTypeEnum] = new IfcEnumerationDescriptor(Type::IfcPropertySetTemplateTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ELECTRONIC"); + values.push_back("ELECTROMAGNETIC"); + values.push_back("RESIDUALCURRENT"); + values.push_back("THERMAL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcProtectiveDeviceTrippingUnitTypeEnum] = new IfcEnumerationDescriptor(Type::IfcProtectiveDeviceTrippingUnitTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CIRCUITBREAKER"); + values.push_back("EARTHLEAKAGECIRCUITBREAKER"); + values.push_back("EARTHINGSWITCH"); + values.push_back("FUSEDISCONNECTOR"); + values.push_back("RESIDUALCURRENTCIRCUITBREAKER"); + values.push_back("RESIDUALCURRENTSWITCH"); + values.push_back("VARISTOR"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcProtectiveDeviceTypeEnum] = new IfcEnumerationDescriptor(Type::IfcProtectiveDeviceTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CIRCULATOR"); + values.push_back("ENDSUCTION"); + values.push_back("SPLITCASE"); + values.push_back("SUBMERSIBLEPUMP"); + values.push_back("SUMPPUMP"); + values.push_back("VERTICALINLINE"); + values.push_back("VERTICALTURBINE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcPumpTypeEnum] = new IfcEnumerationDescriptor(Type::IfcPumpTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("HANDRAIL"); + values.push_back("GUARDRAIL"); + values.push_back("BALUSTRADE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcRailingTypeEnum] = new IfcEnumerationDescriptor(Type::IfcRailingTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("STRAIGHT"); + values.push_back("SPIRAL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcRampFlightTypeEnum] = new IfcEnumerationDescriptor(Type::IfcRampFlightTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("STRAIGHT_RUN_RAMP"); + values.push_back("TWO_STRAIGHT_RUN_RAMP"); + values.push_back("QUARTER_TURN_RAMP"); + values.push_back("TWO_QUARTER_TURN_RAMP"); + values.push_back("HALF_TURN_RAMP"); + values.push_back("SPIRAL_RAMP"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcRampTypeEnum] = new IfcEnumerationDescriptor(Type::IfcRampTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("DAILY"); + values.push_back("WEEKLY"); + values.push_back("MONTHLY_BY_DAY_OF_MONTH"); + values.push_back("MONTHLY_BY_POSITION"); + values.push_back("BY_DAY_COUNT"); + values.push_back("BY_WEEKDAY_COUNT"); + values.push_back("YEARLY_BY_DAY_OF_MONTH"); + values.push_back("YEARLY_BY_POSITION"); + current_enum = enumeration_descriptor_map[Type::IfcRecurrenceTypeEnum] = new IfcEnumerationDescriptor(Type::IfcRecurrenceTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("BLINN"); + values.push_back("FLAT"); + values.push_back("GLASS"); + values.push_back("MATT"); + values.push_back("METAL"); + values.push_back("MIRROR"); + values.push_back("PHONG"); + values.push_back("PLASTIC"); + values.push_back("STRAUSS"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcReflectanceMethodEnum] = new IfcEnumerationDescriptor(Type::IfcReflectanceMethodEnum, values); + values.clear(); values.reserve(128); + values.push_back("MAIN"); + values.push_back("SHEAR"); + values.push_back("LIGATURE"); + values.push_back("STUD"); + values.push_back("PUNCHING"); + values.push_back("EDGE"); + values.push_back("RING"); + values.push_back("ANCHORING"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcReinforcingBarRoleEnum] = new IfcEnumerationDescriptor(Type::IfcReinforcingBarRoleEnum, values); + values.clear(); values.reserve(128); + values.push_back("PLAIN"); + values.push_back("TEXTURED"); + current_enum = enumeration_descriptor_map[Type::IfcReinforcingBarSurfaceEnum] = new IfcEnumerationDescriptor(Type::IfcReinforcingBarSurfaceEnum, values); + values.clear(); values.reserve(128); + values.push_back("ANCHORING"); + values.push_back("EDGE"); + values.push_back("LIGATURE"); + values.push_back("MAIN"); + values.push_back("PUNCHING"); + values.push_back("RING"); + values.push_back("SHEAR"); + values.push_back("STUD"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcReinforcingBarTypeEnum] = new IfcEnumerationDescriptor(Type::IfcReinforcingBarTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcReinforcingMeshTypeEnum] = new IfcEnumerationDescriptor(Type::IfcReinforcingMeshTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("SUPPLIER"); + values.push_back("MANUFACTURER"); + values.push_back("CONTRACTOR"); + values.push_back("SUBCONTRACTOR"); + values.push_back("ARCHITECT"); + values.push_back("STRUCTURALENGINEER"); + values.push_back("COSTENGINEER"); + values.push_back("CLIENT"); + values.push_back("BUILDINGOWNER"); + values.push_back("BUILDINGOPERATOR"); + values.push_back("MECHANICALENGINEER"); + values.push_back("ELECTRICALENGINEER"); + values.push_back("PROJECTMANAGER"); + values.push_back("FACILITIESMANAGER"); + values.push_back("CIVILENGINEER"); + values.push_back("COMMISSIONINGENGINEER"); + values.push_back("ENGINEER"); + values.push_back("OWNER"); + values.push_back("CONSULTANT"); + values.push_back("CONSTRUCTIONMANAGER"); + values.push_back("FIELDCONSTRUCTIONMANAGER"); + values.push_back("RESELLER"); + values.push_back("USERDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcRoleEnum] = new IfcEnumerationDescriptor(Type::IfcRoleEnum, values); + values.clear(); values.reserve(128); + values.push_back("FLAT_ROOF"); + values.push_back("SHED_ROOF"); + values.push_back("GABLE_ROOF"); + values.push_back("HIP_ROOF"); + values.push_back("HIPPED_GABLE_ROOF"); + values.push_back("GAMBREL_ROOF"); + values.push_back("MANSARD_ROOF"); + values.push_back("BARREL_ROOF"); + values.push_back("RAINBOW_ROOF"); + values.push_back("BUTTERFLY_ROOF"); + values.push_back("PAVILION_ROOF"); + values.push_back("DOME_ROOF"); + values.push_back("FREEFORM"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcRoofTypeEnum] = new IfcEnumerationDescriptor(Type::IfcRoofTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("EXA"); + values.push_back("PETA"); + values.push_back("TERA"); + values.push_back("GIGA"); + values.push_back("MEGA"); + values.push_back("KILO"); + values.push_back("HECTO"); + values.push_back("DECA"); + values.push_back("DECI"); + values.push_back("CENTI"); + values.push_back("MILLI"); + values.push_back("MICRO"); + values.push_back("NANO"); + values.push_back("PICO"); + values.push_back("FEMTO"); + values.push_back("ATTO"); + current_enum = enumeration_descriptor_map[Type::IfcSIPrefix] = new IfcEnumerationDescriptor(Type::IfcSIPrefix, values); + values.clear(); values.reserve(128); + values.push_back("AMPERE"); + values.push_back("BECQUEREL"); + values.push_back("CANDELA"); + values.push_back("COULOMB"); + values.push_back("CUBIC_METRE"); + values.push_back("DEGREE_CELSIUS"); + values.push_back("FARAD"); + values.push_back("GRAM"); + values.push_back("GRAY"); + values.push_back("HENRY"); + values.push_back("HERTZ"); + values.push_back("JOULE"); + values.push_back("KELVIN"); + values.push_back("LUMEN"); + values.push_back("LUX"); + values.push_back("METRE"); + values.push_back("MOLE"); + values.push_back("NEWTON"); + values.push_back("OHM"); + values.push_back("PASCAL"); + values.push_back("RADIAN"); + values.push_back("SECOND"); + values.push_back("SIEMENS"); + values.push_back("SIEVERT"); + values.push_back("SQUARE_METRE"); + values.push_back("STERADIAN"); + values.push_back("TESLA"); + values.push_back("VOLT"); + values.push_back("WATT"); + values.push_back("WEBER"); + current_enum = enumeration_descriptor_map[Type::IfcSIUnitName] = new IfcEnumerationDescriptor(Type::IfcSIUnitName, values); + values.clear(); values.reserve(128); + values.push_back("BATH"); + values.push_back("BIDET"); + values.push_back("CISTERN"); + values.push_back("SHOWER"); + values.push_back("SINK"); + values.push_back("SANITARYFOUNTAIN"); + values.push_back("TOILETPAN"); + values.push_back("URINAL"); + values.push_back("WASHHANDBASIN"); + values.push_back("WCSEAT"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcSanitaryTerminalTypeEnum] = new IfcEnumerationDescriptor(Type::IfcSanitaryTerminalTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("UNIFORM"); + values.push_back("TAPERED"); + current_enum = enumeration_descriptor_map[Type::IfcSectionTypeEnum] = new IfcEnumerationDescriptor(Type::IfcSectionTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CONDUCTANCESENSOR"); + values.push_back("CONTACTSENSOR"); + values.push_back("FIRESENSOR"); + values.push_back("FLOWSENSOR"); + values.push_back("GASSENSOR"); + values.push_back("HEATSENSOR"); + values.push_back("HUMIDITYSENSOR"); + values.push_back("IONCONCENTRATIONSENSOR"); + values.push_back("LEVELSENSOR"); + values.push_back("LIGHTSENSOR"); + values.push_back("MOISTURESENSOR"); + values.push_back("MOVEMENTSENSOR"); + values.push_back("PHSENSOR"); + values.push_back("PRESSURESENSOR"); + values.push_back("RADIATIONSENSOR"); + values.push_back("RADIOACTIVITYSENSOR"); + values.push_back("SMOKESENSOR"); + values.push_back("SOUNDSENSOR"); + values.push_back("TEMPERATURESENSOR"); + values.push_back("WINDSENSOR"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcSensorTypeEnum] = new IfcEnumerationDescriptor(Type::IfcSensorTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("START_START"); + values.push_back("START_FINISH"); + values.push_back("FINISH_START"); + values.push_back("FINISH_FINISH"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcSequenceEnum] = new IfcEnumerationDescriptor(Type::IfcSequenceEnum, values); + values.clear(); values.reserve(128); + values.push_back("JALOUSIE"); + values.push_back("SHUTTER"); + values.push_back("AWNING"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcShadingDeviceTypeEnum] = new IfcEnumerationDescriptor(Type::IfcShadingDeviceTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("P_SINGLEVALUE"); + values.push_back("P_ENUMERATEDVALUE"); + values.push_back("P_BOUNDEDVALUE"); + values.push_back("P_LISTVALUE"); + values.push_back("P_TABLEVALUE"); + values.push_back("P_REFERENCEVALUE"); + values.push_back("Q_LENGTH"); + values.push_back("Q_AREA"); + values.push_back("Q_VOLUME"); + values.push_back("Q_COUNT"); + values.push_back("Q_WEIGHT"); + values.push_back("Q_TIME"); + current_enum = enumeration_descriptor_map[Type::IfcSimplePropertyTemplateTypeEnum] = new IfcEnumerationDescriptor(Type::IfcSimplePropertyTemplateTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("FLOOR"); + values.push_back("ROOF"); + values.push_back("LANDING"); + values.push_back("BASESLAB"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcSlabTypeEnum] = new IfcEnumerationDescriptor(Type::IfcSlabTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("SOLARCOLLECTOR"); + values.push_back("SOLARPANEL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcSolarDeviceTypeEnum] = new IfcEnumerationDescriptor(Type::IfcSolarDeviceTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CONVECTOR"); + values.push_back("RADIATOR"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcSpaceHeaterTypeEnum] = new IfcEnumerationDescriptor(Type::IfcSpaceHeaterTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("SPACE"); + values.push_back("PARKING"); + values.push_back("GFA"); + values.push_back("INTERNAL"); + values.push_back("EXTERNAL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcSpaceTypeEnum] = new IfcEnumerationDescriptor(Type::IfcSpaceTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CONSTRUCTION"); + values.push_back("FIRESAFETY"); + values.push_back("LIGHTING"); + values.push_back("OCCUPANCY"); + values.push_back("SECURITY"); + values.push_back("THERMAL"); + values.push_back("TRANSPORT"); + values.push_back("VENTILATION"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcSpatialZoneTypeEnum] = new IfcEnumerationDescriptor(Type::IfcSpatialZoneTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("BIRDCAGE"); + values.push_back("COWL"); + values.push_back("RAINWATERHOPPER"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcStackTerminalTypeEnum] = new IfcEnumerationDescriptor(Type::IfcStackTerminalTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("STRAIGHT"); + values.push_back("WINDER"); + values.push_back("SPIRAL"); + values.push_back("CURVED"); + values.push_back("FREEFORM"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcStairFlightTypeEnum] = new IfcEnumerationDescriptor(Type::IfcStairFlightTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("STRAIGHT_RUN_STAIR"); + values.push_back("TWO_STRAIGHT_RUN_STAIR"); + values.push_back("QUARTER_WINDING_STAIR"); + values.push_back("QUARTER_TURN_STAIR"); + values.push_back("HALF_WINDING_STAIR"); + values.push_back("HALF_TURN_STAIR"); + values.push_back("TWO_QUARTER_WINDING_STAIR"); + values.push_back("TWO_QUARTER_TURN_STAIR"); + values.push_back("THREE_QUARTER_WINDING_STAIR"); + values.push_back("THREE_QUARTER_TURN_STAIR"); + values.push_back("SPIRAL_STAIR"); + values.push_back("DOUBLE_RETURN_STAIR"); + values.push_back("CURVED_RUN_STAIR"); + values.push_back("TWO_CURVED_RUN_STAIR"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcStairTypeEnum] = new IfcEnumerationDescriptor(Type::IfcStairTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("READWRITE"); + values.push_back("READONLY"); + values.push_back("LOCKED"); + values.push_back("READWRITELOCKED"); + values.push_back("READONLYLOCKED"); + current_enum = enumeration_descriptor_map[Type::IfcStateEnum] = new IfcEnumerationDescriptor(Type::IfcStateEnum, values); + values.clear(); values.reserve(128); + values.push_back("CONST"); + values.push_back("LINEAR"); + values.push_back("POLYGONAL"); + values.push_back("EQUIDISTANT"); + values.push_back("SINUS"); + values.push_back("PARABOLA"); + values.push_back("DISCRETE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcStructuralCurveActivityTypeEnum] = new IfcEnumerationDescriptor(Type::IfcStructuralCurveActivityTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("RIGID_JOINED_MEMBER"); + values.push_back("PIN_JOINED_MEMBER"); + values.push_back("CABLE"); + values.push_back("TENSION_MEMBER"); + values.push_back("COMPRESSION_MEMBER"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcStructuralCurveMemberTypeEnum] = new IfcEnumerationDescriptor(Type::IfcStructuralCurveMemberTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CONST"); + values.push_back("BILINEAR"); + values.push_back("DISCRETE"); + values.push_back("ISOCONTOUR"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcStructuralSurfaceActivityTypeEnum] = new IfcEnumerationDescriptor(Type::IfcStructuralSurfaceActivityTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("BENDING_ELEMENT"); + values.push_back("MEMBRANE_ELEMENT"); + values.push_back("SHELL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcStructuralSurfaceMemberTypeEnum] = new IfcEnumerationDescriptor(Type::IfcStructuralSurfaceMemberTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("PURCHASE"); + values.push_back("WORK"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcSubContractResourceTypeEnum] = new IfcEnumerationDescriptor(Type::IfcSubContractResourceTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("MARK"); + values.push_back("TAG"); + values.push_back("TREATMENT"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcSurfaceFeatureTypeEnum] = new IfcEnumerationDescriptor(Type::IfcSurfaceFeatureTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("POSITIVE"); + values.push_back("NEGATIVE"); + values.push_back("BOTH"); + current_enum = enumeration_descriptor_map[Type::IfcSurfaceSide] = new IfcEnumerationDescriptor(Type::IfcSurfaceSide, values); + values.clear(); values.reserve(128); + values.push_back("CONTACTOR"); + values.push_back("DIMMERSWITCH"); + values.push_back("EMERGENCYSTOP"); + values.push_back("KEYPAD"); + values.push_back("MOMENTARYSWITCH"); + values.push_back("SELECTORSWITCH"); + values.push_back("STARTER"); + values.push_back("SWITCHDISCONNECTOR"); + values.push_back("TOGGLESWITCH"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcSwitchingDeviceTypeEnum] = new IfcEnumerationDescriptor(Type::IfcSwitchingDeviceTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("PANEL"); + values.push_back("WORKSURFACE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcSystemFurnitureElementTypeEnum] = new IfcEnumerationDescriptor(Type::IfcSystemFurnitureElementTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("BASIN"); + values.push_back("BREAKPRESSURE"); + values.push_back("EXPANSION"); + values.push_back("FEEDANDEXPANSION"); + values.push_back("PRESSUREVESSEL"); + values.push_back("STORAGE"); + values.push_back("VESSEL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcTankTypeEnum] = new IfcEnumerationDescriptor(Type::IfcTankTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ELAPSEDTIME"); + values.push_back("WORKTIME"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcTaskDurationEnum] = new IfcEnumerationDescriptor(Type::IfcTaskDurationEnum, values); + values.clear(); values.reserve(128); + values.push_back("ATTENDANCE"); + values.push_back("CONSTRUCTION"); + values.push_back("DEMOLITION"); + values.push_back("DISMANTLE"); + values.push_back("DISPOSAL"); + values.push_back("INSTALLATION"); + values.push_back("LOGISTIC"); + values.push_back("MAINTENANCE"); + values.push_back("MOVE"); + values.push_back("OPERATION"); + values.push_back("REMOVAL"); + values.push_back("RENOVATION"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcTaskTypeEnum] = new IfcEnumerationDescriptor(Type::IfcTaskTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("COUPLER"); + values.push_back("FIXED_END"); + values.push_back("TENSIONING_END"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcTendonAnchorTypeEnum] = new IfcEnumerationDescriptor(Type::IfcTendonAnchorTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("BAR"); + values.push_back("COATED"); + values.push_back("STRAND"); + values.push_back("WIRE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcTendonTypeEnum] = new IfcEnumerationDescriptor(Type::IfcTendonTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("LEFT"); + values.push_back("RIGHT"); + values.push_back("UP"); + values.push_back("DOWN"); + current_enum = enumeration_descriptor_map[Type::IfcTextPath] = new IfcEnumerationDescriptor(Type::IfcTextPath, values); + values.clear(); values.reserve(128); + values.push_back("CONTINUOUS"); + values.push_back("DISCRETE"); + values.push_back("DISCRETEBINARY"); + values.push_back("PIECEWISEBINARY"); + values.push_back("PIECEWISECONSTANT"); + values.push_back("PIECEWISECONTINUOUS"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcTimeSeriesDataTypeEnum] = new IfcEnumerationDescriptor(Type::IfcTimeSeriesDataTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CURRENT"); + values.push_back("FREQUENCY"); + values.push_back("INVERTER"); + values.push_back("RECTIFIER"); + values.push_back("VOLTAGE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcTransformerTypeEnum] = new IfcEnumerationDescriptor(Type::IfcTransformerTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("DISCONTINUOUS"); + values.push_back("CONTINUOUS"); + values.push_back("CONTSAMEGRADIENT"); + values.push_back("CONTSAMEGRADIENTSAMECURVATURE"); + current_enum = enumeration_descriptor_map[Type::IfcTransitionCode] = new IfcEnumerationDescriptor(Type::IfcTransitionCode, values); + values.clear(); values.reserve(128); + values.push_back("ELEVATOR"); + values.push_back("ESCALATOR"); + values.push_back("MOVINGWALKWAY"); + values.push_back("CRANEWAY"); + values.push_back("LIFTINGGEAR"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcTransportElementTypeEnum] = new IfcEnumerationDescriptor(Type::IfcTransportElementTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CARTESIAN"); + values.push_back("PARAMETER"); + values.push_back("UNSPECIFIED"); + current_enum = enumeration_descriptor_map[Type::IfcTrimmingPreference] = new IfcEnumerationDescriptor(Type::IfcTrimmingPreference, values); + values.clear(); values.reserve(128); + values.push_back("FINNED"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcTubeBundleTypeEnum] = new IfcEnumerationDescriptor(Type::IfcTubeBundleTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ABSORBEDDOSEUNIT"); + values.push_back("AMOUNTOFSUBSTANCEUNIT"); + values.push_back("AREAUNIT"); + values.push_back("DOSEEQUIVALENTUNIT"); + values.push_back("ELECTRICCAPACITANCEUNIT"); + values.push_back("ELECTRICCHARGEUNIT"); + values.push_back("ELECTRICCONDUCTANCEUNIT"); + values.push_back("ELECTRICCURRENTUNIT"); + values.push_back("ELECTRICRESISTANCEUNIT"); + values.push_back("ELECTRICVOLTAGEUNIT"); + values.push_back("ENERGYUNIT"); + values.push_back("FORCEUNIT"); + values.push_back("FREQUENCYUNIT"); + values.push_back("ILLUMINANCEUNIT"); + values.push_back("INDUCTANCEUNIT"); + values.push_back("LENGTHUNIT"); + values.push_back("LUMINOUSFLUXUNIT"); + values.push_back("LUMINOUSINTENSITYUNIT"); + values.push_back("MAGNETICFLUXDENSITYUNIT"); + values.push_back("MAGNETICFLUXUNIT"); + values.push_back("MASSUNIT"); + values.push_back("PLANEANGLEUNIT"); + values.push_back("POWERUNIT"); + values.push_back("PRESSUREUNIT"); + values.push_back("RADIOACTIVITYUNIT"); + values.push_back("SOLIDANGLEUNIT"); + values.push_back("THERMODYNAMICTEMPERATUREUNIT"); + values.push_back("TIMEUNIT"); + values.push_back("VOLUMEUNIT"); + values.push_back("USERDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcUnitEnum] = new IfcEnumerationDescriptor(Type::IfcUnitEnum, values); + values.clear(); values.reserve(128); + values.push_back("ALARMPANEL"); + values.push_back("CONTROLPANEL"); + values.push_back("GASDETECTIONPANEL"); + values.push_back("INDICATORPANEL"); + values.push_back("MIMICPANEL"); + values.push_back("HUMIDISTAT"); + values.push_back("THERMOSTAT"); + values.push_back("WEATHERSTATION"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcUnitaryControlElementTypeEnum] = new IfcEnumerationDescriptor(Type::IfcUnitaryControlElementTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("AIRHANDLER"); + values.push_back("AIRCONDITIONINGUNIT"); + values.push_back("DEHUMIDIFIER"); + values.push_back("SPLITSYSTEM"); + values.push_back("ROOFTOPUNIT"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcUnitaryEquipmentTypeEnum] = new IfcEnumerationDescriptor(Type::IfcUnitaryEquipmentTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("AIRRELEASE"); + values.push_back("ANTIVACUUM"); + values.push_back("CHANGEOVER"); + values.push_back("CHECK"); + values.push_back("COMMISSIONING"); + values.push_back("DIVERTING"); + values.push_back("DRAWOFFCOCK"); + values.push_back("DOUBLECHECK"); + values.push_back("DOUBLEREGULATING"); + values.push_back("FAUCET"); + values.push_back("FLUSHING"); + values.push_back("GASCOCK"); + values.push_back("GASTAP"); + values.push_back("ISOLATING"); + values.push_back("MIXING"); + values.push_back("PRESSUREREDUCING"); + values.push_back("PRESSURERELIEF"); + values.push_back("REGULATING"); + values.push_back("SAFETYCUTOFF"); + values.push_back("STEAMTRAP"); + values.push_back("STOPCOCK"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcValveTypeEnum] = new IfcEnumerationDescriptor(Type::IfcValveTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("COMPRESSION"); + values.push_back("SPRING"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcVibrationIsolatorTypeEnum] = new IfcEnumerationDescriptor(Type::IfcVibrationIsolatorTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("CUTOUT"); + values.push_back("NOTCH"); + values.push_back("HOLE"); + values.push_back("MITER"); + values.push_back("CHAMFER"); + values.push_back("EDGE"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcVoidingFeatureTypeEnum] = new IfcEnumerationDescriptor(Type::IfcVoidingFeatureTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("MOVABLE"); + values.push_back("PARAPET"); + values.push_back("PARTITIONING"); + values.push_back("PLUMBINGWALL"); + values.push_back("SHEAR"); + values.push_back("SOLIDWALL"); + values.push_back("STANDARD"); + values.push_back("POLYGONAL"); + values.push_back("ELEMENTEDWALL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcWallTypeEnum] = new IfcEnumerationDescriptor(Type::IfcWallTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("FLOORTRAP"); + values.push_back("FLOORWASTE"); + values.push_back("GULLYSUMP"); + values.push_back("GULLYTRAP"); + values.push_back("ROOFDRAIN"); + values.push_back("WASTEDISPOSALUNIT"); + values.push_back("WASTETRAP"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcWasteTerminalTypeEnum] = new IfcEnumerationDescriptor(Type::IfcWasteTerminalTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("SIDEHUNGRIGHTHAND"); + values.push_back("SIDEHUNGLEFTHAND"); + values.push_back("TILTANDTURNRIGHTHAND"); + values.push_back("TILTANDTURNLEFTHAND"); + values.push_back("TOPHUNG"); + values.push_back("BOTTOMHUNG"); + values.push_back("PIVOTHORIZONTAL"); + values.push_back("PIVOTVERTICAL"); + values.push_back("SLIDINGHORIZONTAL"); + values.push_back("SLIDINGVERTICAL"); + values.push_back("REMOVABLECASEMENT"); + values.push_back("FIXEDCASEMENT"); + values.push_back("OTHEROPERATION"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcWindowPanelOperationEnum] = new IfcEnumerationDescriptor(Type::IfcWindowPanelOperationEnum, values); + values.clear(); values.reserve(128); + values.push_back("LEFT"); + values.push_back("MIDDLE"); + values.push_back("RIGHT"); + values.push_back("BOTTOM"); + values.push_back("TOP"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcWindowPanelPositionEnum] = new IfcEnumerationDescriptor(Type::IfcWindowPanelPositionEnum, values); + values.clear(); values.reserve(128); + values.push_back("ALUMINIUM"); + values.push_back("HIGH_GRADE_STEEL"); + values.push_back("STEEL"); + values.push_back("WOOD"); + values.push_back("ALUMINIUM_WOOD"); + values.push_back("PLASTIC"); + values.push_back("OTHER_CONSTRUCTION"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcWindowStyleConstructionEnum] = new IfcEnumerationDescriptor(Type::IfcWindowStyleConstructionEnum, values); + values.clear(); values.reserve(128); + values.push_back("SINGLE_PANEL"); + values.push_back("DOUBLE_PANEL_VERTICAL"); + values.push_back("DOUBLE_PANEL_HORIZONTAL"); + values.push_back("TRIPLE_PANEL_VERTICAL"); + values.push_back("TRIPLE_PANEL_BOTTOM"); + values.push_back("TRIPLE_PANEL_TOP"); + values.push_back("TRIPLE_PANEL_LEFT"); + values.push_back("TRIPLE_PANEL_RIGHT"); + values.push_back("TRIPLE_PANEL_HORIZONTAL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcWindowStyleOperationEnum] = new IfcEnumerationDescriptor(Type::IfcWindowStyleOperationEnum, values); + values.clear(); values.reserve(128); + values.push_back("WINDOW"); + values.push_back("SKYLIGHT"); + values.push_back("LIGHTDOME"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcWindowTypeEnum] = new IfcEnumerationDescriptor(Type::IfcWindowTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("SINGLE_PANEL"); + values.push_back("DOUBLE_PANEL_VERTICAL"); + values.push_back("DOUBLE_PANEL_HORIZONTAL"); + values.push_back("TRIPLE_PANEL_VERTICAL"); + values.push_back("TRIPLE_PANEL_BOTTOM"); + values.push_back("TRIPLE_PANEL_TOP"); + values.push_back("TRIPLE_PANEL_LEFT"); + values.push_back("TRIPLE_PANEL_RIGHT"); + values.push_back("TRIPLE_PANEL_HORIZONTAL"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcWindowTypePartitioningEnum] = new IfcEnumerationDescriptor(Type::IfcWindowTypePartitioningEnum, values); + values.clear(); values.reserve(128); + values.push_back("FIRSTSHIFT"); + values.push_back("SECONDSHIFT"); + values.push_back("THIRDSHIFT"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcWorkCalendarTypeEnum] = new IfcEnumerationDescriptor(Type::IfcWorkCalendarTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ACTUAL"); + values.push_back("BASELINE"); + values.push_back("PLANNED"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcWorkPlanTypeEnum] = new IfcEnumerationDescriptor(Type::IfcWorkPlanTypeEnum, values); + values.clear(); values.reserve(128); + values.push_back("ACTUAL"); + values.push_back("BASELINE"); + values.push_back("PLANNED"); + values.push_back("USERDEFINED"); + values.push_back("NOTDEFINED"); + current_enum = enumeration_descriptor_map[Type::IfcWorkScheduleTypeEnum] = new IfcEnumerationDescriptor(Type::IfcWorkScheduleTypeEnum, values); +} + +void InitInverseMap() { + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcActor, "IsActingUpon"), std::make_pair(Type::IfcRelAssignsToActor, 6))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcActorRole, "HasExternalReference"), std::make_pair(Type::IfcExternalReferenceRelationship, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcAddress, "OfPerson"), std::make_pair(Type::IfcPerson, 7))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcAddress, "OfOrganization"), std::make_pair(Type::IfcOrganization, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcAnnotation, "ContainedInStructure"), std::make_pair(Type::IfcRelContainedInSpatialStructure, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcAppliedValue, "HasExternalReference"), std::make_pair(Type::IfcExternalReferenceRelationship, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcApproval, "HasExternalReferences"), std::make_pair(Type::IfcExternalReferenceRelationship, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcApproval, "ApprovedObjects"), std::make_pair(Type::IfcRelAssociatesApproval, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcApproval, "ApprovedResources"), std::make_pair(Type::IfcResourceApprovalRelationship, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcApproval, "IsRelatedWith"), std::make_pair(Type::IfcApprovalRelationship, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcApproval, "Relates"), std::make_pair(Type::IfcApprovalRelationship, 2))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcBuildingElement, "HasCoverings"), std::make_pair(Type::IfcRelCoversBldgElements, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcClassification, "ClassificationForObjects"), std::make_pair(Type::IfcRelAssociatesClassification, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcClassification, "HasReferences"), std::make_pair(Type::IfcClassificationReference, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcClassificationReference, "ClassificationRefForObjects"), std::make_pair(Type::IfcRelAssociatesClassification, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcClassificationReference, "HasReferences"), std::make_pair(Type::IfcClassificationReference, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcCompositeCurveSegment, "UsingCurves"), std::make_pair(Type::IfcCompositeCurve, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcConstraint, "HasExternalReferences"), std::make_pair(Type::IfcExternalReferenceRelationship, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcConstraint, "PropertiesForConstraint"), std::make_pair(Type::IfcResourceConstraintRelationship, 2))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcContext, "IsDefinedBy"), std::make_pair(Type::IfcRelDefinesByProperties, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcContext, "Declares"), std::make_pair(Type::IfcRelDeclares, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcContextDependentUnit, "HasExternalReference"), std::make_pair(Type::IfcExternalReferenceRelationship, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcControl, "Controls"), std::make_pair(Type::IfcRelAssignsToControl, 6))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcConversionBasedUnit, "HasExternalReference"), std::make_pair(Type::IfcExternalReferenceRelationship, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcCovering, "CoversSpaces"), std::make_pair(Type::IfcRelCoversSpaces, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcCovering, "CoversElements"), std::make_pair(Type::IfcRelCoversBldgElements, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcDistributionControlElement, "AssignedToFlowElement"), std::make_pair(Type::IfcRelFlowControlElements, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcDistributionElement, "HasPorts"), std::make_pair(Type::IfcRelConnectsPortToElement, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcDistributionFlowElement, "HasControlElements"), std::make_pair(Type::IfcRelFlowControlElements, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcDocumentInformation, "DocumentInfoForObjects"), std::make_pair(Type::IfcRelAssociatesDocument, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcDocumentInformation, "HasDocumentReferences"), std::make_pair(Type::IfcDocumentReference, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcDocumentInformation, "IsPointedTo"), std::make_pair(Type::IfcDocumentInformationRelationship, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcDocumentInformation, "IsPointer"), std::make_pair(Type::IfcDocumentInformationRelationship, 2))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcDocumentReference, "DocumentRefForObjects"), std::make_pair(Type::IfcRelAssociatesDocument, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcElement, "FillsVoids"), std::make_pair(Type::IfcRelFillsElement, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcElement, "ConnectedTo"), std::make_pair(Type::IfcRelConnectsElements, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcElement, "IsInterferedByElements"), std::make_pair(Type::IfcRelInterferesElements, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcElement, "InterferesElements"), std::make_pair(Type::IfcRelInterferesElements, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcElement, "HasProjections"), std::make_pair(Type::IfcRelProjectsElement, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcElement, "ReferencedInStructures"), std::make_pair(Type::IfcRelReferencedInSpatialStructure, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcElement, "HasOpenings"), std::make_pair(Type::IfcRelVoidsElement, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcElement, "IsConnectionRealization"), std::make_pair(Type::IfcRelConnectsWithRealizingElements, 7))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcElement, "ProvidesBoundaries"), std::make_pair(Type::IfcRelSpaceBoundary, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcElement, "ConnectedFrom"), std::make_pair(Type::IfcRelConnectsElements, 6))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcElement, "ContainedInStructure"), std::make_pair(Type::IfcRelContainedInSpatialStructure, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcExternalReference, "ExternalReferenceForResources"), std::make_pair(Type::IfcExternalReferenceRelationship, 2))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcExternalSpatialElement, "BoundedBy"), std::make_pair(Type::IfcRelSpaceBoundary, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcFace, "HasTextureMaps"), std::make_pair(Type::IfcTextureMap, 2))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcFeatureElementAddition, "ProjectsElements"), std::make_pair(Type::IfcRelProjectsElement, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcFeatureElementSubtraction, "VoidsElements"), std::make_pair(Type::IfcRelVoidsElement, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcGeometricRepresentationContext, "HasSubContexts"), std::make_pair(Type::IfcGeometricRepresentationSubContext, 6))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcGrid, "ContainedInStructure"), std::make_pair(Type::IfcRelContainedInSpatialStructure, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcGridAxis, "PartOfW"), std::make_pair(Type::IfcGrid, 9))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcGridAxis, "PartOfV"), std::make_pair(Type::IfcGrid, 8))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcGridAxis, "PartOfU"), std::make_pair(Type::IfcGrid, 7))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcGridAxis, "HasIntersections"), std::make_pair(Type::IfcVirtualGridIntersection, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcGroup, "IsGroupedBy"), std::make_pair(Type::IfcRelAssignsToGroup, 6))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcLibraryInformation, "LibraryInfoForObjects"), std::make_pair(Type::IfcRelAssociatesLibrary, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcLibraryInformation, "HasLibraryReferences"), std::make_pair(Type::IfcLibraryReference, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcLibraryReference, "LibraryRefForObjects"), std::make_pair(Type::IfcRelAssociatesLibrary, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcMaterial, "HasRepresentation"), std::make_pair(Type::IfcMaterialDefinitionRepresentation, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcMaterial, "IsRelatedWith"), std::make_pair(Type::IfcMaterialRelationship, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcMaterial, "RelatesTo"), std::make_pair(Type::IfcMaterialRelationship, 2))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcMaterialConstituent, "ToMaterialConstituentSet"), std::make_pair(Type::IfcMaterialConstituentSet, 2))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcMaterialDefinition, "AssociatedTo"), std::make_pair(Type::IfcRelAssociatesMaterial, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcMaterialDefinition, "HasExternalReferences"), std::make_pair(Type::IfcExternalReferenceRelationship, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcMaterialDefinition, "HasProperties"), std::make_pair(Type::IfcMaterialProperties, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcMaterialLayer, "ToMaterialLayerSet"), std::make_pair(Type::IfcMaterialLayerSet, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcMaterialProfile, "ToMaterialProfileSet"), std::make_pair(Type::IfcMaterialProfileSet, 2))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcMaterialUsageDefinition, "AssociatedTo"), std::make_pair(Type::IfcRelAssociatesMaterial, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcObject, "IsDeclaredBy"), std::make_pair(Type::IfcRelDefinesByObject, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcObject, "Declares"), std::make_pair(Type::IfcRelDefinesByObject, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcObject, "IsTypedBy"), std::make_pair(Type::IfcRelDefinesByType, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcObject, "IsDefinedBy"), std::make_pair(Type::IfcRelDefinesByProperties, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcObjectDefinition, "HasAssignments"), std::make_pair(Type::IfcRelAssigns, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcObjectDefinition, "Nests"), std::make_pair(Type::IfcRelNests, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcObjectDefinition, "IsNestedBy"), std::make_pair(Type::IfcRelNests, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcObjectDefinition, "HasContext"), std::make_pair(Type::IfcRelDeclares, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcObjectDefinition, "IsDecomposedBy"), std::make_pair(Type::IfcRelAggregates, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcObjectDefinition, "Decomposes"), std::make_pair(Type::IfcRelAggregates, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcObjectDefinition, "HasAssociations"), std::make_pair(Type::IfcRelAssociates, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcObjectPlacement, "PlacesObject"), std::make_pair(Type::IfcProduct, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcObjectPlacement, "ReferencedByPlacements"), std::make_pair(Type::IfcLocalPlacement, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcOpeningElement, "HasFillings"), std::make_pair(Type::IfcRelFillsElement, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcOrganization, "IsRelatedBy"), std::make_pair(Type::IfcOrganizationRelationship, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcOrganization, "Relates"), std::make_pair(Type::IfcOrganizationRelationship, 2))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcOrganization, "Engages"), std::make_pair(Type::IfcPersonAndOrganization, 1))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcPerson, "EngagedIn"), std::make_pair(Type::IfcPersonAndOrganization, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcPhysicalQuantity, "HasExternalReferences"), std::make_pair(Type::IfcExternalReferenceRelationship, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcPhysicalQuantity, "PartOfComplex"), std::make_pair(Type::IfcPhysicalComplexQuantity, 2))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcPort, "ContainedIn"), std::make_pair(Type::IfcRelConnectsPortToElement, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcPort, "ConnectedFrom"), std::make_pair(Type::IfcRelConnectsPorts, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcPort, "ConnectedTo"), std::make_pair(Type::IfcRelConnectsPorts, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcProcess, "IsPredecessorTo"), std::make_pair(Type::IfcRelSequence, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcProcess, "IsSuccessorFrom"), std::make_pair(Type::IfcRelSequence, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcProcess, "OperatesOn"), std::make_pair(Type::IfcRelAssignsToProcess, 6))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcProduct, "ReferencedBy"), std::make_pair(Type::IfcRelAssignsToProduct, 6))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcProductDefinitionShape, "ShapeOfProduct"), std::make_pair(Type::IfcProduct, 6))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcProductDefinitionShape, "HasShapeAspects"), std::make_pair(Type::IfcShapeAspect, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcProfileDef, "HasExternalReference"), std::make_pair(Type::IfcExternalReferenceRelationship, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcProfileDef, "HasProperties"), std::make_pair(Type::IfcProfileProperties, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcProperty, "PartOfPset"), std::make_pair(Type::IfcPropertySet, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcProperty, "PropertyForDependance"), std::make_pair(Type::IfcPropertyDependencyRelationship, 2))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcProperty, "PropertyDependsOn"), std::make_pair(Type::IfcPropertyDependencyRelationship, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcProperty, "PartOfComplex"), std::make_pair(Type::IfcComplexProperty, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcPropertyAbstraction, "HasExternalReferences"), std::make_pair(Type::IfcExternalReferenceRelationship, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcPropertyDefinition, "HasContext"), std::make_pair(Type::IfcRelDeclares, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcPropertyDefinition, "HasAssociations"), std::make_pair(Type::IfcRelAssociates, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcPropertySetDefinition, "DefinesType"), std::make_pair(Type::IfcTypeObject, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcPropertySetDefinition, "IsDefinedBy"), std::make_pair(Type::IfcRelDefinesByTemplate, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcPropertySetDefinition, "DefinesOccurrence"), std::make_pair(Type::IfcRelDefinesByProperties, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcPropertySetTemplate, "Defines"), std::make_pair(Type::IfcRelDefinesByTemplate, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcPropertyTemplate, "PartOfComplexTemplate"), std::make_pair(Type::IfcComplexPropertyTemplate, 6))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcPropertyTemplate, "PartOfPsetTemplate"), std::make_pair(Type::IfcPropertySetTemplate, 6))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcRelSpaceBoundary1stLevel, "InnerBoundaries"), std::make_pair(Type::IfcRelSpaceBoundary1stLevel, 9))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcRelSpaceBoundary2ndLevel, "Corresponds"), std::make_pair(Type::IfcRelSpaceBoundary2ndLevel, 10))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcRepresentation, "RepresentationMap"), std::make_pair(Type::IfcRepresentationMap, 1))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcRepresentation, "LayerAssignments"), std::make_pair(Type::IfcPresentationLayerAssignment, 2))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcRepresentation, "OfProductRepresentation"), std::make_pair(Type::IfcProductRepresentation, 2))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcRepresentationContext, "RepresentationsInContext"), std::make_pair(Type::IfcRepresentation, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcRepresentationItem, "LayerAssignment"), std::make_pair(Type::IfcPresentationLayerAssignment, 2))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcRepresentationItem, "StyledByItem"), std::make_pair(Type::IfcStyledItem, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcRepresentationMap, "HasShapeAspects"), std::make_pair(Type::IfcShapeAspect, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcRepresentationMap, "MapUsage"), std::make_pair(Type::IfcMappedItem, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcResource, "ResourceOf"), std::make_pair(Type::IfcRelAssignsToResource, 6))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcShapeModel, "OfShapeAspect"), std::make_pair(Type::IfcShapeAspect, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcSpace, "HasCoverings"), std::make_pair(Type::IfcRelCoversSpaces, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcSpace, "BoundedBy"), std::make_pair(Type::IfcRelSpaceBoundary, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcSpatialElement, "ContainsElements"), std::make_pair(Type::IfcRelContainedInSpatialStructure, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcSpatialElement, "ServicedBySystems"), std::make_pair(Type::IfcRelServicesBuildings, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcSpatialElement, "ReferencesElements"), std::make_pair(Type::IfcRelReferencedInSpatialStructure, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcStructuralActivity, "AssignedToStructuralItem"), std::make_pair(Type::IfcRelConnectsStructuralActivity, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcStructuralConnection, "ConnectsStructuralMembers"), std::make_pair(Type::IfcRelConnectsStructuralMember, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcStructuralItem, "AssignedStructuralActivity"), std::make_pair(Type::IfcRelConnectsStructuralActivity, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcStructuralLoadGroup, "SourceOfResultGroup"), std::make_pair(Type::IfcStructuralResultGroup, 6))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcStructuralLoadGroup, "LoadGroupFor"), std::make_pair(Type::IfcStructuralAnalysisModel, 7))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcStructuralMember, "ConnectedBy"), std::make_pair(Type::IfcRelConnectsStructuralMember, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcStructuralResultGroup, "ResultGroupFor"), std::make_pair(Type::IfcStructuralAnalysisModel, 8))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcSurfaceTexture, "IsMappedBy"), std::make_pair(Type::IfcTextureCoordinate, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcSurfaceTexture, "UsedInStyles"), std::make_pair(Type::IfcSurfaceStyleWithTextures, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcSystem, "ServicesBuildings"), std::make_pair(Type::IfcRelServicesBuildings, 4))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcTableRow, "OfTable"), std::make_pair(Type::IfcTable, 1))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcTessellatedFaceSet, "HasColours"), std::make_pair(Type::IfcIndexedColourMap, 0))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcTessellatedFaceSet, "HasTextures"), std::make_pair(Type::IfcIndexedTextureMap, 1))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcTimeSeries, "HasExternalReference"), std::make_pair(Type::IfcExternalReferenceRelationship, 3))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcTypeObject, "Types"), std::make_pair(Type::IfcRelDefinesByType, 5))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcTypeProcess, "OperatesOn"), std::make_pair(Type::IfcRelAssignsToProcess, 6))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcTypeProduct, "ReferencedBy"), std::make_pair(Type::IfcRelAssignsToProduct, 6))); + inverse_map.insert(std::make_pair(std::make_pair(Type::IfcTypeResource, "ResourceOf"), std::make_pair(Type::IfcRelAssignsToResource, 6))); +} + +void InitDerivedMap() { + {std::set idxs; idxs.insert(2); idxs.insert(3); idxs.insert(4); idxs.insert(5); derived_map[Type::IfcGeometricRepresentationSubContext] = idxs;} + {std::set idxs; idxs.insert(3); derived_map[Type::IfcMirroredProfileDef] = idxs;} + {std::set idxs; idxs.insert(0); idxs.insert(1); derived_map[Type::IfcOrientedEdge] = idxs;} + {std::set idxs; idxs.insert(0); derived_map[Type::IfcSIUnit] = idxs;} +} + +int Type::GetAttributeIndex(Enum t, const std::string& a) { + if (entity_descriptor_map.empty()) ::InitDescriptorMap(); + std::map::const_iterator i = entity_descriptor_map.find(t); + if ( i == entity_descriptor_map.end() ) throw IfcException("Type not found"); + else return i->second->getArgumentIndex(a); +} + +int Type::GetAttributeCount(Enum t) { + if (entity_descriptor_map.empty()) ::InitDescriptorMap(); + std::map::const_iterator i = entity_descriptor_map.find(t); + if ( i == entity_descriptor_map.end() ) throw IfcException("Type not found"); + else return i->second->getArgumentCount(); +} + +ArgumentType Type::GetAttributeType(Enum t, unsigned char a) { + if (entity_descriptor_map.empty()) ::InitDescriptorMap(); + std::map::const_iterator i = entity_descriptor_map.find(t); + if ( i == entity_descriptor_map.end() ) throw IfcException("Type not found"); + else return i->second->getArgumentType(a); +} + +const std::string& Type::GetAttributeName(Enum t, unsigned char a) { + if (entity_descriptor_map.empty()) ::InitDescriptorMap(); + std::map::const_iterator i = entity_descriptor_map.find(t); + if ( i == entity_descriptor_map.end() ) throw IfcException("Type not found"); + else return i->second->getArgumentName(a); +} + +bool Type::GetAttributeOptional(Enum t, unsigned char a) { + if (entity_descriptor_map.empty()) ::InitDescriptorMap(); + std::map::const_iterator i = entity_descriptor_map.find(t); + if ( i == entity_descriptor_map.end() ) throw IfcException("Type not found"); + else return i->second->getArgumentOptional(a); +} + +bool Type::GetAttributeDerived(Enum t, unsigned char a) { + if (derived_map.empty()) ::InitDerivedMap(); + std::map >::const_iterator i = derived_map.find(t); + return i != derived_map.end() && i->second.find(a) != i->second.end(); +} + +std::pair Type::GetEnumerationIndex(Enum t, const std::string& a) { + if (enumeration_descriptor_map.empty()) ::InitDescriptorMap(); + std::map::const_iterator i = enumeration_descriptor_map.find(t); + if ( i == enumeration_descriptor_map.end() ) throw IfcException("Value not found"); + else return i->second->getIndex(a); +} + +std::pair Type::GetInverseAttribute(Enum t, const std::string& a) { + if (inverse_map.empty()) ::InitInverseMap(); + std::map, std::pair >::const_iterator it; + std::pair key = std::make_pair(t, a); + while (true) { + it = inverse_map.find(key); + if (it != inverse_map.end()) return it->second; + if ((key.first = Parent(key.first)) == -1) break; + } + throw IfcException("Attribute not found"); +} + +Type::Enum Type::GetAttributeEnumerationClass(Enum t, unsigned char a) { + if (entity_descriptor_map.empty()) ::InitDescriptorMap(); + std::map::const_iterator i = entity_descriptor_map.find(t); + if ( i == entity_descriptor_map.end() ) throw IfcException("Type not found"); + else { + Type::Enum t = i->second->getArgumentEnumerationClass(a); + if ( t == Type::ALL ) throw IfcException("Not an enumeration"); + else return t; + } +} + +void Type::PopulateDerivedFields(IfcWrite::IfcWritableEntity* e) { + std::map >::const_iterator i = derived_map.find(e->type()); + if (i != derived_map.end()) { + for (std::set::const_iterator it = i->second.begin(); it != i->second.end(); ++it) { + e->setArgumentDerived(*it); + } + } +} diff --git a/src/ifcparse/Ifc4-latebound.h b/src/ifcparse/Ifc4-latebound.h new file mode 100644 index 0000000000..3d8c737617 --- /dev/null +++ b/src/ifcparse/Ifc4-latebound.h @@ -0,0 +1,50 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +/******************************************************************************** + * * + * This file has been generated from IFC4.exp. Do not make modifications * + * but instead modify the python script that has been used to generate this. * + * * + ********************************************************************************/ + +#ifndef IFC4RT_H +#define IFC4RT_H + +#define IfcSchema Ifc4 + +#include "../ifcparse/IfcUtil.h" +#include "../ifcparse/IfcEntityDescriptor.h" +#include "../ifcparse/IfcWritableEntity.h" + +namespace Ifc4 { +namespace Type { + int GetAttributeCount(Enum t); + int GetAttributeIndex(Enum t, const std::string& a); + IfcUtil::ArgumentType GetAttributeType(Enum t, unsigned char a); + const std::string& GetAttributeName(Enum t, unsigned char a); + bool GetAttributeOptional(Enum t, unsigned char a); + bool GetAttributeDerived(Enum t, unsigned char a); + std::pair GetEnumerationIndex(Enum t, const std::string& a); + std::pair GetInverseAttribute(Enum t, const std::string& a); + Enum GetAttributeEnumerationClass(Enum t, unsigned char a); + void PopulateDerivedFields(IfcWrite::IfcWritableEntity* e); +}} + +#endif diff --git a/src/ifcparse/Ifc4.cpp b/src/ifcparse/Ifc4.cpp index cf1090ae09..fa126f9437 100644 --- a/src/ifcparse/Ifc4.cpp +++ b/src/ifcparse/Ifc4.cpp @@ -37,122 +37,132 @@ using namespace IfcWrite; IfcUtil::IfcBaseClass* Ifc4::SchemaEntity(IfcAbstractEntity* e) { switch(e->type()) { - case Type::IfcAbsorbedDoseMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcAccelerationMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcAmountOfSubstanceMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcAngularVelocityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcAreaDensityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcAreaMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcBoolean: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcColour: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcComplexNumber: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcCompoundPlaneAngleMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcContextDependentMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcCountMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcCurvatureMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcCurveStyleFontSelect: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcDate: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcDateTime: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcDerivedMeasureValue: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcDescriptiveMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcDoseEquivalentMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcDuration: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcDynamicViscosityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcElectricCapacitanceMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcElectricChargeMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcElectricConductanceMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcElectricCurrentMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcElectricResistanceMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcElectricVoltageMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcEnergyMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcForceMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcFrequencyMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcHeatFluxDensityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcHeatingValueMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcIdentifier: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcIlluminanceMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcInductanceMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcInteger: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcIntegerCountRateMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcIonConcentrationMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcIsothermalMoistureCapacityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcKinematicViscosityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcLabel: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcLengthMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcLinearForceMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcLinearMomentMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcLinearStiffnessMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcLinearVelocityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcLogical: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcLuminousFluxMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcLuminousIntensityDistributionMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcLuminousIntensityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcMagneticFluxDensityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcMagneticFluxMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcMassDensityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcMassFlowRateMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcMassMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcMassPerLengthMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcMeasureValue: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcModulusOfElasticityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcModulusOfLinearSubgradeReactionMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcModulusOfRotationalSubgradeReactionMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcModulusOfSubgradeReactionMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcMoistureDiffusivityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcMolecularWeightMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcMomentOfInertiaMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcMonetaryMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcNonNegativeLengthMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcNormalisedRatioMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcNullStyle: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcNumericMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcPHMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcParameterValue: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcPlanarForceMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcPlaneAngleMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcPositiveLengthMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcPositivePlaneAngleMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcPositiveRatioMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcPowerMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcPressureMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcPropertySetDefinitionSet: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcRadioActivityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcRatioMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcReal: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcRotationalFrequencyMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcRotationalMassMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcRotationalStiffnessMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcSectionModulusMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcSectionalAreaIntegralMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcShearModulusMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcSimpleValue: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcSolidAngleMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcSoundPowerLevelMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcSoundPowerMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcSoundPressureLevelMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcSoundPressureMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcSpecificHeatCapacityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcSpecularExponent: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcSpecularRoughness: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcTemperatureGradientMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcTemperatureRateOfChangeMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcText: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcThermalAdmittanceMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcThermalConductivityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcThermalExpansionCoefficientMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcThermalResistanceMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcThermalTransmittanceMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcThermodynamicTemperatureMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcTime: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcTimeMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcTimeStamp: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcTorqueMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcValue: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcVaporPermeabilityMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcVolumeMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcVolumetricFlowRateMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcWarpingConstantMeasure: return new IfcUtil::IfcEntitySelect(e); break; - case Type::IfcWarpingMomentMeasure: return new IfcUtil::IfcEntitySelect(e); break; + case Type::IfcAbsorbedDoseMeasure: return new IfcAbsorbedDoseMeasure(e); break; + case Type::IfcAccelerationMeasure: return new IfcAccelerationMeasure(e); break; + case Type::IfcAmountOfSubstanceMeasure: return new IfcAmountOfSubstanceMeasure(e); break; + case Type::IfcAngularVelocityMeasure: return new IfcAngularVelocityMeasure(e); break; + case Type::IfcAreaDensityMeasure: return new IfcAreaDensityMeasure(e); break; + case Type::IfcAreaMeasure: return new IfcAreaMeasure(e); break; + case Type::IfcBoolean: return new IfcBoolean(e); break; + case Type::IfcBoxAlignment: return new IfcBoxAlignment(e); break; + case Type::IfcCardinalPointReference: return new IfcCardinalPointReference(e); break; + case Type::IfcComplexNumber: return new IfcComplexNumber(e); break; + case Type::IfcCompoundPlaneAngleMeasure: return new IfcCompoundPlaneAngleMeasure(e); break; + case Type::IfcContextDependentMeasure: return new IfcContextDependentMeasure(e); break; + case Type::IfcCountMeasure: return new IfcCountMeasure(e); break; + case Type::IfcCurvatureMeasure: return new IfcCurvatureMeasure(e); break; + case Type::IfcDate: return new IfcDate(e); break; + case Type::IfcDateTime: return new IfcDateTime(e); break; + case Type::IfcDayInMonthNumber: return new IfcDayInMonthNumber(e); break; + case Type::IfcDayInWeekNumber: return new IfcDayInWeekNumber(e); break; + case Type::IfcDescriptiveMeasure: return new IfcDescriptiveMeasure(e); break; + case Type::IfcDimensionCount: return new IfcDimensionCount(e); break; + case Type::IfcDoseEquivalentMeasure: return new IfcDoseEquivalentMeasure(e); break; + case Type::IfcDuration: return new IfcDuration(e); break; + case Type::IfcDynamicViscosityMeasure: return new IfcDynamicViscosityMeasure(e); break; + case Type::IfcElectricCapacitanceMeasure: return new IfcElectricCapacitanceMeasure(e); break; + case Type::IfcElectricChargeMeasure: return new IfcElectricChargeMeasure(e); break; + case Type::IfcElectricConductanceMeasure: return new IfcElectricConductanceMeasure(e); break; + case Type::IfcElectricCurrentMeasure: return new IfcElectricCurrentMeasure(e); break; + case Type::IfcElectricResistanceMeasure: return new IfcElectricResistanceMeasure(e); break; + case Type::IfcElectricVoltageMeasure: return new IfcElectricVoltageMeasure(e); break; + case Type::IfcEnergyMeasure: return new IfcEnergyMeasure(e); break; + case Type::IfcFontStyle: return new IfcFontStyle(e); break; + case Type::IfcFontVariant: return new IfcFontVariant(e); break; + case Type::IfcFontWeight: return new IfcFontWeight(e); break; + case Type::IfcForceMeasure: return new IfcForceMeasure(e); break; + case Type::IfcFrequencyMeasure: return new IfcFrequencyMeasure(e); break; + case Type::IfcGloballyUniqueId: return new IfcGloballyUniqueId(e); break; + case Type::IfcHeatFluxDensityMeasure: return new IfcHeatFluxDensityMeasure(e); break; + case Type::IfcHeatingValueMeasure: return new IfcHeatingValueMeasure(e); break; + case Type::IfcIdentifier: return new IfcIdentifier(e); break; + case Type::IfcIlluminanceMeasure: return new IfcIlluminanceMeasure(e); break; + case Type::IfcInductanceMeasure: return new IfcInductanceMeasure(e); break; + case Type::IfcInteger: return new IfcInteger(e); break; + case Type::IfcIntegerCountRateMeasure: return new IfcIntegerCountRateMeasure(e); break; + case Type::IfcIonConcentrationMeasure: return new IfcIonConcentrationMeasure(e); break; + case Type::IfcIsothermalMoistureCapacityMeasure: return new IfcIsothermalMoistureCapacityMeasure(e); break; + case Type::IfcKinematicViscosityMeasure: return new IfcKinematicViscosityMeasure(e); break; + case Type::IfcLabel: return new IfcLabel(e); break; + case Type::IfcLanguageId: return new IfcLanguageId(e); break; + case Type::IfcLengthMeasure: return new IfcLengthMeasure(e); break; + case Type::IfcLinearForceMeasure: return new IfcLinearForceMeasure(e); break; + case Type::IfcLinearMomentMeasure: return new IfcLinearMomentMeasure(e); break; + case Type::IfcLinearStiffnessMeasure: return new IfcLinearStiffnessMeasure(e); break; + case Type::IfcLinearVelocityMeasure: return new IfcLinearVelocityMeasure(e); break; + case Type::IfcLogical: return new IfcLogical(e); break; + case Type::IfcLuminousFluxMeasure: return new IfcLuminousFluxMeasure(e); break; + case Type::IfcLuminousIntensityDistributionMeasure: return new IfcLuminousIntensityDistributionMeasure(e); break; + case Type::IfcLuminousIntensityMeasure: return new IfcLuminousIntensityMeasure(e); break; + case Type::IfcMagneticFluxDensityMeasure: return new IfcMagneticFluxDensityMeasure(e); break; + case Type::IfcMagneticFluxMeasure: return new IfcMagneticFluxMeasure(e); break; + case Type::IfcMassDensityMeasure: return new IfcMassDensityMeasure(e); break; + case Type::IfcMassFlowRateMeasure: return new IfcMassFlowRateMeasure(e); break; + case Type::IfcMassMeasure: return new IfcMassMeasure(e); break; + case Type::IfcMassPerLengthMeasure: return new IfcMassPerLengthMeasure(e); break; + case Type::IfcModulusOfElasticityMeasure: return new IfcModulusOfElasticityMeasure(e); break; + case Type::IfcModulusOfLinearSubgradeReactionMeasure: return new IfcModulusOfLinearSubgradeReactionMeasure(e); break; + case Type::IfcModulusOfRotationalSubgradeReactionMeasure: return new IfcModulusOfRotationalSubgradeReactionMeasure(e); break; + case Type::IfcModulusOfSubgradeReactionMeasure: return new IfcModulusOfSubgradeReactionMeasure(e); break; + case Type::IfcMoistureDiffusivityMeasure: return new IfcMoistureDiffusivityMeasure(e); break; + case Type::IfcMolecularWeightMeasure: return new IfcMolecularWeightMeasure(e); break; + case Type::IfcMomentOfInertiaMeasure: return new IfcMomentOfInertiaMeasure(e); break; + case Type::IfcMonetaryMeasure: return new IfcMonetaryMeasure(e); break; + case Type::IfcMonthInYearNumber: return new IfcMonthInYearNumber(e); break; + case Type::IfcNonNegativeLengthMeasure: return new IfcNonNegativeLengthMeasure(e); break; + case Type::IfcNormalisedRatioMeasure: return new IfcNormalisedRatioMeasure(e); break; + case Type::IfcNumericMeasure: return new IfcNumericMeasure(e); break; + case Type::IfcPHMeasure: return new IfcPHMeasure(e); break; + case Type::IfcParameterValue: return new IfcParameterValue(e); break; + case Type::IfcPlanarForceMeasure: return new IfcPlanarForceMeasure(e); break; + case Type::IfcPlaneAngleMeasure: return new IfcPlaneAngleMeasure(e); break; + case Type::IfcPositiveLengthMeasure: return new IfcPositiveLengthMeasure(e); break; + case Type::IfcPositivePlaneAngleMeasure: return new IfcPositivePlaneAngleMeasure(e); break; + case Type::IfcPositiveRatioMeasure: return new IfcPositiveRatioMeasure(e); break; + case Type::IfcPowerMeasure: return new IfcPowerMeasure(e); break; + case Type::IfcPresentableText: return new IfcPresentableText(e); break; + case Type::IfcPressureMeasure: return new IfcPressureMeasure(e); break; + case Type::IfcPropertySetDefinitionSet: return new IfcPropertySetDefinitionSet(e); break; + case Type::IfcRadioActivityMeasure: return new IfcRadioActivityMeasure(e); break; + case Type::IfcRatioMeasure: return new IfcRatioMeasure(e); break; + case Type::IfcReal: return new IfcReal(e); break; + case Type::IfcRotationalFrequencyMeasure: return new IfcRotationalFrequencyMeasure(e); break; + case Type::IfcRotationalMassMeasure: return new IfcRotationalMassMeasure(e); break; + case Type::IfcRotationalStiffnessMeasure: return new IfcRotationalStiffnessMeasure(e); break; + case Type::IfcSectionModulusMeasure: return new IfcSectionModulusMeasure(e); break; + case Type::IfcSectionalAreaIntegralMeasure: return new IfcSectionalAreaIntegralMeasure(e); break; + case Type::IfcShearModulusMeasure: return new IfcShearModulusMeasure(e); break; + case Type::IfcSolidAngleMeasure: return new IfcSolidAngleMeasure(e); break; + case Type::IfcSoundPowerLevelMeasure: return new IfcSoundPowerLevelMeasure(e); break; + case Type::IfcSoundPowerMeasure: return new IfcSoundPowerMeasure(e); break; + case Type::IfcSoundPressureLevelMeasure: return new IfcSoundPressureLevelMeasure(e); break; + case Type::IfcSoundPressureMeasure: return new IfcSoundPressureMeasure(e); break; + case Type::IfcSpecificHeatCapacityMeasure: return new IfcSpecificHeatCapacityMeasure(e); break; + case Type::IfcSpecularExponent: return new IfcSpecularExponent(e); break; + case Type::IfcSpecularRoughness: return new IfcSpecularRoughness(e); break; + case Type::IfcTemperatureGradientMeasure: return new IfcTemperatureGradientMeasure(e); break; + case Type::IfcTemperatureRateOfChangeMeasure: return new IfcTemperatureRateOfChangeMeasure(e); break; + case Type::IfcText: return new IfcText(e); break; + case Type::IfcTextAlignment: return new IfcTextAlignment(e); break; + case Type::IfcTextDecoration: return new IfcTextDecoration(e); break; + case Type::IfcTextFontName: return new IfcTextFontName(e); break; + case Type::IfcTextTransformation: return new IfcTextTransformation(e); break; + case Type::IfcThermalAdmittanceMeasure: return new IfcThermalAdmittanceMeasure(e); break; + case Type::IfcThermalConductivityMeasure: return new IfcThermalConductivityMeasure(e); break; + case Type::IfcThermalExpansionCoefficientMeasure: return new IfcThermalExpansionCoefficientMeasure(e); break; + case Type::IfcThermalResistanceMeasure: return new IfcThermalResistanceMeasure(e); break; + case Type::IfcThermalTransmittanceMeasure: return new IfcThermalTransmittanceMeasure(e); break; + case Type::IfcThermodynamicTemperatureMeasure: return new IfcThermodynamicTemperatureMeasure(e); break; + case Type::IfcTime: return new IfcTime(e); break; + case Type::IfcTimeMeasure: return new IfcTimeMeasure(e); break; + case Type::IfcTimeStamp: return new IfcTimeStamp(e); break; + case Type::IfcTorqueMeasure: return new IfcTorqueMeasure(e); break; + case Type::IfcURIReference: return new IfcURIReference(e); break; + case Type::IfcVaporPermeabilityMeasure: return new IfcVaporPermeabilityMeasure(e); break; + case Type::IfcVolumeMeasure: return new IfcVolumeMeasure(e); break; + case Type::IfcVolumetricFlowRateMeasure: return new IfcVolumetricFlowRateMeasure(e); break; + case Type::IfcWarpingConstantMeasure: return new IfcWarpingConstantMeasure(e); break; + case Type::IfcWarpingMomentMeasure: return new IfcWarpingMomentMeasure(e); break; case Type::IfcActionRequest: return new IfcActionRequest(e); break; case Type::IfcActor: return new IfcActor(e); break; case Type::IfcActorRole: return new IfcActorRole(e); break; @@ -924,1612 +934,1888 @@ IfcUtil::IfcBaseClass* Ifc4::SchemaEntity(IfcAbstractEntity* e) { } std::string Type::ToString(Enum v) { - if (v < 0 || v >= 882) throw IfcException("Unable to find find keyword in schema"); - const char* names[] = { "IfcAbsorbedDoseMeasure", "IfcAccelerationMeasure", "IfcAmountOfSubstanceMeasure", "IfcAngularVelocityMeasure", "IfcAreaDensityMeasure", "IfcAreaMeasure", "IfcBoolean", "IfcColour", "IfcComplexNumber", "IfcCompoundPlaneAngleMeasure", "IfcContextDependentMeasure", "IfcCountMeasure", "IfcCurvatureMeasure", "IfcCurveStyleFontSelect", "IfcDate", "IfcDateTime", "IfcDerivedMeasureValue", "IfcDescriptiveMeasure", "IfcDoseEquivalentMeasure", "IfcDuration", "IfcDynamicViscosityMeasure", "IfcElectricCapacitanceMeasure", "IfcElectricChargeMeasure", "IfcElectricConductanceMeasure", "IfcElectricCurrentMeasure", "IfcElectricResistanceMeasure", "IfcElectricVoltageMeasure", "IfcEnergyMeasure", "IfcForceMeasure", "IfcFrequencyMeasure", "IfcHeatFluxDensityMeasure", "IfcHeatingValueMeasure", "IfcIdentifier", "IfcIlluminanceMeasure", "IfcInductanceMeasure", "IfcInteger", "IfcIntegerCountRateMeasure", "IfcIonConcentrationMeasure", "IfcIsothermalMoistureCapacityMeasure", "IfcKinematicViscosityMeasure", "IfcLabel", "IfcLengthMeasure", "IfcLinearForceMeasure", "IfcLinearMomentMeasure", "IfcLinearStiffnessMeasure", "IfcLinearVelocityMeasure", "IfcLogical", "IfcLuminousFluxMeasure", "IfcLuminousIntensityDistributionMeasure", "IfcLuminousIntensityMeasure", "IfcMagneticFluxDensityMeasure", "IfcMagneticFluxMeasure", "IfcMassDensityMeasure", "IfcMassFlowRateMeasure", "IfcMassMeasure", "IfcMassPerLengthMeasure", "IfcMeasureValue", "IfcModulusOfElasticityMeasure", "IfcModulusOfLinearSubgradeReactionMeasure", "IfcModulusOfRotationalSubgradeReactionMeasure", "IfcModulusOfSubgradeReactionMeasure", "IfcMoistureDiffusivityMeasure", "IfcMolecularWeightMeasure", "IfcMomentOfInertiaMeasure", "IfcMonetaryMeasure", "IfcNonNegativeLengthMeasure", "IfcNormalisedRatioMeasure", "IfcNullStyle", "IfcNumericMeasure", "IfcPHMeasure", "IfcParameterValue", "IfcPlanarForceMeasure", "IfcPlaneAngleMeasure", "IfcPositiveLengthMeasure", "IfcPositivePlaneAngleMeasure", "IfcPositiveRatioMeasure", "IfcPowerMeasure", "IfcPressureMeasure", "IfcPropertySetDefinitionSet", "IfcRadioActivityMeasure", "IfcRatioMeasure", "IfcReal", "IfcRotationalFrequencyMeasure", "IfcRotationalMassMeasure", "IfcRotationalStiffnessMeasure", "IfcSectionModulusMeasure", "IfcSectionalAreaIntegralMeasure", "IfcShearModulusMeasure", "IfcSimpleValue", "IfcSolidAngleMeasure", "IfcSoundPowerLevelMeasure", "IfcSoundPowerMeasure", "IfcSoundPressureLevelMeasure", "IfcSoundPressureMeasure", "IfcSpecificHeatCapacityMeasure", "IfcSpecularExponent", "IfcSpecularRoughness", "IfcTemperatureGradientMeasure", "IfcTemperatureRateOfChangeMeasure", "IfcText", "IfcThermalAdmittanceMeasure", "IfcThermalConductivityMeasure", "IfcThermalExpansionCoefficientMeasure", "IfcThermalResistanceMeasure", "IfcThermalTransmittanceMeasure", "IfcThermodynamicTemperatureMeasure", "IfcTime", "IfcTimeMeasure", "IfcTimeStamp", "IfcTorqueMeasure", "IfcValue", "IfcVaporPermeabilityMeasure", "IfcVolumeMeasure", "IfcVolumetricFlowRateMeasure", "IfcWarpingConstantMeasure", "IfcWarpingMomentMeasure", "IfcActionRequest", "IfcActor", "IfcActorRole", "IfcActuator", "IfcActuatorType", "IfcAddress", "IfcAdvancedBrep", "IfcAdvancedBrepWithVoids", "IfcAdvancedFace", "IfcAirTerminal", "IfcAirTerminalBox", "IfcAirTerminalBoxType", "IfcAirTerminalType", "IfcAirToAirHeatRecovery", "IfcAirToAirHeatRecoveryType", "IfcAlarm", "IfcAlarmType", "IfcAnnotation", "IfcAnnotationFillArea", "IfcApplication", "IfcAppliedValue", "IfcApproval", "IfcApprovalRelationship", "IfcArbitraryClosedProfileDef", "IfcArbitraryOpenProfileDef", "IfcArbitraryProfileDefWithVoids", "IfcAsset", "IfcAsymmetricIShapeProfileDef", "IfcAudioVisualAppliance", "IfcAudioVisualApplianceType", "IfcAxis1Placement", "IfcAxis2Placement2D", "IfcAxis2Placement3D", "IfcBSplineCurve", "IfcBSplineCurveWithKnots", "IfcBSplineSurface", "IfcBSplineSurfaceWithKnots", "IfcBeam", "IfcBeamStandardCase", "IfcBeamType", "IfcBlobTexture", "IfcBlock", "IfcBoiler", "IfcBoilerType", "IfcBooleanClippingResult", "IfcBooleanResult", "IfcBoundaryCondition", "IfcBoundaryCurve", "IfcBoundaryEdgeCondition", "IfcBoundaryFaceCondition", "IfcBoundaryNodeCondition", "IfcBoundaryNodeConditionWarping", "IfcBoundedCurve", "IfcBoundedSurface", "IfcBoundingBox", "IfcBoxedHalfSpace", "IfcBuilding", "IfcBuildingElement", "IfcBuildingElementPart", "IfcBuildingElementPartType", "IfcBuildingElementProxy", "IfcBuildingElementProxyType", "IfcBuildingElementType", "IfcBuildingStorey", "IfcBuildingSystem", "IfcBurner", "IfcBurnerType", "IfcCShapeProfileDef", "IfcCableCarrierFitting", "IfcCableCarrierFittingType", "IfcCableCarrierSegment", "IfcCableCarrierSegmentType", "IfcCableFitting", "IfcCableFittingType", "IfcCableSegment", "IfcCableSegmentType", "IfcCartesianPoint", "IfcCartesianPointList", "IfcCartesianPointList3D", "IfcCartesianTransformationOperator", "IfcCartesianTransformationOperator2D", "IfcCartesianTransformationOperator2DnonUniform", "IfcCartesianTransformationOperator3D", "IfcCartesianTransformationOperator3DnonUniform", "IfcCenterLineProfileDef", "IfcChiller", "IfcChillerType", "IfcChimney", "IfcChimneyType", "IfcCircle", "IfcCircleHollowProfileDef", "IfcCircleProfileDef", "IfcCivilElement", "IfcCivilElementType", "IfcClassification", "IfcClassificationReference", "IfcClosedShell", "IfcCoil", "IfcCoilType", "IfcColourRgb", "IfcColourRgbList", "IfcColourSpecification", "IfcColumn", "IfcColumnStandardCase", "IfcColumnType", "IfcCommunicationsAppliance", "IfcCommunicationsApplianceType", "IfcComplexProperty", "IfcComplexPropertyTemplate", "IfcCompositeCurve", "IfcCompositeCurveOnSurface", "IfcCompositeCurveSegment", "IfcCompositeProfileDef", "IfcCompressor", "IfcCompressorType", "IfcCondenser", "IfcCondenserType", "IfcConic", "IfcConnectedFaceSet", "IfcConnectionCurveGeometry", "IfcConnectionGeometry", "IfcConnectionPointEccentricity", "IfcConnectionPointGeometry", "IfcConnectionSurfaceGeometry", "IfcConnectionVolumeGeometry", "IfcConstraint", "IfcConstructionEquipmentResource", "IfcConstructionEquipmentResourceType", "IfcConstructionMaterialResource", "IfcConstructionMaterialResourceType", "IfcConstructionProductResource", "IfcConstructionProductResourceType", "IfcConstructionResource", "IfcConstructionResourceType", "IfcContext", "IfcContextDependentUnit", "IfcControl", "IfcController", "IfcControllerType", "IfcConversionBasedUnit", "IfcConversionBasedUnitWithOffset", "IfcCooledBeam", "IfcCooledBeamType", "IfcCoolingTower", "IfcCoolingTowerType", "IfcCoordinateOperation", "IfcCoordinateReferenceSystem", "IfcCostItem", "IfcCostSchedule", "IfcCostValue", "IfcCovering", "IfcCoveringType", "IfcCrewResource", "IfcCrewResourceType", "IfcCsgPrimitive3D", "IfcCsgSolid", "IfcCurrencyRelationship", "IfcCurtainWall", "IfcCurtainWallType", "IfcCurve", "IfcCurveBoundedPlane", "IfcCurveBoundedSurface", "IfcCurveStyle", "IfcCurveStyleFont", "IfcCurveStyleFontAndScaling", "IfcCurveStyleFontPattern", "IfcCylindricalSurface", "IfcDamper", "IfcDamperType", "IfcDerivedProfileDef", "IfcDerivedUnit", "IfcDerivedUnitElement", "IfcDimensionalExponents", "IfcDirection", "IfcDiscreteAccessory", "IfcDiscreteAccessoryType", "IfcDistributionChamberElement", "IfcDistributionChamberElementType", "IfcDistributionCircuit", "IfcDistributionControlElement", "IfcDistributionControlElementType", "IfcDistributionElement", "IfcDistributionElementType", "IfcDistributionFlowElement", "IfcDistributionFlowElementType", "IfcDistributionPort", "IfcDistributionSystem", "IfcDocumentInformation", "IfcDocumentInformationRelationship", "IfcDocumentReference", "IfcDoor", "IfcDoorLiningProperties", "IfcDoorPanelProperties", "IfcDoorStandardCase", "IfcDoorStyle", "IfcDoorType", "IfcDraughtingPreDefinedColour", "IfcDraughtingPreDefinedCurveFont", "IfcDuctFitting", "IfcDuctFittingType", "IfcDuctSegment", "IfcDuctSegmentType", "IfcDuctSilencer", "IfcDuctSilencerType", "IfcEdge", "IfcEdgeCurve", "IfcEdgeLoop", "IfcElectricAppliance", "IfcElectricApplianceType", "IfcElectricDistributionBoard", "IfcElectricDistributionBoardType", "IfcElectricFlowStorageDevice", "IfcElectricFlowStorageDeviceType", "IfcElectricGenerator", "IfcElectricGeneratorType", "IfcElectricMotor", "IfcElectricMotorType", "IfcElectricTimeControl", "IfcElectricTimeControlType", "IfcElement", "IfcElementAssembly", "IfcElementAssemblyType", "IfcElementComponent", "IfcElementComponentType", "IfcElementQuantity", "IfcElementType", "IfcElementarySurface", "IfcEllipse", "IfcEllipseProfileDef", "IfcEnergyConversionDevice", "IfcEnergyConversionDeviceType", "IfcEngine", "IfcEngineType", "IfcEvaporativeCooler", "IfcEvaporativeCoolerType", "IfcEvaporator", "IfcEvaporatorType", "IfcEvent", "IfcEventTime", "IfcEventType", "IfcExtendedProperties", "IfcExternalInformation", "IfcExternalReference", "IfcExternalReferenceRelationship", "IfcExternalSpatialElement", "IfcExternalSpatialStructureElement", "IfcExternallyDefinedHatchStyle", "IfcExternallyDefinedSurfaceStyle", "IfcExternallyDefinedTextFont", "IfcExtrudedAreaSolid", "IfcExtrudedAreaSolidTapered", "IfcFace", "IfcFaceBasedSurfaceModel", "IfcFaceBound", "IfcFaceOuterBound", "IfcFaceSurface", "IfcFacetedBrep", "IfcFacetedBrepWithVoids", "IfcFailureConnectionCondition", "IfcFan", "IfcFanType", "IfcFastener", "IfcFastenerType", "IfcFeatureElement", "IfcFeatureElementAddition", "IfcFeatureElementSubtraction", "IfcFillAreaStyle", "IfcFillAreaStyleHatching", "IfcFillAreaStyleTiles", "IfcFilter", "IfcFilterType", "IfcFireSuppressionTerminal", "IfcFireSuppressionTerminalType", "IfcFixedReferenceSweptAreaSolid", "IfcFlowController", "IfcFlowControllerType", "IfcFlowFitting", "IfcFlowFittingType", "IfcFlowInstrument", "IfcFlowInstrumentType", "IfcFlowMeter", "IfcFlowMeterType", "IfcFlowMovingDevice", "IfcFlowMovingDeviceType", "IfcFlowSegment", "IfcFlowSegmentType", "IfcFlowStorageDevice", "IfcFlowStorageDeviceType", "IfcFlowTerminal", "IfcFlowTerminalType", "IfcFlowTreatmentDevice", "IfcFlowTreatmentDeviceType", "IfcFooting", "IfcFootingType", "IfcFurnishingElement", "IfcFurnishingElementType", "IfcFurniture", "IfcFurnitureType", "IfcGeographicElement", "IfcGeographicElementType", "IfcGeometricCurveSet", "IfcGeometricRepresentationContext", "IfcGeometricRepresentationItem", "IfcGeometricRepresentationSubContext", "IfcGeometricSet", "IfcGrid", "IfcGridAxis", "IfcGridPlacement", "IfcGroup", "IfcHalfSpaceSolid", "IfcHeatExchanger", "IfcHeatExchangerType", "IfcHumidifier", "IfcHumidifierType", "IfcIShapeProfileDef", "IfcImageTexture", "IfcIndexedColourMap", "IfcIndexedTextureMap", "IfcIndexedTriangleTextureMap", "IfcInterceptor", "IfcInterceptorType", "IfcInventory", "IfcIrregularTimeSeries", "IfcIrregularTimeSeriesValue", "IfcJunctionBox", "IfcJunctionBoxType", "IfcLShapeProfileDef", "IfcLaborResource", "IfcLaborResourceType", "IfcLagTime", "IfcLamp", "IfcLampType", "IfcLibraryInformation", "IfcLibraryReference", "IfcLightDistributionData", "IfcLightFixture", "IfcLightFixtureType", "IfcLightIntensityDistribution", "IfcLightSource", "IfcLightSourceAmbient", "IfcLightSourceDirectional", "IfcLightSourceGoniometric", "IfcLightSourcePositional", "IfcLightSourceSpot", "IfcLine", "IfcLocalPlacement", "IfcLoop", "IfcManifoldSolidBrep", "IfcMapConversion", "IfcMappedItem", "IfcMaterial", "IfcMaterialClassificationRelationship", "IfcMaterialConstituent", "IfcMaterialConstituentSet", "IfcMaterialDefinition", "IfcMaterialDefinitionRepresentation", "IfcMaterialLayer", "IfcMaterialLayerSet", "IfcMaterialLayerSetUsage", "IfcMaterialLayerWithOffsets", "IfcMaterialList", "IfcMaterialProfile", "IfcMaterialProfileSet", "IfcMaterialProfileSetUsage", "IfcMaterialProfileSetUsageTapering", "IfcMaterialProfileWithOffsets", "IfcMaterialProperties", "IfcMaterialRelationship", "IfcMaterialUsageDefinition", "IfcMeasureWithUnit", "IfcMechanicalFastener", "IfcMechanicalFastenerType", "IfcMedicalDevice", "IfcMedicalDeviceType", "IfcMember", "IfcMemberStandardCase", "IfcMemberType", "IfcMetric", "IfcMirroredProfileDef", "IfcMonetaryUnit", "IfcMotorConnection", "IfcMotorConnectionType", "IfcNamedUnit", "IfcObject", "IfcObjectDefinition", "IfcObjectPlacement", "IfcObjective", "IfcOccupant", "IfcOffsetCurve2D", "IfcOffsetCurve3D", "IfcOpenShell", "IfcOpeningElement", "IfcOpeningStandardCase", "IfcOrganization", "IfcOrganizationRelationship", "IfcOrientedEdge", "IfcOuterBoundaryCurve", "IfcOutlet", "IfcOutletType", "IfcOwnerHistory", "IfcParameterizedProfileDef", "IfcPath", "IfcPcurve", "IfcPerformanceHistory", "IfcPermeableCoveringProperties", "IfcPermit", "IfcPerson", "IfcPersonAndOrganization", "IfcPhysicalComplexQuantity", "IfcPhysicalQuantity", "IfcPhysicalSimpleQuantity", "IfcPile", "IfcPileType", "IfcPipeFitting", "IfcPipeFittingType", "IfcPipeSegment", "IfcPipeSegmentType", "IfcPixelTexture", "IfcPlacement", "IfcPlanarBox", "IfcPlanarExtent", "IfcPlane", "IfcPlate", "IfcPlateStandardCase", "IfcPlateType", "IfcPoint", "IfcPointOnCurve", "IfcPointOnSurface", "IfcPolyLoop", "IfcPolygonalBoundedHalfSpace", "IfcPolyline", "IfcPort", "IfcPostalAddress", "IfcPreDefinedColour", "IfcPreDefinedCurveFont", "IfcPreDefinedItem", "IfcPreDefinedProperties", "IfcPreDefinedPropertySet", "IfcPreDefinedTextFont", "IfcPresentationItem", "IfcPresentationLayerAssignment", "IfcPresentationLayerWithStyle", "IfcPresentationStyle", "IfcPresentationStyleAssignment", "IfcProcedure", "IfcProcedureType", "IfcProcess", "IfcProduct", "IfcProductDefinitionShape", "IfcProductRepresentation", "IfcProfileDef", "IfcProfileProperties", "IfcProject", "IfcProjectLibrary", "IfcProjectOrder", "IfcProjectedCRS", "IfcProjectionElement", "IfcProperty", "IfcPropertyAbstraction", "IfcPropertyBoundedValue", "IfcPropertyDefinition", "IfcPropertyDependencyRelationship", "IfcPropertyEnumeratedValue", "IfcPropertyEnumeration", "IfcPropertyListValue", "IfcPropertyReferenceValue", "IfcPropertySet", "IfcPropertySetDefinition", "IfcPropertySetTemplate", "IfcPropertySingleValue", "IfcPropertyTableValue", "IfcPropertyTemplate", "IfcPropertyTemplateDefinition", "IfcProtectiveDevice", "IfcProtectiveDeviceTrippingUnit", "IfcProtectiveDeviceTrippingUnitType", "IfcProtectiveDeviceType", "IfcProxy", "IfcPump", "IfcPumpType", "IfcQuantityArea", "IfcQuantityCount", "IfcQuantityLength", "IfcQuantitySet", "IfcQuantityTime", "IfcQuantityVolume", "IfcQuantityWeight", "IfcRailing", "IfcRailingType", "IfcRamp", "IfcRampFlight", "IfcRampFlightType", "IfcRampType", "IfcRationalBSplineCurveWithKnots", "IfcRationalBSplineSurfaceWithKnots", "IfcRectangleHollowProfileDef", "IfcRectangleProfileDef", "IfcRectangularPyramid", "IfcRectangularTrimmedSurface", "IfcRecurrencePattern", "IfcReference", "IfcRegularTimeSeries", "IfcReinforcementBarProperties", "IfcReinforcementDefinitionProperties", "IfcReinforcingBar", "IfcReinforcingBarType", "IfcReinforcingElement", "IfcReinforcingElementType", "IfcReinforcingMesh", "IfcReinforcingMeshType", "IfcRelAggregates", "IfcRelAssigns", "IfcRelAssignsToActor", "IfcRelAssignsToControl", "IfcRelAssignsToGroup", "IfcRelAssignsToGroupByFactor", "IfcRelAssignsToProcess", "IfcRelAssignsToProduct", "IfcRelAssignsToResource", "IfcRelAssociates", "IfcRelAssociatesApproval", "IfcRelAssociatesClassification", "IfcRelAssociatesConstraint", "IfcRelAssociatesDocument", "IfcRelAssociatesLibrary", "IfcRelAssociatesMaterial", "IfcRelConnects", "IfcRelConnectsElements", "IfcRelConnectsPathElements", "IfcRelConnectsPortToElement", "IfcRelConnectsPorts", "IfcRelConnectsStructuralActivity", "IfcRelConnectsStructuralMember", "IfcRelConnectsWithEccentricity", "IfcRelConnectsWithRealizingElements", "IfcRelContainedInSpatialStructure", "IfcRelCoversBldgElements", "IfcRelCoversSpaces", "IfcRelDeclares", "IfcRelDecomposes", "IfcRelDefines", "IfcRelDefinesByObject", "IfcRelDefinesByProperties", "IfcRelDefinesByTemplate", "IfcRelDefinesByType", "IfcRelFillsElement", "IfcRelFlowControlElements", "IfcRelInterferesElements", "IfcRelNests", "IfcRelProjectsElement", "IfcRelReferencedInSpatialStructure", "IfcRelSequence", "IfcRelServicesBuildings", "IfcRelSpaceBoundary", "IfcRelSpaceBoundary1stLevel", "IfcRelSpaceBoundary2ndLevel", "IfcRelVoidsElement", "IfcRelationship", "IfcReparametrisedCompositeCurveSegment", "IfcRepresentation", "IfcRepresentationContext", "IfcRepresentationItem", "IfcRepresentationMap", "IfcResource", "IfcResourceApprovalRelationship", "IfcResourceConstraintRelationship", "IfcResourceLevelRelationship", "IfcResourceTime", "IfcRevolvedAreaSolid", "IfcRevolvedAreaSolidTapered", "IfcRightCircularCone", "IfcRightCircularCylinder", "IfcRoof", "IfcRoofType", "IfcRoot", "IfcRoundedRectangleProfileDef", "IfcSIUnit", "IfcSanitaryTerminal", "IfcSanitaryTerminalType", "IfcSchedulingTime", "IfcSectionProperties", "IfcSectionReinforcementProperties", "IfcSectionedSpine", "IfcSensor", "IfcSensorType", "IfcShadingDevice", "IfcShadingDeviceType", "IfcShapeAspect", "IfcShapeModel", "IfcShapeRepresentation", "IfcShellBasedSurfaceModel", "IfcSimpleProperty", "IfcSimplePropertyTemplate", "IfcSite", "IfcSlab", "IfcSlabElementedCase", "IfcSlabStandardCase", "IfcSlabType", "IfcSlippageConnectionCondition", "IfcSolarDevice", "IfcSolarDeviceType", "IfcSolidModel", "IfcSpace", "IfcSpaceHeater", "IfcSpaceHeaterType", "IfcSpaceType", "IfcSpatialElement", "IfcSpatialElementType", "IfcSpatialStructureElement", "IfcSpatialStructureElementType", "IfcSpatialZone", "IfcSpatialZoneType", "IfcSphere", "IfcStackTerminal", "IfcStackTerminalType", "IfcStair", "IfcStairFlight", "IfcStairFlightType", "IfcStairType", "IfcStructuralAction", "IfcStructuralActivity", "IfcStructuralAnalysisModel", "IfcStructuralConnection", "IfcStructuralConnectionCondition", "IfcStructuralCurveAction", "IfcStructuralCurveConnection", "IfcStructuralCurveMember", "IfcStructuralCurveMemberVarying", "IfcStructuralCurveReaction", "IfcStructuralItem", "IfcStructuralLinearAction", "IfcStructuralLoad", "IfcStructuralLoadCase", "IfcStructuralLoadConfiguration", "IfcStructuralLoadGroup", "IfcStructuralLoadLinearForce", "IfcStructuralLoadOrResult", "IfcStructuralLoadPlanarForce", "IfcStructuralLoadSingleDisplacement", "IfcStructuralLoadSingleDisplacementDistortion", "IfcStructuralLoadSingleForce", "IfcStructuralLoadSingleForceWarping", "IfcStructuralLoadStatic", "IfcStructuralLoadTemperature", "IfcStructuralMember", "IfcStructuralPlanarAction", "IfcStructuralPointAction", "IfcStructuralPointConnection", "IfcStructuralPointReaction", "IfcStructuralReaction", "IfcStructuralResultGroup", "IfcStructuralSurfaceAction", "IfcStructuralSurfaceConnection", "IfcStructuralSurfaceMember", "IfcStructuralSurfaceMemberVarying", "IfcStructuralSurfaceReaction", "IfcStyleModel", "IfcStyledItem", "IfcStyledRepresentation", "IfcSubContractResource", "IfcSubContractResourceType", "IfcSubedge", "IfcSurface", "IfcSurfaceCurveSweptAreaSolid", "IfcSurfaceFeature", "IfcSurfaceOfLinearExtrusion", "IfcSurfaceOfRevolution", "IfcSurfaceReinforcementArea", "IfcSurfaceStyle", "IfcSurfaceStyleLighting", "IfcSurfaceStyleRefraction", "IfcSurfaceStyleRendering", "IfcSurfaceStyleShading", "IfcSurfaceStyleWithTextures", "IfcSurfaceTexture", "IfcSweptAreaSolid", "IfcSweptDiskSolid", "IfcSweptDiskSolidPolygonal", "IfcSweptSurface", "IfcSwitchingDevice", "IfcSwitchingDeviceType", "IfcSystem", "IfcSystemFurnitureElement", "IfcSystemFurnitureElementType", "IfcTShapeProfileDef", "IfcTable", "IfcTableColumn", "IfcTableRow", "IfcTank", "IfcTankType", "IfcTask", "IfcTaskTime", "IfcTaskTimeRecurring", "IfcTaskType", "IfcTelecomAddress", "IfcTendon", "IfcTendonAnchor", "IfcTendonAnchorType", "IfcTendonType", "IfcTessellatedFaceSet", "IfcTessellatedItem", "IfcTextLiteral", "IfcTextLiteralWithExtent", "IfcTextStyle", "IfcTextStyleFontModel", "IfcTextStyleForDefinedFont", "IfcTextStyleTextModel", "IfcTextureCoordinate", "IfcTextureCoordinateGenerator", "IfcTextureMap", "IfcTextureVertex", "IfcTextureVertexList", "IfcTimePeriod", "IfcTimeSeries", "IfcTimeSeriesValue", "IfcTopologicalRepresentationItem", "IfcTopologyRepresentation", "IfcTransformer", "IfcTransformerType", "IfcTransportElement", "IfcTransportElementType", "IfcTrapeziumProfileDef", "IfcTriangulatedFaceSet", "IfcTrimmedCurve", "IfcTubeBundle", "IfcTubeBundleType", "IfcTypeObject", "IfcTypeProcess", "IfcTypeProduct", "IfcTypeResource", "IfcUShapeProfileDef", "IfcUnitAssignment", "IfcUnitaryControlElement", "IfcUnitaryControlElementType", "IfcUnitaryEquipment", "IfcUnitaryEquipmentType", "IfcValve", "IfcValveType", "IfcVector", "IfcVertex", "IfcVertexLoop", "IfcVertexPoint", "IfcVibrationIsolator", "IfcVibrationIsolatorType", "IfcVirtualElement", "IfcVirtualGridIntersection", "IfcVoidingFeature", "IfcWall", "IfcWallElementedCase", "IfcWallStandardCase", "IfcWallType", "IfcWasteTerminal", "IfcWasteTerminalType", "IfcWindow", "IfcWindowLiningProperties", "IfcWindowPanelProperties", "IfcWindowStandardCase", "IfcWindowStyle", "IfcWindowType", "IfcWorkCalendar", "IfcWorkControl", "IfcWorkPlan", "IfcWorkSchedule", "IfcWorkTime", "IfcZShapeProfileDef", "IfcZone" }; + if (v < 0 || v >= 1157) throw IfcException("Unable to find find keyword in schema"); + const char* names[] = { "IfcAbsorbedDoseMeasure", "IfcAccelerationMeasure", "IfcActionRequest", "IfcActionRequestTypeEnum", "IfcActionSourceTypeEnum", "IfcActionTypeEnum", "IfcActor", "IfcActorRole", "IfcActorSelect", "IfcActuator", "IfcActuatorType", "IfcActuatorTypeEnum", "IfcAddress", "IfcAddressTypeEnum", "IfcAdvancedBrep", "IfcAdvancedBrepWithVoids", "IfcAdvancedFace", "IfcAirTerminal", "IfcAirTerminalBox", "IfcAirTerminalBoxType", "IfcAirTerminalBoxTypeEnum", "IfcAirTerminalType", "IfcAirTerminalTypeEnum", "IfcAirToAirHeatRecovery", "IfcAirToAirHeatRecoveryType", "IfcAirToAirHeatRecoveryTypeEnum", "IfcAlarm", "IfcAlarmType", "IfcAlarmTypeEnum", "IfcAmountOfSubstanceMeasure", "IfcAnalysisModelTypeEnum", "IfcAnalysisTheoryTypeEnum", "IfcAngularVelocityMeasure", "IfcAnnotation", "IfcAnnotationFillArea", "IfcApplication", "IfcAppliedValue", "IfcAppliedValueSelect", "IfcApproval", "IfcApprovalRelationship", "IfcArbitraryClosedProfileDef", "IfcArbitraryOpenProfileDef", "IfcArbitraryProfileDefWithVoids", "IfcAreaDensityMeasure", "IfcAreaMeasure", "IfcArithmeticOperatorEnum", "IfcAssemblyPlaceEnum", "IfcAsset", "IfcAsymmetricIShapeProfileDef", "IfcAudioVisualAppliance", "IfcAudioVisualApplianceType", "IfcAudioVisualApplianceTypeEnum", "IfcAxis1Placement", "IfcAxis2Placement", "IfcAxis2Placement2D", "IfcAxis2Placement3D", "IfcBSplineCurve", "IfcBSplineCurveForm", "IfcBSplineCurveWithKnots", "IfcBSplineSurface", "IfcBSplineSurfaceForm", "IfcBSplineSurfaceWithKnots", "IfcBeam", "IfcBeamStandardCase", "IfcBeamType", "IfcBeamTypeEnum", "IfcBenchmarkEnum", "IfcBendingParameterSelect", "IfcBlobTexture", "IfcBlock", "IfcBoiler", "IfcBoilerType", "IfcBoilerTypeEnum", "IfcBoolean", "IfcBooleanClippingResult", "IfcBooleanOperand", "IfcBooleanOperator", "IfcBooleanResult", "IfcBoundaryCondition", "IfcBoundaryCurve", "IfcBoundaryEdgeCondition", "IfcBoundaryFaceCondition", "IfcBoundaryNodeCondition", "IfcBoundaryNodeConditionWarping", "IfcBoundedCurve", "IfcBoundedSurface", "IfcBoundingBox", "IfcBoxAlignment", "IfcBoxedHalfSpace", "IfcBuilding", "IfcBuildingElement", "IfcBuildingElementPart", "IfcBuildingElementPartType", "IfcBuildingElementPartTypeEnum", "IfcBuildingElementProxy", "IfcBuildingElementProxyType", "IfcBuildingElementProxyTypeEnum", "IfcBuildingElementType", "IfcBuildingStorey", "IfcBuildingSystem", "IfcBuildingSystemTypeEnum", "IfcBurner", "IfcBurnerType", "IfcBurnerTypeEnum", "IfcCShapeProfileDef", "IfcCableCarrierFitting", "IfcCableCarrierFittingType", "IfcCableCarrierFittingTypeEnum", "IfcCableCarrierSegment", "IfcCableCarrierSegmentType", "IfcCableCarrierSegmentTypeEnum", "IfcCableFitting", "IfcCableFittingType", "IfcCableFittingTypeEnum", "IfcCableSegment", "IfcCableSegmentType", "IfcCableSegmentTypeEnum", "IfcCardinalPointReference", "IfcCartesianPoint", "IfcCartesianPointList", "IfcCartesianPointList3D", "IfcCartesianTransformationOperator", "IfcCartesianTransformationOperator2D", "IfcCartesianTransformationOperator2DnonUniform", "IfcCartesianTransformationOperator3D", "IfcCartesianTransformationOperator3DnonUniform", "IfcCenterLineProfileDef", "IfcChangeActionEnum", "IfcChiller", "IfcChillerType", "IfcChillerTypeEnum", "IfcChimney", "IfcChimneyType", "IfcChimneyTypeEnum", "IfcCircle", "IfcCircleHollowProfileDef", "IfcCircleProfileDef", "IfcCivilElement", "IfcCivilElementType", "IfcClassification", "IfcClassificationReference", "IfcClassificationReferenceSelect", "IfcClassificationSelect", "IfcClosedShell", "IfcCoil", "IfcCoilType", "IfcCoilTypeEnum", "IfcColour", "IfcColourOrFactor", "IfcColourRgb", "IfcColourRgbList", "IfcColourSpecification", "IfcColumn", "IfcColumnStandardCase", "IfcColumnType", "IfcColumnTypeEnum", "IfcCommunicationsAppliance", "IfcCommunicationsApplianceType", "IfcCommunicationsApplianceTypeEnum", "IfcComplexNumber", "IfcComplexProperty", "IfcComplexPropertyTemplate", "IfcComplexPropertyTemplateTypeEnum", "IfcCompositeCurve", "IfcCompositeCurveOnSurface", "IfcCompositeCurveSegment", "IfcCompositeProfileDef", "IfcCompoundPlaneAngleMeasure", "IfcCompressor", "IfcCompressorType", "IfcCompressorTypeEnum", "IfcCondenser", "IfcCondenserType", "IfcCondenserTypeEnum", "IfcConic", "IfcConnectedFaceSet", "IfcConnectionCurveGeometry", "IfcConnectionGeometry", "IfcConnectionPointEccentricity", "IfcConnectionPointGeometry", "IfcConnectionSurfaceGeometry", "IfcConnectionTypeEnum", "IfcConnectionVolumeGeometry", "IfcConstraint", "IfcConstraintEnum", "IfcConstructionEquipmentResource", "IfcConstructionEquipmentResourceType", "IfcConstructionEquipmentResourceTypeEnum", "IfcConstructionMaterialResource", "IfcConstructionMaterialResourceType", "IfcConstructionMaterialResourceTypeEnum", "IfcConstructionProductResource", "IfcConstructionProductResourceType", "IfcConstructionProductResourceTypeEnum", "IfcConstructionResource", "IfcConstructionResourceType", "IfcContext", "IfcContextDependentMeasure", "IfcContextDependentUnit", "IfcControl", "IfcController", "IfcControllerType", "IfcControllerTypeEnum", "IfcConversionBasedUnit", "IfcConversionBasedUnitWithOffset", "IfcCooledBeam", "IfcCooledBeamType", "IfcCooledBeamTypeEnum", "IfcCoolingTower", "IfcCoolingTowerType", "IfcCoolingTowerTypeEnum", "IfcCoordinateOperation", "IfcCoordinateReferenceSystem", "IfcCoordinateReferenceSystemSelect", "IfcCostItem", "IfcCostItemTypeEnum", "IfcCostSchedule", "IfcCostScheduleTypeEnum", "IfcCostValue", "IfcCountMeasure", "IfcCovering", "IfcCoveringType", "IfcCoveringTypeEnum", "IfcCrewResource", "IfcCrewResourceType", "IfcCrewResourceTypeEnum", "IfcCsgPrimitive3D", "IfcCsgSelect", "IfcCsgSolid", "IfcCurrencyRelationship", "IfcCurtainWall", "IfcCurtainWallType", "IfcCurtainWallTypeEnum", "IfcCurvatureMeasure", "IfcCurve", "IfcCurveBoundedPlane", "IfcCurveBoundedSurface", "IfcCurveFontOrScaledCurveFontSelect", "IfcCurveInterpolationEnum", "IfcCurveOnSurface", "IfcCurveOrEdgeCurve", "IfcCurveStyle", "IfcCurveStyleFont", "IfcCurveStyleFontAndScaling", "IfcCurveStyleFontPattern", "IfcCurveStyleFontSelect", "IfcCylindricalSurface", "IfcDamper", "IfcDamperType", "IfcDamperTypeEnum", "IfcDataOriginEnum", "IfcDate", "IfcDateTime", "IfcDayInMonthNumber", "IfcDayInWeekNumber", "IfcDefinitionSelect", "IfcDerivedMeasureValue", "IfcDerivedProfileDef", "IfcDerivedUnit", "IfcDerivedUnitElement", "IfcDerivedUnitEnum", "IfcDescriptiveMeasure", "IfcDimensionCount", "IfcDimensionalExponents", "IfcDirection", "IfcDirectionSenseEnum", "IfcDiscreteAccessory", "IfcDiscreteAccessoryType", "IfcDiscreteAccessoryTypeEnum", "IfcDistributionChamberElement", "IfcDistributionChamberElementType", "IfcDistributionChamberElementTypeEnum", "IfcDistributionCircuit", "IfcDistributionControlElement", "IfcDistributionControlElementType", "IfcDistributionElement", "IfcDistributionElementType", "IfcDistributionFlowElement", "IfcDistributionFlowElementType", "IfcDistributionPort", "IfcDistributionPortTypeEnum", "IfcDistributionSystem", "IfcDistributionSystemEnum", "IfcDocumentConfidentialityEnum", "IfcDocumentInformation", "IfcDocumentInformationRelationship", "IfcDocumentReference", "IfcDocumentSelect", "IfcDocumentStatusEnum", "IfcDoor", "IfcDoorLiningProperties", "IfcDoorPanelOperationEnum", "IfcDoorPanelPositionEnum", "IfcDoorPanelProperties", "IfcDoorStandardCase", "IfcDoorStyle", "IfcDoorStyleConstructionEnum", "IfcDoorStyleOperationEnum", "IfcDoorType", "IfcDoorTypeEnum", "IfcDoorTypeOperationEnum", "IfcDoseEquivalentMeasure", "IfcDraughtingPreDefinedColour", "IfcDraughtingPreDefinedCurveFont", "IfcDuctFitting", "IfcDuctFittingType", "IfcDuctFittingTypeEnum", "IfcDuctSegment", "IfcDuctSegmentType", "IfcDuctSegmentTypeEnum", "IfcDuctSilencer", "IfcDuctSilencerType", "IfcDuctSilencerTypeEnum", "IfcDuration", "IfcDynamicViscosityMeasure", "IfcEdge", "IfcEdgeCurve", "IfcEdgeLoop", "IfcElectricAppliance", "IfcElectricApplianceType", "IfcElectricApplianceTypeEnum", "IfcElectricCapacitanceMeasure", "IfcElectricChargeMeasure", "IfcElectricConductanceMeasure", "IfcElectricCurrentMeasure", "IfcElectricDistributionBoard", "IfcElectricDistributionBoardType", "IfcElectricDistributionBoardTypeEnum", "IfcElectricFlowStorageDevice", "IfcElectricFlowStorageDeviceType", "IfcElectricFlowStorageDeviceTypeEnum", "IfcElectricGenerator", "IfcElectricGeneratorType", "IfcElectricGeneratorTypeEnum", "IfcElectricMotor", "IfcElectricMotorType", "IfcElectricMotorTypeEnum", "IfcElectricResistanceMeasure", "IfcElectricTimeControl", "IfcElectricTimeControlType", "IfcElectricTimeControlTypeEnum", "IfcElectricVoltageMeasure", "IfcElement", "IfcElementAssembly", "IfcElementAssemblyType", "IfcElementAssemblyTypeEnum", "IfcElementComponent", "IfcElementComponentType", "IfcElementCompositionEnum", "IfcElementQuantity", "IfcElementType", "IfcElementarySurface", "IfcEllipse", "IfcEllipseProfileDef", "IfcEnergyConversionDevice", "IfcEnergyConversionDeviceType", "IfcEnergyMeasure", "IfcEngine", "IfcEngineType", "IfcEngineTypeEnum", "IfcEvaporativeCooler", "IfcEvaporativeCoolerType", "IfcEvaporativeCoolerTypeEnum", "IfcEvaporator", "IfcEvaporatorType", "IfcEvaporatorTypeEnum", "IfcEvent", "IfcEventTime", "IfcEventTriggerTypeEnum", "IfcEventType", "IfcEventTypeEnum", "IfcExtendedProperties", "IfcExternalInformation", "IfcExternalReference", "IfcExternalReferenceRelationship", "IfcExternalSpatialElement", "IfcExternalSpatialElementTypeEnum", "IfcExternalSpatialStructureElement", "IfcExternallyDefinedHatchStyle", "IfcExternallyDefinedSurfaceStyle", "IfcExternallyDefinedTextFont", "IfcExtrudedAreaSolid", "IfcExtrudedAreaSolidTapered", "IfcFace", "IfcFaceBasedSurfaceModel", "IfcFaceBound", "IfcFaceOuterBound", "IfcFaceSurface", "IfcFacetedBrep", "IfcFacetedBrepWithVoids", "IfcFailureConnectionCondition", "IfcFan", "IfcFanType", "IfcFanTypeEnum", "IfcFastener", "IfcFastenerType", "IfcFastenerTypeEnum", "IfcFeatureElement", "IfcFeatureElementAddition", "IfcFeatureElementSubtraction", "IfcFillAreaStyle", "IfcFillAreaStyleHatching", "IfcFillAreaStyleTiles", "IfcFillStyleSelect", "IfcFilter", "IfcFilterType", "IfcFilterTypeEnum", "IfcFireSuppressionTerminal", "IfcFireSuppressionTerminalType", "IfcFireSuppressionTerminalTypeEnum", "IfcFixedReferenceSweptAreaSolid", "IfcFlowController", "IfcFlowControllerType", "IfcFlowDirectionEnum", "IfcFlowFitting", "IfcFlowFittingType", "IfcFlowInstrument", "IfcFlowInstrumentType", "IfcFlowInstrumentTypeEnum", "IfcFlowMeter", "IfcFlowMeterType", "IfcFlowMeterTypeEnum", "IfcFlowMovingDevice", "IfcFlowMovingDeviceType", "IfcFlowSegment", "IfcFlowSegmentType", "IfcFlowStorageDevice", "IfcFlowStorageDeviceType", "IfcFlowTerminal", "IfcFlowTerminalType", "IfcFlowTreatmentDevice", "IfcFlowTreatmentDeviceType", "IfcFontStyle", "IfcFontVariant", "IfcFontWeight", "IfcFooting", "IfcFootingType", "IfcFootingTypeEnum", "IfcForceMeasure", "IfcFrequencyMeasure", "IfcFurnishingElement", "IfcFurnishingElementType", "IfcFurniture", "IfcFurnitureType", "IfcFurnitureTypeEnum", "IfcGeographicElement", "IfcGeographicElementType", "IfcGeographicElementTypeEnum", "IfcGeometricCurveSet", "IfcGeometricProjectionEnum", "IfcGeometricRepresentationContext", "IfcGeometricRepresentationItem", "IfcGeometricRepresentationSubContext", "IfcGeometricSet", "IfcGeometricSetSelect", "IfcGlobalOrLocalEnum", "IfcGloballyUniqueId", "IfcGrid", "IfcGridAxis", "IfcGridPlacement", "IfcGridPlacementDirectionSelect", "IfcGridTypeEnum", "IfcGroup", "IfcHalfSpaceSolid", "IfcHatchLineDistanceSelect", "IfcHeatExchanger", "IfcHeatExchangerType", "IfcHeatExchangerTypeEnum", "IfcHeatFluxDensityMeasure", "IfcHeatingValueMeasure", "IfcHumidifier", "IfcHumidifierType", "IfcHumidifierTypeEnum", "IfcIShapeProfileDef", "IfcIdentifier", "IfcIlluminanceMeasure", "IfcImageTexture", "IfcIndexedColourMap", "IfcIndexedTextureMap", "IfcIndexedTriangleTextureMap", "IfcInductanceMeasure", "IfcInteger", "IfcIntegerCountRateMeasure", "IfcInterceptor", "IfcInterceptorType", "IfcInterceptorTypeEnum", "IfcInternalOrExternalEnum", "IfcInventory", "IfcInventoryTypeEnum", "IfcIonConcentrationMeasure", "IfcIrregularTimeSeries", "IfcIrregularTimeSeriesValue", "IfcIsothermalMoistureCapacityMeasure", "IfcJunctionBox", "IfcJunctionBoxType", "IfcJunctionBoxTypeEnum", "IfcKinematicViscosityMeasure", "IfcKnotType", "IfcLShapeProfileDef", "IfcLabel", "IfcLaborResource", "IfcLaborResourceType", "IfcLaborResourceTypeEnum", "IfcLagTime", "IfcLamp", "IfcLampType", "IfcLampTypeEnum", "IfcLanguageId", "IfcLayerSetDirectionEnum", "IfcLayeredItem", "IfcLengthMeasure", "IfcLibraryInformation", "IfcLibraryReference", "IfcLibrarySelect", "IfcLightDistributionCurveEnum", "IfcLightDistributionData", "IfcLightDistributionDataSourceSelect", "IfcLightEmissionSourceEnum", "IfcLightFixture", "IfcLightFixtureType", "IfcLightFixtureTypeEnum", "IfcLightIntensityDistribution", "IfcLightSource", "IfcLightSourceAmbient", "IfcLightSourceDirectional", "IfcLightSourceGoniometric", "IfcLightSourcePositional", "IfcLightSourceSpot", "IfcLine", "IfcLinearForceMeasure", "IfcLinearMomentMeasure", "IfcLinearStiffnessMeasure", "IfcLinearVelocityMeasure", "IfcLoadGroupTypeEnum", "IfcLocalPlacement", "IfcLogical", "IfcLogicalOperatorEnum", "IfcLoop", "IfcLuminousFluxMeasure", "IfcLuminousIntensityDistributionMeasure", "IfcLuminousIntensityMeasure", "IfcMagneticFluxDensityMeasure", "IfcMagneticFluxMeasure", "IfcManifoldSolidBrep", "IfcMapConversion", "IfcMappedItem", "IfcMassDensityMeasure", "IfcMassFlowRateMeasure", "IfcMassMeasure", "IfcMassPerLengthMeasure", "IfcMaterial", "IfcMaterialClassificationRelationship", "IfcMaterialConstituent", "IfcMaterialConstituentSet", "IfcMaterialDefinition", "IfcMaterialDefinitionRepresentation", "IfcMaterialLayer", "IfcMaterialLayerSet", "IfcMaterialLayerSetUsage", "IfcMaterialLayerWithOffsets", "IfcMaterialList", "IfcMaterialProfile", "IfcMaterialProfileSet", "IfcMaterialProfileSetUsage", "IfcMaterialProfileSetUsageTapering", "IfcMaterialProfileWithOffsets", "IfcMaterialProperties", "IfcMaterialRelationship", "IfcMaterialSelect", "IfcMaterialUsageDefinition", "IfcMeasureValue", "IfcMeasureWithUnit", "IfcMechanicalFastener", "IfcMechanicalFastenerType", "IfcMechanicalFastenerTypeEnum", "IfcMedicalDevice", "IfcMedicalDeviceType", "IfcMedicalDeviceTypeEnum", "IfcMember", "IfcMemberStandardCase", "IfcMemberType", "IfcMemberTypeEnum", "IfcMetric", "IfcMetricValueSelect", "IfcMirroredProfileDef", "IfcModulusOfElasticityMeasure", "IfcModulusOfLinearSubgradeReactionMeasure", "IfcModulusOfRotationalSubgradeReactionMeasure", "IfcModulusOfRotationalSubgradeReactionSelect", "IfcModulusOfSubgradeReactionMeasure", "IfcModulusOfSubgradeReactionSelect", "IfcModulusOfTranslationalSubgradeReactionSelect", "IfcMoistureDiffusivityMeasure", "IfcMolecularWeightMeasure", "IfcMomentOfInertiaMeasure", "IfcMonetaryMeasure", "IfcMonetaryUnit", "IfcMonthInYearNumber", "IfcMotorConnection", "IfcMotorConnectionType", "IfcMotorConnectionTypeEnum", "IfcNamedUnit", "IfcNonNegativeLengthMeasure", "IfcNormalisedRatioMeasure", "IfcNullStyle", "IfcNumericMeasure", "IfcObject", "IfcObjectDefinition", "IfcObjectPlacement", "IfcObjectReferenceSelect", "IfcObjectTypeEnum", "IfcObjective", "IfcObjectiveEnum", "IfcOccupant", "IfcOccupantTypeEnum", "IfcOffsetCurve2D", "IfcOffsetCurve3D", "IfcOpenShell", "IfcOpeningElement", "IfcOpeningElementTypeEnum", "IfcOpeningStandardCase", "IfcOrganization", "IfcOrganizationRelationship", "IfcOrientedEdge", "IfcOuterBoundaryCurve", "IfcOutlet", "IfcOutletType", "IfcOutletTypeEnum", "IfcOwnerHistory", "IfcPHMeasure", "IfcParameterValue", "IfcParameterizedProfileDef", "IfcPath", "IfcPcurve", "IfcPerformanceHistory", "IfcPerformanceHistoryTypeEnum", "IfcPermeableCoveringOperationEnum", "IfcPermeableCoveringProperties", "IfcPermit", "IfcPermitTypeEnum", "IfcPerson", "IfcPersonAndOrganization", "IfcPhysicalComplexQuantity", "IfcPhysicalOrVirtualEnum", "IfcPhysicalQuantity", "IfcPhysicalSimpleQuantity", "IfcPile", "IfcPileConstructionEnum", "IfcPileType", "IfcPileTypeEnum", "IfcPipeFitting", "IfcPipeFittingType", "IfcPipeFittingTypeEnum", "IfcPipeSegment", "IfcPipeSegmentType", "IfcPipeSegmentTypeEnum", "IfcPixelTexture", "IfcPlacement", "IfcPlanarBox", "IfcPlanarExtent", "IfcPlanarForceMeasure", "IfcPlane", "IfcPlaneAngleMeasure", "IfcPlate", "IfcPlateStandardCase", "IfcPlateType", "IfcPlateTypeEnum", "IfcPoint", "IfcPointOnCurve", "IfcPointOnSurface", "IfcPointOrVertexPoint", "IfcPolyLoop", "IfcPolygonalBoundedHalfSpace", "IfcPolyline", "IfcPort", "IfcPositiveLengthMeasure", "IfcPositivePlaneAngleMeasure", "IfcPositiveRatioMeasure", "IfcPostalAddress", "IfcPowerMeasure", "IfcPreDefinedColour", "IfcPreDefinedCurveFont", "IfcPreDefinedItem", "IfcPreDefinedProperties", "IfcPreDefinedPropertySet", "IfcPreDefinedTextFont", "IfcPresentableText", "IfcPresentationItem", "IfcPresentationLayerAssignment", "IfcPresentationLayerWithStyle", "IfcPresentationStyle", "IfcPresentationStyleAssignment", "IfcPresentationStyleSelect", "IfcPressureMeasure", "IfcProcedure", "IfcProcedureType", "IfcProcedureTypeEnum", "IfcProcess", "IfcProcessSelect", "IfcProduct", "IfcProductDefinitionShape", "IfcProductRepresentation", "IfcProductRepresentationSelect", "IfcProductSelect", "IfcProfileDef", "IfcProfileProperties", "IfcProfileTypeEnum", "IfcProject", "IfcProjectLibrary", "IfcProjectOrder", "IfcProjectOrderTypeEnum", "IfcProjectedCRS", "IfcProjectedOrTrueLengthEnum", "IfcProjectionElement", "IfcProjectionElementTypeEnum", "IfcProperty", "IfcPropertyAbstraction", "IfcPropertyBoundedValue", "IfcPropertyDefinition", "IfcPropertyDependencyRelationship", "IfcPropertyEnumeratedValue", "IfcPropertyEnumeration", "IfcPropertyListValue", "IfcPropertyReferenceValue", "IfcPropertySet", "IfcPropertySetDefinition", "IfcPropertySetDefinitionSelect", "IfcPropertySetDefinitionSet", "IfcPropertySetTemplate", "IfcPropertySetTemplateTypeEnum", "IfcPropertySingleValue", "IfcPropertyTableValue", "IfcPropertyTemplate", "IfcPropertyTemplateDefinition", "IfcProtectiveDevice", "IfcProtectiveDeviceTrippingUnit", "IfcProtectiveDeviceTrippingUnitType", "IfcProtectiveDeviceTrippingUnitTypeEnum", "IfcProtectiveDeviceType", "IfcProtectiveDeviceTypeEnum", "IfcProxy", "IfcPump", "IfcPumpType", "IfcPumpTypeEnum", "IfcQuantityArea", "IfcQuantityCount", "IfcQuantityLength", "IfcQuantitySet", "IfcQuantityTime", "IfcQuantityVolume", "IfcQuantityWeight", "IfcRadioActivityMeasure", "IfcRailing", "IfcRailingType", "IfcRailingTypeEnum", "IfcRamp", "IfcRampFlight", "IfcRampFlightType", "IfcRampFlightTypeEnum", "IfcRampType", "IfcRampTypeEnum", "IfcRatioMeasure", "IfcRationalBSplineCurveWithKnots", "IfcRationalBSplineSurfaceWithKnots", "IfcReal", "IfcRectangleHollowProfileDef", "IfcRectangleProfileDef", "IfcRectangularPyramid", "IfcRectangularTrimmedSurface", "IfcRecurrencePattern", "IfcRecurrenceTypeEnum", "IfcReference", "IfcReflectanceMethodEnum", "IfcRegularTimeSeries", "IfcReinforcementBarProperties", "IfcReinforcementDefinitionProperties", "IfcReinforcingBar", "IfcReinforcingBarRoleEnum", "IfcReinforcingBarSurfaceEnum", "IfcReinforcingBarType", "IfcReinforcingBarTypeEnum", "IfcReinforcingElement", "IfcReinforcingElementType", "IfcReinforcingMesh", "IfcReinforcingMeshType", "IfcReinforcingMeshTypeEnum", "IfcRelAggregates", "IfcRelAssigns", "IfcRelAssignsToActor", "IfcRelAssignsToControl", "IfcRelAssignsToGroup", "IfcRelAssignsToGroupByFactor", "IfcRelAssignsToProcess", "IfcRelAssignsToProduct", "IfcRelAssignsToResource", "IfcRelAssociates", "IfcRelAssociatesApproval", "IfcRelAssociatesClassification", "IfcRelAssociatesConstraint", "IfcRelAssociatesDocument", "IfcRelAssociatesLibrary", "IfcRelAssociatesMaterial", "IfcRelConnects", "IfcRelConnectsElements", "IfcRelConnectsPathElements", "IfcRelConnectsPortToElement", "IfcRelConnectsPorts", "IfcRelConnectsStructuralActivity", "IfcRelConnectsStructuralMember", "IfcRelConnectsWithEccentricity", "IfcRelConnectsWithRealizingElements", "IfcRelContainedInSpatialStructure", "IfcRelCoversBldgElements", "IfcRelCoversSpaces", "IfcRelDeclares", "IfcRelDecomposes", "IfcRelDefines", "IfcRelDefinesByObject", "IfcRelDefinesByProperties", "IfcRelDefinesByTemplate", "IfcRelDefinesByType", "IfcRelFillsElement", "IfcRelFlowControlElements", "IfcRelInterferesElements", "IfcRelNests", "IfcRelProjectsElement", "IfcRelReferencedInSpatialStructure", "IfcRelSequence", "IfcRelServicesBuildings", "IfcRelSpaceBoundary", "IfcRelSpaceBoundary1stLevel", "IfcRelSpaceBoundary2ndLevel", "IfcRelVoidsElement", "IfcRelationship", "IfcReparametrisedCompositeCurveSegment", "IfcRepresentation", "IfcRepresentationContext", "IfcRepresentationItem", "IfcRepresentationMap", "IfcResource", "IfcResourceApprovalRelationship", "IfcResourceConstraintRelationship", "IfcResourceLevelRelationship", "IfcResourceObjectSelect", "IfcResourceSelect", "IfcResourceTime", "IfcRevolvedAreaSolid", "IfcRevolvedAreaSolidTapered", "IfcRightCircularCone", "IfcRightCircularCylinder", "IfcRoleEnum", "IfcRoof", "IfcRoofType", "IfcRoofTypeEnum", "IfcRoot", "IfcRotationalFrequencyMeasure", "IfcRotationalMassMeasure", "IfcRotationalStiffnessMeasure", "IfcRotationalStiffnessSelect", "IfcRoundedRectangleProfileDef", "IfcSIPrefix", "IfcSIUnit", "IfcSIUnitName", "IfcSanitaryTerminal", "IfcSanitaryTerminalType", "IfcSanitaryTerminalTypeEnum", "IfcSchedulingTime", "IfcSectionModulusMeasure", "IfcSectionProperties", "IfcSectionReinforcementProperties", "IfcSectionTypeEnum", "IfcSectionalAreaIntegralMeasure", "IfcSectionedSpine", "IfcSensor", "IfcSensorType", "IfcSensorTypeEnum", "IfcSequenceEnum", "IfcShadingDevice", "IfcShadingDeviceType", "IfcShadingDeviceTypeEnum", "IfcShapeAspect", "IfcShapeModel", "IfcShapeRepresentation", "IfcShearModulusMeasure", "IfcShell", "IfcShellBasedSurfaceModel", "IfcSimpleProperty", "IfcSimplePropertyTemplate", "IfcSimplePropertyTemplateTypeEnum", "IfcSimpleValue", "IfcSite", "IfcSizeSelect", "IfcSlab", "IfcSlabElementedCase", "IfcSlabStandardCase", "IfcSlabType", "IfcSlabTypeEnum", "IfcSlippageConnectionCondition", "IfcSolarDevice", "IfcSolarDeviceType", "IfcSolarDeviceTypeEnum", "IfcSolidAngleMeasure", "IfcSolidModel", "IfcSolidOrShell", "IfcSoundPowerLevelMeasure", "IfcSoundPowerMeasure", "IfcSoundPressureLevelMeasure", "IfcSoundPressureMeasure", "IfcSpace", "IfcSpaceBoundarySelect", "IfcSpaceHeater", "IfcSpaceHeaterType", "IfcSpaceHeaterTypeEnum", "IfcSpaceType", "IfcSpaceTypeEnum", "IfcSpatialElement", "IfcSpatialElementType", "IfcSpatialStructureElement", "IfcSpatialStructureElementType", "IfcSpatialZone", "IfcSpatialZoneType", "IfcSpatialZoneTypeEnum", "IfcSpecificHeatCapacityMeasure", "IfcSpecularExponent", "IfcSpecularHighlightSelect", "IfcSpecularRoughness", "IfcSphere", "IfcStackTerminal", "IfcStackTerminalType", "IfcStackTerminalTypeEnum", "IfcStair", "IfcStairFlight", "IfcStairFlightType", "IfcStairFlightTypeEnum", "IfcStairType", "IfcStairTypeEnum", "IfcStateEnum", "IfcStructuralAction", "IfcStructuralActivity", "IfcStructuralActivityAssignmentSelect", "IfcStructuralAnalysisModel", "IfcStructuralConnection", "IfcStructuralConnectionCondition", "IfcStructuralCurveAction", "IfcStructuralCurveActivityTypeEnum", "IfcStructuralCurveConnection", "IfcStructuralCurveMember", "IfcStructuralCurveMemberTypeEnum", "IfcStructuralCurveMemberVarying", "IfcStructuralCurveReaction", "IfcStructuralItem", "IfcStructuralLinearAction", "IfcStructuralLoad", "IfcStructuralLoadCase", "IfcStructuralLoadConfiguration", "IfcStructuralLoadGroup", "IfcStructuralLoadLinearForce", "IfcStructuralLoadOrResult", "IfcStructuralLoadPlanarForce", "IfcStructuralLoadSingleDisplacement", "IfcStructuralLoadSingleDisplacementDistortion", "IfcStructuralLoadSingleForce", "IfcStructuralLoadSingleForceWarping", "IfcStructuralLoadStatic", "IfcStructuralLoadTemperature", "IfcStructuralMember", "IfcStructuralPlanarAction", "IfcStructuralPointAction", "IfcStructuralPointConnection", "IfcStructuralPointReaction", "IfcStructuralReaction", "IfcStructuralResultGroup", "IfcStructuralSurfaceAction", "IfcStructuralSurfaceActivityTypeEnum", "IfcStructuralSurfaceConnection", "IfcStructuralSurfaceMember", "IfcStructuralSurfaceMemberTypeEnum", "IfcStructuralSurfaceMemberVarying", "IfcStructuralSurfaceReaction", "IfcStyleAssignmentSelect", "IfcStyleModel", "IfcStyledItem", "IfcStyledRepresentation", "IfcSubContractResource", "IfcSubContractResourceType", "IfcSubContractResourceTypeEnum", "IfcSubedge", "IfcSurface", "IfcSurfaceCurveSweptAreaSolid", "IfcSurfaceFeature", "IfcSurfaceFeatureTypeEnum", "IfcSurfaceOfLinearExtrusion", "IfcSurfaceOfRevolution", "IfcSurfaceOrFaceSurface", "IfcSurfaceReinforcementArea", "IfcSurfaceSide", "IfcSurfaceStyle", "IfcSurfaceStyleElementSelect", "IfcSurfaceStyleLighting", "IfcSurfaceStyleRefraction", "IfcSurfaceStyleRendering", "IfcSurfaceStyleShading", "IfcSurfaceStyleWithTextures", "IfcSurfaceTexture", "IfcSweptAreaSolid", "IfcSweptDiskSolid", "IfcSweptDiskSolidPolygonal", "IfcSweptSurface", "IfcSwitchingDevice", "IfcSwitchingDeviceType", "IfcSwitchingDeviceTypeEnum", "IfcSystem", "IfcSystemFurnitureElement", "IfcSystemFurnitureElementType", "IfcSystemFurnitureElementTypeEnum", "IfcTShapeProfileDef", "IfcTable", "IfcTableColumn", "IfcTableRow", "IfcTank", "IfcTankType", "IfcTankTypeEnum", "IfcTask", "IfcTaskDurationEnum", "IfcTaskTime", "IfcTaskTimeRecurring", "IfcTaskType", "IfcTaskTypeEnum", "IfcTelecomAddress", "IfcTemperatureGradientMeasure", "IfcTemperatureRateOfChangeMeasure", "IfcTendon", "IfcTendonAnchor", "IfcTendonAnchorType", "IfcTendonAnchorTypeEnum", "IfcTendonType", "IfcTendonTypeEnum", "IfcTessellatedFaceSet", "IfcTessellatedItem", "IfcText", "IfcTextAlignment", "IfcTextDecoration", "IfcTextFontName", "IfcTextFontSelect", "IfcTextLiteral", "IfcTextLiteralWithExtent", "IfcTextPath", "IfcTextStyle", "IfcTextStyleFontModel", "IfcTextStyleForDefinedFont", "IfcTextStyleTextModel", "IfcTextTransformation", "IfcTextureCoordinate", "IfcTextureCoordinateGenerator", "IfcTextureMap", "IfcTextureVertex", "IfcTextureVertexList", "IfcThermalAdmittanceMeasure", "IfcThermalConductivityMeasure", "IfcThermalExpansionCoefficientMeasure", "IfcThermalResistanceMeasure", "IfcThermalTransmittanceMeasure", "IfcThermodynamicTemperatureMeasure", "IfcTime", "IfcTimeMeasure", "IfcTimeOrRatioSelect", "IfcTimePeriod", "IfcTimeSeries", "IfcTimeSeriesDataTypeEnum", "IfcTimeSeriesValue", "IfcTimeStamp", "IfcTopologicalRepresentationItem", "IfcTopologyRepresentation", "IfcTorqueMeasure", "IfcTransformer", "IfcTransformerType", "IfcTransformerTypeEnum", "IfcTransitionCode", "IfcTranslationalStiffnessSelect", "IfcTransportElement", "IfcTransportElementType", "IfcTransportElementTypeEnum", "IfcTrapeziumProfileDef", "IfcTriangulatedFaceSet", "IfcTrimmedCurve", "IfcTrimmingPreference", "IfcTrimmingSelect", "IfcTubeBundle", "IfcTubeBundleType", "IfcTubeBundleTypeEnum", "IfcTypeObject", "IfcTypeProcess", "IfcTypeProduct", "IfcTypeResource", "IfcURIReference", "IfcUShapeProfileDef", "IfcUnit", "IfcUnitAssignment", "IfcUnitEnum", "IfcUnitaryControlElement", "IfcUnitaryControlElementType", "IfcUnitaryControlElementTypeEnum", "IfcUnitaryEquipment", "IfcUnitaryEquipmentType", "IfcUnitaryEquipmentTypeEnum", "IfcValue", "IfcValve", "IfcValveType", "IfcValveTypeEnum", "IfcVaporPermeabilityMeasure", "IfcVector", "IfcVectorOrDirection", "IfcVertex", "IfcVertexLoop", "IfcVertexPoint", "IfcVibrationIsolator", "IfcVibrationIsolatorType", "IfcVibrationIsolatorTypeEnum", "IfcVirtualElement", "IfcVirtualGridIntersection", "IfcVoidingFeature", "IfcVoidingFeatureTypeEnum", "IfcVolumeMeasure", "IfcVolumetricFlowRateMeasure", "IfcWall", "IfcWallElementedCase", "IfcWallStandardCase", "IfcWallType", "IfcWallTypeEnum", "IfcWarpingConstantMeasure", "IfcWarpingMomentMeasure", "IfcWarpingStiffnessSelect", "IfcWasteTerminal", "IfcWasteTerminalType", "IfcWasteTerminalTypeEnum", "IfcWindow", "IfcWindowLiningProperties", "IfcWindowPanelOperationEnum", "IfcWindowPanelPositionEnum", "IfcWindowPanelProperties", "IfcWindowStandardCase", "IfcWindowStyle", "IfcWindowStyleConstructionEnum", "IfcWindowStyleOperationEnum", "IfcWindowType", "IfcWindowTypeEnum", "IfcWindowTypePartitioningEnum", "IfcWorkCalendar", "IfcWorkCalendarTypeEnum", "IfcWorkControl", "IfcWorkPlan", "IfcWorkPlanTypeEnum", "IfcWorkSchedule", "IfcWorkScheduleTypeEnum", "IfcWorkTime", "IfcZShapeProfileDef", "IfcZone" }; return names[v]; } static std::map string_map; void Ifc4::InitStringMap() { - string_map["IFCABSORBEDDOSEMEASURE" ] = Type::IfcAbsorbedDoseMeasure; - string_map["IFCACCELERATIONMEASURE" ] = Type::IfcAccelerationMeasure; - string_map["IFCAMOUNTOFSUBSTANCEMEASURE" ] = Type::IfcAmountOfSubstanceMeasure; - string_map["IFCANGULARVELOCITYMEASURE" ] = Type::IfcAngularVelocityMeasure; - string_map["IFCAREADENSITYMEASURE" ] = Type::IfcAreaDensityMeasure; - string_map["IFCAREAMEASURE" ] = Type::IfcAreaMeasure; - string_map["IFCBOOLEAN" ] = Type::IfcBoolean; - string_map["IFCCOLOUR" ] = Type::IfcColour; - string_map["IFCCOMPLEXNUMBER" ] = Type::IfcComplexNumber; - string_map["IFCCOMPOUNDPLANEANGLEMEASURE" ] = Type::IfcCompoundPlaneAngleMeasure; - string_map["IFCCONTEXTDEPENDENTMEASURE" ] = Type::IfcContextDependentMeasure; - string_map["IFCCOUNTMEASURE" ] = Type::IfcCountMeasure; - string_map["IFCCURVATUREMEASURE" ] = Type::IfcCurvatureMeasure; - string_map["IFCCURVESTYLEFONTSELECT" ] = Type::IfcCurveStyleFontSelect; - string_map["IFCDATE" ] = Type::IfcDate; - string_map["IFCDATETIME" ] = Type::IfcDateTime; - string_map["IFCDERIVEDMEASUREVALUE" ] = Type::IfcDerivedMeasureValue; - string_map["IFCDESCRIPTIVEMEASURE" ] = Type::IfcDescriptiveMeasure; - string_map["IFCDOSEEQUIVALENTMEASURE" ] = Type::IfcDoseEquivalentMeasure; - string_map["IFCDURATION" ] = Type::IfcDuration; - string_map["IFCDYNAMICVISCOSITYMEASURE" ] = Type::IfcDynamicViscosityMeasure; - string_map["IFCELECTRICCAPACITANCEMEASURE" ] = Type::IfcElectricCapacitanceMeasure; - string_map["IFCELECTRICCHARGEMEASURE" ] = Type::IfcElectricChargeMeasure; - string_map["IFCELECTRICCONDUCTANCEMEASURE" ] = Type::IfcElectricConductanceMeasure; - string_map["IFCELECTRICCURRENTMEASURE" ] = Type::IfcElectricCurrentMeasure; - string_map["IFCELECTRICRESISTANCEMEASURE" ] = Type::IfcElectricResistanceMeasure; - string_map["IFCELECTRICVOLTAGEMEASURE" ] = Type::IfcElectricVoltageMeasure; - string_map["IFCENERGYMEASURE" ] = Type::IfcEnergyMeasure; - string_map["IFCFORCEMEASURE" ] = Type::IfcForceMeasure; - string_map["IFCFREQUENCYMEASURE" ] = Type::IfcFrequencyMeasure; - string_map["IFCHEATFLUXDENSITYMEASURE" ] = Type::IfcHeatFluxDensityMeasure; - string_map["IFCHEATINGVALUEMEASURE" ] = Type::IfcHeatingValueMeasure; - string_map["IFCIDENTIFIER" ] = Type::IfcIdentifier; - string_map["IFCILLUMINANCEMEASURE" ] = Type::IfcIlluminanceMeasure; - string_map["IFCINDUCTANCEMEASURE" ] = Type::IfcInductanceMeasure; - string_map["IFCINTEGER" ] = Type::IfcInteger; - string_map["IFCINTEGERCOUNTRATEMEASURE" ] = Type::IfcIntegerCountRateMeasure; - string_map["IFCIONCONCENTRATIONMEASURE" ] = Type::IfcIonConcentrationMeasure; - string_map["IFCISOTHERMALMOISTURECAPACITYMEASURE" ] = Type::IfcIsothermalMoistureCapacityMeasure; - string_map["IFCKINEMATICVISCOSITYMEASURE" ] = Type::IfcKinematicViscosityMeasure; - string_map["IFCLABEL" ] = Type::IfcLabel; - string_map["IFCLENGTHMEASURE" ] = Type::IfcLengthMeasure; - string_map["IFCLINEARFORCEMEASURE" ] = Type::IfcLinearForceMeasure; - string_map["IFCLINEARMOMENTMEASURE" ] = Type::IfcLinearMomentMeasure; - string_map["IFCLINEARSTIFFNESSMEASURE" ] = Type::IfcLinearStiffnessMeasure; - string_map["IFCLINEARVELOCITYMEASURE" ] = Type::IfcLinearVelocityMeasure; - string_map["IFCLOGICAL" ] = Type::IfcLogical; - string_map["IFCLUMINOUSFLUXMEASURE" ] = Type::IfcLuminousFluxMeasure; - string_map["IFCLUMINOUSINTENSITYDISTRIBUTIONMEASURE" ] = Type::IfcLuminousIntensityDistributionMeasure; - string_map["IFCLUMINOUSINTENSITYMEASURE" ] = Type::IfcLuminousIntensityMeasure; - string_map["IFCMAGNETICFLUXDENSITYMEASURE" ] = Type::IfcMagneticFluxDensityMeasure; - string_map["IFCMAGNETICFLUXMEASURE" ] = Type::IfcMagneticFluxMeasure; - string_map["IFCMASSDENSITYMEASURE" ] = Type::IfcMassDensityMeasure; - string_map["IFCMASSFLOWRATEMEASURE" ] = Type::IfcMassFlowRateMeasure; - string_map["IFCMASSMEASURE" ] = Type::IfcMassMeasure; - string_map["IFCMASSPERLENGTHMEASURE" ] = Type::IfcMassPerLengthMeasure; - string_map["IFCMEASUREVALUE" ] = Type::IfcMeasureValue; - string_map["IFCMODULUSOFELASTICITYMEASURE" ] = Type::IfcModulusOfElasticityMeasure; - string_map["IFCMODULUSOFLINEARSUBGRADEREACTIONMEASURE" ] = Type::IfcModulusOfLinearSubgradeReactionMeasure; - string_map["IFCMODULUSOFROTATIONALSUBGRADEREACTIONMEASURE" ] = Type::IfcModulusOfRotationalSubgradeReactionMeasure; - string_map["IFCMODULUSOFSUBGRADEREACTIONMEASURE" ] = Type::IfcModulusOfSubgradeReactionMeasure; - string_map["IFCMOISTUREDIFFUSIVITYMEASURE" ] = Type::IfcMoistureDiffusivityMeasure; - string_map["IFCMOLECULARWEIGHTMEASURE" ] = Type::IfcMolecularWeightMeasure; - string_map["IFCMOMENTOFINERTIAMEASURE" ] = Type::IfcMomentOfInertiaMeasure; - string_map["IFCMONETARYMEASURE" ] = Type::IfcMonetaryMeasure; - string_map["IFCNONNEGATIVELENGTHMEASURE" ] = Type::IfcNonNegativeLengthMeasure; - string_map["IFCNORMALISEDRATIOMEASURE" ] = Type::IfcNormalisedRatioMeasure; - string_map["IFCNULLSTYLE" ] = Type::IfcNullStyle; - string_map["IFCNUMERICMEASURE" ] = Type::IfcNumericMeasure; - string_map["IFCPHMEASURE" ] = Type::IfcPHMeasure; - string_map["IFCPARAMETERVALUE" ] = Type::IfcParameterValue; - string_map["IFCPLANARFORCEMEASURE" ] = Type::IfcPlanarForceMeasure; - string_map["IFCPLANEANGLEMEASURE" ] = Type::IfcPlaneAngleMeasure; - string_map["IFCPOSITIVELENGTHMEASURE" ] = Type::IfcPositiveLengthMeasure; - string_map["IFCPOSITIVEPLANEANGLEMEASURE" ] = Type::IfcPositivePlaneAngleMeasure; - string_map["IFCPOSITIVERATIOMEASURE" ] = Type::IfcPositiveRatioMeasure; - string_map["IFCPOWERMEASURE" ] = Type::IfcPowerMeasure; - string_map["IFCPRESSUREMEASURE" ] = Type::IfcPressureMeasure; - string_map["IFCPROPERTYSETDEFINITIONSET" ] = Type::IfcPropertySetDefinitionSet; - string_map["IFCRADIOACTIVITYMEASURE" ] = Type::IfcRadioActivityMeasure; - string_map["IFCRATIOMEASURE" ] = Type::IfcRatioMeasure; - string_map["IFCREAL" ] = Type::IfcReal; - string_map["IFCROTATIONALFREQUENCYMEASURE" ] = Type::IfcRotationalFrequencyMeasure; - string_map["IFCROTATIONALMASSMEASURE" ] = Type::IfcRotationalMassMeasure; - string_map["IFCROTATIONALSTIFFNESSMEASURE" ] = Type::IfcRotationalStiffnessMeasure; - string_map["IFCSECTIONMODULUSMEASURE" ] = Type::IfcSectionModulusMeasure; - string_map["IFCSECTIONALAREAINTEGRALMEASURE" ] = Type::IfcSectionalAreaIntegralMeasure; - string_map["IFCSHEARMODULUSMEASURE" ] = Type::IfcShearModulusMeasure; - string_map["IFCSIMPLEVALUE" ] = Type::IfcSimpleValue; - string_map["IFCSOLIDANGLEMEASURE" ] = Type::IfcSolidAngleMeasure; - string_map["IFCSOUNDPOWERLEVELMEASURE" ] = Type::IfcSoundPowerLevelMeasure; - string_map["IFCSOUNDPOWERMEASURE" ] = Type::IfcSoundPowerMeasure; - string_map["IFCSOUNDPRESSURELEVELMEASURE" ] = Type::IfcSoundPressureLevelMeasure; - string_map["IFCSOUNDPRESSUREMEASURE" ] = Type::IfcSoundPressureMeasure; - string_map["IFCSPECIFICHEATCAPACITYMEASURE" ] = Type::IfcSpecificHeatCapacityMeasure; - string_map["IFCSPECULAREXPONENT" ] = Type::IfcSpecularExponent; - string_map["IFCSPECULARROUGHNESS" ] = Type::IfcSpecularRoughness; - string_map["IFCTEMPERATUREGRADIENTMEASURE" ] = Type::IfcTemperatureGradientMeasure; - string_map["IFCTEMPERATURERATEOFCHANGEMEASURE" ] = Type::IfcTemperatureRateOfChangeMeasure; - string_map["IFCTEXT" ] = Type::IfcText; - string_map["IFCTHERMALADMITTANCEMEASURE" ] = Type::IfcThermalAdmittanceMeasure; - string_map["IFCTHERMALCONDUCTIVITYMEASURE" ] = Type::IfcThermalConductivityMeasure; - string_map["IFCTHERMALEXPANSIONCOEFFICIENTMEASURE" ] = Type::IfcThermalExpansionCoefficientMeasure; - string_map["IFCTHERMALRESISTANCEMEASURE" ] = Type::IfcThermalResistanceMeasure; - string_map["IFCTHERMALTRANSMITTANCEMEASURE" ] = Type::IfcThermalTransmittanceMeasure; - string_map["IFCTHERMODYNAMICTEMPERATUREMEASURE" ] = Type::IfcThermodynamicTemperatureMeasure; - string_map["IFCTIME" ] = Type::IfcTime; - string_map["IFCTIMEMEASURE" ] = Type::IfcTimeMeasure; - string_map["IFCTIMESTAMP" ] = Type::IfcTimeStamp; - string_map["IFCTORQUEMEASURE" ] = Type::IfcTorqueMeasure; - string_map["IFCVALUE" ] = Type::IfcValue; - string_map["IFCVAPORPERMEABILITYMEASURE" ] = Type::IfcVaporPermeabilityMeasure; - string_map["IFCVOLUMEMEASURE" ] = Type::IfcVolumeMeasure; - string_map["IFCVOLUMETRICFLOWRATEMEASURE" ] = Type::IfcVolumetricFlowRateMeasure; - string_map["IFCWARPINGCONSTANTMEASURE" ] = Type::IfcWarpingConstantMeasure; - string_map["IFCWARPINGMOMENTMEASURE" ] = Type::IfcWarpingMomentMeasure; - string_map["IFCACTIONREQUEST" ] = Type::IfcActionRequest; - string_map["IFCACTOR" ] = Type::IfcActor; - string_map["IFCACTORROLE" ] = Type::IfcActorRole; - string_map["IFCACTUATOR" ] = Type::IfcActuator; - string_map["IFCACTUATORTYPE" ] = Type::IfcActuatorType; - string_map["IFCADDRESS" ] = Type::IfcAddress; - string_map["IFCADVANCEDBREP" ] = Type::IfcAdvancedBrep; - string_map["IFCADVANCEDBREPWITHVOIDS" ] = Type::IfcAdvancedBrepWithVoids; - string_map["IFCADVANCEDFACE" ] = Type::IfcAdvancedFace; - string_map["IFCAIRTERMINAL" ] = Type::IfcAirTerminal; - string_map["IFCAIRTERMINALBOX" ] = Type::IfcAirTerminalBox; - string_map["IFCAIRTERMINALBOXTYPE" ] = Type::IfcAirTerminalBoxType; - string_map["IFCAIRTERMINALTYPE" ] = Type::IfcAirTerminalType; - string_map["IFCAIRTOAIRHEATRECOVERY" ] = Type::IfcAirToAirHeatRecovery; - string_map["IFCAIRTOAIRHEATRECOVERYTYPE" ] = Type::IfcAirToAirHeatRecoveryType; - string_map["IFCALARM" ] = Type::IfcAlarm; - string_map["IFCALARMTYPE" ] = Type::IfcAlarmType; - string_map["IFCANNOTATION" ] = Type::IfcAnnotation; - string_map["IFCANNOTATIONFILLAREA" ] = Type::IfcAnnotationFillArea; - string_map["IFCAPPLICATION" ] = Type::IfcApplication; - string_map["IFCAPPLIEDVALUE" ] = Type::IfcAppliedValue; - string_map["IFCAPPROVAL" ] = Type::IfcApproval; - string_map["IFCAPPROVALRELATIONSHIP" ] = Type::IfcApprovalRelationship; - string_map["IFCARBITRARYCLOSEDPROFILEDEF" ] = Type::IfcArbitraryClosedProfileDef; - string_map["IFCARBITRARYOPENPROFILEDEF" ] = Type::IfcArbitraryOpenProfileDef; - string_map["IFCARBITRARYPROFILEDEFWITHVOIDS" ] = Type::IfcArbitraryProfileDefWithVoids; - string_map["IFCASSET" ] = Type::IfcAsset; - string_map["IFCASYMMETRICISHAPEPROFILEDEF" ] = Type::IfcAsymmetricIShapeProfileDef; - string_map["IFCAUDIOVISUALAPPLIANCE" ] = Type::IfcAudioVisualAppliance; - string_map["IFCAUDIOVISUALAPPLIANCETYPE" ] = Type::IfcAudioVisualApplianceType; - string_map["IFCAXIS1PLACEMENT" ] = Type::IfcAxis1Placement; - string_map["IFCAXIS2PLACEMENT2D" ] = Type::IfcAxis2Placement2D; - string_map["IFCAXIS2PLACEMENT3D" ] = Type::IfcAxis2Placement3D; - string_map["IFCBSPLINECURVE" ] = Type::IfcBSplineCurve; - string_map["IFCBSPLINECURVEWITHKNOTS" ] = Type::IfcBSplineCurveWithKnots; - string_map["IFCBSPLINESURFACE" ] = Type::IfcBSplineSurface; - string_map["IFCBSPLINESURFACEWITHKNOTS" ] = Type::IfcBSplineSurfaceWithKnots; - string_map["IFCBEAM" ] = Type::IfcBeam; - string_map["IFCBEAMSTANDARDCASE" ] = Type::IfcBeamStandardCase; - string_map["IFCBEAMTYPE" ] = Type::IfcBeamType; - string_map["IFCBLOBTEXTURE" ] = Type::IfcBlobTexture; - string_map["IFCBLOCK" ] = Type::IfcBlock; - string_map["IFCBOILER" ] = Type::IfcBoiler; - string_map["IFCBOILERTYPE" ] = Type::IfcBoilerType; - string_map["IFCBOOLEANCLIPPINGRESULT" ] = Type::IfcBooleanClippingResult; - string_map["IFCBOOLEANRESULT" ] = Type::IfcBooleanResult; - string_map["IFCBOUNDARYCONDITION" ] = Type::IfcBoundaryCondition; - string_map["IFCBOUNDARYCURVE" ] = Type::IfcBoundaryCurve; - string_map["IFCBOUNDARYEDGECONDITION" ] = Type::IfcBoundaryEdgeCondition; - string_map["IFCBOUNDARYFACECONDITION" ] = Type::IfcBoundaryFaceCondition; - string_map["IFCBOUNDARYNODECONDITION" ] = Type::IfcBoundaryNodeCondition; - string_map["IFCBOUNDARYNODECONDITIONWARPING" ] = Type::IfcBoundaryNodeConditionWarping; - string_map["IFCBOUNDEDCURVE" ] = Type::IfcBoundedCurve; - string_map["IFCBOUNDEDSURFACE" ] = Type::IfcBoundedSurface; - string_map["IFCBOUNDINGBOX" ] = Type::IfcBoundingBox; - string_map["IFCBOXEDHALFSPACE" ] = Type::IfcBoxedHalfSpace; - string_map["IFCBUILDING" ] = Type::IfcBuilding; - string_map["IFCBUILDINGELEMENT" ] = Type::IfcBuildingElement; - string_map["IFCBUILDINGELEMENTPART" ] = Type::IfcBuildingElementPart; - string_map["IFCBUILDINGELEMENTPARTTYPE" ] = Type::IfcBuildingElementPartType; - string_map["IFCBUILDINGELEMENTPROXY" ] = Type::IfcBuildingElementProxy; - string_map["IFCBUILDINGELEMENTPROXYTYPE" ] = Type::IfcBuildingElementProxyType; - string_map["IFCBUILDINGELEMENTTYPE" ] = Type::IfcBuildingElementType; - string_map["IFCBUILDINGSTOREY" ] = Type::IfcBuildingStorey; - string_map["IFCBUILDINGSYSTEM" ] = Type::IfcBuildingSystem; - string_map["IFCBURNER" ] = Type::IfcBurner; - string_map["IFCBURNERTYPE" ] = Type::IfcBurnerType; - string_map["IFCCSHAPEPROFILEDEF" ] = Type::IfcCShapeProfileDef; - string_map["IFCCABLECARRIERFITTING" ] = Type::IfcCableCarrierFitting; - string_map["IFCCABLECARRIERFITTINGTYPE" ] = Type::IfcCableCarrierFittingType; - string_map["IFCCABLECARRIERSEGMENT" ] = Type::IfcCableCarrierSegment; - string_map["IFCCABLECARRIERSEGMENTTYPE" ] = Type::IfcCableCarrierSegmentType; - string_map["IFCCABLEFITTING" ] = Type::IfcCableFitting; - string_map["IFCCABLEFITTINGTYPE" ] = Type::IfcCableFittingType; - string_map["IFCCABLESEGMENT" ] = Type::IfcCableSegment; - string_map["IFCCABLESEGMENTTYPE" ] = Type::IfcCableSegmentType; - string_map["IFCCARTESIANPOINT" ] = Type::IfcCartesianPoint; - string_map["IFCCARTESIANPOINTLIST" ] = Type::IfcCartesianPointList; - string_map["IFCCARTESIANPOINTLIST3D" ] = Type::IfcCartesianPointList3D; - string_map["IFCCARTESIANTRANSFORMATIONOPERATOR" ] = Type::IfcCartesianTransformationOperator; - string_map["IFCCARTESIANTRANSFORMATIONOPERATOR2D" ] = Type::IfcCartesianTransformationOperator2D; - string_map["IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM"] = Type::IfcCartesianTransformationOperator2DnonUniform; - string_map["IFCCARTESIANTRANSFORMATIONOPERATOR3D" ] = Type::IfcCartesianTransformationOperator3D; - string_map["IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM"] = Type::IfcCartesianTransformationOperator3DnonUniform; - string_map["IFCCENTERLINEPROFILEDEF" ] = Type::IfcCenterLineProfileDef; - string_map["IFCCHILLER" ] = Type::IfcChiller; - string_map["IFCCHILLERTYPE" ] = Type::IfcChillerType; - string_map["IFCCHIMNEY" ] = Type::IfcChimney; - string_map["IFCCHIMNEYTYPE" ] = Type::IfcChimneyType; - string_map["IFCCIRCLE" ] = Type::IfcCircle; - string_map["IFCCIRCLEHOLLOWPROFILEDEF" ] = Type::IfcCircleHollowProfileDef; - string_map["IFCCIRCLEPROFILEDEF" ] = Type::IfcCircleProfileDef; - string_map["IFCCIVILELEMENT" ] = Type::IfcCivilElement; - string_map["IFCCIVILELEMENTTYPE" ] = Type::IfcCivilElementType; - string_map["IFCCLASSIFICATION" ] = Type::IfcClassification; - string_map["IFCCLASSIFICATIONREFERENCE" ] = Type::IfcClassificationReference; - string_map["IFCCLOSEDSHELL" ] = Type::IfcClosedShell; - string_map["IFCCOIL" ] = Type::IfcCoil; - string_map["IFCCOILTYPE" ] = Type::IfcCoilType; - string_map["IFCCOLOURRGB" ] = Type::IfcColourRgb; - string_map["IFCCOLOURRGBLIST" ] = Type::IfcColourRgbList; - string_map["IFCCOLOURSPECIFICATION" ] = Type::IfcColourSpecification; - string_map["IFCCOLUMN" ] = Type::IfcColumn; - string_map["IFCCOLUMNSTANDARDCASE" ] = Type::IfcColumnStandardCase; - string_map["IFCCOLUMNTYPE" ] = Type::IfcColumnType; - string_map["IFCCOMMUNICATIONSAPPLIANCE" ] = Type::IfcCommunicationsAppliance; - string_map["IFCCOMMUNICATIONSAPPLIANCETYPE" ] = Type::IfcCommunicationsApplianceType; - string_map["IFCCOMPLEXPROPERTY" ] = Type::IfcComplexProperty; - string_map["IFCCOMPLEXPROPERTYTEMPLATE" ] = Type::IfcComplexPropertyTemplate; - string_map["IFCCOMPOSITECURVE" ] = Type::IfcCompositeCurve; - string_map["IFCCOMPOSITECURVEONSURFACE" ] = Type::IfcCompositeCurveOnSurface; - string_map["IFCCOMPOSITECURVESEGMENT" ] = Type::IfcCompositeCurveSegment; - string_map["IFCCOMPOSITEPROFILEDEF" ] = Type::IfcCompositeProfileDef; - string_map["IFCCOMPRESSOR" ] = Type::IfcCompressor; - string_map["IFCCOMPRESSORTYPE" ] = Type::IfcCompressorType; - string_map["IFCCONDENSER" ] = Type::IfcCondenser; - string_map["IFCCONDENSERTYPE" ] = Type::IfcCondenserType; - string_map["IFCCONIC" ] = Type::IfcConic; - string_map["IFCCONNECTEDFACESET" ] = Type::IfcConnectedFaceSet; - string_map["IFCCONNECTIONCURVEGEOMETRY" ] = Type::IfcConnectionCurveGeometry; - string_map["IFCCONNECTIONGEOMETRY" ] = Type::IfcConnectionGeometry; - string_map["IFCCONNECTIONPOINTECCENTRICITY" ] = Type::IfcConnectionPointEccentricity; - string_map["IFCCONNECTIONPOINTGEOMETRY" ] = Type::IfcConnectionPointGeometry; - string_map["IFCCONNECTIONSURFACEGEOMETRY" ] = Type::IfcConnectionSurfaceGeometry; - string_map["IFCCONNECTIONVOLUMEGEOMETRY" ] = Type::IfcConnectionVolumeGeometry; - string_map["IFCCONSTRAINT" ] = Type::IfcConstraint; - string_map["IFCCONSTRUCTIONEQUIPMENTRESOURCE" ] = Type::IfcConstructionEquipmentResource; - string_map["IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE" ] = Type::IfcConstructionEquipmentResourceType; - string_map["IFCCONSTRUCTIONMATERIALRESOURCE" ] = Type::IfcConstructionMaterialResource; - string_map["IFCCONSTRUCTIONMATERIALRESOURCETYPE" ] = Type::IfcConstructionMaterialResourceType; - string_map["IFCCONSTRUCTIONPRODUCTRESOURCE" ] = Type::IfcConstructionProductResource; - string_map["IFCCONSTRUCTIONPRODUCTRESOURCETYPE" ] = Type::IfcConstructionProductResourceType; - string_map["IFCCONSTRUCTIONRESOURCE" ] = Type::IfcConstructionResource; - string_map["IFCCONSTRUCTIONRESOURCETYPE" ] = Type::IfcConstructionResourceType; - string_map["IFCCONTEXT" ] = Type::IfcContext; - string_map["IFCCONTEXTDEPENDENTUNIT" ] = Type::IfcContextDependentUnit; - string_map["IFCCONTROL" ] = Type::IfcControl; - string_map["IFCCONTROLLER" ] = Type::IfcController; - string_map["IFCCONTROLLERTYPE" ] = Type::IfcControllerType; - string_map["IFCCONVERSIONBASEDUNIT" ] = Type::IfcConversionBasedUnit; - string_map["IFCCONVERSIONBASEDUNITWITHOFFSET" ] = Type::IfcConversionBasedUnitWithOffset; - string_map["IFCCOOLEDBEAM" ] = Type::IfcCooledBeam; - string_map["IFCCOOLEDBEAMTYPE" ] = Type::IfcCooledBeamType; - string_map["IFCCOOLINGTOWER" ] = Type::IfcCoolingTower; - string_map["IFCCOOLINGTOWERTYPE" ] = Type::IfcCoolingTowerType; - string_map["IFCCOORDINATEOPERATION" ] = Type::IfcCoordinateOperation; - string_map["IFCCOORDINATEREFERENCESYSTEM" ] = Type::IfcCoordinateReferenceSystem; - string_map["IFCCOSTITEM" ] = Type::IfcCostItem; - string_map["IFCCOSTSCHEDULE" ] = Type::IfcCostSchedule; - string_map["IFCCOSTVALUE" ] = Type::IfcCostValue; - string_map["IFCCOVERING" ] = Type::IfcCovering; - string_map["IFCCOVERINGTYPE" ] = Type::IfcCoveringType; - string_map["IFCCREWRESOURCE" ] = Type::IfcCrewResource; - string_map["IFCCREWRESOURCETYPE" ] = Type::IfcCrewResourceType; - string_map["IFCCSGPRIMITIVE3D" ] = Type::IfcCsgPrimitive3D; - string_map["IFCCSGSOLID" ] = Type::IfcCsgSolid; - string_map["IFCCURRENCYRELATIONSHIP" ] = Type::IfcCurrencyRelationship; - string_map["IFCCURTAINWALL" ] = Type::IfcCurtainWall; - string_map["IFCCURTAINWALLTYPE" ] = Type::IfcCurtainWallType; - string_map["IFCCURVE" ] = Type::IfcCurve; - string_map["IFCCURVEBOUNDEDPLANE" ] = Type::IfcCurveBoundedPlane; - string_map["IFCCURVEBOUNDEDSURFACE" ] = Type::IfcCurveBoundedSurface; - string_map["IFCCURVESTYLE" ] = Type::IfcCurveStyle; - string_map["IFCCURVESTYLEFONT" ] = Type::IfcCurveStyleFont; - string_map["IFCCURVESTYLEFONTANDSCALING" ] = Type::IfcCurveStyleFontAndScaling; - string_map["IFCCURVESTYLEFONTPATTERN" ] = Type::IfcCurveStyleFontPattern; - string_map["IFCCYLINDRICALSURFACE" ] = Type::IfcCylindricalSurface; - string_map["IFCDAMPER" ] = Type::IfcDamper; - string_map["IFCDAMPERTYPE" ] = Type::IfcDamperType; - string_map["IFCDERIVEDPROFILEDEF" ] = Type::IfcDerivedProfileDef; - string_map["IFCDERIVEDUNIT" ] = Type::IfcDerivedUnit; - string_map["IFCDERIVEDUNITELEMENT" ] = Type::IfcDerivedUnitElement; - string_map["IFCDIMENSIONALEXPONENTS" ] = Type::IfcDimensionalExponents; - string_map["IFCDIRECTION" ] = Type::IfcDirection; - string_map["IFCDISCRETEACCESSORY" ] = Type::IfcDiscreteAccessory; - string_map["IFCDISCRETEACCESSORYTYPE" ] = Type::IfcDiscreteAccessoryType; - string_map["IFCDISTRIBUTIONCHAMBERELEMENT" ] = Type::IfcDistributionChamberElement; - string_map["IFCDISTRIBUTIONCHAMBERELEMENTTYPE" ] = Type::IfcDistributionChamberElementType; - string_map["IFCDISTRIBUTIONCIRCUIT" ] = Type::IfcDistributionCircuit; - string_map["IFCDISTRIBUTIONCONTROLELEMENT" ] = Type::IfcDistributionControlElement; - string_map["IFCDISTRIBUTIONCONTROLELEMENTTYPE" ] = Type::IfcDistributionControlElementType; - string_map["IFCDISTRIBUTIONELEMENT" ] = Type::IfcDistributionElement; - string_map["IFCDISTRIBUTIONELEMENTTYPE" ] = Type::IfcDistributionElementType; - string_map["IFCDISTRIBUTIONFLOWELEMENT" ] = Type::IfcDistributionFlowElement; - string_map["IFCDISTRIBUTIONFLOWELEMENTTYPE" ] = Type::IfcDistributionFlowElementType; - string_map["IFCDISTRIBUTIONPORT" ] = Type::IfcDistributionPort; - string_map["IFCDISTRIBUTIONSYSTEM" ] = Type::IfcDistributionSystem; - string_map["IFCDOCUMENTINFORMATION" ] = Type::IfcDocumentInformation; - string_map["IFCDOCUMENTINFORMATIONRELATIONSHIP" ] = Type::IfcDocumentInformationRelationship; - string_map["IFCDOCUMENTREFERENCE" ] = Type::IfcDocumentReference; - string_map["IFCDOOR" ] = Type::IfcDoor; - string_map["IFCDOORLININGPROPERTIES" ] = Type::IfcDoorLiningProperties; - string_map["IFCDOORPANELPROPERTIES" ] = Type::IfcDoorPanelProperties; - string_map["IFCDOORSTANDARDCASE" ] = Type::IfcDoorStandardCase; - string_map["IFCDOORSTYLE" ] = Type::IfcDoorStyle; - string_map["IFCDOORTYPE" ] = Type::IfcDoorType; - string_map["IFCDRAUGHTINGPREDEFINEDCOLOUR" ] = Type::IfcDraughtingPreDefinedColour; - string_map["IFCDRAUGHTINGPREDEFINEDCURVEFONT" ] = Type::IfcDraughtingPreDefinedCurveFont; - string_map["IFCDUCTFITTING" ] = Type::IfcDuctFitting; - string_map["IFCDUCTFITTINGTYPE" ] = Type::IfcDuctFittingType; - string_map["IFCDUCTSEGMENT" ] = Type::IfcDuctSegment; - string_map["IFCDUCTSEGMENTTYPE" ] = Type::IfcDuctSegmentType; - string_map["IFCDUCTSILENCER" ] = Type::IfcDuctSilencer; - string_map["IFCDUCTSILENCERTYPE" ] = Type::IfcDuctSilencerType; - string_map["IFCEDGE" ] = Type::IfcEdge; - string_map["IFCEDGECURVE" ] = Type::IfcEdgeCurve; - string_map["IFCEDGELOOP" ] = Type::IfcEdgeLoop; - string_map["IFCELECTRICAPPLIANCE" ] = Type::IfcElectricAppliance; - string_map["IFCELECTRICAPPLIANCETYPE" ] = Type::IfcElectricApplianceType; - string_map["IFCELECTRICDISTRIBUTIONBOARD" ] = Type::IfcElectricDistributionBoard; - string_map["IFCELECTRICDISTRIBUTIONBOARDTYPE" ] = Type::IfcElectricDistributionBoardType; - string_map["IFCELECTRICFLOWSTORAGEDEVICE" ] = Type::IfcElectricFlowStorageDevice; - string_map["IFCELECTRICFLOWSTORAGEDEVICETYPE" ] = Type::IfcElectricFlowStorageDeviceType; - string_map["IFCELECTRICGENERATOR" ] = Type::IfcElectricGenerator; - string_map["IFCELECTRICGENERATORTYPE" ] = Type::IfcElectricGeneratorType; - string_map["IFCELECTRICMOTOR" ] = Type::IfcElectricMotor; - string_map["IFCELECTRICMOTORTYPE" ] = Type::IfcElectricMotorType; - string_map["IFCELECTRICTIMECONTROL" ] = Type::IfcElectricTimeControl; - string_map["IFCELECTRICTIMECONTROLTYPE" ] = Type::IfcElectricTimeControlType; - string_map["IFCELEMENT" ] = Type::IfcElement; - string_map["IFCELEMENTASSEMBLY" ] = Type::IfcElementAssembly; - string_map["IFCELEMENTASSEMBLYTYPE" ] = Type::IfcElementAssemblyType; - string_map["IFCELEMENTCOMPONENT" ] = Type::IfcElementComponent; - string_map["IFCELEMENTCOMPONENTTYPE" ] = Type::IfcElementComponentType; - string_map["IFCELEMENTQUANTITY" ] = Type::IfcElementQuantity; - string_map["IFCELEMENTTYPE" ] = Type::IfcElementType; - string_map["IFCELEMENTARYSURFACE" ] = Type::IfcElementarySurface; - string_map["IFCELLIPSE" ] = Type::IfcEllipse; - string_map["IFCELLIPSEPROFILEDEF" ] = Type::IfcEllipseProfileDef; - string_map["IFCENERGYCONVERSIONDEVICE" ] = Type::IfcEnergyConversionDevice; - string_map["IFCENERGYCONVERSIONDEVICETYPE" ] = Type::IfcEnergyConversionDeviceType; - string_map["IFCENGINE" ] = Type::IfcEngine; - string_map["IFCENGINETYPE" ] = Type::IfcEngineType; - string_map["IFCEVAPORATIVECOOLER" ] = Type::IfcEvaporativeCooler; - string_map["IFCEVAPORATIVECOOLERTYPE" ] = Type::IfcEvaporativeCoolerType; - string_map["IFCEVAPORATOR" ] = Type::IfcEvaporator; - string_map["IFCEVAPORATORTYPE" ] = Type::IfcEvaporatorType; - string_map["IFCEVENT" ] = Type::IfcEvent; - string_map["IFCEVENTTIME" ] = Type::IfcEventTime; - string_map["IFCEVENTTYPE" ] = Type::IfcEventType; - string_map["IFCEXTENDEDPROPERTIES" ] = Type::IfcExtendedProperties; - string_map["IFCEXTERNALINFORMATION" ] = Type::IfcExternalInformation; - string_map["IFCEXTERNALREFERENCE" ] = Type::IfcExternalReference; - string_map["IFCEXTERNALREFERENCERELATIONSHIP" ] = Type::IfcExternalReferenceRelationship; - string_map["IFCEXTERNALSPATIALELEMENT" ] = Type::IfcExternalSpatialElement; - string_map["IFCEXTERNALSPATIALSTRUCTUREELEMENT" ] = Type::IfcExternalSpatialStructureElement; - string_map["IFCEXTERNALLYDEFINEDHATCHSTYLE" ] = Type::IfcExternallyDefinedHatchStyle; - string_map["IFCEXTERNALLYDEFINEDSURFACESTYLE" ] = Type::IfcExternallyDefinedSurfaceStyle; - string_map["IFCEXTERNALLYDEFINEDTEXTFONT" ] = Type::IfcExternallyDefinedTextFont; - string_map["IFCEXTRUDEDAREASOLID" ] = Type::IfcExtrudedAreaSolid; - string_map["IFCEXTRUDEDAREASOLIDTAPERED" ] = Type::IfcExtrudedAreaSolidTapered; - string_map["IFCFACE" ] = Type::IfcFace; - string_map["IFCFACEBASEDSURFACEMODEL" ] = Type::IfcFaceBasedSurfaceModel; - string_map["IFCFACEBOUND" ] = Type::IfcFaceBound; - string_map["IFCFACEOUTERBOUND" ] = Type::IfcFaceOuterBound; - string_map["IFCFACESURFACE" ] = Type::IfcFaceSurface; - string_map["IFCFACETEDBREP" ] = Type::IfcFacetedBrep; - string_map["IFCFACETEDBREPWITHVOIDS" ] = Type::IfcFacetedBrepWithVoids; - string_map["IFCFAILURECONNECTIONCONDITION" ] = Type::IfcFailureConnectionCondition; - string_map["IFCFAN" ] = Type::IfcFan; - string_map["IFCFANTYPE" ] = Type::IfcFanType; - string_map["IFCFASTENER" ] = Type::IfcFastener; - string_map["IFCFASTENERTYPE" ] = Type::IfcFastenerType; - string_map["IFCFEATUREELEMENT" ] = Type::IfcFeatureElement; - string_map["IFCFEATUREELEMENTADDITION" ] = Type::IfcFeatureElementAddition; - string_map["IFCFEATUREELEMENTSUBTRACTION" ] = Type::IfcFeatureElementSubtraction; - string_map["IFCFILLAREASTYLE" ] = Type::IfcFillAreaStyle; - string_map["IFCFILLAREASTYLEHATCHING" ] = Type::IfcFillAreaStyleHatching; - string_map["IFCFILLAREASTYLETILES" ] = Type::IfcFillAreaStyleTiles; - string_map["IFCFILTER" ] = Type::IfcFilter; - string_map["IFCFILTERTYPE" ] = Type::IfcFilterType; - string_map["IFCFIRESUPPRESSIONTERMINAL" ] = Type::IfcFireSuppressionTerminal; - string_map["IFCFIRESUPPRESSIONTERMINALTYPE" ] = Type::IfcFireSuppressionTerminalType; - string_map["IFCFIXEDREFERENCESWEPTAREASOLID" ] = Type::IfcFixedReferenceSweptAreaSolid; - string_map["IFCFLOWCONTROLLER" ] = Type::IfcFlowController; - string_map["IFCFLOWCONTROLLERTYPE" ] = Type::IfcFlowControllerType; - string_map["IFCFLOWFITTING" ] = Type::IfcFlowFitting; - string_map["IFCFLOWFITTINGTYPE" ] = Type::IfcFlowFittingType; - string_map["IFCFLOWINSTRUMENT" ] = Type::IfcFlowInstrument; - string_map["IFCFLOWINSTRUMENTTYPE" ] = Type::IfcFlowInstrumentType; - string_map["IFCFLOWMETER" ] = Type::IfcFlowMeter; - string_map["IFCFLOWMETERTYPE" ] = Type::IfcFlowMeterType; - string_map["IFCFLOWMOVINGDEVICE" ] = Type::IfcFlowMovingDevice; - string_map["IFCFLOWMOVINGDEVICETYPE" ] = Type::IfcFlowMovingDeviceType; - string_map["IFCFLOWSEGMENT" ] = Type::IfcFlowSegment; - string_map["IFCFLOWSEGMENTTYPE" ] = Type::IfcFlowSegmentType; - string_map["IFCFLOWSTORAGEDEVICE" ] = Type::IfcFlowStorageDevice; - string_map["IFCFLOWSTORAGEDEVICETYPE" ] = Type::IfcFlowStorageDeviceType; - string_map["IFCFLOWTERMINAL" ] = Type::IfcFlowTerminal; - string_map["IFCFLOWTERMINALTYPE" ] = Type::IfcFlowTerminalType; - string_map["IFCFLOWTREATMENTDEVICE" ] = Type::IfcFlowTreatmentDevice; - string_map["IFCFLOWTREATMENTDEVICETYPE" ] = Type::IfcFlowTreatmentDeviceType; - string_map["IFCFOOTING" ] = Type::IfcFooting; - string_map["IFCFOOTINGTYPE" ] = Type::IfcFootingType; - string_map["IFCFURNISHINGELEMENT" ] = Type::IfcFurnishingElement; - string_map["IFCFURNISHINGELEMENTTYPE" ] = Type::IfcFurnishingElementType; - string_map["IFCFURNITURE" ] = Type::IfcFurniture; - string_map["IFCFURNITURETYPE" ] = Type::IfcFurnitureType; - string_map["IFCGEOGRAPHICELEMENT" ] = Type::IfcGeographicElement; - string_map["IFCGEOGRAPHICELEMENTTYPE" ] = Type::IfcGeographicElementType; - string_map["IFCGEOMETRICCURVESET" ] = Type::IfcGeometricCurveSet; - string_map["IFCGEOMETRICREPRESENTATIONCONTEXT" ] = Type::IfcGeometricRepresentationContext; - string_map["IFCGEOMETRICREPRESENTATIONITEM" ] = Type::IfcGeometricRepresentationItem; - string_map["IFCGEOMETRICREPRESENTATIONSUBCONTEXT" ] = Type::IfcGeometricRepresentationSubContext; - string_map["IFCGEOMETRICSET" ] = Type::IfcGeometricSet; - string_map["IFCGRID" ] = Type::IfcGrid; - string_map["IFCGRIDAXIS" ] = Type::IfcGridAxis; - string_map["IFCGRIDPLACEMENT" ] = Type::IfcGridPlacement; - string_map["IFCGROUP" ] = Type::IfcGroup; - string_map["IFCHALFSPACESOLID" ] = Type::IfcHalfSpaceSolid; - string_map["IFCHEATEXCHANGER" ] = Type::IfcHeatExchanger; - string_map["IFCHEATEXCHANGERTYPE" ] = Type::IfcHeatExchangerType; - string_map["IFCHUMIDIFIER" ] = Type::IfcHumidifier; - string_map["IFCHUMIDIFIERTYPE" ] = Type::IfcHumidifierType; - string_map["IFCISHAPEPROFILEDEF" ] = Type::IfcIShapeProfileDef; - string_map["IFCIMAGETEXTURE" ] = Type::IfcImageTexture; - string_map["IFCINDEXEDCOLOURMAP" ] = Type::IfcIndexedColourMap; - string_map["IFCINDEXEDTEXTUREMAP" ] = Type::IfcIndexedTextureMap; - string_map["IFCINDEXEDTRIANGLETEXTUREMAP" ] = Type::IfcIndexedTriangleTextureMap; - string_map["IFCINTERCEPTOR" ] = Type::IfcInterceptor; - string_map["IFCINTERCEPTORTYPE" ] = Type::IfcInterceptorType; - string_map["IFCINVENTORY" ] = Type::IfcInventory; - string_map["IFCIRREGULARTIMESERIES" ] = Type::IfcIrregularTimeSeries; - string_map["IFCIRREGULARTIMESERIESVALUE" ] = Type::IfcIrregularTimeSeriesValue; - string_map["IFCJUNCTIONBOX" ] = Type::IfcJunctionBox; - string_map["IFCJUNCTIONBOXTYPE" ] = Type::IfcJunctionBoxType; - string_map["IFCLSHAPEPROFILEDEF" ] = Type::IfcLShapeProfileDef; - string_map["IFCLABORRESOURCE" ] = Type::IfcLaborResource; - string_map["IFCLABORRESOURCETYPE" ] = Type::IfcLaborResourceType; - string_map["IFCLAGTIME" ] = Type::IfcLagTime; - string_map["IFCLAMP" ] = Type::IfcLamp; - string_map["IFCLAMPTYPE" ] = Type::IfcLampType; - string_map["IFCLIBRARYINFORMATION" ] = Type::IfcLibraryInformation; - string_map["IFCLIBRARYREFERENCE" ] = Type::IfcLibraryReference; - string_map["IFCLIGHTDISTRIBUTIONDATA" ] = Type::IfcLightDistributionData; - string_map["IFCLIGHTFIXTURE" ] = Type::IfcLightFixture; - string_map["IFCLIGHTFIXTURETYPE" ] = Type::IfcLightFixtureType; - string_map["IFCLIGHTINTENSITYDISTRIBUTION" ] = Type::IfcLightIntensityDistribution; - string_map["IFCLIGHTSOURCE" ] = Type::IfcLightSource; - string_map["IFCLIGHTSOURCEAMBIENT" ] = Type::IfcLightSourceAmbient; - string_map["IFCLIGHTSOURCEDIRECTIONAL" ] = Type::IfcLightSourceDirectional; - string_map["IFCLIGHTSOURCEGONIOMETRIC" ] = Type::IfcLightSourceGoniometric; - string_map["IFCLIGHTSOURCEPOSITIONAL" ] = Type::IfcLightSourcePositional; - string_map["IFCLIGHTSOURCESPOT" ] = Type::IfcLightSourceSpot; - string_map["IFCLINE" ] = Type::IfcLine; - string_map["IFCLOCALPLACEMENT" ] = Type::IfcLocalPlacement; - string_map["IFCLOOP" ] = Type::IfcLoop; - string_map["IFCMANIFOLDSOLIDBREP" ] = Type::IfcManifoldSolidBrep; - string_map["IFCMAPCONVERSION" ] = Type::IfcMapConversion; - string_map["IFCMAPPEDITEM" ] = Type::IfcMappedItem; - string_map["IFCMATERIAL" ] = Type::IfcMaterial; - string_map["IFCMATERIALCLASSIFICATIONRELATIONSHIP" ] = Type::IfcMaterialClassificationRelationship; - string_map["IFCMATERIALCONSTITUENT" ] = Type::IfcMaterialConstituent; - string_map["IFCMATERIALCONSTITUENTSET" ] = Type::IfcMaterialConstituentSet; - string_map["IFCMATERIALDEFINITION" ] = Type::IfcMaterialDefinition; - string_map["IFCMATERIALDEFINITIONREPRESENTATION" ] = Type::IfcMaterialDefinitionRepresentation; - string_map["IFCMATERIALLAYER" ] = Type::IfcMaterialLayer; - string_map["IFCMATERIALLAYERSET" ] = Type::IfcMaterialLayerSet; - string_map["IFCMATERIALLAYERSETUSAGE" ] = Type::IfcMaterialLayerSetUsage; - string_map["IFCMATERIALLAYERWITHOFFSETS" ] = Type::IfcMaterialLayerWithOffsets; - string_map["IFCMATERIALLIST" ] = Type::IfcMaterialList; - string_map["IFCMATERIALPROFILE" ] = Type::IfcMaterialProfile; - string_map["IFCMATERIALPROFILESET" ] = Type::IfcMaterialProfileSet; - string_map["IFCMATERIALPROFILESETUSAGE" ] = Type::IfcMaterialProfileSetUsage; - string_map["IFCMATERIALPROFILESETUSAGETAPERING" ] = Type::IfcMaterialProfileSetUsageTapering; - string_map["IFCMATERIALPROFILEWITHOFFSETS" ] = Type::IfcMaterialProfileWithOffsets; - string_map["IFCMATERIALPROPERTIES" ] = Type::IfcMaterialProperties; - string_map["IFCMATERIALRELATIONSHIP" ] = Type::IfcMaterialRelationship; - string_map["IFCMATERIALUSAGEDEFINITION" ] = Type::IfcMaterialUsageDefinition; - string_map["IFCMEASUREWITHUNIT" ] = Type::IfcMeasureWithUnit; - string_map["IFCMECHANICALFASTENER" ] = Type::IfcMechanicalFastener; - string_map["IFCMECHANICALFASTENERTYPE" ] = Type::IfcMechanicalFastenerType; - string_map["IFCMEDICALDEVICE" ] = Type::IfcMedicalDevice; - string_map["IFCMEDICALDEVICETYPE" ] = Type::IfcMedicalDeviceType; - string_map["IFCMEMBER" ] = Type::IfcMember; - string_map["IFCMEMBERSTANDARDCASE" ] = Type::IfcMemberStandardCase; - string_map["IFCMEMBERTYPE" ] = Type::IfcMemberType; - string_map["IFCMETRIC" ] = Type::IfcMetric; - string_map["IFCMIRROREDPROFILEDEF" ] = Type::IfcMirroredProfileDef; - string_map["IFCMONETARYUNIT" ] = Type::IfcMonetaryUnit; - string_map["IFCMOTORCONNECTION" ] = Type::IfcMotorConnection; - string_map["IFCMOTORCONNECTIONTYPE" ] = Type::IfcMotorConnectionType; - string_map["IFCNAMEDUNIT" ] = Type::IfcNamedUnit; - string_map["IFCOBJECT" ] = Type::IfcObject; - string_map["IFCOBJECTDEFINITION" ] = Type::IfcObjectDefinition; - string_map["IFCOBJECTPLACEMENT" ] = Type::IfcObjectPlacement; - string_map["IFCOBJECTIVE" ] = Type::IfcObjective; - string_map["IFCOCCUPANT" ] = Type::IfcOccupant; - string_map["IFCOFFSETCURVE2D" ] = Type::IfcOffsetCurve2D; - string_map["IFCOFFSETCURVE3D" ] = Type::IfcOffsetCurve3D; - string_map["IFCOPENSHELL" ] = Type::IfcOpenShell; - string_map["IFCOPENINGELEMENT" ] = Type::IfcOpeningElement; - string_map["IFCOPENINGSTANDARDCASE" ] = Type::IfcOpeningStandardCase; - string_map["IFCORGANIZATION" ] = Type::IfcOrganization; - string_map["IFCORGANIZATIONRELATIONSHIP" ] = Type::IfcOrganizationRelationship; - string_map["IFCORIENTEDEDGE" ] = Type::IfcOrientedEdge; - string_map["IFCOUTERBOUNDARYCURVE" ] = Type::IfcOuterBoundaryCurve; - string_map["IFCOUTLET" ] = Type::IfcOutlet; - string_map["IFCOUTLETTYPE" ] = Type::IfcOutletType; - string_map["IFCOWNERHISTORY" ] = Type::IfcOwnerHistory; - string_map["IFCPARAMETERIZEDPROFILEDEF" ] = Type::IfcParameterizedProfileDef; - string_map["IFCPATH" ] = Type::IfcPath; - string_map["IFCPCURVE" ] = Type::IfcPcurve; - string_map["IFCPERFORMANCEHISTORY" ] = Type::IfcPerformanceHistory; - string_map["IFCPERMEABLECOVERINGPROPERTIES" ] = Type::IfcPermeableCoveringProperties; - string_map["IFCPERMIT" ] = Type::IfcPermit; - string_map["IFCPERSON" ] = Type::IfcPerson; - string_map["IFCPERSONANDORGANIZATION" ] = Type::IfcPersonAndOrganization; - string_map["IFCPHYSICALCOMPLEXQUANTITY" ] = Type::IfcPhysicalComplexQuantity; - string_map["IFCPHYSICALQUANTITY" ] = Type::IfcPhysicalQuantity; - string_map["IFCPHYSICALSIMPLEQUANTITY" ] = Type::IfcPhysicalSimpleQuantity; - string_map["IFCPILE" ] = Type::IfcPile; - string_map["IFCPILETYPE" ] = Type::IfcPileType; - string_map["IFCPIPEFITTING" ] = Type::IfcPipeFitting; - string_map["IFCPIPEFITTINGTYPE" ] = Type::IfcPipeFittingType; - string_map["IFCPIPESEGMENT" ] = Type::IfcPipeSegment; - string_map["IFCPIPESEGMENTTYPE" ] = Type::IfcPipeSegmentType; - string_map["IFCPIXELTEXTURE" ] = Type::IfcPixelTexture; - string_map["IFCPLACEMENT" ] = Type::IfcPlacement; - string_map["IFCPLANARBOX" ] = Type::IfcPlanarBox; - string_map["IFCPLANAREXTENT" ] = Type::IfcPlanarExtent; - string_map["IFCPLANE" ] = Type::IfcPlane; - string_map["IFCPLATE" ] = Type::IfcPlate; - string_map["IFCPLATESTANDARDCASE" ] = Type::IfcPlateStandardCase; - string_map["IFCPLATETYPE" ] = Type::IfcPlateType; - string_map["IFCPOINT" ] = Type::IfcPoint; - string_map["IFCPOINTONCURVE" ] = Type::IfcPointOnCurve; - string_map["IFCPOINTONSURFACE" ] = Type::IfcPointOnSurface; - string_map["IFCPOLYLOOP" ] = Type::IfcPolyLoop; - string_map["IFCPOLYGONALBOUNDEDHALFSPACE" ] = Type::IfcPolygonalBoundedHalfSpace; - string_map["IFCPOLYLINE" ] = Type::IfcPolyline; - string_map["IFCPORT" ] = Type::IfcPort; - string_map["IFCPOSTALADDRESS" ] = Type::IfcPostalAddress; - string_map["IFCPREDEFINEDCOLOUR" ] = Type::IfcPreDefinedColour; - string_map["IFCPREDEFINEDCURVEFONT" ] = Type::IfcPreDefinedCurveFont; - string_map["IFCPREDEFINEDITEM" ] = Type::IfcPreDefinedItem; - string_map["IFCPREDEFINEDPROPERTIES" ] = Type::IfcPreDefinedProperties; - string_map["IFCPREDEFINEDPROPERTYSET" ] = Type::IfcPreDefinedPropertySet; - string_map["IFCPREDEFINEDTEXTFONT" ] = Type::IfcPreDefinedTextFont; - string_map["IFCPRESENTATIONITEM" ] = Type::IfcPresentationItem; - string_map["IFCPRESENTATIONLAYERASSIGNMENT" ] = Type::IfcPresentationLayerAssignment; - string_map["IFCPRESENTATIONLAYERWITHSTYLE" ] = Type::IfcPresentationLayerWithStyle; - string_map["IFCPRESENTATIONSTYLE" ] = Type::IfcPresentationStyle; - string_map["IFCPRESENTATIONSTYLEASSIGNMENT" ] = Type::IfcPresentationStyleAssignment; - string_map["IFCPROCEDURE" ] = Type::IfcProcedure; - string_map["IFCPROCEDURETYPE" ] = Type::IfcProcedureType; - string_map["IFCPROCESS" ] = Type::IfcProcess; - string_map["IFCPRODUCT" ] = Type::IfcProduct; - string_map["IFCPRODUCTDEFINITIONSHAPE" ] = Type::IfcProductDefinitionShape; - string_map["IFCPRODUCTREPRESENTATION" ] = Type::IfcProductRepresentation; - string_map["IFCPROFILEDEF" ] = Type::IfcProfileDef; - string_map["IFCPROFILEPROPERTIES" ] = Type::IfcProfileProperties; - string_map["IFCPROJECT" ] = Type::IfcProject; - string_map["IFCPROJECTLIBRARY" ] = Type::IfcProjectLibrary; - string_map["IFCPROJECTORDER" ] = Type::IfcProjectOrder; - string_map["IFCPROJECTEDCRS" ] = Type::IfcProjectedCRS; - string_map["IFCPROJECTIONELEMENT" ] = Type::IfcProjectionElement; - string_map["IFCPROPERTY" ] = Type::IfcProperty; - string_map["IFCPROPERTYABSTRACTION" ] = Type::IfcPropertyAbstraction; - string_map["IFCPROPERTYBOUNDEDVALUE" ] = Type::IfcPropertyBoundedValue; - string_map["IFCPROPERTYDEFINITION" ] = Type::IfcPropertyDefinition; - string_map["IFCPROPERTYDEPENDENCYRELATIONSHIP" ] = Type::IfcPropertyDependencyRelationship; - string_map["IFCPROPERTYENUMERATEDVALUE" ] = Type::IfcPropertyEnumeratedValue; - string_map["IFCPROPERTYENUMERATION" ] = Type::IfcPropertyEnumeration; - string_map["IFCPROPERTYLISTVALUE" ] = Type::IfcPropertyListValue; - string_map["IFCPROPERTYREFERENCEVALUE" ] = Type::IfcPropertyReferenceValue; - string_map["IFCPROPERTYSET" ] = Type::IfcPropertySet; - string_map["IFCPROPERTYSETDEFINITION" ] = Type::IfcPropertySetDefinition; - string_map["IFCPROPERTYSETTEMPLATE" ] = Type::IfcPropertySetTemplate; - string_map["IFCPROPERTYSINGLEVALUE" ] = Type::IfcPropertySingleValue; - string_map["IFCPROPERTYTABLEVALUE" ] = Type::IfcPropertyTableValue; - string_map["IFCPROPERTYTEMPLATE" ] = Type::IfcPropertyTemplate; - string_map["IFCPROPERTYTEMPLATEDEFINITION" ] = Type::IfcPropertyTemplateDefinition; - string_map["IFCPROTECTIVEDEVICE" ] = Type::IfcProtectiveDevice; - string_map["IFCPROTECTIVEDEVICETRIPPINGUNIT" ] = Type::IfcProtectiveDeviceTrippingUnit; - string_map["IFCPROTECTIVEDEVICETRIPPINGUNITTYPE" ] = Type::IfcProtectiveDeviceTrippingUnitType; - string_map["IFCPROTECTIVEDEVICETYPE" ] = Type::IfcProtectiveDeviceType; - string_map["IFCPROXY" ] = Type::IfcProxy; - string_map["IFCPUMP" ] = Type::IfcPump; - string_map["IFCPUMPTYPE" ] = Type::IfcPumpType; - string_map["IFCQUANTITYAREA" ] = Type::IfcQuantityArea; - string_map["IFCQUANTITYCOUNT" ] = Type::IfcQuantityCount; - string_map["IFCQUANTITYLENGTH" ] = Type::IfcQuantityLength; - string_map["IFCQUANTITYSET" ] = Type::IfcQuantitySet; - string_map["IFCQUANTITYTIME" ] = Type::IfcQuantityTime; - string_map["IFCQUANTITYVOLUME" ] = Type::IfcQuantityVolume; - string_map["IFCQUANTITYWEIGHT" ] = Type::IfcQuantityWeight; - string_map["IFCRAILING" ] = Type::IfcRailing; - string_map["IFCRAILINGTYPE" ] = Type::IfcRailingType; - string_map["IFCRAMP" ] = Type::IfcRamp; - string_map["IFCRAMPFLIGHT" ] = Type::IfcRampFlight; - string_map["IFCRAMPFLIGHTTYPE" ] = Type::IfcRampFlightType; - string_map["IFCRAMPTYPE" ] = Type::IfcRampType; - string_map["IFCRATIONALBSPLINECURVEWITHKNOTS" ] = Type::IfcRationalBSplineCurveWithKnots; - string_map["IFCRATIONALBSPLINESURFACEWITHKNOTS" ] = Type::IfcRationalBSplineSurfaceWithKnots; - string_map["IFCRECTANGLEHOLLOWPROFILEDEF" ] = Type::IfcRectangleHollowProfileDef; - string_map["IFCRECTANGLEPROFILEDEF" ] = Type::IfcRectangleProfileDef; - string_map["IFCRECTANGULARPYRAMID" ] = Type::IfcRectangularPyramid; - string_map["IFCRECTANGULARTRIMMEDSURFACE" ] = Type::IfcRectangularTrimmedSurface; - string_map["IFCRECURRENCEPATTERN" ] = Type::IfcRecurrencePattern; - string_map["IFCREFERENCE" ] = Type::IfcReference; - string_map["IFCREGULARTIMESERIES" ] = Type::IfcRegularTimeSeries; - string_map["IFCREINFORCEMENTBARPROPERTIES" ] = Type::IfcReinforcementBarProperties; - string_map["IFCREINFORCEMENTDEFINITIONPROPERTIES" ] = Type::IfcReinforcementDefinitionProperties; - string_map["IFCREINFORCINGBAR" ] = Type::IfcReinforcingBar; - string_map["IFCREINFORCINGBARTYPE" ] = Type::IfcReinforcingBarType; - string_map["IFCREINFORCINGELEMENT" ] = Type::IfcReinforcingElement; - string_map["IFCREINFORCINGELEMENTTYPE" ] = Type::IfcReinforcingElementType; - string_map["IFCREINFORCINGMESH" ] = Type::IfcReinforcingMesh; - string_map["IFCREINFORCINGMESHTYPE" ] = Type::IfcReinforcingMeshType; - string_map["IFCRELAGGREGATES" ] = Type::IfcRelAggregates; - string_map["IFCRELASSIGNS" ] = Type::IfcRelAssigns; - string_map["IFCRELASSIGNSTOACTOR" ] = Type::IfcRelAssignsToActor; - string_map["IFCRELASSIGNSTOCONTROL" ] = Type::IfcRelAssignsToControl; - string_map["IFCRELASSIGNSTOGROUP" ] = Type::IfcRelAssignsToGroup; - string_map["IFCRELASSIGNSTOGROUPBYFACTOR" ] = Type::IfcRelAssignsToGroupByFactor; - string_map["IFCRELASSIGNSTOPROCESS" ] = Type::IfcRelAssignsToProcess; - string_map["IFCRELASSIGNSTOPRODUCT" ] = Type::IfcRelAssignsToProduct; - string_map["IFCRELASSIGNSTORESOURCE" ] = Type::IfcRelAssignsToResource; - string_map["IFCRELASSOCIATES" ] = Type::IfcRelAssociates; - string_map["IFCRELASSOCIATESAPPROVAL" ] = Type::IfcRelAssociatesApproval; - string_map["IFCRELASSOCIATESCLASSIFICATION" ] = Type::IfcRelAssociatesClassification; - string_map["IFCRELASSOCIATESCONSTRAINT" ] = Type::IfcRelAssociatesConstraint; - string_map["IFCRELASSOCIATESDOCUMENT" ] = Type::IfcRelAssociatesDocument; - string_map["IFCRELASSOCIATESLIBRARY" ] = Type::IfcRelAssociatesLibrary; - string_map["IFCRELASSOCIATESMATERIAL" ] = Type::IfcRelAssociatesMaterial; - string_map["IFCRELCONNECTS" ] = Type::IfcRelConnects; - string_map["IFCRELCONNECTSELEMENTS" ] = Type::IfcRelConnectsElements; - string_map["IFCRELCONNECTSPATHELEMENTS" ] = Type::IfcRelConnectsPathElements; - string_map["IFCRELCONNECTSPORTTOELEMENT" ] = Type::IfcRelConnectsPortToElement; - string_map["IFCRELCONNECTSPORTS" ] = Type::IfcRelConnectsPorts; - string_map["IFCRELCONNECTSSTRUCTURALACTIVITY" ] = Type::IfcRelConnectsStructuralActivity; - string_map["IFCRELCONNECTSSTRUCTURALMEMBER" ] = Type::IfcRelConnectsStructuralMember; - string_map["IFCRELCONNECTSWITHECCENTRICITY" ] = Type::IfcRelConnectsWithEccentricity; - string_map["IFCRELCONNECTSWITHREALIZINGELEMENTS" ] = Type::IfcRelConnectsWithRealizingElements; - string_map["IFCRELCONTAINEDINSPATIALSTRUCTURE" ] = Type::IfcRelContainedInSpatialStructure; - string_map["IFCRELCOVERSBLDGELEMENTS" ] = Type::IfcRelCoversBldgElements; - string_map["IFCRELCOVERSSPACES" ] = Type::IfcRelCoversSpaces; - string_map["IFCRELDECLARES" ] = Type::IfcRelDeclares; - string_map["IFCRELDECOMPOSES" ] = Type::IfcRelDecomposes; - string_map["IFCRELDEFINES" ] = Type::IfcRelDefines; - string_map["IFCRELDEFINESBYOBJECT" ] = Type::IfcRelDefinesByObject; - string_map["IFCRELDEFINESBYPROPERTIES" ] = Type::IfcRelDefinesByProperties; - string_map["IFCRELDEFINESBYTEMPLATE" ] = Type::IfcRelDefinesByTemplate; - string_map["IFCRELDEFINESBYTYPE" ] = Type::IfcRelDefinesByType; - string_map["IFCRELFILLSELEMENT" ] = Type::IfcRelFillsElement; - string_map["IFCRELFLOWCONTROLELEMENTS" ] = Type::IfcRelFlowControlElements; - string_map["IFCRELINTERFERESELEMENTS" ] = Type::IfcRelInterferesElements; - string_map["IFCRELNESTS" ] = Type::IfcRelNests; - string_map["IFCRELPROJECTSELEMENT" ] = Type::IfcRelProjectsElement; - string_map["IFCRELREFERENCEDINSPATIALSTRUCTURE" ] = Type::IfcRelReferencedInSpatialStructure; - string_map["IFCRELSEQUENCE" ] = Type::IfcRelSequence; - string_map["IFCRELSERVICESBUILDINGS" ] = Type::IfcRelServicesBuildings; - string_map["IFCRELSPACEBOUNDARY" ] = Type::IfcRelSpaceBoundary; - string_map["IFCRELSPACEBOUNDARY1STLEVEL" ] = Type::IfcRelSpaceBoundary1stLevel; - string_map["IFCRELSPACEBOUNDARY2NDLEVEL" ] = Type::IfcRelSpaceBoundary2ndLevel; - string_map["IFCRELVOIDSELEMENT" ] = Type::IfcRelVoidsElement; - string_map["IFCRELATIONSHIP" ] = Type::IfcRelationship; - string_map["IFCREPARAMETRISEDCOMPOSITECURVESEGMENT" ] = Type::IfcReparametrisedCompositeCurveSegment; - string_map["IFCREPRESENTATION" ] = Type::IfcRepresentation; - string_map["IFCREPRESENTATIONCONTEXT" ] = Type::IfcRepresentationContext; - string_map["IFCREPRESENTATIONITEM" ] = Type::IfcRepresentationItem; - string_map["IFCREPRESENTATIONMAP" ] = Type::IfcRepresentationMap; - string_map["IFCRESOURCE" ] = Type::IfcResource; - string_map["IFCRESOURCEAPPROVALRELATIONSHIP" ] = Type::IfcResourceApprovalRelationship; - string_map["IFCRESOURCECONSTRAINTRELATIONSHIP" ] = Type::IfcResourceConstraintRelationship; - string_map["IFCRESOURCELEVELRELATIONSHIP" ] = Type::IfcResourceLevelRelationship; - string_map["IFCRESOURCETIME" ] = Type::IfcResourceTime; - string_map["IFCREVOLVEDAREASOLID" ] = Type::IfcRevolvedAreaSolid; - string_map["IFCREVOLVEDAREASOLIDTAPERED" ] = Type::IfcRevolvedAreaSolidTapered; - string_map["IFCRIGHTCIRCULARCONE" ] = Type::IfcRightCircularCone; - string_map["IFCRIGHTCIRCULARCYLINDER" ] = Type::IfcRightCircularCylinder; - string_map["IFCROOF" ] = Type::IfcRoof; - string_map["IFCROOFTYPE" ] = Type::IfcRoofType; - string_map["IFCROOT" ] = Type::IfcRoot; - string_map["IFCROUNDEDRECTANGLEPROFILEDEF" ] = Type::IfcRoundedRectangleProfileDef; - string_map["IFCSIUNIT" ] = Type::IfcSIUnit; - string_map["IFCSANITARYTERMINAL" ] = Type::IfcSanitaryTerminal; - string_map["IFCSANITARYTERMINALTYPE" ] = Type::IfcSanitaryTerminalType; - string_map["IFCSCHEDULINGTIME" ] = Type::IfcSchedulingTime; - string_map["IFCSECTIONPROPERTIES" ] = Type::IfcSectionProperties; - string_map["IFCSECTIONREINFORCEMENTPROPERTIES" ] = Type::IfcSectionReinforcementProperties; - string_map["IFCSECTIONEDSPINE" ] = Type::IfcSectionedSpine; - string_map["IFCSENSOR" ] = Type::IfcSensor; - string_map["IFCSENSORTYPE" ] = Type::IfcSensorType; - string_map["IFCSHADINGDEVICE" ] = Type::IfcShadingDevice; - string_map["IFCSHADINGDEVICETYPE" ] = Type::IfcShadingDeviceType; - string_map["IFCSHAPEASPECT" ] = Type::IfcShapeAspect; - string_map["IFCSHAPEMODEL" ] = Type::IfcShapeModel; - string_map["IFCSHAPEREPRESENTATION" ] = Type::IfcShapeRepresentation; - string_map["IFCSHELLBASEDSURFACEMODEL" ] = Type::IfcShellBasedSurfaceModel; - string_map["IFCSIMPLEPROPERTY" ] = Type::IfcSimpleProperty; - string_map["IFCSIMPLEPROPERTYTEMPLATE" ] = Type::IfcSimplePropertyTemplate; - string_map["IFCSITE" ] = Type::IfcSite; - string_map["IFCSLAB" ] = Type::IfcSlab; - string_map["IFCSLABELEMENTEDCASE" ] = Type::IfcSlabElementedCase; - string_map["IFCSLABSTANDARDCASE" ] = Type::IfcSlabStandardCase; - string_map["IFCSLABTYPE" ] = Type::IfcSlabType; - string_map["IFCSLIPPAGECONNECTIONCONDITION" ] = Type::IfcSlippageConnectionCondition; - string_map["IFCSOLARDEVICE" ] = Type::IfcSolarDevice; - string_map["IFCSOLARDEVICETYPE" ] = Type::IfcSolarDeviceType; - string_map["IFCSOLIDMODEL" ] = Type::IfcSolidModel; - string_map["IFCSPACE" ] = Type::IfcSpace; - string_map["IFCSPACEHEATER" ] = Type::IfcSpaceHeater; - string_map["IFCSPACEHEATERTYPE" ] = Type::IfcSpaceHeaterType; - string_map["IFCSPACETYPE" ] = Type::IfcSpaceType; - string_map["IFCSPATIALELEMENT" ] = Type::IfcSpatialElement; - string_map["IFCSPATIALELEMENTTYPE" ] = Type::IfcSpatialElementType; - string_map["IFCSPATIALSTRUCTUREELEMENT" ] = Type::IfcSpatialStructureElement; - string_map["IFCSPATIALSTRUCTUREELEMENTTYPE" ] = Type::IfcSpatialStructureElementType; - string_map["IFCSPATIALZONE" ] = Type::IfcSpatialZone; - string_map["IFCSPATIALZONETYPE" ] = Type::IfcSpatialZoneType; - string_map["IFCSPHERE" ] = Type::IfcSphere; - string_map["IFCSTACKTERMINAL" ] = Type::IfcStackTerminal; - string_map["IFCSTACKTERMINALTYPE" ] = Type::IfcStackTerminalType; - string_map["IFCSTAIR" ] = Type::IfcStair; - string_map["IFCSTAIRFLIGHT" ] = Type::IfcStairFlight; - string_map["IFCSTAIRFLIGHTTYPE" ] = Type::IfcStairFlightType; - string_map["IFCSTAIRTYPE" ] = Type::IfcStairType; - string_map["IFCSTRUCTURALACTION" ] = Type::IfcStructuralAction; - string_map["IFCSTRUCTURALACTIVITY" ] = Type::IfcStructuralActivity; - string_map["IFCSTRUCTURALANALYSISMODEL" ] = Type::IfcStructuralAnalysisModel; - string_map["IFCSTRUCTURALCONNECTION" ] = Type::IfcStructuralConnection; - string_map["IFCSTRUCTURALCONNECTIONCONDITION" ] = Type::IfcStructuralConnectionCondition; - string_map["IFCSTRUCTURALCURVEACTION" ] = Type::IfcStructuralCurveAction; - string_map["IFCSTRUCTURALCURVECONNECTION" ] = Type::IfcStructuralCurveConnection; - string_map["IFCSTRUCTURALCURVEMEMBER" ] = Type::IfcStructuralCurveMember; - string_map["IFCSTRUCTURALCURVEMEMBERVARYING" ] = Type::IfcStructuralCurveMemberVarying; - string_map["IFCSTRUCTURALCURVEREACTION" ] = Type::IfcStructuralCurveReaction; - string_map["IFCSTRUCTURALITEM" ] = Type::IfcStructuralItem; - string_map["IFCSTRUCTURALLINEARACTION" ] = Type::IfcStructuralLinearAction; - string_map["IFCSTRUCTURALLOAD" ] = Type::IfcStructuralLoad; - string_map["IFCSTRUCTURALLOADCASE" ] = Type::IfcStructuralLoadCase; - string_map["IFCSTRUCTURALLOADCONFIGURATION" ] = Type::IfcStructuralLoadConfiguration; - string_map["IFCSTRUCTURALLOADGROUP" ] = Type::IfcStructuralLoadGroup; - string_map["IFCSTRUCTURALLOADLINEARFORCE" ] = Type::IfcStructuralLoadLinearForce; - string_map["IFCSTRUCTURALLOADORRESULT" ] = Type::IfcStructuralLoadOrResult; - string_map["IFCSTRUCTURALLOADPLANARFORCE" ] = Type::IfcStructuralLoadPlanarForce; - string_map["IFCSTRUCTURALLOADSINGLEDISPLACEMENT" ] = Type::IfcStructuralLoadSingleDisplacement; - string_map["IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" ] = Type::IfcStructuralLoadSingleDisplacementDistortion; - string_map["IFCSTRUCTURALLOADSINGLEFORCE" ] = Type::IfcStructuralLoadSingleForce; - string_map["IFCSTRUCTURALLOADSINGLEFORCEWARPING" ] = Type::IfcStructuralLoadSingleForceWarping; - string_map["IFCSTRUCTURALLOADSTATIC" ] = Type::IfcStructuralLoadStatic; - string_map["IFCSTRUCTURALLOADTEMPERATURE" ] = Type::IfcStructuralLoadTemperature; - string_map["IFCSTRUCTURALMEMBER" ] = Type::IfcStructuralMember; - string_map["IFCSTRUCTURALPLANARACTION" ] = Type::IfcStructuralPlanarAction; - string_map["IFCSTRUCTURALPOINTACTION" ] = Type::IfcStructuralPointAction; - string_map["IFCSTRUCTURALPOINTCONNECTION" ] = Type::IfcStructuralPointConnection; - string_map["IFCSTRUCTURALPOINTREACTION" ] = Type::IfcStructuralPointReaction; - string_map["IFCSTRUCTURALREACTION" ] = Type::IfcStructuralReaction; - string_map["IFCSTRUCTURALRESULTGROUP" ] = Type::IfcStructuralResultGroup; - string_map["IFCSTRUCTURALSURFACEACTION" ] = Type::IfcStructuralSurfaceAction; - string_map["IFCSTRUCTURALSURFACECONNECTION" ] = Type::IfcStructuralSurfaceConnection; - string_map["IFCSTRUCTURALSURFACEMEMBER" ] = Type::IfcStructuralSurfaceMember; - string_map["IFCSTRUCTURALSURFACEMEMBERVARYING" ] = Type::IfcStructuralSurfaceMemberVarying; - string_map["IFCSTRUCTURALSURFACEREACTION" ] = Type::IfcStructuralSurfaceReaction; - string_map["IFCSTYLEMODEL" ] = Type::IfcStyleModel; - string_map["IFCSTYLEDITEM" ] = Type::IfcStyledItem; - string_map["IFCSTYLEDREPRESENTATION" ] = Type::IfcStyledRepresentation; - string_map["IFCSUBCONTRACTRESOURCE" ] = Type::IfcSubContractResource; - string_map["IFCSUBCONTRACTRESOURCETYPE" ] = Type::IfcSubContractResourceType; - string_map["IFCSUBEDGE" ] = Type::IfcSubedge; - string_map["IFCSURFACE" ] = Type::IfcSurface; - string_map["IFCSURFACECURVESWEPTAREASOLID" ] = Type::IfcSurfaceCurveSweptAreaSolid; - string_map["IFCSURFACEFEATURE" ] = Type::IfcSurfaceFeature; - string_map["IFCSURFACEOFLINEAREXTRUSION" ] = Type::IfcSurfaceOfLinearExtrusion; - string_map["IFCSURFACEOFREVOLUTION" ] = Type::IfcSurfaceOfRevolution; - string_map["IFCSURFACEREINFORCEMENTAREA" ] = Type::IfcSurfaceReinforcementArea; - string_map["IFCSURFACESTYLE" ] = Type::IfcSurfaceStyle; - string_map["IFCSURFACESTYLELIGHTING" ] = Type::IfcSurfaceStyleLighting; - string_map["IFCSURFACESTYLEREFRACTION" ] = Type::IfcSurfaceStyleRefraction; - string_map["IFCSURFACESTYLERENDERING" ] = Type::IfcSurfaceStyleRendering; - string_map["IFCSURFACESTYLESHADING" ] = Type::IfcSurfaceStyleShading; - string_map["IFCSURFACESTYLEWITHTEXTURES" ] = Type::IfcSurfaceStyleWithTextures; - string_map["IFCSURFACETEXTURE" ] = Type::IfcSurfaceTexture; - string_map["IFCSWEPTAREASOLID" ] = Type::IfcSweptAreaSolid; - string_map["IFCSWEPTDISKSOLID" ] = Type::IfcSweptDiskSolid; - string_map["IFCSWEPTDISKSOLIDPOLYGONAL" ] = Type::IfcSweptDiskSolidPolygonal; - string_map["IFCSWEPTSURFACE" ] = Type::IfcSweptSurface; - string_map["IFCSWITCHINGDEVICE" ] = Type::IfcSwitchingDevice; - string_map["IFCSWITCHINGDEVICETYPE" ] = Type::IfcSwitchingDeviceType; - string_map["IFCSYSTEM" ] = Type::IfcSystem; - string_map["IFCSYSTEMFURNITUREELEMENT" ] = Type::IfcSystemFurnitureElement; - string_map["IFCSYSTEMFURNITUREELEMENTTYPE" ] = Type::IfcSystemFurnitureElementType; - string_map["IFCTSHAPEPROFILEDEF" ] = Type::IfcTShapeProfileDef; - string_map["IFCTABLE" ] = Type::IfcTable; - string_map["IFCTABLECOLUMN" ] = Type::IfcTableColumn; - string_map["IFCTABLEROW" ] = Type::IfcTableRow; - string_map["IFCTANK" ] = Type::IfcTank; - string_map["IFCTANKTYPE" ] = Type::IfcTankType; - string_map["IFCTASK" ] = Type::IfcTask; - string_map["IFCTASKTIME" ] = Type::IfcTaskTime; - string_map["IFCTASKTIMERECURRING" ] = Type::IfcTaskTimeRecurring; - string_map["IFCTASKTYPE" ] = Type::IfcTaskType; - string_map["IFCTELECOMADDRESS" ] = Type::IfcTelecomAddress; - string_map["IFCTENDON" ] = Type::IfcTendon; - string_map["IFCTENDONANCHOR" ] = Type::IfcTendonAnchor; - string_map["IFCTENDONANCHORTYPE" ] = Type::IfcTendonAnchorType; - string_map["IFCTENDONTYPE" ] = Type::IfcTendonType; - string_map["IFCTESSELLATEDFACESET" ] = Type::IfcTessellatedFaceSet; - string_map["IFCTESSELLATEDITEM" ] = Type::IfcTessellatedItem; - string_map["IFCTEXTLITERAL" ] = Type::IfcTextLiteral; - string_map["IFCTEXTLITERALWITHEXTENT" ] = Type::IfcTextLiteralWithExtent; - string_map["IFCTEXTSTYLE" ] = Type::IfcTextStyle; - string_map["IFCTEXTSTYLEFONTMODEL" ] = Type::IfcTextStyleFontModel; - string_map["IFCTEXTSTYLEFORDEFINEDFONT" ] = Type::IfcTextStyleForDefinedFont; - string_map["IFCTEXTSTYLETEXTMODEL" ] = Type::IfcTextStyleTextModel; - string_map["IFCTEXTURECOORDINATE" ] = Type::IfcTextureCoordinate; - string_map["IFCTEXTURECOORDINATEGENERATOR" ] = Type::IfcTextureCoordinateGenerator; - string_map["IFCTEXTUREMAP" ] = Type::IfcTextureMap; - string_map["IFCTEXTUREVERTEX" ] = Type::IfcTextureVertex; - string_map["IFCTEXTUREVERTEXLIST" ] = Type::IfcTextureVertexList; - string_map["IFCTIMEPERIOD" ] = Type::IfcTimePeriod; - string_map["IFCTIMESERIES" ] = Type::IfcTimeSeries; - string_map["IFCTIMESERIESVALUE" ] = Type::IfcTimeSeriesValue; - string_map["IFCTOPOLOGICALREPRESENTATIONITEM" ] = Type::IfcTopologicalRepresentationItem; - string_map["IFCTOPOLOGYREPRESENTATION" ] = Type::IfcTopologyRepresentation; - string_map["IFCTRANSFORMER" ] = Type::IfcTransformer; - string_map["IFCTRANSFORMERTYPE" ] = Type::IfcTransformerType; - string_map["IFCTRANSPORTELEMENT" ] = Type::IfcTransportElement; - string_map["IFCTRANSPORTELEMENTTYPE" ] = Type::IfcTransportElementType; - string_map["IFCTRAPEZIUMPROFILEDEF" ] = Type::IfcTrapeziumProfileDef; - string_map["IFCTRIANGULATEDFACESET" ] = Type::IfcTriangulatedFaceSet; - string_map["IFCTRIMMEDCURVE" ] = Type::IfcTrimmedCurve; - string_map["IFCTUBEBUNDLE" ] = Type::IfcTubeBundle; - string_map["IFCTUBEBUNDLETYPE" ] = Type::IfcTubeBundleType; - string_map["IFCTYPEOBJECT" ] = Type::IfcTypeObject; - string_map["IFCTYPEPROCESS" ] = Type::IfcTypeProcess; - string_map["IFCTYPEPRODUCT" ] = Type::IfcTypeProduct; - string_map["IFCTYPERESOURCE" ] = Type::IfcTypeResource; - string_map["IFCUSHAPEPROFILEDEF" ] = Type::IfcUShapeProfileDef; - string_map["IFCUNITASSIGNMENT" ] = Type::IfcUnitAssignment; - string_map["IFCUNITARYCONTROLELEMENT" ] = Type::IfcUnitaryControlElement; - string_map["IFCUNITARYCONTROLELEMENTTYPE" ] = Type::IfcUnitaryControlElementType; - string_map["IFCUNITARYEQUIPMENT" ] = Type::IfcUnitaryEquipment; - string_map["IFCUNITARYEQUIPMENTTYPE" ] = Type::IfcUnitaryEquipmentType; - string_map["IFCVALVE" ] = Type::IfcValve; - string_map["IFCVALVETYPE" ] = Type::IfcValveType; - string_map["IFCVECTOR" ] = Type::IfcVector; - string_map["IFCVERTEX" ] = Type::IfcVertex; - string_map["IFCVERTEXLOOP" ] = Type::IfcVertexLoop; - string_map["IFCVERTEXPOINT" ] = Type::IfcVertexPoint; - string_map["IFCVIBRATIONISOLATOR" ] = Type::IfcVibrationIsolator; - string_map["IFCVIBRATIONISOLATORTYPE" ] = Type::IfcVibrationIsolatorType; - string_map["IFCVIRTUALELEMENT" ] = Type::IfcVirtualElement; - string_map["IFCVIRTUALGRIDINTERSECTION" ] = Type::IfcVirtualGridIntersection; - string_map["IFCVOIDINGFEATURE" ] = Type::IfcVoidingFeature; - string_map["IFCWALL" ] = Type::IfcWall; - string_map["IFCWALLELEMENTEDCASE" ] = Type::IfcWallElementedCase; - string_map["IFCWALLSTANDARDCASE" ] = Type::IfcWallStandardCase; - string_map["IFCWALLTYPE" ] = Type::IfcWallType; - string_map["IFCWASTETERMINAL" ] = Type::IfcWasteTerminal; - string_map["IFCWASTETERMINALTYPE" ] = Type::IfcWasteTerminalType; - string_map["IFCWINDOW" ] = Type::IfcWindow; - string_map["IFCWINDOWLININGPROPERTIES" ] = Type::IfcWindowLiningProperties; - string_map["IFCWINDOWPANELPROPERTIES" ] = Type::IfcWindowPanelProperties; - string_map["IFCWINDOWSTANDARDCASE" ] = Type::IfcWindowStandardCase; - string_map["IFCWINDOWSTYLE" ] = Type::IfcWindowStyle; - string_map["IFCWINDOWTYPE" ] = Type::IfcWindowType; - string_map["IFCWORKCALENDAR" ] = Type::IfcWorkCalendar; - string_map["IFCWORKCONTROL" ] = Type::IfcWorkControl; - string_map["IFCWORKPLAN" ] = Type::IfcWorkPlan; - string_map["IFCWORKSCHEDULE" ] = Type::IfcWorkSchedule; - string_map["IFCWORKTIME" ] = Type::IfcWorkTime; - string_map["IFCZSHAPEPROFILEDEF" ] = Type::IfcZShapeProfileDef; - string_map["IFCZONE" ] = Type::IfcZone; + string_map["IFCABSORBEDDOSEMEASURE" ] = Type::IfcAbsorbedDoseMeasure; + string_map["IFCACCELERATIONMEASURE" ] = Type::IfcAccelerationMeasure; + string_map["IFCACTIONREQUEST" ] = Type::IfcActionRequest; + string_map["IFCACTIONREQUESTTYPEENUM" ] = Type::IfcActionRequestTypeEnum; + string_map["IFCACTIONSOURCETYPEENUM" ] = Type::IfcActionSourceTypeEnum; + string_map["IFCACTIONTYPEENUM" ] = Type::IfcActionTypeEnum; + string_map["IFCACTOR" ] = Type::IfcActor; + string_map["IFCACTORROLE" ] = Type::IfcActorRole; + string_map["IFCACTORSELECT" ] = Type::IfcActorSelect; + string_map["IFCACTUATOR" ] = Type::IfcActuator; + string_map["IFCACTUATORTYPE" ] = Type::IfcActuatorType; + string_map["IFCACTUATORTYPEENUM" ] = Type::IfcActuatorTypeEnum; + string_map["IFCADDRESS" ] = Type::IfcAddress; + string_map["IFCADDRESSTYPEENUM" ] = Type::IfcAddressTypeEnum; + string_map["IFCADVANCEDBREP" ] = Type::IfcAdvancedBrep; + string_map["IFCADVANCEDBREPWITHVOIDS" ] = Type::IfcAdvancedBrepWithVoids; + string_map["IFCADVANCEDFACE" ] = Type::IfcAdvancedFace; + string_map["IFCAIRTERMINAL" ] = Type::IfcAirTerminal; + string_map["IFCAIRTERMINALBOX" ] = Type::IfcAirTerminalBox; + string_map["IFCAIRTERMINALBOXTYPE" ] = Type::IfcAirTerminalBoxType; + string_map["IFCAIRTERMINALBOXTYPEENUM" ] = Type::IfcAirTerminalBoxTypeEnum; + string_map["IFCAIRTERMINALTYPE" ] = Type::IfcAirTerminalType; + string_map["IFCAIRTERMINALTYPEENUM" ] = Type::IfcAirTerminalTypeEnum; + string_map["IFCAIRTOAIRHEATRECOVERY" ] = Type::IfcAirToAirHeatRecovery; + string_map["IFCAIRTOAIRHEATRECOVERYTYPE" ] = Type::IfcAirToAirHeatRecoveryType; + string_map["IFCAIRTOAIRHEATRECOVERYTYPEENUM" ] = Type::IfcAirToAirHeatRecoveryTypeEnum; + string_map["IFCALARM" ] = Type::IfcAlarm; + string_map["IFCALARMTYPE" ] = Type::IfcAlarmType; + string_map["IFCALARMTYPEENUM" ] = Type::IfcAlarmTypeEnum; + string_map["IFCAMOUNTOFSUBSTANCEMEASURE" ] = Type::IfcAmountOfSubstanceMeasure; + string_map["IFCANALYSISMODELTYPEENUM" ] = Type::IfcAnalysisModelTypeEnum; + string_map["IFCANALYSISTHEORYTYPEENUM" ] = Type::IfcAnalysisTheoryTypeEnum; + string_map["IFCANGULARVELOCITYMEASURE" ] = Type::IfcAngularVelocityMeasure; + string_map["IFCANNOTATION" ] = Type::IfcAnnotation; + string_map["IFCANNOTATIONFILLAREA" ] = Type::IfcAnnotationFillArea; + string_map["IFCAPPLICATION" ] = Type::IfcApplication; + string_map["IFCAPPLIEDVALUE" ] = Type::IfcAppliedValue; + string_map["IFCAPPLIEDVALUESELECT" ] = Type::IfcAppliedValueSelect; + string_map["IFCAPPROVAL" ] = Type::IfcApproval; + string_map["IFCAPPROVALRELATIONSHIP" ] = Type::IfcApprovalRelationship; + string_map["IFCARBITRARYCLOSEDPROFILEDEF" ] = Type::IfcArbitraryClosedProfileDef; + string_map["IFCARBITRARYOPENPROFILEDEF" ] = Type::IfcArbitraryOpenProfileDef; + string_map["IFCARBITRARYPROFILEDEFWITHVOIDS" ] = Type::IfcArbitraryProfileDefWithVoids; + string_map["IFCAREADENSITYMEASURE" ] = Type::IfcAreaDensityMeasure; + string_map["IFCAREAMEASURE" ] = Type::IfcAreaMeasure; + string_map["IFCARITHMETICOPERATORENUM" ] = Type::IfcArithmeticOperatorEnum; + string_map["IFCASSEMBLYPLACEENUM" ] = Type::IfcAssemblyPlaceEnum; + string_map["IFCASSET" ] = Type::IfcAsset; + string_map["IFCASYMMETRICISHAPEPROFILEDEF" ] = Type::IfcAsymmetricIShapeProfileDef; + string_map["IFCAUDIOVISUALAPPLIANCE" ] = Type::IfcAudioVisualAppliance; + string_map["IFCAUDIOVISUALAPPLIANCETYPE" ] = Type::IfcAudioVisualApplianceType; + string_map["IFCAUDIOVISUALAPPLIANCETYPEENUM" ] = Type::IfcAudioVisualApplianceTypeEnum; + string_map["IFCAXIS1PLACEMENT" ] = Type::IfcAxis1Placement; + string_map["IFCAXIS2PLACEMENT" ] = Type::IfcAxis2Placement; + string_map["IFCAXIS2PLACEMENT2D" ] = Type::IfcAxis2Placement2D; + string_map["IFCAXIS2PLACEMENT3D" ] = Type::IfcAxis2Placement3D; + string_map["IFCBSPLINECURVE" ] = Type::IfcBSplineCurve; + string_map["IFCBSPLINECURVEFORM" ] = Type::IfcBSplineCurveForm; + string_map["IFCBSPLINECURVEWITHKNOTS" ] = Type::IfcBSplineCurveWithKnots; + string_map["IFCBSPLINESURFACE" ] = Type::IfcBSplineSurface; + string_map["IFCBSPLINESURFACEFORM" ] = Type::IfcBSplineSurfaceForm; + string_map["IFCBSPLINESURFACEWITHKNOTS" ] = Type::IfcBSplineSurfaceWithKnots; + string_map["IFCBEAM" ] = Type::IfcBeam; + string_map["IFCBEAMSTANDARDCASE" ] = Type::IfcBeamStandardCase; + string_map["IFCBEAMTYPE" ] = Type::IfcBeamType; + string_map["IFCBEAMTYPEENUM" ] = Type::IfcBeamTypeEnum; + string_map["IFCBENCHMARKENUM" ] = Type::IfcBenchmarkEnum; + string_map["IFCBENDINGPARAMETERSELECT" ] = Type::IfcBendingParameterSelect; + string_map["IFCBLOBTEXTURE" ] = Type::IfcBlobTexture; + string_map["IFCBLOCK" ] = Type::IfcBlock; + string_map["IFCBOILER" ] = Type::IfcBoiler; + string_map["IFCBOILERTYPE" ] = Type::IfcBoilerType; + string_map["IFCBOILERTYPEENUM" ] = Type::IfcBoilerTypeEnum; + string_map["IFCBOOLEAN" ] = Type::IfcBoolean; + string_map["IFCBOOLEANCLIPPINGRESULT" ] = Type::IfcBooleanClippingResult; + string_map["IFCBOOLEANOPERAND" ] = Type::IfcBooleanOperand; + string_map["IFCBOOLEANOPERATOR" ] = Type::IfcBooleanOperator; + string_map["IFCBOOLEANRESULT" ] = Type::IfcBooleanResult; + string_map["IFCBOUNDARYCONDITION" ] = Type::IfcBoundaryCondition; + string_map["IFCBOUNDARYCURVE" ] = Type::IfcBoundaryCurve; + string_map["IFCBOUNDARYEDGECONDITION" ] = Type::IfcBoundaryEdgeCondition; + string_map["IFCBOUNDARYFACECONDITION" ] = Type::IfcBoundaryFaceCondition; + string_map["IFCBOUNDARYNODECONDITION" ] = Type::IfcBoundaryNodeCondition; + string_map["IFCBOUNDARYNODECONDITIONWARPING" ] = Type::IfcBoundaryNodeConditionWarping; + string_map["IFCBOUNDEDCURVE" ] = Type::IfcBoundedCurve; + string_map["IFCBOUNDEDSURFACE" ] = Type::IfcBoundedSurface; + string_map["IFCBOUNDINGBOX" ] = Type::IfcBoundingBox; + string_map["IFCBOXALIGNMENT" ] = Type::IfcBoxAlignment; + string_map["IFCBOXEDHALFSPACE" ] = Type::IfcBoxedHalfSpace; + string_map["IFCBUILDING" ] = Type::IfcBuilding; + string_map["IFCBUILDINGELEMENT" ] = Type::IfcBuildingElement; + string_map["IFCBUILDINGELEMENTPART" ] = Type::IfcBuildingElementPart; + string_map["IFCBUILDINGELEMENTPARTTYPE" ] = Type::IfcBuildingElementPartType; + string_map["IFCBUILDINGELEMENTPARTTYPEENUM" ] = Type::IfcBuildingElementPartTypeEnum; + string_map["IFCBUILDINGELEMENTPROXY" ] = Type::IfcBuildingElementProxy; + string_map["IFCBUILDINGELEMENTPROXYTYPE" ] = Type::IfcBuildingElementProxyType; + string_map["IFCBUILDINGELEMENTPROXYTYPEENUM" ] = Type::IfcBuildingElementProxyTypeEnum; + string_map["IFCBUILDINGELEMENTTYPE" ] = Type::IfcBuildingElementType; + string_map["IFCBUILDINGSTOREY" ] = Type::IfcBuildingStorey; + string_map["IFCBUILDINGSYSTEM" ] = Type::IfcBuildingSystem; + string_map["IFCBUILDINGSYSTEMTYPEENUM" ] = Type::IfcBuildingSystemTypeEnum; + string_map["IFCBURNER" ] = Type::IfcBurner; + string_map["IFCBURNERTYPE" ] = Type::IfcBurnerType; + string_map["IFCBURNERTYPEENUM" ] = Type::IfcBurnerTypeEnum; + string_map["IFCCSHAPEPROFILEDEF" ] = Type::IfcCShapeProfileDef; + string_map["IFCCABLECARRIERFITTING" ] = Type::IfcCableCarrierFitting; + string_map["IFCCABLECARRIERFITTINGTYPE" ] = Type::IfcCableCarrierFittingType; + string_map["IFCCABLECARRIERFITTINGTYPEENUM" ] = Type::IfcCableCarrierFittingTypeEnum; + string_map["IFCCABLECARRIERSEGMENT" ] = Type::IfcCableCarrierSegment; + string_map["IFCCABLECARRIERSEGMENTTYPE" ] = Type::IfcCableCarrierSegmentType; + string_map["IFCCABLECARRIERSEGMENTTYPEENUM" ] = Type::IfcCableCarrierSegmentTypeEnum; + string_map["IFCCABLEFITTING" ] = Type::IfcCableFitting; + string_map["IFCCABLEFITTINGTYPE" ] = Type::IfcCableFittingType; + string_map["IFCCABLEFITTINGTYPEENUM" ] = Type::IfcCableFittingTypeEnum; + string_map["IFCCABLESEGMENT" ] = Type::IfcCableSegment; + string_map["IFCCABLESEGMENTTYPE" ] = Type::IfcCableSegmentType; + string_map["IFCCABLESEGMENTTYPEENUM" ] = Type::IfcCableSegmentTypeEnum; + string_map["IFCCARDINALPOINTREFERENCE" ] = Type::IfcCardinalPointReference; + string_map["IFCCARTESIANPOINT" ] = Type::IfcCartesianPoint; + string_map["IFCCARTESIANPOINTLIST" ] = Type::IfcCartesianPointList; + string_map["IFCCARTESIANPOINTLIST3D" ] = Type::IfcCartesianPointList3D; + string_map["IFCCARTESIANTRANSFORMATIONOPERATOR" ] = Type::IfcCartesianTransformationOperator; + string_map["IFCCARTESIANTRANSFORMATIONOPERATOR2D" ] = Type::IfcCartesianTransformationOperator2D; + string_map["IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM" ] = Type::IfcCartesianTransformationOperator2DnonUniform; + string_map["IFCCARTESIANTRANSFORMATIONOPERATOR3D" ] = Type::IfcCartesianTransformationOperator3D; + string_map["IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" ] = Type::IfcCartesianTransformationOperator3DnonUniform; + string_map["IFCCENTERLINEPROFILEDEF" ] = Type::IfcCenterLineProfileDef; + string_map["IFCCHANGEACTIONENUM" ] = Type::IfcChangeActionEnum; + string_map["IFCCHILLER" ] = Type::IfcChiller; + string_map["IFCCHILLERTYPE" ] = Type::IfcChillerType; + string_map["IFCCHILLERTYPEENUM" ] = Type::IfcChillerTypeEnum; + string_map["IFCCHIMNEY" ] = Type::IfcChimney; + string_map["IFCCHIMNEYTYPE" ] = Type::IfcChimneyType; + string_map["IFCCHIMNEYTYPEENUM" ] = Type::IfcChimneyTypeEnum; + string_map["IFCCIRCLE" ] = Type::IfcCircle; + string_map["IFCCIRCLEHOLLOWPROFILEDEF" ] = Type::IfcCircleHollowProfileDef; + string_map["IFCCIRCLEPROFILEDEF" ] = Type::IfcCircleProfileDef; + string_map["IFCCIVILELEMENT" ] = Type::IfcCivilElement; + string_map["IFCCIVILELEMENTTYPE" ] = Type::IfcCivilElementType; + string_map["IFCCLASSIFICATION" ] = Type::IfcClassification; + string_map["IFCCLASSIFICATIONREFERENCE" ] = Type::IfcClassificationReference; + string_map["IFCCLASSIFICATIONREFERENCESELECT" ] = Type::IfcClassificationReferenceSelect; + string_map["IFCCLASSIFICATIONSELECT" ] = Type::IfcClassificationSelect; + string_map["IFCCLOSEDSHELL" ] = Type::IfcClosedShell; + string_map["IFCCOIL" ] = Type::IfcCoil; + string_map["IFCCOILTYPE" ] = Type::IfcCoilType; + string_map["IFCCOILTYPEENUM" ] = Type::IfcCoilTypeEnum; + string_map["IFCCOLOUR" ] = Type::IfcColour; + string_map["IFCCOLOURORFACTOR" ] = Type::IfcColourOrFactor; + string_map["IFCCOLOURRGB" ] = Type::IfcColourRgb; + string_map["IFCCOLOURRGBLIST" ] = Type::IfcColourRgbList; + string_map["IFCCOLOURSPECIFICATION" ] = Type::IfcColourSpecification; + string_map["IFCCOLUMN" ] = Type::IfcColumn; + string_map["IFCCOLUMNSTANDARDCASE" ] = Type::IfcColumnStandardCase; + string_map["IFCCOLUMNTYPE" ] = Type::IfcColumnType; + string_map["IFCCOLUMNTYPEENUM" ] = Type::IfcColumnTypeEnum; + string_map["IFCCOMMUNICATIONSAPPLIANCE" ] = Type::IfcCommunicationsAppliance; + string_map["IFCCOMMUNICATIONSAPPLIANCETYPE" ] = Type::IfcCommunicationsApplianceType; + string_map["IFCCOMMUNICATIONSAPPLIANCETYPEENUM" ] = Type::IfcCommunicationsApplianceTypeEnum; + string_map["IFCCOMPLEXNUMBER" ] = Type::IfcComplexNumber; + string_map["IFCCOMPLEXPROPERTY" ] = Type::IfcComplexProperty; + string_map["IFCCOMPLEXPROPERTYTEMPLATE" ] = Type::IfcComplexPropertyTemplate; + string_map["IFCCOMPLEXPROPERTYTEMPLATETYPEENUM" ] = Type::IfcComplexPropertyTemplateTypeEnum; + string_map["IFCCOMPOSITECURVE" ] = Type::IfcCompositeCurve; + string_map["IFCCOMPOSITECURVEONSURFACE" ] = Type::IfcCompositeCurveOnSurface; + string_map["IFCCOMPOSITECURVESEGMENT" ] = Type::IfcCompositeCurveSegment; + string_map["IFCCOMPOSITEPROFILEDEF" ] = Type::IfcCompositeProfileDef; + string_map["IFCCOMPOUNDPLANEANGLEMEASURE" ] = Type::IfcCompoundPlaneAngleMeasure; + string_map["IFCCOMPRESSOR" ] = Type::IfcCompressor; + string_map["IFCCOMPRESSORTYPE" ] = Type::IfcCompressorType; + string_map["IFCCOMPRESSORTYPEENUM" ] = Type::IfcCompressorTypeEnum; + string_map["IFCCONDENSER" ] = Type::IfcCondenser; + string_map["IFCCONDENSERTYPE" ] = Type::IfcCondenserType; + string_map["IFCCONDENSERTYPEENUM" ] = Type::IfcCondenserTypeEnum; + string_map["IFCCONIC" ] = Type::IfcConic; + string_map["IFCCONNECTEDFACESET" ] = Type::IfcConnectedFaceSet; + string_map["IFCCONNECTIONCURVEGEOMETRY" ] = Type::IfcConnectionCurveGeometry; + string_map["IFCCONNECTIONGEOMETRY" ] = Type::IfcConnectionGeometry; + string_map["IFCCONNECTIONPOINTECCENTRICITY" ] = Type::IfcConnectionPointEccentricity; + string_map["IFCCONNECTIONPOINTGEOMETRY" ] = Type::IfcConnectionPointGeometry; + string_map["IFCCONNECTIONSURFACEGEOMETRY" ] = Type::IfcConnectionSurfaceGeometry; + string_map["IFCCONNECTIONTYPEENUM" ] = Type::IfcConnectionTypeEnum; + string_map["IFCCONNECTIONVOLUMEGEOMETRY" ] = Type::IfcConnectionVolumeGeometry; + string_map["IFCCONSTRAINT" ] = Type::IfcConstraint; + string_map["IFCCONSTRAINTENUM" ] = Type::IfcConstraintEnum; + string_map["IFCCONSTRUCTIONEQUIPMENTRESOURCE" ] = Type::IfcConstructionEquipmentResource; + string_map["IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE" ] = Type::IfcConstructionEquipmentResourceType; + string_map["IFCCONSTRUCTIONEQUIPMENTRESOURCETYPEENUM" ] = Type::IfcConstructionEquipmentResourceTypeEnum; + string_map["IFCCONSTRUCTIONMATERIALRESOURCE" ] = Type::IfcConstructionMaterialResource; + string_map["IFCCONSTRUCTIONMATERIALRESOURCETYPE" ] = Type::IfcConstructionMaterialResourceType; + string_map["IFCCONSTRUCTIONMATERIALRESOURCETYPEENUM" ] = Type::IfcConstructionMaterialResourceTypeEnum; + string_map["IFCCONSTRUCTIONPRODUCTRESOURCE" ] = Type::IfcConstructionProductResource; + string_map["IFCCONSTRUCTIONPRODUCTRESOURCETYPE" ] = Type::IfcConstructionProductResourceType; + string_map["IFCCONSTRUCTIONPRODUCTRESOURCETYPEENUM" ] = Type::IfcConstructionProductResourceTypeEnum; + string_map["IFCCONSTRUCTIONRESOURCE" ] = Type::IfcConstructionResource; + string_map["IFCCONSTRUCTIONRESOURCETYPE" ] = Type::IfcConstructionResourceType; + string_map["IFCCONTEXT" ] = Type::IfcContext; + string_map["IFCCONTEXTDEPENDENTMEASURE" ] = Type::IfcContextDependentMeasure; + string_map["IFCCONTEXTDEPENDENTUNIT" ] = Type::IfcContextDependentUnit; + string_map["IFCCONTROL" ] = Type::IfcControl; + string_map["IFCCONTROLLER" ] = Type::IfcController; + string_map["IFCCONTROLLERTYPE" ] = Type::IfcControllerType; + string_map["IFCCONTROLLERTYPEENUM" ] = Type::IfcControllerTypeEnum; + string_map["IFCCONVERSIONBASEDUNIT" ] = Type::IfcConversionBasedUnit; + string_map["IFCCONVERSIONBASEDUNITWITHOFFSET" ] = Type::IfcConversionBasedUnitWithOffset; + string_map["IFCCOOLEDBEAM" ] = Type::IfcCooledBeam; + string_map["IFCCOOLEDBEAMTYPE" ] = Type::IfcCooledBeamType; + string_map["IFCCOOLEDBEAMTYPEENUM" ] = Type::IfcCooledBeamTypeEnum; + string_map["IFCCOOLINGTOWER" ] = Type::IfcCoolingTower; + string_map["IFCCOOLINGTOWERTYPE" ] = Type::IfcCoolingTowerType; + string_map["IFCCOOLINGTOWERTYPEENUM" ] = Type::IfcCoolingTowerTypeEnum; + string_map["IFCCOORDINATEOPERATION" ] = Type::IfcCoordinateOperation; + string_map["IFCCOORDINATEREFERENCESYSTEM" ] = Type::IfcCoordinateReferenceSystem; + string_map["IFCCOORDINATEREFERENCESYSTEMSELECT" ] = Type::IfcCoordinateReferenceSystemSelect; + string_map["IFCCOSTITEM" ] = Type::IfcCostItem; + string_map["IFCCOSTITEMTYPEENUM" ] = Type::IfcCostItemTypeEnum; + string_map["IFCCOSTSCHEDULE" ] = Type::IfcCostSchedule; + string_map["IFCCOSTSCHEDULETYPEENUM" ] = Type::IfcCostScheduleTypeEnum; + string_map["IFCCOSTVALUE" ] = Type::IfcCostValue; + string_map["IFCCOUNTMEASURE" ] = Type::IfcCountMeasure; + string_map["IFCCOVERING" ] = Type::IfcCovering; + string_map["IFCCOVERINGTYPE" ] = Type::IfcCoveringType; + string_map["IFCCOVERINGTYPEENUM" ] = Type::IfcCoveringTypeEnum; + string_map["IFCCREWRESOURCE" ] = Type::IfcCrewResource; + string_map["IFCCREWRESOURCETYPE" ] = Type::IfcCrewResourceType; + string_map["IFCCREWRESOURCETYPEENUM" ] = Type::IfcCrewResourceTypeEnum; + string_map["IFCCSGPRIMITIVE3D" ] = Type::IfcCsgPrimitive3D; + string_map["IFCCSGSELECT" ] = Type::IfcCsgSelect; + string_map["IFCCSGSOLID" ] = Type::IfcCsgSolid; + string_map["IFCCURRENCYRELATIONSHIP" ] = Type::IfcCurrencyRelationship; + string_map["IFCCURTAINWALL" ] = Type::IfcCurtainWall; + string_map["IFCCURTAINWALLTYPE" ] = Type::IfcCurtainWallType; + string_map["IFCCURTAINWALLTYPEENUM" ] = Type::IfcCurtainWallTypeEnum; + string_map["IFCCURVATUREMEASURE" ] = Type::IfcCurvatureMeasure; + string_map["IFCCURVE" ] = Type::IfcCurve; + string_map["IFCCURVEBOUNDEDPLANE" ] = Type::IfcCurveBoundedPlane; + string_map["IFCCURVEBOUNDEDSURFACE" ] = Type::IfcCurveBoundedSurface; + string_map["IFCCURVEFONTORSCALEDCURVEFONTSELECT" ] = Type::IfcCurveFontOrScaledCurveFontSelect; + string_map["IFCCURVEINTERPOLATIONENUM" ] = Type::IfcCurveInterpolationEnum; + string_map["IFCCURVEONSURFACE" ] = Type::IfcCurveOnSurface; + string_map["IFCCURVEOREDGECURVE" ] = Type::IfcCurveOrEdgeCurve; + string_map["IFCCURVESTYLE" ] = Type::IfcCurveStyle; + string_map["IFCCURVESTYLEFONT" ] = Type::IfcCurveStyleFont; + string_map["IFCCURVESTYLEFONTANDSCALING" ] = Type::IfcCurveStyleFontAndScaling; + string_map["IFCCURVESTYLEFONTPATTERN" ] = Type::IfcCurveStyleFontPattern; + string_map["IFCCURVESTYLEFONTSELECT" ] = Type::IfcCurveStyleFontSelect; + string_map["IFCCYLINDRICALSURFACE" ] = Type::IfcCylindricalSurface; + string_map["IFCDAMPER" ] = Type::IfcDamper; + string_map["IFCDAMPERTYPE" ] = Type::IfcDamperType; + string_map["IFCDAMPERTYPEENUM" ] = Type::IfcDamperTypeEnum; + string_map["IFCDATAORIGINENUM" ] = Type::IfcDataOriginEnum; + string_map["IFCDATE" ] = Type::IfcDate; + string_map["IFCDATETIME" ] = Type::IfcDateTime; + string_map["IFCDAYINMONTHNUMBER" ] = Type::IfcDayInMonthNumber; + string_map["IFCDAYINWEEKNUMBER" ] = Type::IfcDayInWeekNumber; + string_map["IFCDEFINITIONSELECT" ] = Type::IfcDefinitionSelect; + string_map["IFCDERIVEDMEASUREVALUE" ] = Type::IfcDerivedMeasureValue; + string_map["IFCDERIVEDPROFILEDEF" ] = Type::IfcDerivedProfileDef; + string_map["IFCDERIVEDUNIT" ] = Type::IfcDerivedUnit; + string_map["IFCDERIVEDUNITELEMENT" ] = Type::IfcDerivedUnitElement; + string_map["IFCDERIVEDUNITENUM" ] = Type::IfcDerivedUnitEnum; + string_map["IFCDESCRIPTIVEMEASURE" ] = Type::IfcDescriptiveMeasure; + string_map["IFCDIMENSIONCOUNT" ] = Type::IfcDimensionCount; + string_map["IFCDIMENSIONALEXPONENTS" ] = Type::IfcDimensionalExponents; + string_map["IFCDIRECTION" ] = Type::IfcDirection; + string_map["IFCDIRECTIONSENSEENUM" ] = Type::IfcDirectionSenseEnum; + string_map["IFCDISCRETEACCESSORY" ] = Type::IfcDiscreteAccessory; + string_map["IFCDISCRETEACCESSORYTYPE" ] = Type::IfcDiscreteAccessoryType; + string_map["IFCDISCRETEACCESSORYTYPEENUM" ] = Type::IfcDiscreteAccessoryTypeEnum; + string_map["IFCDISTRIBUTIONCHAMBERELEMENT" ] = Type::IfcDistributionChamberElement; + string_map["IFCDISTRIBUTIONCHAMBERELEMENTTYPE" ] = Type::IfcDistributionChamberElementType; + string_map["IFCDISTRIBUTIONCHAMBERELEMENTTYPEENUM" ] = Type::IfcDistributionChamberElementTypeEnum; + string_map["IFCDISTRIBUTIONCIRCUIT" ] = Type::IfcDistributionCircuit; + string_map["IFCDISTRIBUTIONCONTROLELEMENT" ] = Type::IfcDistributionControlElement; + string_map["IFCDISTRIBUTIONCONTROLELEMENTTYPE" ] = Type::IfcDistributionControlElementType; + string_map["IFCDISTRIBUTIONELEMENT" ] = Type::IfcDistributionElement; + string_map["IFCDISTRIBUTIONELEMENTTYPE" ] = Type::IfcDistributionElementType; + string_map["IFCDISTRIBUTIONFLOWELEMENT" ] = Type::IfcDistributionFlowElement; + string_map["IFCDISTRIBUTIONFLOWELEMENTTYPE" ] = Type::IfcDistributionFlowElementType; + string_map["IFCDISTRIBUTIONPORT" ] = Type::IfcDistributionPort; + string_map["IFCDISTRIBUTIONPORTTYPEENUM" ] = Type::IfcDistributionPortTypeEnum; + string_map["IFCDISTRIBUTIONSYSTEM" ] = Type::IfcDistributionSystem; + string_map["IFCDISTRIBUTIONSYSTEMENUM" ] = Type::IfcDistributionSystemEnum; + string_map["IFCDOCUMENTCONFIDENTIALITYENUM" ] = Type::IfcDocumentConfidentialityEnum; + string_map["IFCDOCUMENTINFORMATION" ] = Type::IfcDocumentInformation; + string_map["IFCDOCUMENTINFORMATIONRELATIONSHIP" ] = Type::IfcDocumentInformationRelationship; + string_map["IFCDOCUMENTREFERENCE" ] = Type::IfcDocumentReference; + string_map["IFCDOCUMENTSELECT" ] = Type::IfcDocumentSelect; + string_map["IFCDOCUMENTSTATUSENUM" ] = Type::IfcDocumentStatusEnum; + string_map["IFCDOOR" ] = Type::IfcDoor; + string_map["IFCDOORLININGPROPERTIES" ] = Type::IfcDoorLiningProperties; + string_map["IFCDOORPANELOPERATIONENUM" ] = Type::IfcDoorPanelOperationEnum; + string_map["IFCDOORPANELPOSITIONENUM" ] = Type::IfcDoorPanelPositionEnum; + string_map["IFCDOORPANELPROPERTIES" ] = Type::IfcDoorPanelProperties; + string_map["IFCDOORSTANDARDCASE" ] = Type::IfcDoorStandardCase; + string_map["IFCDOORSTYLE" ] = Type::IfcDoorStyle; + string_map["IFCDOORSTYLECONSTRUCTIONENUM" ] = Type::IfcDoorStyleConstructionEnum; + string_map["IFCDOORSTYLEOPERATIONENUM" ] = Type::IfcDoorStyleOperationEnum; + string_map["IFCDOORTYPE" ] = Type::IfcDoorType; + string_map["IFCDOORTYPEENUM" ] = Type::IfcDoorTypeEnum; + string_map["IFCDOORTYPEOPERATIONENUM" ] = Type::IfcDoorTypeOperationEnum; + string_map["IFCDOSEEQUIVALENTMEASURE" ] = Type::IfcDoseEquivalentMeasure; + string_map["IFCDRAUGHTINGPREDEFINEDCOLOUR" ] = Type::IfcDraughtingPreDefinedColour; + string_map["IFCDRAUGHTINGPREDEFINEDCURVEFONT" ] = Type::IfcDraughtingPreDefinedCurveFont; + string_map["IFCDUCTFITTING" ] = Type::IfcDuctFitting; + string_map["IFCDUCTFITTINGTYPE" ] = Type::IfcDuctFittingType; + string_map["IFCDUCTFITTINGTYPEENUM" ] = Type::IfcDuctFittingTypeEnum; + string_map["IFCDUCTSEGMENT" ] = Type::IfcDuctSegment; + string_map["IFCDUCTSEGMENTTYPE" ] = Type::IfcDuctSegmentType; + string_map["IFCDUCTSEGMENTTYPEENUM" ] = Type::IfcDuctSegmentTypeEnum; + string_map["IFCDUCTSILENCER" ] = Type::IfcDuctSilencer; + string_map["IFCDUCTSILENCERTYPE" ] = Type::IfcDuctSilencerType; + string_map["IFCDUCTSILENCERTYPEENUM" ] = Type::IfcDuctSilencerTypeEnum; + string_map["IFCDURATION" ] = Type::IfcDuration; + string_map["IFCDYNAMICVISCOSITYMEASURE" ] = Type::IfcDynamicViscosityMeasure; + string_map["IFCEDGE" ] = Type::IfcEdge; + string_map["IFCEDGECURVE" ] = Type::IfcEdgeCurve; + string_map["IFCEDGELOOP" ] = Type::IfcEdgeLoop; + string_map["IFCELECTRICAPPLIANCE" ] = Type::IfcElectricAppliance; + string_map["IFCELECTRICAPPLIANCETYPE" ] = Type::IfcElectricApplianceType; + string_map["IFCELECTRICAPPLIANCETYPEENUM" ] = Type::IfcElectricApplianceTypeEnum; + string_map["IFCELECTRICCAPACITANCEMEASURE" ] = Type::IfcElectricCapacitanceMeasure; + string_map["IFCELECTRICCHARGEMEASURE" ] = Type::IfcElectricChargeMeasure; + string_map["IFCELECTRICCONDUCTANCEMEASURE" ] = Type::IfcElectricConductanceMeasure; + string_map["IFCELECTRICCURRENTMEASURE" ] = Type::IfcElectricCurrentMeasure; + string_map["IFCELECTRICDISTRIBUTIONBOARD" ] = Type::IfcElectricDistributionBoard; + string_map["IFCELECTRICDISTRIBUTIONBOARDTYPE" ] = Type::IfcElectricDistributionBoardType; + string_map["IFCELECTRICDISTRIBUTIONBOARDTYPEENUM" ] = Type::IfcElectricDistributionBoardTypeEnum; + string_map["IFCELECTRICFLOWSTORAGEDEVICE" ] = Type::IfcElectricFlowStorageDevice; + string_map["IFCELECTRICFLOWSTORAGEDEVICETYPE" ] = Type::IfcElectricFlowStorageDeviceType; + string_map["IFCELECTRICFLOWSTORAGEDEVICETYPEENUM" ] = Type::IfcElectricFlowStorageDeviceTypeEnum; + string_map["IFCELECTRICGENERATOR" ] = Type::IfcElectricGenerator; + string_map["IFCELECTRICGENERATORTYPE" ] = Type::IfcElectricGeneratorType; + string_map["IFCELECTRICGENERATORTYPEENUM" ] = Type::IfcElectricGeneratorTypeEnum; + string_map["IFCELECTRICMOTOR" ] = Type::IfcElectricMotor; + string_map["IFCELECTRICMOTORTYPE" ] = Type::IfcElectricMotorType; + string_map["IFCELECTRICMOTORTYPEENUM" ] = Type::IfcElectricMotorTypeEnum; + string_map["IFCELECTRICRESISTANCEMEASURE" ] = Type::IfcElectricResistanceMeasure; + string_map["IFCELECTRICTIMECONTROL" ] = Type::IfcElectricTimeControl; + string_map["IFCELECTRICTIMECONTROLTYPE" ] = Type::IfcElectricTimeControlType; + string_map["IFCELECTRICTIMECONTROLTYPEENUM" ] = Type::IfcElectricTimeControlTypeEnum; + string_map["IFCELECTRICVOLTAGEMEASURE" ] = Type::IfcElectricVoltageMeasure; + string_map["IFCELEMENT" ] = Type::IfcElement; + string_map["IFCELEMENTASSEMBLY" ] = Type::IfcElementAssembly; + string_map["IFCELEMENTASSEMBLYTYPE" ] = Type::IfcElementAssemblyType; + string_map["IFCELEMENTASSEMBLYTYPEENUM" ] = Type::IfcElementAssemblyTypeEnum; + string_map["IFCELEMENTCOMPONENT" ] = Type::IfcElementComponent; + string_map["IFCELEMENTCOMPONENTTYPE" ] = Type::IfcElementComponentType; + string_map["IFCELEMENTCOMPOSITIONENUM" ] = Type::IfcElementCompositionEnum; + string_map["IFCELEMENTQUANTITY" ] = Type::IfcElementQuantity; + string_map["IFCELEMENTTYPE" ] = Type::IfcElementType; + string_map["IFCELEMENTARYSURFACE" ] = Type::IfcElementarySurface; + string_map["IFCELLIPSE" ] = Type::IfcEllipse; + string_map["IFCELLIPSEPROFILEDEF" ] = Type::IfcEllipseProfileDef; + string_map["IFCENERGYCONVERSIONDEVICE" ] = Type::IfcEnergyConversionDevice; + string_map["IFCENERGYCONVERSIONDEVICETYPE" ] = Type::IfcEnergyConversionDeviceType; + string_map["IFCENERGYMEASURE" ] = Type::IfcEnergyMeasure; + string_map["IFCENGINE" ] = Type::IfcEngine; + string_map["IFCENGINETYPE" ] = Type::IfcEngineType; + string_map["IFCENGINETYPEENUM" ] = Type::IfcEngineTypeEnum; + string_map["IFCEVAPORATIVECOOLER" ] = Type::IfcEvaporativeCooler; + string_map["IFCEVAPORATIVECOOLERTYPE" ] = Type::IfcEvaporativeCoolerType; + string_map["IFCEVAPORATIVECOOLERTYPEENUM" ] = Type::IfcEvaporativeCoolerTypeEnum; + string_map["IFCEVAPORATOR" ] = Type::IfcEvaporator; + string_map["IFCEVAPORATORTYPE" ] = Type::IfcEvaporatorType; + string_map["IFCEVAPORATORTYPEENUM" ] = Type::IfcEvaporatorTypeEnum; + string_map["IFCEVENT" ] = Type::IfcEvent; + string_map["IFCEVENTTIME" ] = Type::IfcEventTime; + string_map["IFCEVENTTRIGGERTYPEENUM" ] = Type::IfcEventTriggerTypeEnum; + string_map["IFCEVENTTYPE" ] = Type::IfcEventType; + string_map["IFCEVENTTYPEENUM" ] = Type::IfcEventTypeEnum; + string_map["IFCEXTENDEDPROPERTIES" ] = Type::IfcExtendedProperties; + string_map["IFCEXTERNALINFORMATION" ] = Type::IfcExternalInformation; + string_map["IFCEXTERNALREFERENCE" ] = Type::IfcExternalReference; + string_map["IFCEXTERNALREFERENCERELATIONSHIP" ] = Type::IfcExternalReferenceRelationship; + string_map["IFCEXTERNALSPATIALELEMENT" ] = Type::IfcExternalSpatialElement; + string_map["IFCEXTERNALSPATIALELEMENTTYPEENUM" ] = Type::IfcExternalSpatialElementTypeEnum; + string_map["IFCEXTERNALSPATIALSTRUCTUREELEMENT" ] = Type::IfcExternalSpatialStructureElement; + string_map["IFCEXTERNALLYDEFINEDHATCHSTYLE" ] = Type::IfcExternallyDefinedHatchStyle; + string_map["IFCEXTERNALLYDEFINEDSURFACESTYLE" ] = Type::IfcExternallyDefinedSurfaceStyle; + string_map["IFCEXTERNALLYDEFINEDTEXTFONT" ] = Type::IfcExternallyDefinedTextFont; + string_map["IFCEXTRUDEDAREASOLID" ] = Type::IfcExtrudedAreaSolid; + string_map["IFCEXTRUDEDAREASOLIDTAPERED" ] = Type::IfcExtrudedAreaSolidTapered; + string_map["IFCFACE" ] = Type::IfcFace; + string_map["IFCFACEBASEDSURFACEMODEL" ] = Type::IfcFaceBasedSurfaceModel; + string_map["IFCFACEBOUND" ] = Type::IfcFaceBound; + string_map["IFCFACEOUTERBOUND" ] = Type::IfcFaceOuterBound; + string_map["IFCFACESURFACE" ] = Type::IfcFaceSurface; + string_map["IFCFACETEDBREP" ] = Type::IfcFacetedBrep; + string_map["IFCFACETEDBREPWITHVOIDS" ] = Type::IfcFacetedBrepWithVoids; + string_map["IFCFAILURECONNECTIONCONDITION" ] = Type::IfcFailureConnectionCondition; + string_map["IFCFAN" ] = Type::IfcFan; + string_map["IFCFANTYPE" ] = Type::IfcFanType; + string_map["IFCFANTYPEENUM" ] = Type::IfcFanTypeEnum; + string_map["IFCFASTENER" ] = Type::IfcFastener; + string_map["IFCFASTENERTYPE" ] = Type::IfcFastenerType; + string_map["IFCFASTENERTYPEENUM" ] = Type::IfcFastenerTypeEnum; + string_map["IFCFEATUREELEMENT" ] = Type::IfcFeatureElement; + string_map["IFCFEATUREELEMENTADDITION" ] = Type::IfcFeatureElementAddition; + string_map["IFCFEATUREELEMENTSUBTRACTION" ] = Type::IfcFeatureElementSubtraction; + string_map["IFCFILLAREASTYLE" ] = Type::IfcFillAreaStyle; + string_map["IFCFILLAREASTYLEHATCHING" ] = Type::IfcFillAreaStyleHatching; + string_map["IFCFILLAREASTYLETILES" ] = Type::IfcFillAreaStyleTiles; + string_map["IFCFILLSTYLESELECT" ] = Type::IfcFillStyleSelect; + string_map["IFCFILTER" ] = Type::IfcFilter; + string_map["IFCFILTERTYPE" ] = Type::IfcFilterType; + string_map["IFCFILTERTYPEENUM" ] = Type::IfcFilterTypeEnum; + string_map["IFCFIRESUPPRESSIONTERMINAL" ] = Type::IfcFireSuppressionTerminal; + string_map["IFCFIRESUPPRESSIONTERMINALTYPE" ] = Type::IfcFireSuppressionTerminalType; + string_map["IFCFIRESUPPRESSIONTERMINALTYPEENUM" ] = Type::IfcFireSuppressionTerminalTypeEnum; + string_map["IFCFIXEDREFERENCESWEPTAREASOLID" ] = Type::IfcFixedReferenceSweptAreaSolid; + string_map["IFCFLOWCONTROLLER" ] = Type::IfcFlowController; + string_map["IFCFLOWCONTROLLERTYPE" ] = Type::IfcFlowControllerType; + string_map["IFCFLOWDIRECTIONENUM" ] = Type::IfcFlowDirectionEnum; + string_map["IFCFLOWFITTING" ] = Type::IfcFlowFitting; + string_map["IFCFLOWFITTINGTYPE" ] = Type::IfcFlowFittingType; + string_map["IFCFLOWINSTRUMENT" ] = Type::IfcFlowInstrument; + string_map["IFCFLOWINSTRUMENTTYPE" ] = Type::IfcFlowInstrumentType; + string_map["IFCFLOWINSTRUMENTTYPEENUM" ] = Type::IfcFlowInstrumentTypeEnum; + string_map["IFCFLOWMETER" ] = Type::IfcFlowMeter; + string_map["IFCFLOWMETERTYPE" ] = Type::IfcFlowMeterType; + string_map["IFCFLOWMETERTYPEENUM" ] = Type::IfcFlowMeterTypeEnum; + string_map["IFCFLOWMOVINGDEVICE" ] = Type::IfcFlowMovingDevice; + string_map["IFCFLOWMOVINGDEVICETYPE" ] = Type::IfcFlowMovingDeviceType; + string_map["IFCFLOWSEGMENT" ] = Type::IfcFlowSegment; + string_map["IFCFLOWSEGMENTTYPE" ] = Type::IfcFlowSegmentType; + string_map["IFCFLOWSTORAGEDEVICE" ] = Type::IfcFlowStorageDevice; + string_map["IFCFLOWSTORAGEDEVICETYPE" ] = Type::IfcFlowStorageDeviceType; + string_map["IFCFLOWTERMINAL" ] = Type::IfcFlowTerminal; + string_map["IFCFLOWTERMINALTYPE" ] = Type::IfcFlowTerminalType; + string_map["IFCFLOWTREATMENTDEVICE" ] = Type::IfcFlowTreatmentDevice; + string_map["IFCFLOWTREATMENTDEVICETYPE" ] = Type::IfcFlowTreatmentDeviceType; + string_map["IFCFONTSTYLE" ] = Type::IfcFontStyle; + string_map["IFCFONTVARIANT" ] = Type::IfcFontVariant; + string_map["IFCFONTWEIGHT" ] = Type::IfcFontWeight; + string_map["IFCFOOTING" ] = Type::IfcFooting; + string_map["IFCFOOTINGTYPE" ] = Type::IfcFootingType; + string_map["IFCFOOTINGTYPEENUM" ] = Type::IfcFootingTypeEnum; + string_map["IFCFORCEMEASURE" ] = Type::IfcForceMeasure; + string_map["IFCFREQUENCYMEASURE" ] = Type::IfcFrequencyMeasure; + string_map["IFCFURNISHINGELEMENT" ] = Type::IfcFurnishingElement; + string_map["IFCFURNISHINGELEMENTTYPE" ] = Type::IfcFurnishingElementType; + string_map["IFCFURNITURE" ] = Type::IfcFurniture; + string_map["IFCFURNITURETYPE" ] = Type::IfcFurnitureType; + string_map["IFCFURNITURETYPEENUM" ] = Type::IfcFurnitureTypeEnum; + string_map["IFCGEOGRAPHICELEMENT" ] = Type::IfcGeographicElement; + string_map["IFCGEOGRAPHICELEMENTTYPE" ] = Type::IfcGeographicElementType; + string_map["IFCGEOGRAPHICELEMENTTYPEENUM" ] = Type::IfcGeographicElementTypeEnum; + string_map["IFCGEOMETRICCURVESET" ] = Type::IfcGeometricCurveSet; + string_map["IFCGEOMETRICPROJECTIONENUM" ] = Type::IfcGeometricProjectionEnum; + string_map["IFCGEOMETRICREPRESENTATIONCONTEXT" ] = Type::IfcGeometricRepresentationContext; + string_map["IFCGEOMETRICREPRESENTATIONITEM" ] = Type::IfcGeometricRepresentationItem; + string_map["IFCGEOMETRICREPRESENTATIONSUBCONTEXT" ] = Type::IfcGeometricRepresentationSubContext; + string_map["IFCGEOMETRICSET" ] = Type::IfcGeometricSet; + string_map["IFCGEOMETRICSETSELECT" ] = Type::IfcGeometricSetSelect; + string_map["IFCGLOBALORLOCALENUM" ] = Type::IfcGlobalOrLocalEnum; + string_map["IFCGLOBALLYUNIQUEID" ] = Type::IfcGloballyUniqueId; + string_map["IFCGRID" ] = Type::IfcGrid; + string_map["IFCGRIDAXIS" ] = Type::IfcGridAxis; + string_map["IFCGRIDPLACEMENT" ] = Type::IfcGridPlacement; + string_map["IFCGRIDPLACEMENTDIRECTIONSELECT" ] = Type::IfcGridPlacementDirectionSelect; + string_map["IFCGRIDTYPEENUM" ] = Type::IfcGridTypeEnum; + string_map["IFCGROUP" ] = Type::IfcGroup; + string_map["IFCHALFSPACESOLID" ] = Type::IfcHalfSpaceSolid; + string_map["IFCHATCHLINEDISTANCESELECT" ] = Type::IfcHatchLineDistanceSelect; + string_map["IFCHEATEXCHANGER" ] = Type::IfcHeatExchanger; + string_map["IFCHEATEXCHANGERTYPE" ] = Type::IfcHeatExchangerType; + string_map["IFCHEATEXCHANGERTYPEENUM" ] = Type::IfcHeatExchangerTypeEnum; + string_map["IFCHEATFLUXDENSITYMEASURE" ] = Type::IfcHeatFluxDensityMeasure; + string_map["IFCHEATINGVALUEMEASURE" ] = Type::IfcHeatingValueMeasure; + string_map["IFCHUMIDIFIER" ] = Type::IfcHumidifier; + string_map["IFCHUMIDIFIERTYPE" ] = Type::IfcHumidifierType; + string_map["IFCHUMIDIFIERTYPEENUM" ] = Type::IfcHumidifierTypeEnum; + string_map["IFCISHAPEPROFILEDEF" ] = Type::IfcIShapeProfileDef; + string_map["IFCIDENTIFIER" ] = Type::IfcIdentifier; + string_map["IFCILLUMINANCEMEASURE" ] = Type::IfcIlluminanceMeasure; + string_map["IFCIMAGETEXTURE" ] = Type::IfcImageTexture; + string_map["IFCINDEXEDCOLOURMAP" ] = Type::IfcIndexedColourMap; + string_map["IFCINDEXEDTEXTUREMAP" ] = Type::IfcIndexedTextureMap; + string_map["IFCINDEXEDTRIANGLETEXTUREMAP" ] = Type::IfcIndexedTriangleTextureMap; + string_map["IFCINDUCTANCEMEASURE" ] = Type::IfcInductanceMeasure; + string_map["IFCINTEGER" ] = Type::IfcInteger; + string_map["IFCINTEGERCOUNTRATEMEASURE" ] = Type::IfcIntegerCountRateMeasure; + string_map["IFCINTERCEPTOR" ] = Type::IfcInterceptor; + string_map["IFCINTERCEPTORTYPE" ] = Type::IfcInterceptorType; + string_map["IFCINTERCEPTORTYPEENUM" ] = Type::IfcInterceptorTypeEnum; + string_map["IFCINTERNALOREXTERNALENUM" ] = Type::IfcInternalOrExternalEnum; + string_map["IFCINVENTORY" ] = Type::IfcInventory; + string_map["IFCINVENTORYTYPEENUM" ] = Type::IfcInventoryTypeEnum; + string_map["IFCIONCONCENTRATIONMEASURE" ] = Type::IfcIonConcentrationMeasure; + string_map["IFCIRREGULARTIMESERIES" ] = Type::IfcIrregularTimeSeries; + string_map["IFCIRREGULARTIMESERIESVALUE" ] = Type::IfcIrregularTimeSeriesValue; + string_map["IFCISOTHERMALMOISTURECAPACITYMEASURE" ] = Type::IfcIsothermalMoistureCapacityMeasure; + string_map["IFCJUNCTIONBOX" ] = Type::IfcJunctionBox; + string_map["IFCJUNCTIONBOXTYPE" ] = Type::IfcJunctionBoxType; + string_map["IFCJUNCTIONBOXTYPEENUM" ] = Type::IfcJunctionBoxTypeEnum; + string_map["IFCKINEMATICVISCOSITYMEASURE" ] = Type::IfcKinematicViscosityMeasure; + string_map["IFCKNOTTYPE" ] = Type::IfcKnotType; + string_map["IFCLSHAPEPROFILEDEF" ] = Type::IfcLShapeProfileDef; + string_map["IFCLABEL" ] = Type::IfcLabel; + string_map["IFCLABORRESOURCE" ] = Type::IfcLaborResource; + string_map["IFCLABORRESOURCETYPE" ] = Type::IfcLaborResourceType; + string_map["IFCLABORRESOURCETYPEENUM" ] = Type::IfcLaborResourceTypeEnum; + string_map["IFCLAGTIME" ] = Type::IfcLagTime; + string_map["IFCLAMP" ] = Type::IfcLamp; + string_map["IFCLAMPTYPE" ] = Type::IfcLampType; + string_map["IFCLAMPTYPEENUM" ] = Type::IfcLampTypeEnum; + string_map["IFCLANGUAGEID" ] = Type::IfcLanguageId; + string_map["IFCLAYERSETDIRECTIONENUM" ] = Type::IfcLayerSetDirectionEnum; + string_map["IFCLAYEREDITEM" ] = Type::IfcLayeredItem; + string_map["IFCLENGTHMEASURE" ] = Type::IfcLengthMeasure; + string_map["IFCLIBRARYINFORMATION" ] = Type::IfcLibraryInformation; + string_map["IFCLIBRARYREFERENCE" ] = Type::IfcLibraryReference; + string_map["IFCLIBRARYSELECT" ] = Type::IfcLibrarySelect; + string_map["IFCLIGHTDISTRIBUTIONCURVEENUM" ] = Type::IfcLightDistributionCurveEnum; + string_map["IFCLIGHTDISTRIBUTIONDATA" ] = Type::IfcLightDistributionData; + string_map["IFCLIGHTDISTRIBUTIONDATASOURCESELECT" ] = Type::IfcLightDistributionDataSourceSelect; + string_map["IFCLIGHTEMISSIONSOURCEENUM" ] = Type::IfcLightEmissionSourceEnum; + string_map["IFCLIGHTFIXTURE" ] = Type::IfcLightFixture; + string_map["IFCLIGHTFIXTURETYPE" ] = Type::IfcLightFixtureType; + string_map["IFCLIGHTFIXTURETYPEENUM" ] = Type::IfcLightFixtureTypeEnum; + string_map["IFCLIGHTINTENSITYDISTRIBUTION" ] = Type::IfcLightIntensityDistribution; + string_map["IFCLIGHTSOURCE" ] = Type::IfcLightSource; + string_map["IFCLIGHTSOURCEAMBIENT" ] = Type::IfcLightSourceAmbient; + string_map["IFCLIGHTSOURCEDIRECTIONAL" ] = Type::IfcLightSourceDirectional; + string_map["IFCLIGHTSOURCEGONIOMETRIC" ] = Type::IfcLightSourceGoniometric; + string_map["IFCLIGHTSOURCEPOSITIONAL" ] = Type::IfcLightSourcePositional; + string_map["IFCLIGHTSOURCESPOT" ] = Type::IfcLightSourceSpot; + string_map["IFCLINE" ] = Type::IfcLine; + string_map["IFCLINEARFORCEMEASURE" ] = Type::IfcLinearForceMeasure; + string_map["IFCLINEARMOMENTMEASURE" ] = Type::IfcLinearMomentMeasure; + string_map["IFCLINEARSTIFFNESSMEASURE" ] = Type::IfcLinearStiffnessMeasure; + string_map["IFCLINEARVELOCITYMEASURE" ] = Type::IfcLinearVelocityMeasure; + string_map["IFCLOADGROUPTYPEENUM" ] = Type::IfcLoadGroupTypeEnum; + string_map["IFCLOCALPLACEMENT" ] = Type::IfcLocalPlacement; + string_map["IFCLOGICAL" ] = Type::IfcLogical; + string_map["IFCLOGICALOPERATORENUM" ] = Type::IfcLogicalOperatorEnum; + string_map["IFCLOOP" ] = Type::IfcLoop; + string_map["IFCLUMINOUSFLUXMEASURE" ] = Type::IfcLuminousFluxMeasure; + string_map["IFCLUMINOUSINTENSITYDISTRIBUTIONMEASURE" ] = Type::IfcLuminousIntensityDistributionMeasure; + string_map["IFCLUMINOUSINTENSITYMEASURE" ] = Type::IfcLuminousIntensityMeasure; + string_map["IFCMAGNETICFLUXDENSITYMEASURE" ] = Type::IfcMagneticFluxDensityMeasure; + string_map["IFCMAGNETICFLUXMEASURE" ] = Type::IfcMagneticFluxMeasure; + string_map["IFCMANIFOLDSOLIDBREP" ] = Type::IfcManifoldSolidBrep; + string_map["IFCMAPCONVERSION" ] = Type::IfcMapConversion; + string_map["IFCMAPPEDITEM" ] = Type::IfcMappedItem; + string_map["IFCMASSDENSITYMEASURE" ] = Type::IfcMassDensityMeasure; + string_map["IFCMASSFLOWRATEMEASURE" ] = Type::IfcMassFlowRateMeasure; + string_map["IFCMASSMEASURE" ] = Type::IfcMassMeasure; + string_map["IFCMASSPERLENGTHMEASURE" ] = Type::IfcMassPerLengthMeasure; + string_map["IFCMATERIAL" ] = Type::IfcMaterial; + string_map["IFCMATERIALCLASSIFICATIONRELATIONSHIP" ] = Type::IfcMaterialClassificationRelationship; + string_map["IFCMATERIALCONSTITUENT" ] = Type::IfcMaterialConstituent; + string_map["IFCMATERIALCONSTITUENTSET" ] = Type::IfcMaterialConstituentSet; + string_map["IFCMATERIALDEFINITION" ] = Type::IfcMaterialDefinition; + string_map["IFCMATERIALDEFINITIONREPRESENTATION" ] = Type::IfcMaterialDefinitionRepresentation; + string_map["IFCMATERIALLAYER" ] = Type::IfcMaterialLayer; + string_map["IFCMATERIALLAYERSET" ] = Type::IfcMaterialLayerSet; + string_map["IFCMATERIALLAYERSETUSAGE" ] = Type::IfcMaterialLayerSetUsage; + string_map["IFCMATERIALLAYERWITHOFFSETS" ] = Type::IfcMaterialLayerWithOffsets; + string_map["IFCMATERIALLIST" ] = Type::IfcMaterialList; + string_map["IFCMATERIALPROFILE" ] = Type::IfcMaterialProfile; + string_map["IFCMATERIALPROFILESET" ] = Type::IfcMaterialProfileSet; + string_map["IFCMATERIALPROFILESETUSAGE" ] = Type::IfcMaterialProfileSetUsage; + string_map["IFCMATERIALPROFILESETUSAGETAPERING" ] = Type::IfcMaterialProfileSetUsageTapering; + string_map["IFCMATERIALPROFILEWITHOFFSETS" ] = Type::IfcMaterialProfileWithOffsets; + string_map["IFCMATERIALPROPERTIES" ] = Type::IfcMaterialProperties; + string_map["IFCMATERIALRELATIONSHIP" ] = Type::IfcMaterialRelationship; + string_map["IFCMATERIALSELECT" ] = Type::IfcMaterialSelect; + string_map["IFCMATERIALUSAGEDEFINITION" ] = Type::IfcMaterialUsageDefinition; + string_map["IFCMEASUREVALUE" ] = Type::IfcMeasureValue; + string_map["IFCMEASUREWITHUNIT" ] = Type::IfcMeasureWithUnit; + string_map["IFCMECHANICALFASTENER" ] = Type::IfcMechanicalFastener; + string_map["IFCMECHANICALFASTENERTYPE" ] = Type::IfcMechanicalFastenerType; + string_map["IFCMECHANICALFASTENERTYPEENUM" ] = Type::IfcMechanicalFastenerTypeEnum; + string_map["IFCMEDICALDEVICE" ] = Type::IfcMedicalDevice; + string_map["IFCMEDICALDEVICETYPE" ] = Type::IfcMedicalDeviceType; + string_map["IFCMEDICALDEVICETYPEENUM" ] = Type::IfcMedicalDeviceTypeEnum; + string_map["IFCMEMBER" ] = Type::IfcMember; + string_map["IFCMEMBERSTANDARDCASE" ] = Type::IfcMemberStandardCase; + string_map["IFCMEMBERTYPE" ] = Type::IfcMemberType; + string_map["IFCMEMBERTYPEENUM" ] = Type::IfcMemberTypeEnum; + string_map["IFCMETRIC" ] = Type::IfcMetric; + string_map["IFCMETRICVALUESELECT" ] = Type::IfcMetricValueSelect; + string_map["IFCMIRROREDPROFILEDEF" ] = Type::IfcMirroredProfileDef; + string_map["IFCMODULUSOFELASTICITYMEASURE" ] = Type::IfcModulusOfElasticityMeasure; + string_map["IFCMODULUSOFLINEARSUBGRADEREACTIONMEASURE" ] = Type::IfcModulusOfLinearSubgradeReactionMeasure; + string_map["IFCMODULUSOFROTATIONALSUBGRADEREACTIONMEASURE" ] = Type::IfcModulusOfRotationalSubgradeReactionMeasure; + string_map["IFCMODULUSOFROTATIONALSUBGRADEREACTIONSELECT" ] = Type::IfcModulusOfRotationalSubgradeReactionSelect; + string_map["IFCMODULUSOFSUBGRADEREACTIONMEASURE" ] = Type::IfcModulusOfSubgradeReactionMeasure; + string_map["IFCMODULUSOFSUBGRADEREACTIONSELECT" ] = Type::IfcModulusOfSubgradeReactionSelect; + string_map["IFCMODULUSOFTRANSLATIONALSUBGRADEREACTIONSELECT"] = Type::IfcModulusOfTranslationalSubgradeReactionSelect; + string_map["IFCMOISTUREDIFFUSIVITYMEASURE" ] = Type::IfcMoistureDiffusivityMeasure; + string_map["IFCMOLECULARWEIGHTMEASURE" ] = Type::IfcMolecularWeightMeasure; + string_map["IFCMOMENTOFINERTIAMEASURE" ] = Type::IfcMomentOfInertiaMeasure; + string_map["IFCMONETARYMEASURE" ] = Type::IfcMonetaryMeasure; + string_map["IFCMONETARYUNIT" ] = Type::IfcMonetaryUnit; + string_map["IFCMONTHINYEARNUMBER" ] = Type::IfcMonthInYearNumber; + string_map["IFCMOTORCONNECTION" ] = Type::IfcMotorConnection; + string_map["IFCMOTORCONNECTIONTYPE" ] = Type::IfcMotorConnectionType; + string_map["IFCMOTORCONNECTIONTYPEENUM" ] = Type::IfcMotorConnectionTypeEnum; + string_map["IFCNAMEDUNIT" ] = Type::IfcNamedUnit; + string_map["IFCNONNEGATIVELENGTHMEASURE" ] = Type::IfcNonNegativeLengthMeasure; + string_map["IFCNORMALISEDRATIOMEASURE" ] = Type::IfcNormalisedRatioMeasure; + string_map["IFCNULLSTYLE" ] = Type::IfcNullStyle; + string_map["IFCNUMERICMEASURE" ] = Type::IfcNumericMeasure; + string_map["IFCOBJECT" ] = Type::IfcObject; + string_map["IFCOBJECTDEFINITION" ] = Type::IfcObjectDefinition; + string_map["IFCOBJECTPLACEMENT" ] = Type::IfcObjectPlacement; + string_map["IFCOBJECTREFERENCESELECT" ] = Type::IfcObjectReferenceSelect; + string_map["IFCOBJECTTYPEENUM" ] = Type::IfcObjectTypeEnum; + string_map["IFCOBJECTIVE" ] = Type::IfcObjective; + string_map["IFCOBJECTIVEENUM" ] = Type::IfcObjectiveEnum; + string_map["IFCOCCUPANT" ] = Type::IfcOccupant; + string_map["IFCOCCUPANTTYPEENUM" ] = Type::IfcOccupantTypeEnum; + string_map["IFCOFFSETCURVE2D" ] = Type::IfcOffsetCurve2D; + string_map["IFCOFFSETCURVE3D" ] = Type::IfcOffsetCurve3D; + string_map["IFCOPENSHELL" ] = Type::IfcOpenShell; + string_map["IFCOPENINGELEMENT" ] = Type::IfcOpeningElement; + string_map["IFCOPENINGELEMENTTYPEENUM" ] = Type::IfcOpeningElementTypeEnum; + string_map["IFCOPENINGSTANDARDCASE" ] = Type::IfcOpeningStandardCase; + string_map["IFCORGANIZATION" ] = Type::IfcOrganization; + string_map["IFCORGANIZATIONRELATIONSHIP" ] = Type::IfcOrganizationRelationship; + string_map["IFCORIENTEDEDGE" ] = Type::IfcOrientedEdge; + string_map["IFCOUTERBOUNDARYCURVE" ] = Type::IfcOuterBoundaryCurve; + string_map["IFCOUTLET" ] = Type::IfcOutlet; + string_map["IFCOUTLETTYPE" ] = Type::IfcOutletType; + string_map["IFCOUTLETTYPEENUM" ] = Type::IfcOutletTypeEnum; + string_map["IFCOWNERHISTORY" ] = Type::IfcOwnerHistory; + string_map["IFCPHMEASURE" ] = Type::IfcPHMeasure; + string_map["IFCPARAMETERVALUE" ] = Type::IfcParameterValue; + string_map["IFCPARAMETERIZEDPROFILEDEF" ] = Type::IfcParameterizedProfileDef; + string_map["IFCPATH" ] = Type::IfcPath; + string_map["IFCPCURVE" ] = Type::IfcPcurve; + string_map["IFCPERFORMANCEHISTORY" ] = Type::IfcPerformanceHistory; + string_map["IFCPERFORMANCEHISTORYTYPEENUM" ] = Type::IfcPerformanceHistoryTypeEnum; + string_map["IFCPERMEABLECOVERINGOPERATIONENUM" ] = Type::IfcPermeableCoveringOperationEnum; + string_map["IFCPERMEABLECOVERINGPROPERTIES" ] = Type::IfcPermeableCoveringProperties; + string_map["IFCPERMIT" ] = Type::IfcPermit; + string_map["IFCPERMITTYPEENUM" ] = Type::IfcPermitTypeEnum; + string_map["IFCPERSON" ] = Type::IfcPerson; + string_map["IFCPERSONANDORGANIZATION" ] = Type::IfcPersonAndOrganization; + string_map["IFCPHYSICALCOMPLEXQUANTITY" ] = Type::IfcPhysicalComplexQuantity; + string_map["IFCPHYSICALORVIRTUALENUM" ] = Type::IfcPhysicalOrVirtualEnum; + string_map["IFCPHYSICALQUANTITY" ] = Type::IfcPhysicalQuantity; + string_map["IFCPHYSICALSIMPLEQUANTITY" ] = Type::IfcPhysicalSimpleQuantity; + string_map["IFCPILE" ] = Type::IfcPile; + string_map["IFCPILECONSTRUCTIONENUM" ] = Type::IfcPileConstructionEnum; + string_map["IFCPILETYPE" ] = Type::IfcPileType; + string_map["IFCPILETYPEENUM" ] = Type::IfcPileTypeEnum; + string_map["IFCPIPEFITTING" ] = Type::IfcPipeFitting; + string_map["IFCPIPEFITTINGTYPE" ] = Type::IfcPipeFittingType; + string_map["IFCPIPEFITTINGTYPEENUM" ] = Type::IfcPipeFittingTypeEnum; + string_map["IFCPIPESEGMENT" ] = Type::IfcPipeSegment; + string_map["IFCPIPESEGMENTTYPE" ] = Type::IfcPipeSegmentType; + string_map["IFCPIPESEGMENTTYPEENUM" ] = Type::IfcPipeSegmentTypeEnum; + string_map["IFCPIXELTEXTURE" ] = Type::IfcPixelTexture; + string_map["IFCPLACEMENT" ] = Type::IfcPlacement; + string_map["IFCPLANARBOX" ] = Type::IfcPlanarBox; + string_map["IFCPLANAREXTENT" ] = Type::IfcPlanarExtent; + string_map["IFCPLANARFORCEMEASURE" ] = Type::IfcPlanarForceMeasure; + string_map["IFCPLANE" ] = Type::IfcPlane; + string_map["IFCPLANEANGLEMEASURE" ] = Type::IfcPlaneAngleMeasure; + string_map["IFCPLATE" ] = Type::IfcPlate; + string_map["IFCPLATESTANDARDCASE" ] = Type::IfcPlateStandardCase; + string_map["IFCPLATETYPE" ] = Type::IfcPlateType; + string_map["IFCPLATETYPEENUM" ] = Type::IfcPlateTypeEnum; + string_map["IFCPOINT" ] = Type::IfcPoint; + string_map["IFCPOINTONCURVE" ] = Type::IfcPointOnCurve; + string_map["IFCPOINTONSURFACE" ] = Type::IfcPointOnSurface; + string_map["IFCPOINTORVERTEXPOINT" ] = Type::IfcPointOrVertexPoint; + string_map["IFCPOLYLOOP" ] = Type::IfcPolyLoop; + string_map["IFCPOLYGONALBOUNDEDHALFSPACE" ] = Type::IfcPolygonalBoundedHalfSpace; + string_map["IFCPOLYLINE" ] = Type::IfcPolyline; + string_map["IFCPORT" ] = Type::IfcPort; + string_map["IFCPOSITIVELENGTHMEASURE" ] = Type::IfcPositiveLengthMeasure; + string_map["IFCPOSITIVEPLANEANGLEMEASURE" ] = Type::IfcPositivePlaneAngleMeasure; + string_map["IFCPOSITIVERATIOMEASURE" ] = Type::IfcPositiveRatioMeasure; + string_map["IFCPOSTALADDRESS" ] = Type::IfcPostalAddress; + string_map["IFCPOWERMEASURE" ] = Type::IfcPowerMeasure; + string_map["IFCPREDEFINEDCOLOUR" ] = Type::IfcPreDefinedColour; + string_map["IFCPREDEFINEDCURVEFONT" ] = Type::IfcPreDefinedCurveFont; + string_map["IFCPREDEFINEDITEM" ] = Type::IfcPreDefinedItem; + string_map["IFCPREDEFINEDPROPERTIES" ] = Type::IfcPreDefinedProperties; + string_map["IFCPREDEFINEDPROPERTYSET" ] = Type::IfcPreDefinedPropertySet; + string_map["IFCPREDEFINEDTEXTFONT" ] = Type::IfcPreDefinedTextFont; + string_map["IFCPRESENTABLETEXT" ] = Type::IfcPresentableText; + string_map["IFCPRESENTATIONITEM" ] = Type::IfcPresentationItem; + string_map["IFCPRESENTATIONLAYERASSIGNMENT" ] = Type::IfcPresentationLayerAssignment; + string_map["IFCPRESENTATIONLAYERWITHSTYLE" ] = Type::IfcPresentationLayerWithStyle; + string_map["IFCPRESENTATIONSTYLE" ] = Type::IfcPresentationStyle; + string_map["IFCPRESENTATIONSTYLEASSIGNMENT" ] = Type::IfcPresentationStyleAssignment; + string_map["IFCPRESENTATIONSTYLESELECT" ] = Type::IfcPresentationStyleSelect; + string_map["IFCPRESSUREMEASURE" ] = Type::IfcPressureMeasure; + string_map["IFCPROCEDURE" ] = Type::IfcProcedure; + string_map["IFCPROCEDURETYPE" ] = Type::IfcProcedureType; + string_map["IFCPROCEDURETYPEENUM" ] = Type::IfcProcedureTypeEnum; + string_map["IFCPROCESS" ] = Type::IfcProcess; + string_map["IFCPROCESSSELECT" ] = Type::IfcProcessSelect; + string_map["IFCPRODUCT" ] = Type::IfcProduct; + string_map["IFCPRODUCTDEFINITIONSHAPE" ] = Type::IfcProductDefinitionShape; + string_map["IFCPRODUCTREPRESENTATION" ] = Type::IfcProductRepresentation; + string_map["IFCPRODUCTREPRESENTATIONSELECT" ] = Type::IfcProductRepresentationSelect; + string_map["IFCPRODUCTSELECT" ] = Type::IfcProductSelect; + string_map["IFCPROFILEDEF" ] = Type::IfcProfileDef; + string_map["IFCPROFILEPROPERTIES" ] = Type::IfcProfileProperties; + string_map["IFCPROFILETYPEENUM" ] = Type::IfcProfileTypeEnum; + string_map["IFCPROJECT" ] = Type::IfcProject; + string_map["IFCPROJECTLIBRARY" ] = Type::IfcProjectLibrary; + string_map["IFCPROJECTORDER" ] = Type::IfcProjectOrder; + string_map["IFCPROJECTORDERTYPEENUM" ] = Type::IfcProjectOrderTypeEnum; + string_map["IFCPROJECTEDCRS" ] = Type::IfcProjectedCRS; + string_map["IFCPROJECTEDORTRUELENGTHENUM" ] = Type::IfcProjectedOrTrueLengthEnum; + string_map["IFCPROJECTIONELEMENT" ] = Type::IfcProjectionElement; + string_map["IFCPROJECTIONELEMENTTYPEENUM" ] = Type::IfcProjectionElementTypeEnum; + string_map["IFCPROPERTY" ] = Type::IfcProperty; + string_map["IFCPROPERTYABSTRACTION" ] = Type::IfcPropertyAbstraction; + string_map["IFCPROPERTYBOUNDEDVALUE" ] = Type::IfcPropertyBoundedValue; + string_map["IFCPROPERTYDEFINITION" ] = Type::IfcPropertyDefinition; + string_map["IFCPROPERTYDEPENDENCYRELATIONSHIP" ] = Type::IfcPropertyDependencyRelationship; + string_map["IFCPROPERTYENUMERATEDVALUE" ] = Type::IfcPropertyEnumeratedValue; + string_map["IFCPROPERTYENUMERATION" ] = Type::IfcPropertyEnumeration; + string_map["IFCPROPERTYLISTVALUE" ] = Type::IfcPropertyListValue; + string_map["IFCPROPERTYREFERENCEVALUE" ] = Type::IfcPropertyReferenceValue; + string_map["IFCPROPERTYSET" ] = Type::IfcPropertySet; + string_map["IFCPROPERTYSETDEFINITION" ] = Type::IfcPropertySetDefinition; + string_map["IFCPROPERTYSETDEFINITIONSELECT" ] = Type::IfcPropertySetDefinitionSelect; + string_map["IFCPROPERTYSETDEFINITIONSET" ] = Type::IfcPropertySetDefinitionSet; + string_map["IFCPROPERTYSETTEMPLATE" ] = Type::IfcPropertySetTemplate; + string_map["IFCPROPERTYSETTEMPLATETYPEENUM" ] = Type::IfcPropertySetTemplateTypeEnum; + string_map["IFCPROPERTYSINGLEVALUE" ] = Type::IfcPropertySingleValue; + string_map["IFCPROPERTYTABLEVALUE" ] = Type::IfcPropertyTableValue; + string_map["IFCPROPERTYTEMPLATE" ] = Type::IfcPropertyTemplate; + string_map["IFCPROPERTYTEMPLATEDEFINITION" ] = Type::IfcPropertyTemplateDefinition; + string_map["IFCPROTECTIVEDEVICE" ] = Type::IfcProtectiveDevice; + string_map["IFCPROTECTIVEDEVICETRIPPINGUNIT" ] = Type::IfcProtectiveDeviceTrippingUnit; + string_map["IFCPROTECTIVEDEVICETRIPPINGUNITTYPE" ] = Type::IfcProtectiveDeviceTrippingUnitType; + string_map["IFCPROTECTIVEDEVICETRIPPINGUNITTYPEENUM" ] = Type::IfcProtectiveDeviceTrippingUnitTypeEnum; + string_map["IFCPROTECTIVEDEVICETYPE" ] = Type::IfcProtectiveDeviceType; + string_map["IFCPROTECTIVEDEVICETYPEENUM" ] = Type::IfcProtectiveDeviceTypeEnum; + string_map["IFCPROXY" ] = Type::IfcProxy; + string_map["IFCPUMP" ] = Type::IfcPump; + string_map["IFCPUMPTYPE" ] = Type::IfcPumpType; + string_map["IFCPUMPTYPEENUM" ] = Type::IfcPumpTypeEnum; + string_map["IFCQUANTITYAREA" ] = Type::IfcQuantityArea; + string_map["IFCQUANTITYCOUNT" ] = Type::IfcQuantityCount; + string_map["IFCQUANTITYLENGTH" ] = Type::IfcQuantityLength; + string_map["IFCQUANTITYSET" ] = Type::IfcQuantitySet; + string_map["IFCQUANTITYTIME" ] = Type::IfcQuantityTime; + string_map["IFCQUANTITYVOLUME" ] = Type::IfcQuantityVolume; + string_map["IFCQUANTITYWEIGHT" ] = Type::IfcQuantityWeight; + string_map["IFCRADIOACTIVITYMEASURE" ] = Type::IfcRadioActivityMeasure; + string_map["IFCRAILING" ] = Type::IfcRailing; + string_map["IFCRAILINGTYPE" ] = Type::IfcRailingType; + string_map["IFCRAILINGTYPEENUM" ] = Type::IfcRailingTypeEnum; + string_map["IFCRAMP" ] = Type::IfcRamp; + string_map["IFCRAMPFLIGHT" ] = Type::IfcRampFlight; + string_map["IFCRAMPFLIGHTTYPE" ] = Type::IfcRampFlightType; + string_map["IFCRAMPFLIGHTTYPEENUM" ] = Type::IfcRampFlightTypeEnum; + string_map["IFCRAMPTYPE" ] = Type::IfcRampType; + string_map["IFCRAMPTYPEENUM" ] = Type::IfcRampTypeEnum; + string_map["IFCRATIOMEASURE" ] = Type::IfcRatioMeasure; + string_map["IFCRATIONALBSPLINECURVEWITHKNOTS" ] = Type::IfcRationalBSplineCurveWithKnots; + string_map["IFCRATIONALBSPLINESURFACEWITHKNOTS" ] = Type::IfcRationalBSplineSurfaceWithKnots; + string_map["IFCREAL" ] = Type::IfcReal; + string_map["IFCRECTANGLEHOLLOWPROFILEDEF" ] = Type::IfcRectangleHollowProfileDef; + string_map["IFCRECTANGLEPROFILEDEF" ] = Type::IfcRectangleProfileDef; + string_map["IFCRECTANGULARPYRAMID" ] = Type::IfcRectangularPyramid; + string_map["IFCRECTANGULARTRIMMEDSURFACE" ] = Type::IfcRectangularTrimmedSurface; + string_map["IFCRECURRENCEPATTERN" ] = Type::IfcRecurrencePattern; + string_map["IFCRECURRENCETYPEENUM" ] = Type::IfcRecurrenceTypeEnum; + string_map["IFCREFERENCE" ] = Type::IfcReference; + string_map["IFCREFLECTANCEMETHODENUM" ] = Type::IfcReflectanceMethodEnum; + string_map["IFCREGULARTIMESERIES" ] = Type::IfcRegularTimeSeries; + string_map["IFCREINFORCEMENTBARPROPERTIES" ] = Type::IfcReinforcementBarProperties; + string_map["IFCREINFORCEMENTDEFINITIONPROPERTIES" ] = Type::IfcReinforcementDefinitionProperties; + string_map["IFCREINFORCINGBAR" ] = Type::IfcReinforcingBar; + string_map["IFCREINFORCINGBARROLEENUM" ] = Type::IfcReinforcingBarRoleEnum; + string_map["IFCREINFORCINGBARSURFACEENUM" ] = Type::IfcReinforcingBarSurfaceEnum; + string_map["IFCREINFORCINGBARTYPE" ] = Type::IfcReinforcingBarType; + string_map["IFCREINFORCINGBARTYPEENUM" ] = Type::IfcReinforcingBarTypeEnum; + string_map["IFCREINFORCINGELEMENT" ] = Type::IfcReinforcingElement; + string_map["IFCREINFORCINGELEMENTTYPE" ] = Type::IfcReinforcingElementType; + string_map["IFCREINFORCINGMESH" ] = Type::IfcReinforcingMesh; + string_map["IFCREINFORCINGMESHTYPE" ] = Type::IfcReinforcingMeshType; + string_map["IFCREINFORCINGMESHTYPEENUM" ] = Type::IfcReinforcingMeshTypeEnum; + string_map["IFCRELAGGREGATES" ] = Type::IfcRelAggregates; + string_map["IFCRELASSIGNS" ] = Type::IfcRelAssigns; + string_map["IFCRELASSIGNSTOACTOR" ] = Type::IfcRelAssignsToActor; + string_map["IFCRELASSIGNSTOCONTROL" ] = Type::IfcRelAssignsToControl; + string_map["IFCRELASSIGNSTOGROUP" ] = Type::IfcRelAssignsToGroup; + string_map["IFCRELASSIGNSTOGROUPBYFACTOR" ] = Type::IfcRelAssignsToGroupByFactor; + string_map["IFCRELASSIGNSTOPROCESS" ] = Type::IfcRelAssignsToProcess; + string_map["IFCRELASSIGNSTOPRODUCT" ] = Type::IfcRelAssignsToProduct; + string_map["IFCRELASSIGNSTORESOURCE" ] = Type::IfcRelAssignsToResource; + string_map["IFCRELASSOCIATES" ] = Type::IfcRelAssociates; + string_map["IFCRELASSOCIATESAPPROVAL" ] = Type::IfcRelAssociatesApproval; + string_map["IFCRELASSOCIATESCLASSIFICATION" ] = Type::IfcRelAssociatesClassification; + string_map["IFCRELASSOCIATESCONSTRAINT" ] = Type::IfcRelAssociatesConstraint; + string_map["IFCRELASSOCIATESDOCUMENT" ] = Type::IfcRelAssociatesDocument; + string_map["IFCRELASSOCIATESLIBRARY" ] = Type::IfcRelAssociatesLibrary; + string_map["IFCRELASSOCIATESMATERIAL" ] = Type::IfcRelAssociatesMaterial; + string_map["IFCRELCONNECTS" ] = Type::IfcRelConnects; + string_map["IFCRELCONNECTSELEMENTS" ] = Type::IfcRelConnectsElements; + string_map["IFCRELCONNECTSPATHELEMENTS" ] = Type::IfcRelConnectsPathElements; + string_map["IFCRELCONNECTSPORTTOELEMENT" ] = Type::IfcRelConnectsPortToElement; + string_map["IFCRELCONNECTSPORTS" ] = Type::IfcRelConnectsPorts; + string_map["IFCRELCONNECTSSTRUCTURALACTIVITY" ] = Type::IfcRelConnectsStructuralActivity; + string_map["IFCRELCONNECTSSTRUCTURALMEMBER" ] = Type::IfcRelConnectsStructuralMember; + string_map["IFCRELCONNECTSWITHECCENTRICITY" ] = Type::IfcRelConnectsWithEccentricity; + string_map["IFCRELCONNECTSWITHREALIZINGELEMENTS" ] = Type::IfcRelConnectsWithRealizingElements; + string_map["IFCRELCONTAINEDINSPATIALSTRUCTURE" ] = Type::IfcRelContainedInSpatialStructure; + string_map["IFCRELCOVERSBLDGELEMENTS" ] = Type::IfcRelCoversBldgElements; + string_map["IFCRELCOVERSSPACES" ] = Type::IfcRelCoversSpaces; + string_map["IFCRELDECLARES" ] = Type::IfcRelDeclares; + string_map["IFCRELDECOMPOSES" ] = Type::IfcRelDecomposes; + string_map["IFCRELDEFINES" ] = Type::IfcRelDefines; + string_map["IFCRELDEFINESBYOBJECT" ] = Type::IfcRelDefinesByObject; + string_map["IFCRELDEFINESBYPROPERTIES" ] = Type::IfcRelDefinesByProperties; + string_map["IFCRELDEFINESBYTEMPLATE" ] = Type::IfcRelDefinesByTemplate; + string_map["IFCRELDEFINESBYTYPE" ] = Type::IfcRelDefinesByType; + string_map["IFCRELFILLSELEMENT" ] = Type::IfcRelFillsElement; + string_map["IFCRELFLOWCONTROLELEMENTS" ] = Type::IfcRelFlowControlElements; + string_map["IFCRELINTERFERESELEMENTS" ] = Type::IfcRelInterferesElements; + string_map["IFCRELNESTS" ] = Type::IfcRelNests; + string_map["IFCRELPROJECTSELEMENT" ] = Type::IfcRelProjectsElement; + string_map["IFCRELREFERENCEDINSPATIALSTRUCTURE" ] = Type::IfcRelReferencedInSpatialStructure; + string_map["IFCRELSEQUENCE" ] = Type::IfcRelSequence; + string_map["IFCRELSERVICESBUILDINGS" ] = Type::IfcRelServicesBuildings; + string_map["IFCRELSPACEBOUNDARY" ] = Type::IfcRelSpaceBoundary; + string_map["IFCRELSPACEBOUNDARY1STLEVEL" ] = Type::IfcRelSpaceBoundary1stLevel; + string_map["IFCRELSPACEBOUNDARY2NDLEVEL" ] = Type::IfcRelSpaceBoundary2ndLevel; + string_map["IFCRELVOIDSELEMENT" ] = Type::IfcRelVoidsElement; + string_map["IFCRELATIONSHIP" ] = Type::IfcRelationship; + string_map["IFCREPARAMETRISEDCOMPOSITECURVESEGMENT" ] = Type::IfcReparametrisedCompositeCurveSegment; + string_map["IFCREPRESENTATION" ] = Type::IfcRepresentation; + string_map["IFCREPRESENTATIONCONTEXT" ] = Type::IfcRepresentationContext; + string_map["IFCREPRESENTATIONITEM" ] = Type::IfcRepresentationItem; + string_map["IFCREPRESENTATIONMAP" ] = Type::IfcRepresentationMap; + string_map["IFCRESOURCE" ] = Type::IfcResource; + string_map["IFCRESOURCEAPPROVALRELATIONSHIP" ] = Type::IfcResourceApprovalRelationship; + string_map["IFCRESOURCECONSTRAINTRELATIONSHIP" ] = Type::IfcResourceConstraintRelationship; + string_map["IFCRESOURCELEVELRELATIONSHIP" ] = Type::IfcResourceLevelRelationship; + string_map["IFCRESOURCEOBJECTSELECT" ] = Type::IfcResourceObjectSelect; + string_map["IFCRESOURCESELECT" ] = Type::IfcResourceSelect; + string_map["IFCRESOURCETIME" ] = Type::IfcResourceTime; + string_map["IFCREVOLVEDAREASOLID" ] = Type::IfcRevolvedAreaSolid; + string_map["IFCREVOLVEDAREASOLIDTAPERED" ] = Type::IfcRevolvedAreaSolidTapered; + string_map["IFCRIGHTCIRCULARCONE" ] = Type::IfcRightCircularCone; + string_map["IFCRIGHTCIRCULARCYLINDER" ] = Type::IfcRightCircularCylinder; + string_map["IFCROLEENUM" ] = Type::IfcRoleEnum; + string_map["IFCROOF" ] = Type::IfcRoof; + string_map["IFCROOFTYPE" ] = Type::IfcRoofType; + string_map["IFCROOFTYPEENUM" ] = Type::IfcRoofTypeEnum; + string_map["IFCROOT" ] = Type::IfcRoot; + string_map["IFCROTATIONALFREQUENCYMEASURE" ] = Type::IfcRotationalFrequencyMeasure; + string_map["IFCROTATIONALMASSMEASURE" ] = Type::IfcRotationalMassMeasure; + string_map["IFCROTATIONALSTIFFNESSMEASURE" ] = Type::IfcRotationalStiffnessMeasure; + string_map["IFCROTATIONALSTIFFNESSSELECT" ] = Type::IfcRotationalStiffnessSelect; + string_map["IFCROUNDEDRECTANGLEPROFILEDEF" ] = Type::IfcRoundedRectangleProfileDef; + string_map["IFCSIPREFIX" ] = Type::IfcSIPrefix; + string_map["IFCSIUNIT" ] = Type::IfcSIUnit; + string_map["IFCSIUNITNAME" ] = Type::IfcSIUnitName; + string_map["IFCSANITARYTERMINAL" ] = Type::IfcSanitaryTerminal; + string_map["IFCSANITARYTERMINALTYPE" ] = Type::IfcSanitaryTerminalType; + string_map["IFCSANITARYTERMINALTYPEENUM" ] = Type::IfcSanitaryTerminalTypeEnum; + string_map["IFCSCHEDULINGTIME" ] = Type::IfcSchedulingTime; + string_map["IFCSECTIONMODULUSMEASURE" ] = Type::IfcSectionModulusMeasure; + string_map["IFCSECTIONPROPERTIES" ] = Type::IfcSectionProperties; + string_map["IFCSECTIONREINFORCEMENTPROPERTIES" ] = Type::IfcSectionReinforcementProperties; + string_map["IFCSECTIONTYPEENUM" ] = Type::IfcSectionTypeEnum; + string_map["IFCSECTIONALAREAINTEGRALMEASURE" ] = Type::IfcSectionalAreaIntegralMeasure; + string_map["IFCSECTIONEDSPINE" ] = Type::IfcSectionedSpine; + string_map["IFCSENSOR" ] = Type::IfcSensor; + string_map["IFCSENSORTYPE" ] = Type::IfcSensorType; + string_map["IFCSENSORTYPEENUM" ] = Type::IfcSensorTypeEnum; + string_map["IFCSEQUENCEENUM" ] = Type::IfcSequenceEnum; + string_map["IFCSHADINGDEVICE" ] = Type::IfcShadingDevice; + string_map["IFCSHADINGDEVICETYPE" ] = Type::IfcShadingDeviceType; + string_map["IFCSHADINGDEVICETYPEENUM" ] = Type::IfcShadingDeviceTypeEnum; + string_map["IFCSHAPEASPECT" ] = Type::IfcShapeAspect; + string_map["IFCSHAPEMODEL" ] = Type::IfcShapeModel; + string_map["IFCSHAPEREPRESENTATION" ] = Type::IfcShapeRepresentation; + string_map["IFCSHEARMODULUSMEASURE" ] = Type::IfcShearModulusMeasure; + string_map["IFCSHELL" ] = Type::IfcShell; + string_map["IFCSHELLBASEDSURFACEMODEL" ] = Type::IfcShellBasedSurfaceModel; + string_map["IFCSIMPLEPROPERTY" ] = Type::IfcSimpleProperty; + string_map["IFCSIMPLEPROPERTYTEMPLATE" ] = Type::IfcSimplePropertyTemplate; + string_map["IFCSIMPLEPROPERTYTEMPLATETYPEENUM" ] = Type::IfcSimplePropertyTemplateTypeEnum; + string_map["IFCSIMPLEVALUE" ] = Type::IfcSimpleValue; + string_map["IFCSITE" ] = Type::IfcSite; + string_map["IFCSIZESELECT" ] = Type::IfcSizeSelect; + string_map["IFCSLAB" ] = Type::IfcSlab; + string_map["IFCSLABELEMENTEDCASE" ] = Type::IfcSlabElementedCase; + string_map["IFCSLABSTANDARDCASE" ] = Type::IfcSlabStandardCase; + string_map["IFCSLABTYPE" ] = Type::IfcSlabType; + string_map["IFCSLABTYPEENUM" ] = Type::IfcSlabTypeEnum; + string_map["IFCSLIPPAGECONNECTIONCONDITION" ] = Type::IfcSlippageConnectionCondition; + string_map["IFCSOLARDEVICE" ] = Type::IfcSolarDevice; + string_map["IFCSOLARDEVICETYPE" ] = Type::IfcSolarDeviceType; + string_map["IFCSOLARDEVICETYPEENUM" ] = Type::IfcSolarDeviceTypeEnum; + string_map["IFCSOLIDANGLEMEASURE" ] = Type::IfcSolidAngleMeasure; + string_map["IFCSOLIDMODEL" ] = Type::IfcSolidModel; + string_map["IFCSOLIDORSHELL" ] = Type::IfcSolidOrShell; + string_map["IFCSOUNDPOWERLEVELMEASURE" ] = Type::IfcSoundPowerLevelMeasure; + string_map["IFCSOUNDPOWERMEASURE" ] = Type::IfcSoundPowerMeasure; + string_map["IFCSOUNDPRESSURELEVELMEASURE" ] = Type::IfcSoundPressureLevelMeasure; + string_map["IFCSOUNDPRESSUREMEASURE" ] = Type::IfcSoundPressureMeasure; + string_map["IFCSPACE" ] = Type::IfcSpace; + string_map["IFCSPACEBOUNDARYSELECT" ] = Type::IfcSpaceBoundarySelect; + string_map["IFCSPACEHEATER" ] = Type::IfcSpaceHeater; + string_map["IFCSPACEHEATERTYPE" ] = Type::IfcSpaceHeaterType; + string_map["IFCSPACEHEATERTYPEENUM" ] = Type::IfcSpaceHeaterTypeEnum; + string_map["IFCSPACETYPE" ] = Type::IfcSpaceType; + string_map["IFCSPACETYPEENUM" ] = Type::IfcSpaceTypeEnum; + string_map["IFCSPATIALELEMENT" ] = Type::IfcSpatialElement; + string_map["IFCSPATIALELEMENTTYPE" ] = Type::IfcSpatialElementType; + string_map["IFCSPATIALSTRUCTUREELEMENT" ] = Type::IfcSpatialStructureElement; + string_map["IFCSPATIALSTRUCTUREELEMENTTYPE" ] = Type::IfcSpatialStructureElementType; + string_map["IFCSPATIALZONE" ] = Type::IfcSpatialZone; + string_map["IFCSPATIALZONETYPE" ] = Type::IfcSpatialZoneType; + string_map["IFCSPATIALZONETYPEENUM" ] = Type::IfcSpatialZoneTypeEnum; + string_map["IFCSPECIFICHEATCAPACITYMEASURE" ] = Type::IfcSpecificHeatCapacityMeasure; + string_map["IFCSPECULAREXPONENT" ] = Type::IfcSpecularExponent; + string_map["IFCSPECULARHIGHLIGHTSELECT" ] = Type::IfcSpecularHighlightSelect; + string_map["IFCSPECULARROUGHNESS" ] = Type::IfcSpecularRoughness; + string_map["IFCSPHERE" ] = Type::IfcSphere; + string_map["IFCSTACKTERMINAL" ] = Type::IfcStackTerminal; + string_map["IFCSTACKTERMINALTYPE" ] = Type::IfcStackTerminalType; + string_map["IFCSTACKTERMINALTYPEENUM" ] = Type::IfcStackTerminalTypeEnum; + string_map["IFCSTAIR" ] = Type::IfcStair; + string_map["IFCSTAIRFLIGHT" ] = Type::IfcStairFlight; + string_map["IFCSTAIRFLIGHTTYPE" ] = Type::IfcStairFlightType; + string_map["IFCSTAIRFLIGHTTYPEENUM" ] = Type::IfcStairFlightTypeEnum; + string_map["IFCSTAIRTYPE" ] = Type::IfcStairType; + string_map["IFCSTAIRTYPEENUM" ] = Type::IfcStairTypeEnum; + string_map["IFCSTATEENUM" ] = Type::IfcStateEnum; + string_map["IFCSTRUCTURALACTION" ] = Type::IfcStructuralAction; + string_map["IFCSTRUCTURALACTIVITY" ] = Type::IfcStructuralActivity; + string_map["IFCSTRUCTURALACTIVITYASSIGNMENTSELECT" ] = Type::IfcStructuralActivityAssignmentSelect; + string_map["IFCSTRUCTURALANALYSISMODEL" ] = Type::IfcStructuralAnalysisModel; + string_map["IFCSTRUCTURALCONNECTION" ] = Type::IfcStructuralConnection; + string_map["IFCSTRUCTURALCONNECTIONCONDITION" ] = Type::IfcStructuralConnectionCondition; + string_map["IFCSTRUCTURALCURVEACTION" ] = Type::IfcStructuralCurveAction; + string_map["IFCSTRUCTURALCURVEACTIVITYTYPEENUM" ] = Type::IfcStructuralCurveActivityTypeEnum; + string_map["IFCSTRUCTURALCURVECONNECTION" ] = Type::IfcStructuralCurveConnection; + string_map["IFCSTRUCTURALCURVEMEMBER" ] = Type::IfcStructuralCurveMember; + string_map["IFCSTRUCTURALCURVEMEMBERTYPEENUM" ] = Type::IfcStructuralCurveMemberTypeEnum; + string_map["IFCSTRUCTURALCURVEMEMBERVARYING" ] = Type::IfcStructuralCurveMemberVarying; + string_map["IFCSTRUCTURALCURVEREACTION" ] = Type::IfcStructuralCurveReaction; + string_map["IFCSTRUCTURALITEM" ] = Type::IfcStructuralItem; + string_map["IFCSTRUCTURALLINEARACTION" ] = Type::IfcStructuralLinearAction; + string_map["IFCSTRUCTURALLOAD" ] = Type::IfcStructuralLoad; + string_map["IFCSTRUCTURALLOADCASE" ] = Type::IfcStructuralLoadCase; + string_map["IFCSTRUCTURALLOADCONFIGURATION" ] = Type::IfcStructuralLoadConfiguration; + string_map["IFCSTRUCTURALLOADGROUP" ] = Type::IfcStructuralLoadGroup; + string_map["IFCSTRUCTURALLOADLINEARFORCE" ] = Type::IfcStructuralLoadLinearForce; + string_map["IFCSTRUCTURALLOADORRESULT" ] = Type::IfcStructuralLoadOrResult; + string_map["IFCSTRUCTURALLOADPLANARFORCE" ] = Type::IfcStructuralLoadPlanarForce; + string_map["IFCSTRUCTURALLOADSINGLEDISPLACEMENT" ] = Type::IfcStructuralLoadSingleDisplacement; + string_map["IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" ] = Type::IfcStructuralLoadSingleDisplacementDistortion; + string_map["IFCSTRUCTURALLOADSINGLEFORCE" ] = Type::IfcStructuralLoadSingleForce; + string_map["IFCSTRUCTURALLOADSINGLEFORCEWARPING" ] = Type::IfcStructuralLoadSingleForceWarping; + string_map["IFCSTRUCTURALLOADSTATIC" ] = Type::IfcStructuralLoadStatic; + string_map["IFCSTRUCTURALLOADTEMPERATURE" ] = Type::IfcStructuralLoadTemperature; + string_map["IFCSTRUCTURALMEMBER" ] = Type::IfcStructuralMember; + string_map["IFCSTRUCTURALPLANARACTION" ] = Type::IfcStructuralPlanarAction; + string_map["IFCSTRUCTURALPOINTACTION" ] = Type::IfcStructuralPointAction; + string_map["IFCSTRUCTURALPOINTCONNECTION" ] = Type::IfcStructuralPointConnection; + string_map["IFCSTRUCTURALPOINTREACTION" ] = Type::IfcStructuralPointReaction; + string_map["IFCSTRUCTURALREACTION" ] = Type::IfcStructuralReaction; + string_map["IFCSTRUCTURALRESULTGROUP" ] = Type::IfcStructuralResultGroup; + string_map["IFCSTRUCTURALSURFACEACTION" ] = Type::IfcStructuralSurfaceAction; + string_map["IFCSTRUCTURALSURFACEACTIVITYTYPEENUM" ] = Type::IfcStructuralSurfaceActivityTypeEnum; + string_map["IFCSTRUCTURALSURFACECONNECTION" ] = Type::IfcStructuralSurfaceConnection; + string_map["IFCSTRUCTURALSURFACEMEMBER" ] = Type::IfcStructuralSurfaceMember; + string_map["IFCSTRUCTURALSURFACEMEMBERTYPEENUM" ] = Type::IfcStructuralSurfaceMemberTypeEnum; + string_map["IFCSTRUCTURALSURFACEMEMBERVARYING" ] = Type::IfcStructuralSurfaceMemberVarying; + string_map["IFCSTRUCTURALSURFACEREACTION" ] = Type::IfcStructuralSurfaceReaction; + string_map["IFCSTYLEASSIGNMENTSELECT" ] = Type::IfcStyleAssignmentSelect; + string_map["IFCSTYLEMODEL" ] = Type::IfcStyleModel; + string_map["IFCSTYLEDITEM" ] = Type::IfcStyledItem; + string_map["IFCSTYLEDREPRESENTATION" ] = Type::IfcStyledRepresentation; + string_map["IFCSUBCONTRACTRESOURCE" ] = Type::IfcSubContractResource; + string_map["IFCSUBCONTRACTRESOURCETYPE" ] = Type::IfcSubContractResourceType; + string_map["IFCSUBCONTRACTRESOURCETYPEENUM" ] = Type::IfcSubContractResourceTypeEnum; + string_map["IFCSUBEDGE" ] = Type::IfcSubedge; + string_map["IFCSURFACE" ] = Type::IfcSurface; + string_map["IFCSURFACECURVESWEPTAREASOLID" ] = Type::IfcSurfaceCurveSweptAreaSolid; + string_map["IFCSURFACEFEATURE" ] = Type::IfcSurfaceFeature; + string_map["IFCSURFACEFEATURETYPEENUM" ] = Type::IfcSurfaceFeatureTypeEnum; + string_map["IFCSURFACEOFLINEAREXTRUSION" ] = Type::IfcSurfaceOfLinearExtrusion; + string_map["IFCSURFACEOFREVOLUTION" ] = Type::IfcSurfaceOfRevolution; + string_map["IFCSURFACEORFACESURFACE" ] = Type::IfcSurfaceOrFaceSurface; + string_map["IFCSURFACEREINFORCEMENTAREA" ] = Type::IfcSurfaceReinforcementArea; + string_map["IFCSURFACESIDE" ] = Type::IfcSurfaceSide; + string_map["IFCSURFACESTYLE" ] = Type::IfcSurfaceStyle; + string_map["IFCSURFACESTYLEELEMENTSELECT" ] = Type::IfcSurfaceStyleElementSelect; + string_map["IFCSURFACESTYLELIGHTING" ] = Type::IfcSurfaceStyleLighting; + string_map["IFCSURFACESTYLEREFRACTION" ] = Type::IfcSurfaceStyleRefraction; + string_map["IFCSURFACESTYLERENDERING" ] = Type::IfcSurfaceStyleRendering; + string_map["IFCSURFACESTYLESHADING" ] = Type::IfcSurfaceStyleShading; + string_map["IFCSURFACESTYLEWITHTEXTURES" ] = Type::IfcSurfaceStyleWithTextures; + string_map["IFCSURFACETEXTURE" ] = Type::IfcSurfaceTexture; + string_map["IFCSWEPTAREASOLID" ] = Type::IfcSweptAreaSolid; + string_map["IFCSWEPTDISKSOLID" ] = Type::IfcSweptDiskSolid; + string_map["IFCSWEPTDISKSOLIDPOLYGONAL" ] = Type::IfcSweptDiskSolidPolygonal; + string_map["IFCSWEPTSURFACE" ] = Type::IfcSweptSurface; + string_map["IFCSWITCHINGDEVICE" ] = Type::IfcSwitchingDevice; + string_map["IFCSWITCHINGDEVICETYPE" ] = Type::IfcSwitchingDeviceType; + string_map["IFCSWITCHINGDEVICETYPEENUM" ] = Type::IfcSwitchingDeviceTypeEnum; + string_map["IFCSYSTEM" ] = Type::IfcSystem; + string_map["IFCSYSTEMFURNITUREELEMENT" ] = Type::IfcSystemFurnitureElement; + string_map["IFCSYSTEMFURNITUREELEMENTTYPE" ] = Type::IfcSystemFurnitureElementType; + string_map["IFCSYSTEMFURNITUREELEMENTTYPEENUM" ] = Type::IfcSystemFurnitureElementTypeEnum; + string_map["IFCTSHAPEPROFILEDEF" ] = Type::IfcTShapeProfileDef; + string_map["IFCTABLE" ] = Type::IfcTable; + string_map["IFCTABLECOLUMN" ] = Type::IfcTableColumn; + string_map["IFCTABLEROW" ] = Type::IfcTableRow; + string_map["IFCTANK" ] = Type::IfcTank; + string_map["IFCTANKTYPE" ] = Type::IfcTankType; + string_map["IFCTANKTYPEENUM" ] = Type::IfcTankTypeEnum; + string_map["IFCTASK" ] = Type::IfcTask; + string_map["IFCTASKDURATIONENUM" ] = Type::IfcTaskDurationEnum; + string_map["IFCTASKTIME" ] = Type::IfcTaskTime; + string_map["IFCTASKTIMERECURRING" ] = Type::IfcTaskTimeRecurring; + string_map["IFCTASKTYPE" ] = Type::IfcTaskType; + string_map["IFCTASKTYPEENUM" ] = Type::IfcTaskTypeEnum; + string_map["IFCTELECOMADDRESS" ] = Type::IfcTelecomAddress; + string_map["IFCTEMPERATUREGRADIENTMEASURE" ] = Type::IfcTemperatureGradientMeasure; + string_map["IFCTEMPERATURERATEOFCHANGEMEASURE" ] = Type::IfcTemperatureRateOfChangeMeasure; + string_map["IFCTENDON" ] = Type::IfcTendon; + string_map["IFCTENDONANCHOR" ] = Type::IfcTendonAnchor; + string_map["IFCTENDONANCHORTYPE" ] = Type::IfcTendonAnchorType; + string_map["IFCTENDONANCHORTYPEENUM" ] = Type::IfcTendonAnchorTypeEnum; + string_map["IFCTENDONTYPE" ] = Type::IfcTendonType; + string_map["IFCTENDONTYPEENUM" ] = Type::IfcTendonTypeEnum; + string_map["IFCTESSELLATEDFACESET" ] = Type::IfcTessellatedFaceSet; + string_map["IFCTESSELLATEDITEM" ] = Type::IfcTessellatedItem; + string_map["IFCTEXT" ] = Type::IfcText; + string_map["IFCTEXTALIGNMENT" ] = Type::IfcTextAlignment; + string_map["IFCTEXTDECORATION" ] = Type::IfcTextDecoration; + string_map["IFCTEXTFONTNAME" ] = Type::IfcTextFontName; + string_map["IFCTEXTFONTSELECT" ] = Type::IfcTextFontSelect; + string_map["IFCTEXTLITERAL" ] = Type::IfcTextLiteral; + string_map["IFCTEXTLITERALWITHEXTENT" ] = Type::IfcTextLiteralWithExtent; + string_map["IFCTEXTPATH" ] = Type::IfcTextPath; + string_map["IFCTEXTSTYLE" ] = Type::IfcTextStyle; + string_map["IFCTEXTSTYLEFONTMODEL" ] = Type::IfcTextStyleFontModel; + string_map["IFCTEXTSTYLEFORDEFINEDFONT" ] = Type::IfcTextStyleForDefinedFont; + string_map["IFCTEXTSTYLETEXTMODEL" ] = Type::IfcTextStyleTextModel; + string_map["IFCTEXTTRANSFORMATION" ] = Type::IfcTextTransformation; + string_map["IFCTEXTURECOORDINATE" ] = Type::IfcTextureCoordinate; + string_map["IFCTEXTURECOORDINATEGENERATOR" ] = Type::IfcTextureCoordinateGenerator; + string_map["IFCTEXTUREMAP" ] = Type::IfcTextureMap; + string_map["IFCTEXTUREVERTEX" ] = Type::IfcTextureVertex; + string_map["IFCTEXTUREVERTEXLIST" ] = Type::IfcTextureVertexList; + string_map["IFCTHERMALADMITTANCEMEASURE" ] = Type::IfcThermalAdmittanceMeasure; + string_map["IFCTHERMALCONDUCTIVITYMEASURE" ] = Type::IfcThermalConductivityMeasure; + string_map["IFCTHERMALEXPANSIONCOEFFICIENTMEASURE" ] = Type::IfcThermalExpansionCoefficientMeasure; + string_map["IFCTHERMALRESISTANCEMEASURE" ] = Type::IfcThermalResistanceMeasure; + string_map["IFCTHERMALTRANSMITTANCEMEASURE" ] = Type::IfcThermalTransmittanceMeasure; + string_map["IFCTHERMODYNAMICTEMPERATUREMEASURE" ] = Type::IfcThermodynamicTemperatureMeasure; + string_map["IFCTIME" ] = Type::IfcTime; + string_map["IFCTIMEMEASURE" ] = Type::IfcTimeMeasure; + string_map["IFCTIMEORRATIOSELECT" ] = Type::IfcTimeOrRatioSelect; + string_map["IFCTIMEPERIOD" ] = Type::IfcTimePeriod; + string_map["IFCTIMESERIES" ] = Type::IfcTimeSeries; + string_map["IFCTIMESERIESDATATYPEENUM" ] = Type::IfcTimeSeriesDataTypeEnum; + string_map["IFCTIMESERIESVALUE" ] = Type::IfcTimeSeriesValue; + string_map["IFCTIMESTAMP" ] = Type::IfcTimeStamp; + string_map["IFCTOPOLOGICALREPRESENTATIONITEM" ] = Type::IfcTopologicalRepresentationItem; + string_map["IFCTOPOLOGYREPRESENTATION" ] = Type::IfcTopologyRepresentation; + string_map["IFCTORQUEMEASURE" ] = Type::IfcTorqueMeasure; + string_map["IFCTRANSFORMER" ] = Type::IfcTransformer; + string_map["IFCTRANSFORMERTYPE" ] = Type::IfcTransformerType; + string_map["IFCTRANSFORMERTYPEENUM" ] = Type::IfcTransformerTypeEnum; + string_map["IFCTRANSITIONCODE" ] = Type::IfcTransitionCode; + string_map["IFCTRANSLATIONALSTIFFNESSSELECT" ] = Type::IfcTranslationalStiffnessSelect; + string_map["IFCTRANSPORTELEMENT" ] = Type::IfcTransportElement; + string_map["IFCTRANSPORTELEMENTTYPE" ] = Type::IfcTransportElementType; + string_map["IFCTRANSPORTELEMENTTYPEENUM" ] = Type::IfcTransportElementTypeEnum; + string_map["IFCTRAPEZIUMPROFILEDEF" ] = Type::IfcTrapeziumProfileDef; + string_map["IFCTRIANGULATEDFACESET" ] = Type::IfcTriangulatedFaceSet; + string_map["IFCTRIMMEDCURVE" ] = Type::IfcTrimmedCurve; + string_map["IFCTRIMMINGPREFERENCE" ] = Type::IfcTrimmingPreference; + string_map["IFCTRIMMINGSELECT" ] = Type::IfcTrimmingSelect; + string_map["IFCTUBEBUNDLE" ] = Type::IfcTubeBundle; + string_map["IFCTUBEBUNDLETYPE" ] = Type::IfcTubeBundleType; + string_map["IFCTUBEBUNDLETYPEENUM" ] = Type::IfcTubeBundleTypeEnum; + string_map["IFCTYPEOBJECT" ] = Type::IfcTypeObject; + string_map["IFCTYPEPROCESS" ] = Type::IfcTypeProcess; + string_map["IFCTYPEPRODUCT" ] = Type::IfcTypeProduct; + string_map["IFCTYPERESOURCE" ] = Type::IfcTypeResource; + string_map["IFCURIREFERENCE" ] = Type::IfcURIReference; + string_map["IFCUSHAPEPROFILEDEF" ] = Type::IfcUShapeProfileDef; + string_map["IFCUNIT" ] = Type::IfcUnit; + string_map["IFCUNITASSIGNMENT" ] = Type::IfcUnitAssignment; + string_map["IFCUNITENUM" ] = Type::IfcUnitEnum; + string_map["IFCUNITARYCONTROLELEMENT" ] = Type::IfcUnitaryControlElement; + string_map["IFCUNITARYCONTROLELEMENTTYPE" ] = Type::IfcUnitaryControlElementType; + string_map["IFCUNITARYCONTROLELEMENTTYPEENUM" ] = Type::IfcUnitaryControlElementTypeEnum; + string_map["IFCUNITARYEQUIPMENT" ] = Type::IfcUnitaryEquipment; + string_map["IFCUNITARYEQUIPMENTTYPE" ] = Type::IfcUnitaryEquipmentType; + string_map["IFCUNITARYEQUIPMENTTYPEENUM" ] = Type::IfcUnitaryEquipmentTypeEnum; + string_map["IFCVALUE" ] = Type::IfcValue; + string_map["IFCVALVE" ] = Type::IfcValve; + string_map["IFCVALVETYPE" ] = Type::IfcValveType; + string_map["IFCVALVETYPEENUM" ] = Type::IfcValveTypeEnum; + string_map["IFCVAPORPERMEABILITYMEASURE" ] = Type::IfcVaporPermeabilityMeasure; + string_map["IFCVECTOR" ] = Type::IfcVector; + string_map["IFCVECTORORDIRECTION" ] = Type::IfcVectorOrDirection; + string_map["IFCVERTEX" ] = Type::IfcVertex; + string_map["IFCVERTEXLOOP" ] = Type::IfcVertexLoop; + string_map["IFCVERTEXPOINT" ] = Type::IfcVertexPoint; + string_map["IFCVIBRATIONISOLATOR" ] = Type::IfcVibrationIsolator; + string_map["IFCVIBRATIONISOLATORTYPE" ] = Type::IfcVibrationIsolatorType; + string_map["IFCVIBRATIONISOLATORTYPEENUM" ] = Type::IfcVibrationIsolatorTypeEnum; + string_map["IFCVIRTUALELEMENT" ] = Type::IfcVirtualElement; + string_map["IFCVIRTUALGRIDINTERSECTION" ] = Type::IfcVirtualGridIntersection; + string_map["IFCVOIDINGFEATURE" ] = Type::IfcVoidingFeature; + string_map["IFCVOIDINGFEATURETYPEENUM" ] = Type::IfcVoidingFeatureTypeEnum; + string_map["IFCVOLUMEMEASURE" ] = Type::IfcVolumeMeasure; + string_map["IFCVOLUMETRICFLOWRATEMEASURE" ] = Type::IfcVolumetricFlowRateMeasure; + string_map["IFCWALL" ] = Type::IfcWall; + string_map["IFCWALLELEMENTEDCASE" ] = Type::IfcWallElementedCase; + string_map["IFCWALLSTANDARDCASE" ] = Type::IfcWallStandardCase; + string_map["IFCWALLTYPE" ] = Type::IfcWallType; + string_map["IFCWALLTYPEENUM" ] = Type::IfcWallTypeEnum; + string_map["IFCWARPINGCONSTANTMEASURE" ] = Type::IfcWarpingConstantMeasure; + string_map["IFCWARPINGMOMENTMEASURE" ] = Type::IfcWarpingMomentMeasure; + string_map["IFCWARPINGSTIFFNESSSELECT" ] = Type::IfcWarpingStiffnessSelect; + string_map["IFCWASTETERMINAL" ] = Type::IfcWasteTerminal; + string_map["IFCWASTETERMINALTYPE" ] = Type::IfcWasteTerminalType; + string_map["IFCWASTETERMINALTYPEENUM" ] = Type::IfcWasteTerminalTypeEnum; + string_map["IFCWINDOW" ] = Type::IfcWindow; + string_map["IFCWINDOWLININGPROPERTIES" ] = Type::IfcWindowLiningProperties; + string_map["IFCWINDOWPANELOPERATIONENUM" ] = Type::IfcWindowPanelOperationEnum; + string_map["IFCWINDOWPANELPOSITIONENUM" ] = Type::IfcWindowPanelPositionEnum; + string_map["IFCWINDOWPANELPROPERTIES" ] = Type::IfcWindowPanelProperties; + string_map["IFCWINDOWSTANDARDCASE" ] = Type::IfcWindowStandardCase; + string_map["IFCWINDOWSTYLE" ] = Type::IfcWindowStyle; + string_map["IFCWINDOWSTYLECONSTRUCTIONENUM" ] = Type::IfcWindowStyleConstructionEnum; + string_map["IFCWINDOWSTYLEOPERATIONENUM" ] = Type::IfcWindowStyleOperationEnum; + string_map["IFCWINDOWTYPE" ] = Type::IfcWindowType; + string_map["IFCWINDOWTYPEENUM" ] = Type::IfcWindowTypeEnum; + string_map["IFCWINDOWTYPEPARTITIONINGENUM" ] = Type::IfcWindowTypePartitioningEnum; + string_map["IFCWORKCALENDAR" ] = Type::IfcWorkCalendar; + string_map["IFCWORKCALENDARTYPEENUM" ] = Type::IfcWorkCalendarTypeEnum; + string_map["IFCWORKCONTROL" ] = Type::IfcWorkControl; + string_map["IFCWORKPLAN" ] = Type::IfcWorkPlan; + string_map["IFCWORKPLANTYPEENUM" ] = Type::IfcWorkPlanTypeEnum; + string_map["IFCWORKSCHEDULE" ] = Type::IfcWorkSchedule; + string_map["IFCWORKSCHEDULETYPEENUM" ] = Type::IfcWorkScheduleTypeEnum; + string_map["IFCWORKTIME" ] = Type::IfcWorkTime; + string_map["IFCZSHAPEPROFILEDEF" ] = Type::IfcZShapeProfileDef; + string_map["IFCZONE" ] = Type::IfcZone; } Type::Enum Type::FromString(const std::string& s) { + if (string_map.empty()) InitStringMap(); std::map::const_iterator it = string_map.find(s); if ( it == string_map.end() ) throw IfcException("Unable to find find keyword in schema"); else return it->second; } Type::Enum Type::Parent(Enum v){ - if (v < 0 || v >= 882) return (Enum)-1; - if(v==IfcActionRequest ) { return IfcControl; } - if(v==IfcActor ) { return IfcObject; } - if(v==IfcActuator ) { return IfcDistributionControlElement; } - if(v==IfcActuatorType ) { return IfcDistributionControlElementType; } - if(v==IfcAdvancedBrep ) { return IfcManifoldSolidBrep; } - if(v==IfcAdvancedBrepWithVoids ) { return IfcAdvancedBrep; } - if(v==IfcAdvancedFace ) { return IfcFaceSurface; } - if(v==IfcAirTerminal ) { return IfcFlowTerminal; } - if(v==IfcAirTerminalBox ) { return IfcFlowController; } - if(v==IfcAirTerminalBoxType ) { return IfcFlowControllerType; } - if(v==IfcAirTerminalType ) { return IfcFlowTerminalType; } - if(v==IfcAirToAirHeatRecovery ) { return IfcEnergyConversionDevice; } - if(v==IfcAirToAirHeatRecoveryType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcAlarm ) { return IfcDistributionControlElement; } - if(v==IfcAlarmType ) { return IfcDistributionControlElementType; } - if(v==IfcAnnotation ) { return IfcProduct; } - if(v==IfcAnnotationFillArea ) { return IfcGeometricRepresentationItem; } - if(v==IfcApprovalRelationship ) { return IfcResourceLevelRelationship; } - if(v==IfcArbitraryClosedProfileDef ) { return IfcProfileDef; } - if(v==IfcArbitraryOpenProfileDef ) { return IfcProfileDef; } - if(v==IfcArbitraryProfileDefWithVoids ) { return IfcArbitraryClosedProfileDef; } - if(v==IfcAsset ) { return IfcGroup; } - if(v==IfcAsymmetricIShapeProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcAudioVisualAppliance ) { return IfcFlowTerminal; } - if(v==IfcAudioVisualApplianceType ) { return IfcFlowTerminalType; } - if(v==IfcAxis1Placement ) { return IfcPlacement; } - if(v==IfcAxis2Placement2D ) { return IfcPlacement; } - if(v==IfcAxis2Placement3D ) { return IfcPlacement; } - if(v==IfcBSplineCurve ) { return IfcBoundedCurve; } - if(v==IfcBSplineCurveWithKnots ) { return IfcBSplineCurve; } - if(v==IfcBSplineSurface ) { return IfcBoundedSurface; } - if(v==IfcBSplineSurfaceWithKnots ) { return IfcBSplineSurface; } - if(v==IfcBeam ) { return IfcBuildingElement; } - if(v==IfcBeamStandardCase ) { return IfcBeam; } - if(v==IfcBeamType ) { return IfcBuildingElementType; } - if(v==IfcBlobTexture ) { return IfcSurfaceTexture; } - if(v==IfcBlock ) { return IfcCsgPrimitive3D; } - if(v==IfcBoiler ) { return IfcEnergyConversionDevice; } - if(v==IfcBoilerType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcBooleanClippingResult ) { return IfcBooleanResult; } - if(v==IfcBooleanResult ) { return IfcGeometricRepresentationItem; } - if(v==IfcBoundaryCurve ) { return IfcCompositeCurveOnSurface; } - if(v==IfcBoundaryEdgeCondition ) { return IfcBoundaryCondition; } - if(v==IfcBoundaryFaceCondition ) { return IfcBoundaryCondition; } - if(v==IfcBoundaryNodeCondition ) { return IfcBoundaryCondition; } - if(v==IfcBoundaryNodeConditionWarping ) { return IfcBoundaryNodeCondition; } - if(v==IfcBoundedCurve ) { return IfcCurve; } - if(v==IfcBoundedSurface ) { return IfcSurface; } - if(v==IfcBoundingBox ) { return IfcGeometricRepresentationItem; } - if(v==IfcBoxedHalfSpace ) { return IfcHalfSpaceSolid; } - if(v==IfcBuilding ) { return IfcSpatialStructureElement; } - if(v==IfcBuildingElement ) { return IfcElement; } - if(v==IfcBuildingElementPart ) { return IfcElementComponent; } - if(v==IfcBuildingElementPartType ) { return IfcElementComponentType; } - if(v==IfcBuildingElementProxy ) { return IfcBuildingElement; } - if(v==IfcBuildingElementProxyType ) { return IfcBuildingElementType; } - if(v==IfcBuildingElementType ) { return IfcElementType; } - if(v==IfcBuildingStorey ) { return IfcSpatialStructureElement; } - if(v==IfcBuildingSystem ) { return IfcSystem; } - if(v==IfcBurner ) { return IfcEnergyConversionDevice; } - if(v==IfcBurnerType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcCShapeProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcCableCarrierFitting ) { return IfcFlowFitting; } - if(v==IfcCableCarrierFittingType ) { return IfcFlowFittingType; } - if(v==IfcCableCarrierSegment ) { return IfcFlowSegment; } - if(v==IfcCableCarrierSegmentType ) { return IfcFlowSegmentType; } - if(v==IfcCableFitting ) { return IfcFlowFitting; } - if(v==IfcCableFittingType ) { return IfcFlowFittingType; } - if(v==IfcCableSegment ) { return IfcFlowSegment; } - if(v==IfcCableSegmentType ) { return IfcFlowSegmentType; } - if(v==IfcCartesianPoint ) { return IfcPoint; } - if(v==IfcCartesianPointList ) { return IfcGeometricRepresentationItem; } - if(v==IfcCartesianPointList3D ) { return IfcCartesianPointList; } - if(v==IfcCartesianTransformationOperator ) { return IfcGeometricRepresentationItem; } - if(v==IfcCartesianTransformationOperator2D ) { return IfcCartesianTransformationOperator; } - if(v==IfcCartesianTransformationOperator2DnonUniform) { return IfcCartesianTransformationOperator2D; } - if(v==IfcCartesianTransformationOperator3D ) { return IfcCartesianTransformationOperator; } - if(v==IfcCartesianTransformationOperator3DnonUniform) { return IfcCartesianTransformationOperator3D; } - if(v==IfcCenterLineProfileDef ) { return IfcArbitraryOpenProfileDef; } - if(v==IfcChiller ) { return IfcEnergyConversionDevice; } - if(v==IfcChillerType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcChimney ) { return IfcBuildingElement; } - if(v==IfcChimneyType ) { return IfcBuildingElementType; } - if(v==IfcCircle ) { return IfcConic; } - if(v==IfcCircleHollowProfileDef ) { return IfcCircleProfileDef; } - if(v==IfcCircleProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcCivilElement ) { return IfcElement; } - if(v==IfcCivilElementType ) { return IfcElementType; } - if(v==IfcClassification ) { return IfcExternalInformation; } - if(v==IfcClassificationReference ) { return IfcExternalReference; } - if(v==IfcClosedShell ) { return IfcConnectedFaceSet; } - if(v==IfcCoil ) { return IfcEnergyConversionDevice; } - if(v==IfcCoilType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcColourRgb ) { return IfcColourSpecification; } - if(v==IfcColourRgbList ) { return IfcPresentationItem; } - if(v==IfcColourSpecification ) { return IfcPresentationItem; } - if(v==IfcColumn ) { return IfcBuildingElement; } - if(v==IfcColumnStandardCase ) { return IfcColumn; } - if(v==IfcColumnType ) { return IfcBuildingElementType; } - if(v==IfcCommunicationsAppliance ) { return IfcFlowTerminal; } - if(v==IfcCommunicationsApplianceType ) { return IfcFlowTerminalType; } - if(v==IfcComplexProperty ) { return IfcProperty; } - if(v==IfcComplexPropertyTemplate ) { return IfcPropertyTemplate; } - if(v==IfcCompositeCurve ) { return IfcBoundedCurve; } - if(v==IfcCompositeCurveOnSurface ) { return IfcCompositeCurve; } - if(v==IfcCompositeCurveSegment ) { return IfcGeometricRepresentationItem; } - if(v==IfcCompositeProfileDef ) { return IfcProfileDef; } - if(v==IfcCompressor ) { return IfcFlowMovingDevice; } - if(v==IfcCompressorType ) { return IfcFlowMovingDeviceType; } - if(v==IfcCondenser ) { return IfcEnergyConversionDevice; } - if(v==IfcCondenserType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcConic ) { return IfcCurve; } - if(v==IfcConnectedFaceSet ) { return IfcTopologicalRepresentationItem; } - if(v==IfcConnectionCurveGeometry ) { return IfcConnectionGeometry; } - if(v==IfcConnectionPointEccentricity ) { return IfcConnectionPointGeometry; } - if(v==IfcConnectionPointGeometry ) { return IfcConnectionGeometry; } - if(v==IfcConnectionSurfaceGeometry ) { return IfcConnectionGeometry; } - if(v==IfcConnectionVolumeGeometry ) { return IfcConnectionGeometry; } - if(v==IfcConstructionEquipmentResource ) { return IfcConstructionResource; } - if(v==IfcConstructionEquipmentResourceType ) { return IfcConstructionResourceType; } - if(v==IfcConstructionMaterialResource ) { return IfcConstructionResource; } - if(v==IfcConstructionMaterialResourceType ) { return IfcConstructionResourceType; } - if(v==IfcConstructionProductResource ) { return IfcConstructionResource; } - if(v==IfcConstructionProductResourceType ) { return IfcConstructionResourceType; } - if(v==IfcConstructionResource ) { return IfcResource; } - if(v==IfcConstructionResourceType ) { return IfcTypeResource; } - if(v==IfcContext ) { return IfcObjectDefinition; } - if(v==IfcContextDependentUnit ) { return IfcNamedUnit; } - if(v==IfcControl ) { return IfcObject; } - if(v==IfcController ) { return IfcDistributionControlElement; } - if(v==IfcControllerType ) { return IfcDistributionControlElementType; } - if(v==IfcConversionBasedUnit ) { return IfcNamedUnit; } - if(v==IfcConversionBasedUnitWithOffset ) { return IfcConversionBasedUnit; } - if(v==IfcCooledBeam ) { return IfcEnergyConversionDevice; } - if(v==IfcCooledBeamType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcCoolingTower ) { return IfcEnergyConversionDevice; } - if(v==IfcCoolingTowerType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcCostItem ) { return IfcControl; } - if(v==IfcCostSchedule ) { return IfcControl; } - if(v==IfcCostValue ) { return IfcAppliedValue; } - if(v==IfcCovering ) { return IfcBuildingElement; } - if(v==IfcCoveringType ) { return IfcBuildingElementType; } - if(v==IfcCrewResource ) { return IfcConstructionResource; } - if(v==IfcCrewResourceType ) { return IfcConstructionResourceType; } - if(v==IfcCsgPrimitive3D ) { return IfcGeometricRepresentationItem; } - if(v==IfcCsgSolid ) { return IfcSolidModel; } - if(v==IfcCurrencyRelationship ) { return IfcResourceLevelRelationship; } - if(v==IfcCurtainWall ) { return IfcBuildingElement; } - if(v==IfcCurtainWallType ) { return IfcBuildingElementType; } - if(v==IfcCurve ) { return IfcGeometricRepresentationItem; } - if(v==IfcCurveBoundedPlane ) { return IfcBoundedSurface; } - if(v==IfcCurveBoundedSurface ) { return IfcBoundedSurface; } - if(v==IfcCurveStyle ) { return IfcPresentationStyle; } - if(v==IfcCurveStyleFont ) { return IfcPresentationItem; } - if(v==IfcCurveStyleFontAndScaling ) { return IfcPresentationItem; } - if(v==IfcCurveStyleFontPattern ) { return IfcPresentationItem; } - if(v==IfcCylindricalSurface ) { return IfcElementarySurface; } - if(v==IfcDamper ) { return IfcFlowController; } - if(v==IfcDamperType ) { return IfcFlowControllerType; } - if(v==IfcDerivedProfileDef ) { return IfcProfileDef; } - if(v==IfcDirection ) { return IfcGeometricRepresentationItem; } - if(v==IfcDiscreteAccessory ) { return IfcElementComponent; } - if(v==IfcDiscreteAccessoryType ) { return IfcElementComponentType; } - if(v==IfcDistributionChamberElement ) { return IfcDistributionFlowElement; } - if(v==IfcDistributionChamberElementType ) { return IfcDistributionFlowElementType; } - if(v==IfcDistributionCircuit ) { return IfcDistributionSystem; } - if(v==IfcDistributionControlElement ) { return IfcDistributionElement; } - if(v==IfcDistributionControlElementType ) { return IfcDistributionElementType; } - if(v==IfcDistributionElement ) { return IfcElement; } - if(v==IfcDistributionElementType ) { return IfcElementType; } - if(v==IfcDistributionFlowElement ) { return IfcDistributionElement; } - if(v==IfcDistributionFlowElementType ) { return IfcDistributionElementType; } - if(v==IfcDistributionPort ) { return IfcPort; } - if(v==IfcDistributionSystem ) { return IfcSystem; } - if(v==IfcDocumentInformation ) { return IfcExternalInformation; } - if(v==IfcDocumentInformationRelationship ) { return IfcResourceLevelRelationship; } - if(v==IfcDocumentReference ) { return IfcExternalReference; } - if(v==IfcDoor ) { return IfcBuildingElement; } - if(v==IfcDoorLiningProperties ) { return IfcPreDefinedPropertySet; } - if(v==IfcDoorPanelProperties ) { return IfcPreDefinedPropertySet; } - if(v==IfcDoorStandardCase ) { return IfcDoor; } - if(v==IfcDoorStyle ) { return IfcTypeProduct; } - if(v==IfcDoorType ) { return IfcBuildingElementType; } - if(v==IfcDraughtingPreDefinedColour ) { return IfcPreDefinedColour; } - if(v==IfcDraughtingPreDefinedCurveFont ) { return IfcPreDefinedCurveFont; } - if(v==IfcDuctFitting ) { return IfcFlowFitting; } - if(v==IfcDuctFittingType ) { return IfcFlowFittingType; } - if(v==IfcDuctSegment ) { return IfcFlowSegment; } - if(v==IfcDuctSegmentType ) { return IfcFlowSegmentType; } - if(v==IfcDuctSilencer ) { return IfcFlowTreatmentDevice; } - if(v==IfcDuctSilencerType ) { return IfcFlowTreatmentDeviceType; } - if(v==IfcEdge ) { return IfcTopologicalRepresentationItem; } - if(v==IfcEdgeCurve ) { return IfcEdge; } - if(v==IfcEdgeLoop ) { return IfcLoop; } - if(v==IfcElectricAppliance ) { return IfcFlowTerminal; } - if(v==IfcElectricApplianceType ) { return IfcFlowTerminalType; } - if(v==IfcElectricDistributionBoard ) { return IfcFlowController; } - if(v==IfcElectricDistributionBoardType ) { return IfcFlowControllerType; } - if(v==IfcElectricFlowStorageDevice ) { return IfcFlowStorageDevice; } - if(v==IfcElectricFlowStorageDeviceType ) { return IfcFlowStorageDeviceType; } - if(v==IfcElectricGenerator ) { return IfcEnergyConversionDevice; } - if(v==IfcElectricGeneratorType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcElectricMotor ) { return IfcEnergyConversionDevice; } - if(v==IfcElectricMotorType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcElectricTimeControl ) { return IfcFlowController; } - if(v==IfcElectricTimeControlType ) { return IfcFlowControllerType; } - if(v==IfcElement ) { return IfcProduct; } - if(v==IfcElementAssembly ) { return IfcElement; } - if(v==IfcElementAssemblyType ) { return IfcElementType; } - if(v==IfcElementComponent ) { return IfcElement; } - if(v==IfcElementComponentType ) { return IfcElementType; } - if(v==IfcElementQuantity ) { return IfcQuantitySet; } - if(v==IfcElementType ) { return IfcTypeProduct; } - if(v==IfcElementarySurface ) { return IfcSurface; } - if(v==IfcEllipse ) { return IfcConic; } - if(v==IfcEllipseProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcEnergyConversionDevice ) { return IfcDistributionFlowElement; } - if(v==IfcEnergyConversionDeviceType ) { return IfcDistributionFlowElementType; } - if(v==IfcEngine ) { return IfcEnergyConversionDevice; } - if(v==IfcEngineType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcEvaporativeCooler ) { return IfcEnergyConversionDevice; } - if(v==IfcEvaporativeCoolerType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcEvaporator ) { return IfcEnergyConversionDevice; } - if(v==IfcEvaporatorType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcEvent ) { return IfcProcess; } - if(v==IfcEventTime ) { return IfcSchedulingTime; } - if(v==IfcEventType ) { return IfcTypeProcess; } - if(v==IfcExtendedProperties ) { return IfcPropertyAbstraction; } - if(v==IfcExternalReferenceRelationship ) { return IfcResourceLevelRelationship; } - if(v==IfcExternalSpatialElement ) { return IfcExternalSpatialStructureElement; } - if(v==IfcExternalSpatialStructureElement ) { return IfcSpatialElement; } - if(v==IfcExternallyDefinedHatchStyle ) { return IfcExternalReference; } - if(v==IfcExternallyDefinedSurfaceStyle ) { return IfcExternalReference; } - if(v==IfcExternallyDefinedTextFont ) { return IfcExternalReference; } - if(v==IfcExtrudedAreaSolid ) { return IfcSweptAreaSolid; } - if(v==IfcExtrudedAreaSolidTapered ) { return IfcExtrudedAreaSolid; } - if(v==IfcFace ) { return IfcTopologicalRepresentationItem; } - if(v==IfcFaceBasedSurfaceModel ) { return IfcGeometricRepresentationItem; } - if(v==IfcFaceBound ) { return IfcTopologicalRepresentationItem; } - if(v==IfcFaceOuterBound ) { return IfcFaceBound; } - if(v==IfcFaceSurface ) { return IfcFace; } - if(v==IfcFacetedBrep ) { return IfcManifoldSolidBrep; } - if(v==IfcFacetedBrepWithVoids ) { return IfcFacetedBrep; } - if(v==IfcFailureConnectionCondition ) { return IfcStructuralConnectionCondition; } - if(v==IfcFan ) { return IfcFlowMovingDevice; } - if(v==IfcFanType ) { return IfcFlowMovingDeviceType; } - if(v==IfcFastener ) { return IfcElementComponent; } - if(v==IfcFastenerType ) { return IfcElementComponentType; } - if(v==IfcFeatureElement ) { return IfcElement; } - if(v==IfcFeatureElementAddition ) { return IfcFeatureElement; } - if(v==IfcFeatureElementSubtraction ) { return IfcFeatureElement; } - if(v==IfcFillAreaStyle ) { return IfcPresentationStyle; } - if(v==IfcFillAreaStyleHatching ) { return IfcGeometricRepresentationItem; } - if(v==IfcFillAreaStyleTiles ) { return IfcGeometricRepresentationItem; } - if(v==IfcFilter ) { return IfcFlowTreatmentDevice; } - if(v==IfcFilterType ) { return IfcFlowTreatmentDeviceType; } - if(v==IfcFireSuppressionTerminal ) { return IfcFlowTerminal; } - if(v==IfcFireSuppressionTerminalType ) { return IfcFlowTerminalType; } - if(v==IfcFixedReferenceSweptAreaSolid ) { return IfcSweptAreaSolid; } - if(v==IfcFlowController ) { return IfcDistributionFlowElement; } - if(v==IfcFlowControllerType ) { return IfcDistributionFlowElementType; } - if(v==IfcFlowFitting ) { return IfcDistributionFlowElement; } - if(v==IfcFlowFittingType ) { return IfcDistributionFlowElementType; } - if(v==IfcFlowInstrument ) { return IfcDistributionControlElement; } - if(v==IfcFlowInstrumentType ) { return IfcDistributionControlElementType; } - if(v==IfcFlowMeter ) { return IfcFlowController; } - if(v==IfcFlowMeterType ) { return IfcFlowControllerType; } - if(v==IfcFlowMovingDevice ) { return IfcDistributionFlowElement; } - if(v==IfcFlowMovingDeviceType ) { return IfcDistributionFlowElementType; } - if(v==IfcFlowSegment ) { return IfcDistributionFlowElement; } - if(v==IfcFlowSegmentType ) { return IfcDistributionFlowElementType; } - if(v==IfcFlowStorageDevice ) { return IfcDistributionFlowElement; } - if(v==IfcFlowStorageDeviceType ) { return IfcDistributionFlowElementType; } - if(v==IfcFlowTerminal ) { return IfcDistributionFlowElement; } - if(v==IfcFlowTerminalType ) { return IfcDistributionFlowElementType; } - if(v==IfcFlowTreatmentDevice ) { return IfcDistributionFlowElement; } - if(v==IfcFlowTreatmentDeviceType ) { return IfcDistributionFlowElementType; } - if(v==IfcFooting ) { return IfcBuildingElement; } - if(v==IfcFootingType ) { return IfcBuildingElementType; } - if(v==IfcFurnishingElement ) { return IfcElement; } - if(v==IfcFurnishingElementType ) { return IfcElementType; } - if(v==IfcFurniture ) { return IfcFurnishingElement; } - if(v==IfcFurnitureType ) { return IfcFurnishingElementType; } - if(v==IfcGeographicElement ) { return IfcElement; } - if(v==IfcGeographicElementType ) { return IfcElementType; } - if(v==IfcGeometricCurveSet ) { return IfcGeometricSet; } - if(v==IfcGeometricRepresentationContext ) { return IfcRepresentationContext; } - if(v==IfcGeometricRepresentationItem ) { return IfcRepresentationItem; } - if(v==IfcGeometricRepresentationSubContext ) { return IfcGeometricRepresentationContext; } - if(v==IfcGeometricSet ) { return IfcGeometricRepresentationItem; } - if(v==IfcGrid ) { return IfcProduct; } - if(v==IfcGridPlacement ) { return IfcObjectPlacement; } - if(v==IfcGroup ) { return IfcObject; } - if(v==IfcHalfSpaceSolid ) { return IfcGeometricRepresentationItem; } - if(v==IfcHeatExchanger ) { return IfcEnergyConversionDevice; } - if(v==IfcHeatExchangerType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcHumidifier ) { return IfcEnergyConversionDevice; } - if(v==IfcHumidifierType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcIShapeProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcImageTexture ) { return IfcSurfaceTexture; } - if(v==IfcIndexedColourMap ) { return IfcPresentationItem; } - if(v==IfcIndexedTextureMap ) { return IfcTextureCoordinate; } - if(v==IfcIndexedTriangleTextureMap ) { return IfcIndexedTextureMap; } - if(v==IfcInterceptor ) { return IfcFlowTreatmentDevice; } - if(v==IfcInterceptorType ) { return IfcFlowTreatmentDeviceType; } - if(v==IfcInventory ) { return IfcGroup; } - if(v==IfcIrregularTimeSeries ) { return IfcTimeSeries; } - if(v==IfcJunctionBox ) { return IfcFlowFitting; } - if(v==IfcJunctionBoxType ) { return IfcFlowFittingType; } - if(v==IfcLShapeProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcLaborResource ) { return IfcConstructionResource; } - if(v==IfcLaborResourceType ) { return IfcConstructionResourceType; } - if(v==IfcLagTime ) { return IfcSchedulingTime; } - if(v==IfcLamp ) { return IfcFlowTerminal; } - if(v==IfcLampType ) { return IfcFlowTerminalType; } - if(v==IfcLibraryInformation ) { return IfcExternalInformation; } - if(v==IfcLibraryReference ) { return IfcExternalReference; } - if(v==IfcLightFixture ) { return IfcFlowTerminal; } - if(v==IfcLightFixtureType ) { return IfcFlowTerminalType; } - if(v==IfcLightSource ) { return IfcGeometricRepresentationItem; } - if(v==IfcLightSourceAmbient ) { return IfcLightSource; } - if(v==IfcLightSourceDirectional ) { return IfcLightSource; } - if(v==IfcLightSourceGoniometric ) { return IfcLightSource; } - if(v==IfcLightSourcePositional ) { return IfcLightSource; } - if(v==IfcLightSourceSpot ) { return IfcLightSourcePositional; } - if(v==IfcLine ) { return IfcCurve; } - if(v==IfcLocalPlacement ) { return IfcObjectPlacement; } - if(v==IfcLoop ) { return IfcTopologicalRepresentationItem; } - if(v==IfcManifoldSolidBrep ) { return IfcSolidModel; } - if(v==IfcMapConversion ) { return IfcCoordinateOperation; } - if(v==IfcMappedItem ) { return IfcRepresentationItem; } - if(v==IfcMaterial ) { return IfcMaterialDefinition; } - if(v==IfcMaterialConstituent ) { return IfcMaterialDefinition; } - if(v==IfcMaterialConstituentSet ) { return IfcMaterialDefinition; } - if(v==IfcMaterialDefinitionRepresentation ) { return IfcProductRepresentation; } - if(v==IfcMaterialLayer ) { return IfcMaterialDefinition; } - if(v==IfcMaterialLayerSet ) { return IfcMaterialDefinition; } - if(v==IfcMaterialLayerSetUsage ) { return IfcMaterialUsageDefinition; } - if(v==IfcMaterialLayerWithOffsets ) { return IfcMaterialLayer; } - if(v==IfcMaterialProfile ) { return IfcMaterialDefinition; } - if(v==IfcMaterialProfileSet ) { return IfcMaterialDefinition; } - if(v==IfcMaterialProfileSetUsage ) { return IfcMaterialUsageDefinition; } - if(v==IfcMaterialProfileSetUsageTapering ) { return IfcMaterialProfileSetUsage; } - if(v==IfcMaterialProfileWithOffsets ) { return IfcMaterialProfile; } - if(v==IfcMaterialProperties ) { return IfcExtendedProperties; } - if(v==IfcMaterialRelationship ) { return IfcResourceLevelRelationship; } - if(v==IfcMechanicalFastener ) { return IfcElementComponent; } - if(v==IfcMechanicalFastenerType ) { return IfcElementComponentType; } - if(v==IfcMedicalDevice ) { return IfcFlowTerminal; } - if(v==IfcMedicalDeviceType ) { return IfcFlowTerminalType; } - if(v==IfcMember ) { return IfcBuildingElement; } - if(v==IfcMemberStandardCase ) { return IfcMember; } - if(v==IfcMemberType ) { return IfcBuildingElementType; } - if(v==IfcMetric ) { return IfcConstraint; } - if(v==IfcMirroredProfileDef ) { return IfcDerivedProfileDef; } - if(v==IfcMotorConnection ) { return IfcEnergyConversionDevice; } - if(v==IfcMotorConnectionType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcObject ) { return IfcObjectDefinition; } - if(v==IfcObjectDefinition ) { return IfcRoot; } - if(v==IfcObjective ) { return IfcConstraint; } - if(v==IfcOccupant ) { return IfcActor; } - if(v==IfcOffsetCurve2D ) { return IfcCurve; } - if(v==IfcOffsetCurve3D ) { return IfcCurve; } - if(v==IfcOpenShell ) { return IfcConnectedFaceSet; } - if(v==IfcOpeningElement ) { return IfcFeatureElementSubtraction; } - if(v==IfcOpeningStandardCase ) { return IfcOpeningElement; } - if(v==IfcOrganizationRelationship ) { return IfcResourceLevelRelationship; } - if(v==IfcOrientedEdge ) { return IfcEdge; } - if(v==IfcOuterBoundaryCurve ) { return IfcBoundaryCurve; } - if(v==IfcOutlet ) { return IfcFlowTerminal; } - if(v==IfcOutletType ) { return IfcFlowTerminalType; } - if(v==IfcParameterizedProfileDef ) { return IfcProfileDef; } - if(v==IfcPath ) { return IfcTopologicalRepresentationItem; } - if(v==IfcPcurve ) { return IfcCurve; } - if(v==IfcPerformanceHistory ) { return IfcControl; } - if(v==IfcPermeableCoveringProperties ) { return IfcPreDefinedPropertySet; } - if(v==IfcPermit ) { return IfcControl; } - if(v==IfcPhysicalComplexQuantity ) { return IfcPhysicalQuantity; } - if(v==IfcPhysicalSimpleQuantity ) { return IfcPhysicalQuantity; } - if(v==IfcPile ) { return IfcBuildingElement; } - if(v==IfcPileType ) { return IfcBuildingElementType; } - if(v==IfcPipeFitting ) { return IfcFlowFitting; } - if(v==IfcPipeFittingType ) { return IfcFlowFittingType; } - if(v==IfcPipeSegment ) { return IfcFlowSegment; } - if(v==IfcPipeSegmentType ) { return IfcFlowSegmentType; } - if(v==IfcPixelTexture ) { return IfcSurfaceTexture; } - if(v==IfcPlacement ) { return IfcGeometricRepresentationItem; } - if(v==IfcPlanarBox ) { return IfcPlanarExtent; } - if(v==IfcPlanarExtent ) { return IfcGeometricRepresentationItem; } - if(v==IfcPlane ) { return IfcElementarySurface; } - if(v==IfcPlate ) { return IfcBuildingElement; } - if(v==IfcPlateStandardCase ) { return IfcPlate; } - if(v==IfcPlateType ) { return IfcBuildingElementType; } - if(v==IfcPoint ) { return IfcGeometricRepresentationItem; } - if(v==IfcPointOnCurve ) { return IfcPoint; } - if(v==IfcPointOnSurface ) { return IfcPoint; } - if(v==IfcPolyLoop ) { return IfcLoop; } - if(v==IfcPolygonalBoundedHalfSpace ) { return IfcHalfSpaceSolid; } - if(v==IfcPolyline ) { return IfcBoundedCurve; } - if(v==IfcPort ) { return IfcProduct; } - if(v==IfcPostalAddress ) { return IfcAddress; } - if(v==IfcPreDefinedColour ) { return IfcPreDefinedItem; } - if(v==IfcPreDefinedCurveFont ) { return IfcPreDefinedItem; } - if(v==IfcPreDefinedItem ) { return IfcPresentationItem; } - if(v==IfcPreDefinedProperties ) { return IfcPropertyAbstraction; } - if(v==IfcPreDefinedPropertySet ) { return IfcPropertySetDefinition; } - if(v==IfcPreDefinedTextFont ) { return IfcPreDefinedItem; } - if(v==IfcPresentationLayerWithStyle ) { return IfcPresentationLayerAssignment; } - if(v==IfcProcedure ) { return IfcProcess; } - if(v==IfcProcedureType ) { return IfcTypeProcess; } - if(v==IfcProcess ) { return IfcObject; } - if(v==IfcProduct ) { return IfcObject; } - if(v==IfcProductDefinitionShape ) { return IfcProductRepresentation; } - if(v==IfcProfileProperties ) { return IfcExtendedProperties; } - if(v==IfcProject ) { return IfcContext; } - if(v==IfcProjectLibrary ) { return IfcContext; } - if(v==IfcProjectOrder ) { return IfcControl; } - if(v==IfcProjectedCRS ) { return IfcCoordinateReferenceSystem; } - if(v==IfcProjectionElement ) { return IfcFeatureElementAddition; } - if(v==IfcProperty ) { return IfcPropertyAbstraction; } - if(v==IfcPropertyBoundedValue ) { return IfcSimpleProperty; } - if(v==IfcPropertyDefinition ) { return IfcRoot; } - if(v==IfcPropertyDependencyRelationship ) { return IfcResourceLevelRelationship; } - if(v==IfcPropertyEnumeratedValue ) { return IfcSimpleProperty; } - if(v==IfcPropertyEnumeration ) { return IfcPropertyAbstraction; } - if(v==IfcPropertyListValue ) { return IfcSimpleProperty; } - if(v==IfcPropertyReferenceValue ) { return IfcSimpleProperty; } - if(v==IfcPropertySet ) { return IfcPropertySetDefinition; } - if(v==IfcPropertySetDefinition ) { return IfcPropertyDefinition; } - if(v==IfcPropertySetTemplate ) { return IfcPropertyTemplateDefinition; } - if(v==IfcPropertySingleValue ) { return IfcSimpleProperty; } - if(v==IfcPropertyTableValue ) { return IfcSimpleProperty; } - if(v==IfcPropertyTemplate ) { return IfcPropertyTemplateDefinition; } - if(v==IfcPropertyTemplateDefinition ) { return IfcPropertyDefinition; } - if(v==IfcProtectiveDevice ) { return IfcFlowController; } - if(v==IfcProtectiveDeviceTrippingUnit ) { return IfcDistributionControlElement; } - if(v==IfcProtectiveDeviceTrippingUnitType ) { return IfcDistributionControlElementType; } - if(v==IfcProtectiveDeviceType ) { return IfcFlowControllerType; } - if(v==IfcProxy ) { return IfcProduct; } - if(v==IfcPump ) { return IfcFlowMovingDevice; } - if(v==IfcPumpType ) { return IfcFlowMovingDeviceType; } - if(v==IfcQuantityArea ) { return IfcPhysicalSimpleQuantity; } - if(v==IfcQuantityCount ) { return IfcPhysicalSimpleQuantity; } - if(v==IfcQuantityLength ) { return IfcPhysicalSimpleQuantity; } - if(v==IfcQuantitySet ) { return IfcPropertySetDefinition; } - if(v==IfcQuantityTime ) { return IfcPhysicalSimpleQuantity; } - if(v==IfcQuantityVolume ) { return IfcPhysicalSimpleQuantity; } - if(v==IfcQuantityWeight ) { return IfcPhysicalSimpleQuantity; } - if(v==IfcRailing ) { return IfcBuildingElement; } - if(v==IfcRailingType ) { return IfcBuildingElementType; } - if(v==IfcRamp ) { return IfcBuildingElement; } - if(v==IfcRampFlight ) { return IfcBuildingElement; } - if(v==IfcRampFlightType ) { return IfcBuildingElementType; } - if(v==IfcRampType ) { return IfcBuildingElementType; } - if(v==IfcRationalBSplineCurveWithKnots ) { return IfcBSplineCurveWithKnots; } - if(v==IfcRationalBSplineSurfaceWithKnots ) { return IfcBSplineSurfaceWithKnots; } - if(v==IfcRectangleHollowProfileDef ) { return IfcRectangleProfileDef; } - if(v==IfcRectangleProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcRectangularPyramid ) { return IfcCsgPrimitive3D; } - if(v==IfcRectangularTrimmedSurface ) { return IfcBoundedSurface; } - if(v==IfcRegularTimeSeries ) { return IfcTimeSeries; } - if(v==IfcReinforcementBarProperties ) { return IfcPreDefinedProperties; } - if(v==IfcReinforcementDefinitionProperties ) { return IfcPreDefinedPropertySet; } - if(v==IfcReinforcingBar ) { return IfcReinforcingElement; } - if(v==IfcReinforcingBarType ) { return IfcReinforcingElementType; } - if(v==IfcReinforcingElement ) { return IfcElementComponent; } - if(v==IfcReinforcingElementType ) { return IfcElementComponentType; } - if(v==IfcReinforcingMesh ) { return IfcReinforcingElement; } - if(v==IfcReinforcingMeshType ) { return IfcReinforcingElementType; } - if(v==IfcRelAggregates ) { return IfcRelDecomposes; } - if(v==IfcRelAssigns ) { return IfcRelationship; } - if(v==IfcRelAssignsToActor ) { return IfcRelAssigns; } - if(v==IfcRelAssignsToControl ) { return IfcRelAssigns; } - if(v==IfcRelAssignsToGroup ) { return IfcRelAssigns; } - if(v==IfcRelAssignsToGroupByFactor ) { return IfcRelAssignsToGroup; } - if(v==IfcRelAssignsToProcess ) { return IfcRelAssigns; } - if(v==IfcRelAssignsToProduct ) { return IfcRelAssigns; } - if(v==IfcRelAssignsToResource ) { return IfcRelAssigns; } - if(v==IfcRelAssociates ) { return IfcRelationship; } - if(v==IfcRelAssociatesApproval ) { return IfcRelAssociates; } - if(v==IfcRelAssociatesClassification ) { return IfcRelAssociates; } - if(v==IfcRelAssociatesConstraint ) { return IfcRelAssociates; } - if(v==IfcRelAssociatesDocument ) { return IfcRelAssociates; } - if(v==IfcRelAssociatesLibrary ) { return IfcRelAssociates; } - if(v==IfcRelAssociatesMaterial ) { return IfcRelAssociates; } - if(v==IfcRelConnects ) { return IfcRelationship; } - if(v==IfcRelConnectsElements ) { return IfcRelConnects; } - if(v==IfcRelConnectsPathElements ) { return IfcRelConnectsElements; } - if(v==IfcRelConnectsPortToElement ) { return IfcRelConnects; } - if(v==IfcRelConnectsPorts ) { return IfcRelConnects; } - if(v==IfcRelConnectsStructuralActivity ) { return IfcRelConnects; } - if(v==IfcRelConnectsStructuralMember ) { return IfcRelConnects; } - if(v==IfcRelConnectsWithEccentricity ) { return IfcRelConnectsStructuralMember; } - if(v==IfcRelConnectsWithRealizingElements ) { return IfcRelConnectsElements; } - if(v==IfcRelContainedInSpatialStructure ) { return IfcRelConnects; } - if(v==IfcRelCoversBldgElements ) { return IfcRelConnects; } - if(v==IfcRelCoversSpaces ) { return IfcRelConnects; } - if(v==IfcRelDeclares ) { return IfcRelationship; } - if(v==IfcRelDecomposes ) { return IfcRelationship; } - if(v==IfcRelDefines ) { return IfcRelationship; } - if(v==IfcRelDefinesByObject ) { return IfcRelDefines; } - if(v==IfcRelDefinesByProperties ) { return IfcRelDefines; } - if(v==IfcRelDefinesByTemplate ) { return IfcRelDefines; } - if(v==IfcRelDefinesByType ) { return IfcRelDefines; } - if(v==IfcRelFillsElement ) { return IfcRelConnects; } - if(v==IfcRelFlowControlElements ) { return IfcRelConnects; } - if(v==IfcRelInterferesElements ) { return IfcRelConnects; } - if(v==IfcRelNests ) { return IfcRelDecomposes; } - if(v==IfcRelProjectsElement ) { return IfcRelDecomposes; } - if(v==IfcRelReferencedInSpatialStructure ) { return IfcRelConnects; } - if(v==IfcRelSequence ) { return IfcRelConnects; } - if(v==IfcRelServicesBuildings ) { return IfcRelConnects; } - if(v==IfcRelSpaceBoundary ) { return IfcRelConnects; } - if(v==IfcRelSpaceBoundary1stLevel ) { return IfcRelSpaceBoundary; } - if(v==IfcRelSpaceBoundary2ndLevel ) { return IfcRelSpaceBoundary1stLevel; } - if(v==IfcRelVoidsElement ) { return IfcRelDecomposes; } - if(v==IfcRelationship ) { return IfcRoot; } - if(v==IfcReparametrisedCompositeCurveSegment ) { return IfcCompositeCurveSegment; } - if(v==IfcResource ) { return IfcObject; } - if(v==IfcResourceApprovalRelationship ) { return IfcResourceLevelRelationship; } - if(v==IfcResourceConstraintRelationship ) { return IfcResourceLevelRelationship; } - if(v==IfcResourceTime ) { return IfcSchedulingTime; } - if(v==IfcRevolvedAreaSolid ) { return IfcSweptAreaSolid; } - if(v==IfcRevolvedAreaSolidTapered ) { return IfcRevolvedAreaSolid; } - if(v==IfcRightCircularCone ) { return IfcCsgPrimitive3D; } - if(v==IfcRightCircularCylinder ) { return IfcCsgPrimitive3D; } - if(v==IfcRoof ) { return IfcBuildingElement; } - if(v==IfcRoofType ) { return IfcBuildingElementType; } - if(v==IfcRoundedRectangleProfileDef ) { return IfcRectangleProfileDef; } - if(v==IfcSIUnit ) { return IfcNamedUnit; } - if(v==IfcSanitaryTerminal ) { return IfcFlowTerminal; } - if(v==IfcSanitaryTerminalType ) { return IfcFlowTerminalType; } - if(v==IfcSectionProperties ) { return IfcPreDefinedProperties; } - if(v==IfcSectionReinforcementProperties ) { return IfcPreDefinedProperties; } - if(v==IfcSectionedSpine ) { return IfcGeometricRepresentationItem; } - if(v==IfcSensor ) { return IfcDistributionControlElement; } - if(v==IfcSensorType ) { return IfcDistributionControlElementType; } - if(v==IfcShadingDevice ) { return IfcBuildingElement; } - if(v==IfcShadingDeviceType ) { return IfcBuildingElementType; } - if(v==IfcShapeModel ) { return IfcRepresentation; } - if(v==IfcShapeRepresentation ) { return IfcShapeModel; } - if(v==IfcShellBasedSurfaceModel ) { return IfcGeometricRepresentationItem; } - if(v==IfcSimpleProperty ) { return IfcProperty; } - if(v==IfcSimplePropertyTemplate ) { return IfcPropertyTemplate; } - if(v==IfcSite ) { return IfcSpatialStructureElement; } - if(v==IfcSlab ) { return IfcBuildingElement; } - if(v==IfcSlabElementedCase ) { return IfcSlab; } - if(v==IfcSlabStandardCase ) { return IfcSlab; } - if(v==IfcSlabType ) { return IfcBuildingElementType; } - if(v==IfcSlippageConnectionCondition ) { return IfcStructuralConnectionCondition; } - if(v==IfcSolarDevice ) { return IfcEnergyConversionDevice; } - if(v==IfcSolarDeviceType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcSolidModel ) { return IfcGeometricRepresentationItem; } - if(v==IfcSpace ) { return IfcSpatialStructureElement; } - if(v==IfcSpaceHeater ) { return IfcFlowTerminal; } - if(v==IfcSpaceHeaterType ) { return IfcFlowTerminalType; } - if(v==IfcSpaceType ) { return IfcSpatialStructureElementType; } - if(v==IfcSpatialElement ) { return IfcProduct; } - if(v==IfcSpatialElementType ) { return IfcTypeProduct; } - if(v==IfcSpatialStructureElement ) { return IfcSpatialElement; } - if(v==IfcSpatialStructureElementType ) { return IfcSpatialElementType; } - if(v==IfcSpatialZone ) { return IfcSpatialElement; } - if(v==IfcSpatialZoneType ) { return IfcSpatialElementType; } - if(v==IfcSphere ) { return IfcCsgPrimitive3D; } - if(v==IfcStackTerminal ) { return IfcFlowTerminal; } - if(v==IfcStackTerminalType ) { return IfcFlowTerminalType; } - if(v==IfcStair ) { return IfcBuildingElement; } - if(v==IfcStairFlight ) { return IfcBuildingElement; } - if(v==IfcStairFlightType ) { return IfcBuildingElementType; } - if(v==IfcStairType ) { return IfcBuildingElementType; } - if(v==IfcStructuralAction ) { return IfcStructuralActivity; } - if(v==IfcStructuralActivity ) { return IfcProduct; } - if(v==IfcStructuralAnalysisModel ) { return IfcSystem; } - if(v==IfcStructuralConnection ) { return IfcStructuralItem; } - if(v==IfcStructuralCurveAction ) { return IfcStructuralAction; } - if(v==IfcStructuralCurveConnection ) { return IfcStructuralConnection; } - if(v==IfcStructuralCurveMember ) { return IfcStructuralMember; } - if(v==IfcStructuralCurveMemberVarying ) { return IfcStructuralCurveMember; } - if(v==IfcStructuralCurveReaction ) { return IfcStructuralReaction; } - if(v==IfcStructuralItem ) { return IfcProduct; } - if(v==IfcStructuralLinearAction ) { return IfcStructuralCurveAction; } - if(v==IfcStructuralLoadCase ) { return IfcStructuralLoadGroup; } - if(v==IfcStructuralLoadConfiguration ) { return IfcStructuralLoad; } - if(v==IfcStructuralLoadGroup ) { return IfcGroup; } - if(v==IfcStructuralLoadLinearForce ) { return IfcStructuralLoadStatic; } - if(v==IfcStructuralLoadOrResult ) { return IfcStructuralLoad; } - if(v==IfcStructuralLoadPlanarForce ) { return IfcStructuralLoadStatic; } - if(v==IfcStructuralLoadSingleDisplacement ) { return IfcStructuralLoadStatic; } - if(v==IfcStructuralLoadSingleDisplacementDistortion ) { return IfcStructuralLoadSingleDisplacement; } - if(v==IfcStructuralLoadSingleForce ) { return IfcStructuralLoadStatic; } - if(v==IfcStructuralLoadSingleForceWarping ) { return IfcStructuralLoadSingleForce; } - if(v==IfcStructuralLoadStatic ) { return IfcStructuralLoadOrResult; } - if(v==IfcStructuralLoadTemperature ) { return IfcStructuralLoadStatic; } - if(v==IfcStructuralMember ) { return IfcStructuralItem; } - if(v==IfcStructuralPlanarAction ) { return IfcStructuralSurfaceAction; } - if(v==IfcStructuralPointAction ) { return IfcStructuralAction; } - if(v==IfcStructuralPointConnection ) { return IfcStructuralConnection; } - if(v==IfcStructuralPointReaction ) { return IfcStructuralReaction; } - if(v==IfcStructuralReaction ) { return IfcStructuralActivity; } - if(v==IfcStructuralResultGroup ) { return IfcGroup; } - if(v==IfcStructuralSurfaceAction ) { return IfcStructuralAction; } - if(v==IfcStructuralSurfaceConnection ) { return IfcStructuralConnection; } - if(v==IfcStructuralSurfaceMember ) { return IfcStructuralMember; } - if(v==IfcStructuralSurfaceMemberVarying ) { return IfcStructuralSurfaceMember; } - if(v==IfcStructuralSurfaceReaction ) { return IfcStructuralReaction; } - if(v==IfcStyleModel ) { return IfcRepresentation; } - if(v==IfcStyledItem ) { return IfcRepresentationItem; } - if(v==IfcStyledRepresentation ) { return IfcStyleModel; } - if(v==IfcSubContractResource ) { return IfcConstructionResource; } - if(v==IfcSubContractResourceType ) { return IfcConstructionResourceType; } - if(v==IfcSubedge ) { return IfcEdge; } - if(v==IfcSurface ) { return IfcGeometricRepresentationItem; } - if(v==IfcSurfaceCurveSweptAreaSolid ) { return IfcSweptAreaSolid; } - if(v==IfcSurfaceFeature ) { return IfcFeatureElement; } - if(v==IfcSurfaceOfLinearExtrusion ) { return IfcSweptSurface; } - if(v==IfcSurfaceOfRevolution ) { return IfcSweptSurface; } - if(v==IfcSurfaceReinforcementArea ) { return IfcStructuralLoadOrResult; } - if(v==IfcSurfaceStyle ) { return IfcPresentationStyle; } - if(v==IfcSurfaceStyleLighting ) { return IfcPresentationItem; } - if(v==IfcSurfaceStyleRefraction ) { return IfcPresentationItem; } - if(v==IfcSurfaceStyleRendering ) { return IfcSurfaceStyleShading; } - if(v==IfcSurfaceStyleShading ) { return IfcPresentationItem; } - if(v==IfcSurfaceStyleWithTextures ) { return IfcPresentationItem; } - if(v==IfcSurfaceTexture ) { return IfcPresentationItem; } - if(v==IfcSweptAreaSolid ) { return IfcSolidModel; } - if(v==IfcSweptDiskSolid ) { return IfcSolidModel; } - if(v==IfcSweptDiskSolidPolygonal ) { return IfcSweptDiskSolid; } - if(v==IfcSweptSurface ) { return IfcSurface; } - if(v==IfcSwitchingDevice ) { return IfcFlowController; } - if(v==IfcSwitchingDeviceType ) { return IfcFlowControllerType; } - if(v==IfcSystem ) { return IfcGroup; } - if(v==IfcSystemFurnitureElement ) { return IfcFurnishingElement; } - if(v==IfcSystemFurnitureElementType ) { return IfcFurnishingElementType; } - if(v==IfcTShapeProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcTank ) { return IfcFlowStorageDevice; } - if(v==IfcTankType ) { return IfcFlowStorageDeviceType; } - if(v==IfcTask ) { return IfcProcess; } - if(v==IfcTaskTime ) { return IfcSchedulingTime; } - if(v==IfcTaskTimeRecurring ) { return IfcTaskTime; } - if(v==IfcTaskType ) { return IfcTypeProcess; } - if(v==IfcTelecomAddress ) { return IfcAddress; } - if(v==IfcTendon ) { return IfcReinforcingElement; } - if(v==IfcTendonAnchor ) { return IfcReinforcingElement; } - if(v==IfcTendonAnchorType ) { return IfcReinforcingElementType; } - if(v==IfcTendonType ) { return IfcReinforcingElementType; } - if(v==IfcTessellatedFaceSet ) { return IfcTessellatedItem; } - if(v==IfcTessellatedItem ) { return IfcGeometricRepresentationItem; } - if(v==IfcTextLiteral ) { return IfcGeometricRepresentationItem; } - if(v==IfcTextLiteralWithExtent ) { return IfcTextLiteral; } - if(v==IfcTextStyle ) { return IfcPresentationStyle; } - if(v==IfcTextStyleFontModel ) { return IfcPreDefinedTextFont; } - if(v==IfcTextStyleForDefinedFont ) { return IfcPresentationItem; } - if(v==IfcTextStyleTextModel ) { return IfcPresentationItem; } - if(v==IfcTextureCoordinate ) { return IfcPresentationItem; } - if(v==IfcTextureCoordinateGenerator ) { return IfcTextureCoordinate; } - if(v==IfcTextureMap ) { return IfcTextureCoordinate; } - if(v==IfcTextureVertex ) { return IfcPresentationItem; } - if(v==IfcTextureVertexList ) { return IfcPresentationItem; } - if(v==IfcTopologicalRepresentationItem ) { return IfcRepresentationItem; } - if(v==IfcTopologyRepresentation ) { return IfcShapeModel; } - if(v==IfcTransformer ) { return IfcEnergyConversionDevice; } - if(v==IfcTransformerType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcTransportElement ) { return IfcElement; } - if(v==IfcTransportElementType ) { return IfcElementType; } - if(v==IfcTrapeziumProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcTriangulatedFaceSet ) { return IfcTessellatedFaceSet; } - if(v==IfcTrimmedCurve ) { return IfcBoundedCurve; } - if(v==IfcTubeBundle ) { return IfcEnergyConversionDevice; } - if(v==IfcTubeBundleType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcTypeObject ) { return IfcObjectDefinition; } - if(v==IfcTypeProcess ) { return IfcTypeObject; } - if(v==IfcTypeProduct ) { return IfcTypeObject; } - if(v==IfcTypeResource ) { return IfcTypeObject; } - if(v==IfcUShapeProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcUnitaryControlElement ) { return IfcDistributionControlElement; } - if(v==IfcUnitaryControlElementType ) { return IfcDistributionControlElementType; } - if(v==IfcUnitaryEquipment ) { return IfcEnergyConversionDevice; } - if(v==IfcUnitaryEquipmentType ) { return IfcEnergyConversionDeviceType; } - if(v==IfcValve ) { return IfcFlowController; } - if(v==IfcValveType ) { return IfcFlowControllerType; } - if(v==IfcVector ) { return IfcGeometricRepresentationItem; } - if(v==IfcVertex ) { return IfcTopologicalRepresentationItem; } - if(v==IfcVertexLoop ) { return IfcLoop; } - if(v==IfcVertexPoint ) { return IfcVertex; } - if(v==IfcVibrationIsolator ) { return IfcElementComponent; } - if(v==IfcVibrationIsolatorType ) { return IfcElementComponentType; } - if(v==IfcVirtualElement ) { return IfcElement; } - if(v==IfcVoidingFeature ) { return IfcFeatureElementSubtraction; } - if(v==IfcWall ) { return IfcBuildingElement; } - if(v==IfcWallElementedCase ) { return IfcWall; } - if(v==IfcWallStandardCase ) { return IfcWall; } - if(v==IfcWallType ) { return IfcBuildingElementType; } - if(v==IfcWasteTerminal ) { return IfcFlowTerminal; } - if(v==IfcWasteTerminalType ) { return IfcFlowTerminalType; } - if(v==IfcWindow ) { return IfcBuildingElement; } - if(v==IfcWindowLiningProperties ) { return IfcPreDefinedPropertySet; } - if(v==IfcWindowPanelProperties ) { return IfcPreDefinedPropertySet; } - if(v==IfcWindowStandardCase ) { return IfcWindow; } - if(v==IfcWindowStyle ) { return IfcTypeProduct; } - if(v==IfcWindowType ) { return IfcBuildingElementType; } - if(v==IfcWorkCalendar ) { return IfcControl; } - if(v==IfcWorkControl ) { return IfcControl; } - if(v==IfcWorkPlan ) { return IfcWorkControl; } - if(v==IfcWorkSchedule ) { return IfcWorkControl; } - if(v==IfcWorkTime ) { return IfcSchedulingTime; } - if(v==IfcZShapeProfileDef ) { return IfcParameterizedProfileDef; } - if(v==IfcZone ) { return IfcSystem; } + if (v < 0 || v >= 1157) return (Enum)-1; + if(v==IfcActionRequest ) { return IfcControl; } + if(v==IfcActor ) { return IfcObject; } + if(v==IfcActuator ) { return IfcDistributionControlElement; } + if(v==IfcActuatorType ) { return IfcDistributionControlElementType; } + if(v==IfcAdvancedBrep ) { return IfcManifoldSolidBrep; } + if(v==IfcAdvancedBrepWithVoids ) { return IfcAdvancedBrep; } + if(v==IfcAdvancedFace ) { return IfcFaceSurface; } + if(v==IfcAirTerminal ) { return IfcFlowTerminal; } + if(v==IfcAirTerminalBox ) { return IfcFlowController; } + if(v==IfcAirTerminalBoxType ) { return IfcFlowControllerType; } + if(v==IfcAirTerminalType ) { return IfcFlowTerminalType; } + if(v==IfcAirToAirHeatRecovery ) { return IfcEnergyConversionDevice; } + if(v==IfcAirToAirHeatRecoveryType ) { return IfcEnergyConversionDeviceType; } + if(v==IfcAlarm ) { return IfcDistributionControlElement; } + if(v==IfcAlarmType ) { return IfcDistributionControlElementType; } + if(v==IfcAnnotation ) { return IfcProduct; } + if(v==IfcAnnotationFillArea ) { return IfcGeometricRepresentationItem; } + if(v==IfcApprovalRelationship ) { return IfcResourceLevelRelationship; } + if(v==IfcArbitraryClosedProfileDef ) { return IfcProfileDef; } + if(v==IfcArbitraryOpenProfileDef ) { return IfcProfileDef; } + if(v==IfcArbitraryProfileDefWithVoids ) { return IfcArbitraryClosedProfileDef; } + if(v==IfcAsset ) { return IfcGroup; } + if(v==IfcAsymmetricIShapeProfileDef ) { return IfcParameterizedProfileDef; } + if(v==IfcAudioVisualAppliance ) { return IfcFlowTerminal; } + if(v==IfcAudioVisualApplianceType ) { return IfcFlowTerminalType; } + if(v==IfcAxis1Placement ) { return IfcPlacement; } + if(v==IfcAxis2Placement2D ) { return IfcPlacement; } + if(v==IfcAxis2Placement3D ) { return IfcPlacement; } + if(v==IfcBSplineCurve ) { return IfcBoundedCurve; } + if(v==IfcBSplineCurveWithKnots ) { return IfcBSplineCurve; } + if(v==IfcBSplineSurface ) { return IfcBoundedSurface; } + if(v==IfcBSplineSurfaceWithKnots ) { return IfcBSplineSurface; } + if(v==IfcBeam ) { return IfcBuildingElement; } + if(v==IfcBeamStandardCase ) { return IfcBeam; } + if(v==IfcBeamType ) { return IfcBuildingElementType; } + if(v==IfcBlobTexture ) { return IfcSurfaceTexture; } + if(v==IfcBlock ) { return IfcCsgPrimitive3D; } + if(v==IfcBoiler ) { return IfcEnergyConversionDevice; } + if(v==IfcBoilerType ) { return IfcEnergyConversionDeviceType; } + if(v==IfcBooleanClippingResult ) { return IfcBooleanResult; } + if(v==IfcBooleanResult ) { return IfcGeometricRepresentationItem; } + if(v==IfcBoundaryCurve ) { return IfcCompositeCurveOnSurface; } + if(v==IfcBoundaryEdgeCondition ) { return IfcBoundaryCondition; } + if(v==IfcBoundaryFaceCondition ) { return IfcBoundaryCondition; } + if(v==IfcBoundaryNodeCondition ) { return IfcBoundaryCondition; } + if(v==IfcBoundaryNodeConditionWarping ) { return IfcBoundaryNodeCondition; } + if(v==IfcBoundedCurve ) { return IfcCurve; } + if(v==IfcBoundedSurface ) { return IfcSurface; } + if(v==IfcBoundingBox ) { return IfcGeometricRepresentationItem; } + if(v==IfcBoxedHalfSpace ) { return IfcHalfSpaceSolid; } + if(v==IfcBuilding ) { return IfcSpatialStructureElement; } + if(v==IfcBuildingElement ) { return IfcElement; } + if(v==IfcBuildingElementPart ) { return IfcElementComponent; } + if(v==IfcBuildingElementPartType ) { return IfcElementComponentType; } + if(v==IfcBuildingElementProxy ) { return IfcBuildingElement; } + if(v==IfcBuildingElementProxyType ) { return IfcBuildingElementType; } + if(v==IfcBuildingElementType ) { return IfcElementType; } + if(v==IfcBuildingStorey ) { return IfcSpatialStructureElement; } + if(v==IfcBuildingSystem ) { return IfcSystem; } + if(v==IfcBurner ) { return IfcEnergyConversionDevice; } + if(v==IfcBurnerType ) { return IfcEnergyConversionDeviceType; } + if(v==IfcCShapeProfileDef ) { return IfcParameterizedProfileDef; } + if(v==IfcCableCarrierFitting ) { return IfcFlowFitting; } + if(v==IfcCableCarrierFittingType ) { return IfcFlowFittingType; } + if(v==IfcCableCarrierSegment ) { return IfcFlowSegment; } + if(v==IfcCableCarrierSegmentType ) { return IfcFlowSegmentType; } + if(v==IfcCableFitting ) { return IfcFlowFitting; } + if(v==IfcCableFittingType ) { return IfcFlowFittingType; } + if(v==IfcCableSegment ) { return IfcFlowSegment; } + if(v==IfcCableSegmentType ) { return IfcFlowSegmentType; } + if(v==IfcCartesianPoint ) { return IfcPoint; } + if(v==IfcCartesianPointList ) { return IfcGeometricRepresentationItem; } + if(v==IfcCartesianPointList3D ) { return IfcCartesianPointList; } + if(v==IfcCartesianTransformationOperator ) { return IfcGeometricRepresentationItem; } + if(v==IfcCartesianTransformationOperator2D ) { return IfcCartesianTransformationOperator; } + if(v==IfcCartesianTransformationOperator2DnonUniform ) { return IfcCartesianTransformationOperator2D; } + if(v==IfcCartesianTransformationOperator3D ) { return IfcCartesianTransformationOperator; } + if(v==IfcCartesianTransformationOperator3DnonUniform ) { return IfcCartesianTransformationOperator3D; } + if(v==IfcCenterLineProfileDef ) { return IfcArbitraryOpenProfileDef; } + if(v==IfcChiller ) { return IfcEnergyConversionDevice; } + if(v==IfcChillerType ) { return IfcEnergyConversionDeviceType; } + if(v==IfcChimney ) { return IfcBuildingElement; } + if(v==IfcChimneyType ) { return IfcBuildingElementType; } + if(v==IfcCircle ) { return IfcConic; } + if(v==IfcCircleHollowProfileDef ) { return IfcCircleProfileDef; } + if(v==IfcCircleProfileDef ) { return IfcParameterizedProfileDef; } + if(v==IfcCivilElement ) { return IfcElement; } + if(v==IfcCivilElementType ) { return IfcElementType; } + if(v==IfcClassification ) { return IfcExternalInformation; } + if(v==IfcClassificationReference ) { return IfcExternalReference; } + if(v==IfcClosedShell ) { return IfcConnectedFaceSet; } + if(v==IfcCoil ) { return IfcEnergyConversionDevice; } + if(v==IfcCoilType ) { return IfcEnergyConversionDeviceType; } + if(v==IfcColourRgb ) { return IfcColourSpecification; } + if(v==IfcColourRgbList ) { return IfcPresentationItem; } + if(v==IfcColourSpecification ) { return IfcPresentationItem; } + if(v==IfcColumn ) { return IfcBuildingElement; } + if(v==IfcColumnStandardCase ) { return IfcColumn; } + if(v==IfcColumnType ) { return IfcBuildingElementType; } + if(v==IfcCommunicationsAppliance ) { return IfcFlowTerminal; } + if(v==IfcCommunicationsApplianceType ) { return IfcFlowTerminalType; } + if(v==IfcComplexProperty ) { return IfcProperty; } + if(v==IfcComplexPropertyTemplate ) { return IfcPropertyTemplate; } + if(v==IfcCompositeCurve ) { return IfcBoundedCurve; } + if(v==IfcCompositeCurveOnSurface ) { return IfcCompositeCurve; } + if(v==IfcCompositeCurveSegment ) { return IfcGeometricRepresentationItem; } + if(v==IfcCompositeProfileDef ) { return IfcProfileDef; } + if(v==IfcCompressor ) { return IfcFlowMovingDevice; } + if(v==IfcCompressorType ) { return IfcFlowMovingDeviceType; } + if(v==IfcCondenser ) { return IfcEnergyConversionDevice; } + if(v==IfcCondenserType ) { return IfcEnergyConversionDeviceType; } + if(v==IfcConic ) { return IfcCurve; } + if(v==IfcConnectedFaceSet ) { return IfcTopologicalRepresentationItem; } + if(v==IfcConnectionCurveGeometry ) { return IfcConnectionGeometry; } + if(v==IfcConnectionPointEccentricity ) { return IfcConnectionPointGeometry; } + if(v==IfcConnectionPointGeometry ) { return IfcConnectionGeometry; } + if(v==IfcConnectionSurfaceGeometry ) { return IfcConnectionGeometry; } + if(v==IfcConnectionVolumeGeometry ) { return IfcConnectionGeometry; } + if(v==IfcConstructionEquipmentResource ) { return IfcConstructionResource; } + if(v==IfcConstructionEquipmentResourceType ) { return IfcConstructionResourceType; } + if(v==IfcConstructionMaterialResource ) { return IfcConstructionResource; } + if(v==IfcConstructionMaterialResourceType ) { return IfcConstructionResourceType; } + if(v==IfcConstructionProductResource ) { return IfcConstructionResource; } + if(v==IfcConstructionProductResourceType ) { return IfcConstructionResourceType; } + if(v==IfcConstructionResource ) { return IfcResource; } + if(v==IfcConstructionResourceType ) { return IfcTypeResource; } + if(v==IfcContext ) { return IfcObjectDefinition; } + if(v==IfcContextDependentUnit ) { return IfcNamedUnit; } + if(v==IfcControl ) { return IfcObject; } + if(v==IfcController ) { return IfcDistributionControlElement; } + if(v==IfcControllerType ) { return IfcDistributionControlElementType; } + if(v==IfcConversionBasedUnit ) { return IfcNamedUnit; } + if(v==IfcConversionBasedUnitWithOffset ) { return IfcConversionBasedUnit; } + if(v==IfcCooledBeam ) { return IfcEnergyConversionDevice; } + if(v==IfcCooledBeamType ) { return IfcEnergyConversionDeviceType; } + if(v==IfcCoolingTower ) { return IfcEnergyConversionDevice; } + if(v==IfcCoolingTowerType ) { return IfcEnergyConversionDeviceType; } + if(v==IfcCostItem ) { return IfcControl; } + if(v==IfcCostSchedule ) { return IfcControl; } + if(v==IfcCostValue ) { return IfcAppliedValue; } + if(v==IfcCovering ) { return IfcBuildingElement; } + if(v==IfcCoveringType ) { return IfcBuildingElementType; } + if(v==IfcCrewResource ) { return IfcConstructionResource; } + if(v==IfcCrewResourceType ) { return IfcConstructionResourceType; } + if(v==IfcCsgPrimitive3D ) { return IfcGeometricRepresentationItem; } + if(v==IfcCsgSolid ) { return IfcSolidModel; } + if(v==IfcCurrencyRelationship ) { return IfcResourceLevelRelationship; } + if(v==IfcCurtainWall ) { return IfcBuildingElement; } + if(v==IfcCurtainWallType ) { return IfcBuildingElementType; } + if(v==IfcCurve ) { return IfcGeometricRepresentationItem; } + if(v==IfcCurveBoundedPlane ) { return IfcBoundedSurface; } + if(v==IfcCurveBoundedSurface ) { return IfcBoundedSurface; } + if(v==IfcCurveStyle ) { return IfcPresentationStyle; } + if(v==IfcCurveStyleFont ) { return IfcPresentationItem; } + if(v==IfcCurveStyleFontAndScaling ) { return IfcPresentationItem; } + if(v==IfcCurveStyleFontPattern ) { return IfcPresentationItem; } + if(v==IfcCylindricalSurface ) { return IfcElementarySurface; } + if(v==IfcDamper ) { return IfcFlowController; } + if(v==IfcDamperType ) { return IfcFlowControllerType; } + if(v==IfcDerivedProfileDef ) { return IfcProfileDef; } + if(v==IfcDirection ) { return IfcGeometricRepresentationItem; } + if(v==IfcDiscreteAccessory ) { return IfcElementComponent; } + if(v==IfcDiscreteAccessoryType ) { return IfcElementComponentType; } + if(v==IfcDistributionChamberElement ) { return IfcDistributionFlowElement; } + if(v==IfcDistributionChamberElementType ) { return IfcDistributionFlowElementType; } + if(v==IfcDistributionCircuit ) { return IfcDistributionSystem; } + if(v==IfcDistributionControlElement ) { return IfcDistributionElement; } + if(v==IfcDistributionControlElementType ) { return IfcDistributionElementType; } + if(v==IfcDistributionElement ) { return IfcElement; } + if(v==IfcDistributionElementType ) { return IfcElementType; } + if(v==IfcDistributionFlowElement ) { return IfcDistributionElement; } + if(v==IfcDistributionFlowElementType ) { return IfcDistributionElementType; } + if(v==IfcDistributionPort ) { return IfcPort; } + if(v==IfcDistributionSystem ) { return IfcSystem; } + if(v==IfcDocumentInformation ) { return IfcExternalInformation; } + if(v==IfcDocumentInformationRelationship ) { return IfcResourceLevelRelationship; } + if(v==IfcDocumentReference ) { return IfcExternalReference; } + if(v==IfcDoor ) { return IfcBuildingElement; } + if(v==IfcDoorLiningProperties ) { return IfcPreDefinedPropertySet; } + if(v==IfcDoorPanelProperties ) { return IfcPreDefinedPropertySet; } + if(v==IfcDoorStandardCase ) { return IfcDoor; } + if(v==IfcDoorStyle ) { return IfcTypeProduct; } + if(v==IfcDoorType ) { return IfcBuildingElementType; } + if(v==IfcDraughtingPreDefinedColour ) { return IfcPreDefinedColour; } + if(v==IfcDraughtingPreDefinedCurveFont ) { return IfcPreDefinedCurveFont; } + if(v==IfcDuctFitting ) { return IfcFlowFitting; } + if(v==IfcDuctFittingType ) { return IfcFlowFittingType; } + if(v==IfcDuctSegment ) { return IfcFlowSegment; } + if(v==IfcDuctSegmentType ) { return IfcFlowSegmentType; } + if(v==IfcDuctSilencer ) { return IfcFlowTreatmentDevice; } + if(v==IfcDuctSilencerType ) { return IfcFlowTreatmentDeviceType; } + if(v==IfcEdge ) { return IfcTopologicalRepresentationItem; } + if(v==IfcEdgeCurve ) { return IfcEdge; } + if(v==IfcEdgeLoop ) { return IfcLoop; } + if(v==IfcElectricAppliance ) { return IfcFlowTerminal; } + if(v==IfcElectricApplianceType ) { return IfcFlowTerminalType; } + if(v==IfcElectricDistributionBoard ) { return IfcFlowController; } + if(v==IfcElectricDistributionBoardType ) { return IfcFlowControllerType; } + if(v==IfcElectricFlowStorageDevice ) { return IfcFlowStorageDevice; } + if(v==IfcElectricFlowStorageDeviceType ) { return IfcFlowStorageDeviceType; } + if(v==IfcElectricGenerator ) { return IfcEnergyConversionDevice; } + if(v==IfcElectricGeneratorType ) { return IfcEnergyConversionDeviceType; } + if(v==IfcElectricMotor ) { return IfcEnergyConversionDevice; } + if(v==IfcElectricMotorType ) { return IfcEnergyConversionDeviceType; } + if(v==IfcElectricTimeControl ) { return IfcFlowController; } + if(v==IfcElectricTimeControlType ) { return IfcFlowControllerType; } + if(v==IfcElement ) { return IfcProduct; } + if(v==IfcElementAssembly ) { return IfcElement; } + if(v==IfcElementAssemblyType ) { return IfcElementType; } + if(v==IfcElementComponent ) { return IfcElement; } + if(v==IfcElementComponentType ) { return IfcElementType; } + if(v==IfcElementQuantity ) { return IfcQuantitySet; } + if(v==IfcElementType ) { return IfcTypeProduct; } + if(v==IfcElementarySurface ) { return IfcSurface; } + if(v==IfcEllipse ) { return IfcConic; } + if(v==IfcEllipseProfileDef ) { return IfcParameterizedProfileDef; } + if(v==IfcEnergyConversionDevice ) { return IfcDistributionFlowElement; } + if(v==IfcEnergyConversionDeviceType ) { return IfcDistributionFlowElementType; } + if(v==IfcEngine ) { return IfcEnergyConversionDevice; } + if(v==IfcEngineType ) { return IfcEnergyConversionDeviceType; } + if(v==IfcEvaporativeCooler ) { return IfcEnergyConversionDevice; } + if(v==IfcEvaporativeCoolerType ) { return IfcEnergyConversionDeviceType; } + if(v==IfcEvaporator ) { return IfcEnergyConversionDevice; } + if(v==IfcEvaporatorType ) { return IfcEnergyConversionDeviceType; } + if(v==IfcEvent ) { return IfcProcess; } + if(v==IfcEventTime ) { return IfcSchedulingTime; } + if(v==IfcEventType ) { return IfcTypeProcess; } + if(v==IfcExtendedProperties ) { return IfcPropertyAbstraction; } + if(v==IfcExternalReferenceRelationship ) { return IfcResourceLevelRelationship; } + if(v==IfcExternalSpatialElement ) { return IfcExternalSpatialStructureElement; } + if(v==IfcExternalSpatialStructureElement ) { return IfcSpatialElement; } + if(v==IfcExternallyDefinedHatchStyle ) { return IfcExternalReference; } + if(v==IfcExternallyDefinedSurfaceStyle ) { return IfcExternalReference; } + if(v==IfcExternallyDefinedTextFont ) { return IfcExternalReference; } + if(v==IfcExtrudedAreaSolid ) { return IfcSweptAreaSolid; } + if(v==IfcExtrudedAreaSolidTapered ) { return IfcExtrudedAreaSolid; } + if(v==IfcFace ) { return IfcTopologicalRepresentationItem; } + if(v==IfcFaceBasedSurfaceModel ) { return IfcGeometricRepresentationItem; } + if(v==IfcFaceBound ) { return IfcTopologicalRepresentationItem; } + if(v==IfcFaceOuterBound ) { return IfcFaceBound; } + if(v==IfcFaceSurface ) { return IfcFace; } + if(v==IfcFacetedBrep ) { return IfcManifoldSolidBrep; } + if(v==IfcFacetedBrepWithVoids ) { return IfcFacetedBrep; } + if(v==IfcFailureConnectionCondition ) { return IfcStructuralConnectionCondition; } + if(v==IfcFan ) { return IfcFlowMovingDevice; } + if(v==IfcFanType ) { return IfcFlowMovingDeviceType; } + if(v==IfcFastener ) { return IfcElementComponent; } + if(v==IfcFastenerType ) { return IfcElementComponentType; } + if(v==IfcFeatureElement ) { return IfcElement; } + if(v==IfcFeatureElementAddition ) { return IfcFeatureElement; } + if(v==IfcFeatureElementSubtraction ) { return IfcFeatureElement; } + if(v==IfcFillAreaStyle ) { return IfcPresentationStyle; } + if(v==IfcFillAreaStyleHatching ) { return IfcGeometricRepresentationItem; } + if(v==IfcFillAreaStyleTiles ) { return IfcGeometricRepresentationItem; } + if(v==IfcFilter ) { return IfcFlowTreatmentDevice; } + if(v==IfcFilterType ) { return IfcFlowTreatmentDeviceType; } + if(v==IfcFireSuppressionTerminal ) { return IfcFlowTerminal; } + if(v==IfcFireSuppressionTerminalType ) { return IfcFlowTerminalType; } + if(v==IfcFixedReferenceSweptAreaSolid ) { return IfcSweptAreaSolid; } + if(v==IfcFlowController ) { return IfcDistributionFlowElement; } + if(v==IfcFlowControllerType ) { return IfcDistributionFlowElementType; } + if(v==IfcFlowFitting ) { return IfcDistributionFlowElement; } + if(v==IfcFlowFittingType ) { return IfcDistributionFlowElementType; } + if(v==IfcFlowInstrument ) { return IfcDistributionControlElement; } + if(v==IfcFlowInstrumentType ) { return IfcDistributionControlElementType; } + if(v==IfcFlowMeter ) { return IfcFlowController; } + if(v==IfcFlowMeterType ) { return IfcFlowControllerType; } + if(v==IfcFlowMovingDevice ) { return IfcDistributionFlowElement; } + if(v==IfcFlowMovingDeviceType ) { return IfcDistributionFlowElementType; } + if(v==IfcFlowSegment ) { return IfcDistributionFlowElement; } + if(v==IfcFlowSegmentType ) { return IfcDistributionFlowElementType; } + if(v==IfcFlowStorageDevice ) { return IfcDistributionFlowElement; } + if(v==IfcFlowStorageDeviceType ) { return IfcDistributionFlowElementType; } + if(v==IfcFlowTerminal ) { return IfcDistributionFlowElement; } + if(v==IfcFlowTerminalType ) { return IfcDistributionFlowElementType; } + if(v==IfcFlowTreatmentDevice ) { return IfcDistributionFlowElement; } + if(v==IfcFlowTreatmentDeviceType ) { return IfcDistributionFlowElementType; } + if(v==IfcFooting ) { return IfcBuildingElement; } + if(v==IfcFootingType ) { return IfcBuildingElementType; } + if(v==IfcFurnishingElement ) { return IfcElement; } + if(v==IfcFurnishingElementType ) { return IfcElementType; } + if(v==IfcFurniture ) { return IfcFurnishingElement; } + if(v==IfcFurnitureType ) { return IfcFurnishingElementType; } + if(v==IfcGeographicElement ) { return IfcElement; } + if(v==IfcGeographicElementType ) { return IfcElementType; } + if(v==IfcGeometricCurveSet ) { return IfcGeometricSet; } + if(v==IfcGeometricRepresentationContext ) { return IfcRepresentationContext; } + if(v==IfcGeometricRepresentationItem ) { return IfcRepresentationItem; } + if(v==IfcGeometricRepresentationSubContext ) { return IfcGeometricRepresentationContext; } + if(v==IfcGeometricSet ) { return IfcGeometricRepresentationItem; } + if(v==IfcGrid ) { return IfcProduct; } + if(v==IfcGridPlacement ) { return IfcObjectPlacement; } + if(v==IfcGroup ) { return IfcObject; } + if(v==IfcHalfSpaceSolid ) { return IfcGeometricRepresentationItem; } + if(v==IfcHeatExchanger ) { return IfcEnergyConversionDevice; } + if(v==IfcHeatExchangerType ) { return IfcEnergyConversionDeviceType; } + if(v==IfcHumidifier ) { return IfcEnergyConversionDevice; } + if(v==IfcHumidifierType ) { return IfcEnergyConversionDeviceType; } + if(v==IfcIShapeProfileDef ) { return IfcParameterizedProfileDef; } + if(v==IfcImageTexture ) { return IfcSurfaceTexture; } + if(v==IfcIndexedColourMap ) { return IfcPresentationItem; } + if(v==IfcIndexedTextureMap ) { return IfcTextureCoordinate; } + if(v==IfcIndexedTriangleTextureMap ) { return IfcIndexedTextureMap; } + if(v==IfcInterceptor ) { return IfcFlowTreatmentDevice; } + if(v==IfcInterceptorType ) { return IfcFlowTreatmentDeviceType; } + if(v==IfcInventory ) { return IfcGroup; } + if(v==IfcIrregularTimeSeries ) { return IfcTimeSeries; } + if(v==IfcJunctionBox ) { return IfcFlowFitting; } + if(v==IfcJunctionBoxType ) { return IfcFlowFittingType; } + if(v==IfcLShapeProfileDef ) { return IfcParameterizedProfileDef; } + if(v==IfcLaborResource ) { return IfcConstructionResource; } + if(v==IfcLaborResourceType ) { return IfcConstructionResourceType; } + if(v==IfcLagTime ) { return IfcSchedulingTime; } + if(v==IfcLamp ) { return IfcFlowTerminal; } + if(v==IfcLampType ) { return IfcFlowTerminalType; } + if(v==IfcLibraryInformation ) { return IfcExternalInformation; } + if(v==IfcLibraryReference ) { return IfcExternalReference; } + if(v==IfcLightFixture ) { return IfcFlowTerminal; } + if(v==IfcLightFixtureType ) { return IfcFlowTerminalType; } + if(v==IfcLightSource ) { return IfcGeometricRepresentationItem; } + if(v==IfcLightSourceAmbient ) { return IfcLightSource; } + if(v==IfcLightSourceDirectional ) { return IfcLightSource; } + if(v==IfcLightSourceGoniometric ) { return IfcLightSource; } + if(v==IfcLightSourcePositional ) { return IfcLightSource; } + if(v==IfcLightSourceSpot ) { return IfcLightSourcePositional; } + if(v==IfcLine ) { return IfcCurve; } + if(v==IfcLocalPlacement ) { return IfcObjectPlacement; } + if(v==IfcLoop ) { return IfcTopologicalRepresentationItem; } + if(v==IfcManifoldSolidBrep ) { return IfcSolidModel; } + if(v==IfcMapConversion ) { return IfcCoordinateOperation; } + if(v==IfcMappedItem ) { return IfcRepresentationItem; } + if(v==IfcMaterial ) { return IfcMaterialDefinition; } + if(v==IfcMaterialConstituent ) { return IfcMaterialDefinition; } + if(v==IfcMaterialConstituentSet ) { return IfcMaterialDefinition; } + if(v==IfcMaterialDefinitionRepresentation ) { return IfcProductRepresentation; } + if(v==IfcMaterialLayer ) { return IfcMaterialDefinition; } + if(v==IfcMaterialLayerSet ) { return IfcMaterialDefinition; } + if(v==IfcMaterialLayerSetUsage ) { return IfcMaterialUsageDefinition; } + if(v==IfcMaterialLayerWithOffsets ) { return IfcMaterialLayer; } + if(v==IfcMaterialProfile ) { return IfcMaterialDefinition; } + if(v==IfcMaterialProfileSet ) { return IfcMaterialDefinition; } + if(v==IfcMaterialProfileSetUsage ) { return IfcMaterialUsageDefinition; } + if(v==IfcMaterialProfileSetUsageTapering ) { return IfcMaterialProfileSetUsage; } + if(v==IfcMaterialProfileWithOffsets ) { return IfcMaterialProfile; } + if(v==IfcMaterialProperties ) { return IfcExtendedProperties; } + if(v==IfcMaterialRelationship ) { return IfcResourceLevelRelationship; } + if(v==IfcMechanicalFastener ) { return IfcElementComponent; } + if(v==IfcMechanicalFastenerType ) { return IfcElementComponentType; } + if(v==IfcMedicalDevice ) { return IfcFlowTerminal; } + if(v==IfcMedicalDeviceType ) { return IfcFlowTerminalType; } + if(v==IfcMember ) { return IfcBuildingElement; } + if(v==IfcMemberStandardCase ) { return IfcMember; } + if(v==IfcMemberType ) { return IfcBuildingElementType; } + if(v==IfcMetric ) { return IfcConstraint; } + if(v==IfcMirroredProfileDef ) { return IfcDerivedProfileDef; } + if(v==IfcMotorConnection ) { return IfcEnergyConversionDevice; } + if(v==IfcMotorConnectionType ) { return IfcEnergyConversionDeviceType; } + if(v==IfcObject ) { return IfcObjectDefinition; } + if(v==IfcObjectDefinition ) { return IfcRoot; } + if(v==IfcObjective ) { return IfcConstraint; } + if(v==IfcOccupant ) { return IfcActor; } + if(v==IfcOffsetCurve2D ) { return IfcCurve; } + if(v==IfcOffsetCurve3D ) { return IfcCurve; } + if(v==IfcOpenShell ) { return IfcConnectedFaceSet; } + if(v==IfcOpeningElement ) { return IfcFeatureElementSubtraction; } + if(v==IfcOpeningStandardCase ) { return IfcOpeningElement; } + if(v==IfcOrganizationRelationship ) { return IfcResourceLevelRelationship; } + if(v==IfcOrientedEdge ) { return IfcEdge; } + if(v==IfcOuterBoundaryCurve ) { return IfcBoundaryCurve; } + if(v==IfcOutlet ) { return IfcFlowTerminal; } + if(v==IfcOutletType ) { return IfcFlowTerminalType; } + if(v==IfcParameterizedProfileDef ) { return IfcProfileDef; } + if(v==IfcPath ) { return IfcTopologicalRepresentationItem; } + if(v==IfcPcurve ) { return IfcCurve; } + if(v==IfcPerformanceHistory ) { return IfcControl; } + if(v==IfcPermeableCoveringProperties ) { return IfcPreDefinedPropertySet; } + if(v==IfcPermit ) { return IfcControl; } + if(v==IfcPhysicalComplexQuantity ) { return IfcPhysicalQuantity; } + if(v==IfcPhysicalSimpleQuantity ) { return IfcPhysicalQuantity; } + if(v==IfcPile ) { return IfcBuildingElement; } + if(v==IfcPileType ) { return IfcBuildingElementType; } + if(v==IfcPipeFitting ) { return IfcFlowFitting; } + if(v==IfcPipeFittingType ) { return IfcFlowFittingType; } + if(v==IfcPipeSegment ) { return IfcFlowSegment; } + if(v==IfcPipeSegmentType ) { return IfcFlowSegmentType; } + if(v==IfcPixelTexture ) { return IfcSurfaceTexture; } + if(v==IfcPlacement ) { return IfcGeometricRepresentationItem; } + if(v==IfcPlanarBox ) { return IfcPlanarExtent; } + if(v==IfcPlanarExtent ) { return IfcGeometricRepresentationItem; } + if(v==IfcPlane ) { return IfcElementarySurface; } + if(v==IfcPlate ) { return IfcBuildingElement; } + if(v==IfcPlateStandardCase ) { return IfcPlate; } + if(v==IfcPlateType ) { return IfcBuildingElementType; } + if(v==IfcPoint ) { return IfcGeometricRepresentationItem; } + if(v==IfcPointOnCurve ) { return IfcPoint; } + if(v==IfcPointOnSurface ) { return IfcPoint; } + if(v==IfcPolyLoop ) { return IfcLoop; } + if(v==IfcPolygonalBoundedHalfSpace ) { return IfcHalfSpaceSolid; } + if(v==IfcPolyline ) { return IfcBoundedCurve; } + if(v==IfcPort ) { return IfcProduct; } + if(v==IfcPostalAddress ) { return IfcAddress; } + if(v==IfcPreDefinedColour ) { return IfcPreDefinedItem; } + if(v==IfcPreDefinedCurveFont ) { return IfcPreDefinedItem; } + if(v==IfcPreDefinedItem ) { return IfcPresentationItem; } + if(v==IfcPreDefinedProperties ) { return IfcPropertyAbstraction; } + if(v==IfcPreDefinedPropertySet ) { return IfcPropertySetDefinition; } + if(v==IfcPreDefinedTextFont ) { return IfcPreDefinedItem; } + if(v==IfcPresentationLayerWithStyle ) { return IfcPresentationLayerAssignment; } + if(v==IfcProcedure ) { return IfcProcess; } + if(v==IfcProcedureType ) { return IfcTypeProcess; } + if(v==IfcProcess ) { return IfcObject; } + if(v==IfcProduct ) { return IfcObject; } + if(v==IfcProductDefinitionShape ) { return IfcProductRepresentation; } + if(v==IfcProfileProperties ) { return IfcExtendedProperties; } + if(v==IfcProject ) { return IfcContext; } + if(v==IfcProjectLibrary ) { return IfcContext; } + if(v==IfcProjectOrder ) { return IfcControl; } + if(v==IfcProjectedCRS ) { return IfcCoordinateReferenceSystem; } + if(v==IfcProjectionElement ) { return IfcFeatureElementAddition; } + if(v==IfcProperty ) { return IfcPropertyAbstraction; } + if(v==IfcPropertyBoundedValue ) { return IfcSimpleProperty; } + if(v==IfcPropertyDefinition ) { return IfcRoot; } + if(v==IfcPropertyDependencyRelationship ) { return IfcResourceLevelRelationship; } + if(v==IfcPropertyEnumeratedValue ) { return IfcSimpleProperty; } + if(v==IfcPropertyEnumeration ) { return IfcPropertyAbstraction; } + if(v==IfcPropertyListValue ) { return IfcSimpleProperty; } + if(v==IfcPropertyReferenceValue ) { return IfcSimpleProperty; } + if(v==IfcPropertySet ) { return IfcPropertySetDefinition; } + if(v==IfcPropertySetDefinition ) { return IfcPropertyDefinition; } + if(v==IfcPropertySetTemplate ) { return IfcPropertyTemplateDefinition; } + if(v==IfcPropertySingleValue ) { return IfcSimpleProperty; } + if(v==IfcPropertyTableValue ) { return IfcSimpleProperty; } + if(v==IfcPropertyTemplate ) { return IfcPropertyTemplateDefinition; } + if(v==IfcPropertyTemplateDefinition ) { return IfcPropertyDefinition; } + if(v==IfcProtectiveDevice ) { return IfcFlowController; } + if(v==IfcProtectiveDeviceTrippingUnit ) { return IfcDistributionControlElement; } + if(v==IfcProtectiveDeviceTrippingUnitType ) { return IfcDistributionControlElementType; } + if(v==IfcProtectiveDeviceType ) { return IfcFlowControllerType; } + if(v==IfcProxy ) { return IfcProduct; } + if(v==IfcPump ) { return IfcFlowMovingDevice; } + if(v==IfcPumpType ) { return IfcFlowMovingDeviceType; } + if(v==IfcQuantityArea ) { return IfcPhysicalSimpleQuantity; } + if(v==IfcQuantityCount ) { return IfcPhysicalSimpleQuantity; } + if(v==IfcQuantityLength ) { return IfcPhysicalSimpleQuantity; } + if(v==IfcQuantitySet ) { return IfcPropertySetDefinition; } + if(v==IfcQuantityTime ) { return IfcPhysicalSimpleQuantity; } + if(v==IfcQuantityVolume ) { return IfcPhysicalSimpleQuantity; } + if(v==IfcQuantityWeight ) { return IfcPhysicalSimpleQuantity; } + if(v==IfcRailing ) { return IfcBuildingElement; } + if(v==IfcRailingType ) { return IfcBuildingElementType; } + if(v==IfcRamp ) { return IfcBuildingElement; } + if(v==IfcRampFlight ) { return IfcBuildingElement; } + if(v==IfcRampFlightType ) { return IfcBuildingElementType; } + if(v==IfcRampType ) { return IfcBuildingElementType; } + if(v==IfcRationalBSplineCurveWithKnots ) { return IfcBSplineCurveWithKnots; } + if(v==IfcRationalBSplineSurfaceWithKnots ) { return IfcBSplineSurfaceWithKnots; } + if(v==IfcRectangleHollowProfileDef ) { return IfcRectangleProfileDef; } + if(v==IfcRectangleProfileDef ) { return IfcParameterizedProfileDef; } + if(v==IfcRectangularPyramid ) { return IfcCsgPrimitive3D; } + if(v==IfcRectangularTrimmedSurface ) { return IfcBoundedSurface; } + if(v==IfcRegularTimeSeries ) { return IfcTimeSeries; } + if(v==IfcReinforcementBarProperties ) { return IfcPreDefinedProperties; } + if(v==IfcReinforcementDefinitionProperties ) { return IfcPreDefinedPropertySet; } + if(v==IfcReinforcingBar ) { return IfcReinforcingElement; } + if(v==IfcReinforcingBarType ) { return IfcReinforcingElementType; } + if(v==IfcReinforcingElement ) { return IfcElementComponent; } + if(v==IfcReinforcingElementType ) { return IfcElementComponentType; } + if(v==IfcReinforcingMesh ) { return IfcReinforcingElement; } + if(v==IfcReinforcingMeshType ) { return IfcReinforcingElementType; } + if(v==IfcRelAggregates ) { return IfcRelDecomposes; } + if(v==IfcRelAssigns ) { return IfcRelationship; } + if(v==IfcRelAssignsToActor ) { return IfcRelAssigns; } + if(v==IfcRelAssignsToControl ) { return IfcRelAssigns; } + if(v==IfcRelAssignsToGroup ) { return IfcRelAssigns; } + if(v==IfcRelAssignsToGroupByFactor ) { return IfcRelAssignsToGroup; } + if(v==IfcRelAssignsToProcess ) { return IfcRelAssigns; } + if(v==IfcRelAssignsToProduct ) { return IfcRelAssigns; } + if(v==IfcRelAssignsToResource ) { return IfcRelAssigns; } + if(v==IfcRelAssociates ) { return IfcRelationship; } + if(v==IfcRelAssociatesApproval ) { return IfcRelAssociates; } + if(v==IfcRelAssociatesClassification ) { return IfcRelAssociates; } + if(v==IfcRelAssociatesConstraint ) { return IfcRelAssociates; } + if(v==IfcRelAssociatesDocument ) { return IfcRelAssociates; } + if(v==IfcRelAssociatesLibrary ) { return IfcRelAssociates; } + if(v==IfcRelAssociatesMaterial ) { return IfcRelAssociates; } + if(v==IfcRelConnects ) { return IfcRelationship; } + if(v==IfcRelConnectsElements ) { return IfcRelConnects; } + if(v==IfcRelConnectsPathElements ) { return IfcRelConnectsElements; } + if(v==IfcRelConnectsPortToElement ) { return IfcRelConnects; } + if(v==IfcRelConnectsPorts ) { return IfcRelConnects; } + if(v==IfcRelConnectsStructuralActivity ) { return IfcRelConnects; } + if(v==IfcRelConnectsStructuralMember ) { return IfcRelConnects; } + if(v==IfcRelConnectsWithEccentricity ) { return IfcRelConnectsStructuralMember; } + if(v==IfcRelConnectsWithRealizingElements ) { return IfcRelConnectsElements; } + if(v==IfcRelContainedInSpatialStructure ) { return IfcRelConnects; } + if(v==IfcRelCoversBldgElements ) { return IfcRelConnects; } + if(v==IfcRelCoversSpaces ) { return IfcRelConnects; } + if(v==IfcRelDeclares ) { return IfcRelationship; } + if(v==IfcRelDecomposes ) { return IfcRelationship; } + if(v==IfcRelDefines ) { return IfcRelationship; } + if(v==IfcRelDefinesByObject ) { return IfcRelDefines; } + if(v==IfcRelDefinesByProperties ) { return IfcRelDefines; } + if(v==IfcRelDefinesByTemplate ) { return IfcRelDefines; } + if(v==IfcRelDefinesByType ) { return IfcRelDefines; } + if(v==IfcRelFillsElement ) { return IfcRelConnects; } + if(v==IfcRelFlowControlElements ) { return IfcRelConnects; } + if(v==IfcRelInterferesElements ) { return IfcRelConnects; } + if(v==IfcRelNests ) { return IfcRelDecomposes; } + if(v==IfcRelProjectsElement ) { return IfcRelDecomposes; } + if(v==IfcRelReferencedInSpatialStructure ) { return IfcRelConnects; } + if(v==IfcRelSequence ) { return IfcRelConnects; } + if(v==IfcRelServicesBuildings ) { return IfcRelConnects; } + if(v==IfcRelSpaceBoundary ) { return IfcRelConnects; } + if(v==IfcRelSpaceBoundary1stLevel ) { return IfcRelSpaceBoundary; } + if(v==IfcRelSpaceBoundary2ndLevel ) { return IfcRelSpaceBoundary1stLevel; } + if(v==IfcRelVoidsElement ) { return IfcRelDecomposes; } + if(v==IfcRelationship ) { return IfcRoot; } + if(v==IfcReparametrisedCompositeCurveSegment ) { return IfcCompositeCurveSegment; } + if(v==IfcResource ) { return IfcObject; } + if(v==IfcResourceApprovalRelationship ) { return IfcResourceLevelRelationship; } + if(v==IfcResourceConstraintRelationship ) { return IfcResourceLevelRelationship; } + if(v==IfcResourceTime ) { return IfcSchedulingTime; } + if(v==IfcRevolvedAreaSolid ) { return IfcSweptAreaSolid; } + if(v==IfcRevolvedAreaSolidTapered ) { return IfcRevolvedAreaSolid; } + if(v==IfcRightCircularCone ) { return IfcCsgPrimitive3D; } + if(v==IfcRightCircularCylinder ) { return IfcCsgPrimitive3D; } + if(v==IfcRoof ) { return IfcBuildingElement; } + if(v==IfcRoofType ) { return IfcBuildingElementType; } + if(v==IfcRoundedRectangleProfileDef ) { return IfcRectangleProfileDef; } + if(v==IfcSIUnit ) { return IfcNamedUnit; } + if(v==IfcSanitaryTerminal ) { return IfcFlowTerminal; } + if(v==IfcSanitaryTerminalType ) { return IfcFlowTerminalType; } + if(v==IfcSectionProperties ) { return IfcPreDefinedProperties; } + if(v==IfcSectionReinforcementProperties ) { return IfcPreDefinedProperties; } + if(v==IfcSectionedSpine ) { return IfcGeometricRepresentationItem; } + if(v==IfcSensor ) { return IfcDistributionControlElement; } + if(v==IfcSensorType ) { return IfcDistributionControlElementType; } + if(v==IfcShadingDevice ) { return IfcBuildingElement; } + if(v==IfcShadingDeviceType ) { return IfcBuildingElementType; } + if(v==IfcShapeModel ) { return IfcRepresentation; } + if(v==IfcShapeRepresentation ) { return IfcShapeModel; } + if(v==IfcShellBasedSurfaceModel ) { return IfcGeometricRepresentationItem; } + if(v==IfcSimpleProperty ) { return IfcProperty; } + if(v==IfcSimplePropertyTemplate ) { return IfcPropertyTemplate; } + if(v==IfcSite ) { return IfcSpatialStructureElement; } + if(v==IfcSlab ) { return IfcBuildingElement; } + if(v==IfcSlabElementedCase ) { return IfcSlab; } + if(v==IfcSlabStandardCase ) { return IfcSlab; } + if(v==IfcSlabType ) { return IfcBuildingElementType; } + if(v==IfcSlippageConnectionCondition ) { return IfcStructuralConnectionCondition; } + if(v==IfcSolarDevice ) { return IfcEnergyConversionDevice; } + if(v==IfcSolarDeviceType ) { return IfcEnergyConversionDeviceType; } + if(v==IfcSolidModel ) { return IfcGeometricRepresentationItem; } + if(v==IfcSpace ) { return IfcSpatialStructureElement; } + if(v==IfcSpaceHeater ) { return IfcFlowTerminal; } + if(v==IfcSpaceHeaterType ) { return IfcFlowTerminalType; } + if(v==IfcSpaceType ) { return IfcSpatialStructureElementType; } + if(v==IfcSpatialElement ) { return IfcProduct; } + if(v==IfcSpatialElementType ) { return IfcTypeProduct; } + if(v==IfcSpatialStructureElement ) { return IfcSpatialElement; } + if(v==IfcSpatialStructureElementType ) { return IfcSpatialElementType; } + if(v==IfcSpatialZone ) { return IfcSpatialElement; } + if(v==IfcSpatialZoneType ) { return IfcSpatialElementType; } + if(v==IfcSphere ) { return IfcCsgPrimitive3D; } + if(v==IfcStackTerminal ) { return IfcFlowTerminal; } + if(v==IfcStackTerminalType ) { return IfcFlowTerminalType; } + if(v==IfcStair ) { return IfcBuildingElement; } + if(v==IfcStairFlight ) { return IfcBuildingElement; } + if(v==IfcStairFlightType ) { return IfcBuildingElementType; } + if(v==IfcStairType ) { return IfcBuildingElementType; } + if(v==IfcStructuralAction ) { return IfcStructuralActivity; } + if(v==IfcStructuralActivity ) { return IfcProduct; } + if(v==IfcStructuralAnalysisModel ) { return IfcSystem; } + if(v==IfcStructuralConnection ) { return IfcStructuralItem; } + if(v==IfcStructuralCurveAction ) { return IfcStructuralAction; } + if(v==IfcStructuralCurveConnection ) { return IfcStructuralConnection; } + if(v==IfcStructuralCurveMember ) { return IfcStructuralMember; } + if(v==IfcStructuralCurveMemberVarying ) { return IfcStructuralCurveMember; } + if(v==IfcStructuralCurveReaction ) { return IfcStructuralReaction; } + if(v==IfcStructuralItem ) { return IfcProduct; } + if(v==IfcStructuralLinearAction ) { return IfcStructuralCurveAction; } + if(v==IfcStructuralLoadCase ) { return IfcStructuralLoadGroup; } + if(v==IfcStructuralLoadConfiguration ) { return IfcStructuralLoad; } + if(v==IfcStructuralLoadGroup ) { return IfcGroup; } + if(v==IfcStructuralLoadLinearForce ) { return IfcStructuralLoadStatic; } + if(v==IfcStructuralLoadOrResult ) { return IfcStructuralLoad; } + if(v==IfcStructuralLoadPlanarForce ) { return IfcStructuralLoadStatic; } + if(v==IfcStructuralLoadSingleDisplacement ) { return IfcStructuralLoadStatic; } + if(v==IfcStructuralLoadSingleDisplacementDistortion ) { return IfcStructuralLoadSingleDisplacement; } + if(v==IfcStructuralLoadSingleForce ) { return IfcStructuralLoadStatic; } + if(v==IfcStructuralLoadSingleForceWarping ) { return IfcStructuralLoadSingleForce; } + if(v==IfcStructuralLoadStatic ) { return IfcStructuralLoadOrResult; } + if(v==IfcStructuralLoadTemperature ) { return IfcStructuralLoadStatic; } + if(v==IfcStructuralMember ) { return IfcStructuralItem; } + if(v==IfcStructuralPlanarAction ) { return IfcStructuralSurfaceAction; } + if(v==IfcStructuralPointAction ) { return IfcStructuralAction; } + if(v==IfcStructuralPointConnection ) { return IfcStructuralConnection; } + if(v==IfcStructuralPointReaction ) { return IfcStructuralReaction; } + if(v==IfcStructuralReaction ) { return IfcStructuralActivity; } + if(v==IfcStructuralResultGroup ) { return IfcGroup; } + if(v==IfcStructuralSurfaceAction ) { return IfcStructuralAction; } + if(v==IfcStructuralSurfaceConnection ) { return IfcStructuralConnection; } + if(v==IfcStructuralSurfaceMember ) { return IfcStructuralMember; } + if(v==IfcStructuralSurfaceMemberVarying ) { return IfcStructuralSurfaceMember; } + if(v==IfcStructuralSurfaceReaction ) { return IfcStructuralReaction; } + if(v==IfcStyleModel ) { return IfcRepresentation; } + if(v==IfcStyledItem ) { return IfcRepresentationItem; } + if(v==IfcStyledRepresentation ) { return IfcStyleModel; } + if(v==IfcSubContractResource ) { return IfcConstructionResource; } + if(v==IfcSubContractResourceType ) { return IfcConstructionResourceType; } + if(v==IfcSubedge ) { return IfcEdge; } + if(v==IfcSurface ) { return IfcGeometricRepresentationItem; } + if(v==IfcSurfaceCurveSweptAreaSolid ) { return IfcSweptAreaSolid; } + if(v==IfcSurfaceFeature ) { return IfcFeatureElement; } + if(v==IfcSurfaceOfLinearExtrusion ) { return IfcSweptSurface; } + if(v==IfcSurfaceOfRevolution ) { return IfcSweptSurface; } + if(v==IfcSurfaceReinforcementArea ) { return IfcStructuralLoadOrResult; } + if(v==IfcSurfaceStyle ) { return IfcPresentationStyle; } + if(v==IfcSurfaceStyleLighting ) { return IfcPresentationItem; } + if(v==IfcSurfaceStyleRefraction ) { return IfcPresentationItem; } + if(v==IfcSurfaceStyleRendering ) { return IfcSurfaceStyleShading; } + if(v==IfcSurfaceStyleShading ) { return IfcPresentationItem; } + if(v==IfcSurfaceStyleWithTextures ) { return IfcPresentationItem; } + if(v==IfcSurfaceTexture ) { return IfcPresentationItem; } + if(v==IfcSweptAreaSolid ) { return IfcSolidModel; } + if(v==IfcSweptDiskSolid ) { return IfcSolidModel; } + if(v==IfcSweptDiskSolidPolygonal ) { return IfcSweptDiskSolid; } + if(v==IfcSweptSurface ) { return IfcSurface; } + if(v==IfcSwitchingDevice ) { return IfcFlowController; } + if(v==IfcSwitchingDeviceType ) { return IfcFlowControllerType; } + if(v==IfcSystem ) { return IfcGroup; } + if(v==IfcSystemFurnitureElement ) { return IfcFurnishingElement; } + if(v==IfcSystemFurnitureElementType ) { return IfcFurnishingElementType; } + if(v==IfcTShapeProfileDef ) { return IfcParameterizedProfileDef; } + if(v==IfcTank ) { return IfcFlowStorageDevice; } + if(v==IfcTankType ) { return IfcFlowStorageDeviceType; } + if(v==IfcTask ) { return IfcProcess; } + if(v==IfcTaskTime ) { return IfcSchedulingTime; } + if(v==IfcTaskTimeRecurring ) { return IfcTaskTime; } + if(v==IfcTaskType ) { return IfcTypeProcess; } + if(v==IfcTelecomAddress ) { return IfcAddress; } + if(v==IfcTendon ) { return IfcReinforcingElement; } + if(v==IfcTendonAnchor ) { return IfcReinforcingElement; } + if(v==IfcTendonAnchorType ) { return IfcReinforcingElementType; } + if(v==IfcTendonType ) { return IfcReinforcingElementType; } + if(v==IfcTessellatedFaceSet ) { return IfcTessellatedItem; } + if(v==IfcTessellatedItem ) { return IfcGeometricRepresentationItem; } + if(v==IfcTextLiteral ) { return IfcGeometricRepresentationItem; } + if(v==IfcTextLiteralWithExtent ) { return IfcTextLiteral; } + if(v==IfcTextStyle ) { return IfcPresentationStyle; } + if(v==IfcTextStyleFontModel ) { return IfcPreDefinedTextFont; } + if(v==IfcTextStyleForDefinedFont ) { return IfcPresentationItem; } + if(v==IfcTextStyleTextModel ) { return IfcPresentationItem; } + if(v==IfcTextureCoordinate ) { return IfcPresentationItem; } + if(v==IfcTextureCoordinateGenerator ) { return IfcTextureCoordinate; } + if(v==IfcTextureMap ) { return IfcTextureCoordinate; } + if(v==IfcTextureVertex ) { return IfcPresentationItem; } + if(v==IfcTextureVertexList ) { return IfcPresentationItem; } + if(v==IfcTopologicalRepresentationItem ) { return IfcRepresentationItem; } + if(v==IfcTopologyRepresentation ) { return IfcShapeModel; } + if(v==IfcTransformer ) { return IfcEnergyConversionDevice; } + if(v==IfcTransformerType ) { return IfcEnergyConversionDeviceType; } + if(v==IfcTransportElement ) { return IfcElement; } + if(v==IfcTransportElementType ) { return IfcElementType; } + if(v==IfcTrapeziumProfileDef ) { return IfcParameterizedProfileDef; } + if(v==IfcTriangulatedFaceSet ) { return IfcTessellatedFaceSet; } + if(v==IfcTrimmedCurve ) { return IfcBoundedCurve; } + if(v==IfcTubeBundle ) { return IfcEnergyConversionDevice; } + if(v==IfcTubeBundleType ) { return IfcEnergyConversionDeviceType; } + if(v==IfcTypeObject ) { return IfcObjectDefinition; } + if(v==IfcTypeProcess ) { return IfcTypeObject; } + if(v==IfcTypeProduct ) { return IfcTypeObject; } + if(v==IfcTypeResource ) { return IfcTypeObject; } + if(v==IfcUShapeProfileDef ) { return IfcParameterizedProfileDef; } + if(v==IfcUnitaryControlElement ) { return IfcDistributionControlElement; } + if(v==IfcUnitaryControlElementType ) { return IfcDistributionControlElementType; } + if(v==IfcUnitaryEquipment ) { return IfcEnergyConversionDevice; } + if(v==IfcUnitaryEquipmentType ) { return IfcEnergyConversionDeviceType; } + if(v==IfcValve ) { return IfcFlowController; } + if(v==IfcValveType ) { return IfcFlowControllerType; } + if(v==IfcVector ) { return IfcGeometricRepresentationItem; } + if(v==IfcVertex ) { return IfcTopologicalRepresentationItem; } + if(v==IfcVertexLoop ) { return IfcLoop; } + if(v==IfcVertexPoint ) { return IfcVertex; } + if(v==IfcVibrationIsolator ) { return IfcElementComponent; } + if(v==IfcVibrationIsolatorType ) { return IfcElementComponentType; } + if(v==IfcVirtualElement ) { return IfcElement; } + if(v==IfcVoidingFeature ) { return IfcFeatureElementSubtraction; } + if(v==IfcWall ) { return IfcBuildingElement; } + if(v==IfcWallElementedCase ) { return IfcWall; } + if(v==IfcWallStandardCase ) { return IfcWall; } + if(v==IfcWallType ) { return IfcBuildingElementType; } + if(v==IfcWasteTerminal ) { return IfcFlowTerminal; } + if(v==IfcWasteTerminalType ) { return IfcFlowTerminalType; } + if(v==IfcWindow ) { return IfcBuildingElement; } + if(v==IfcWindowLiningProperties ) { return IfcPreDefinedPropertySet; } + if(v==IfcWindowPanelProperties ) { return IfcPreDefinedPropertySet; } + if(v==IfcWindowStandardCase ) { return IfcWindow; } + if(v==IfcWindowStyle ) { return IfcTypeProduct; } + if(v==IfcWindowType ) { return IfcBuildingElementType; } + if(v==IfcWorkCalendar ) { return IfcControl; } + if(v==IfcWorkControl ) { return IfcControl; } + if(v==IfcWorkPlan ) { return IfcWorkControl; } + if(v==IfcWorkSchedule ) { return IfcWorkControl; } + if(v==IfcWorkTime ) { return IfcSchedulingTime; } + if(v==IfcZShapeProfileDef ) { return IfcParameterizedProfileDef; } + if(v==IfcZone ) { return IfcSystem; } return (Enum)-1; } @@ -6223,47 +6509,1308 @@ IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum IfcWorkScheduleTypeEnum::FromSt } +// Function implementations for IfcAbsorbedDoseMeasure +IfcUtil::ArgumentType IfcAbsorbedDoseMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcAbsorbedDoseMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcAbsorbedDoseMeasure::is(Type::Enum v) const { return v == IfcAbsorbedDoseMeasure::Class(); } +Type::Enum IfcAbsorbedDoseMeasure::type() const { return Type::IfcAbsorbedDoseMeasure; } +Type::Enum IfcAbsorbedDoseMeasure::Class() { return Type::IfcAbsorbedDoseMeasure; } +IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(IfcAbstractEntity* e) { entity = e; } +IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcAbsorbedDoseMeasure); e->setArgument(0, v); entity = e; } +IfcAbsorbedDoseMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcAccelerationMeasure +IfcUtil::ArgumentType IfcAccelerationMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcAccelerationMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcAccelerationMeasure::is(Type::Enum v) const { return v == IfcAccelerationMeasure::Class(); } +Type::Enum IfcAccelerationMeasure::type() const { return Type::IfcAccelerationMeasure; } +Type::Enum IfcAccelerationMeasure::Class() { return Type::IfcAccelerationMeasure; } +IfcAccelerationMeasure::IfcAccelerationMeasure(IfcAbstractEntity* e) { entity = e; } +IfcAccelerationMeasure::IfcAccelerationMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcAccelerationMeasure); e->setArgument(0, v); entity = e; } +IfcAccelerationMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcAmountOfSubstanceMeasure +IfcUtil::ArgumentType IfcAmountOfSubstanceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcAmountOfSubstanceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcAmountOfSubstanceMeasure::is(Type::Enum v) const { return v == IfcAmountOfSubstanceMeasure::Class(); } +Type::Enum IfcAmountOfSubstanceMeasure::type() const { return Type::IfcAmountOfSubstanceMeasure; } +Type::Enum IfcAmountOfSubstanceMeasure::Class() { return Type::IfcAmountOfSubstanceMeasure; } +IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(IfcAbstractEntity* e) { entity = e; } +IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcAmountOfSubstanceMeasure); e->setArgument(0, v); entity = e; } +IfcAmountOfSubstanceMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcAngularVelocityMeasure +IfcUtil::ArgumentType IfcAngularVelocityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcAngularVelocityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcAngularVelocityMeasure::is(Type::Enum v) const { return v == IfcAngularVelocityMeasure::Class(); } +Type::Enum IfcAngularVelocityMeasure::type() const { return Type::IfcAngularVelocityMeasure; } +Type::Enum IfcAngularVelocityMeasure::Class() { return Type::IfcAngularVelocityMeasure; } +IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcAngularVelocityMeasure); e->setArgument(0, v); entity = e; } +IfcAngularVelocityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcAreaDensityMeasure +IfcUtil::ArgumentType IfcAreaDensityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcAreaDensityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcAreaDensityMeasure::is(Type::Enum v) const { return v == IfcAreaDensityMeasure::Class(); } +Type::Enum IfcAreaDensityMeasure::type() const { return Type::IfcAreaDensityMeasure; } +Type::Enum IfcAreaDensityMeasure::Class() { return Type::IfcAreaDensityMeasure; } +IfcAreaDensityMeasure::IfcAreaDensityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcAreaDensityMeasure::IfcAreaDensityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcAreaDensityMeasure); e->setArgument(0, v); entity = e; } +IfcAreaDensityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcAreaMeasure +IfcUtil::ArgumentType IfcAreaMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcAreaMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcAreaMeasure::is(Type::Enum v) const { return v == IfcAreaMeasure::Class(); } +Type::Enum IfcAreaMeasure::type() const { return Type::IfcAreaMeasure; } +Type::Enum IfcAreaMeasure::Class() { return Type::IfcAreaMeasure; } +IfcAreaMeasure::IfcAreaMeasure(IfcAbstractEntity* e) { entity = e; } +IfcAreaMeasure::IfcAreaMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcAreaMeasure); e->setArgument(0, v); entity = e; } +IfcAreaMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcBoolean +IfcUtil::ArgumentType IfcBoolean::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_BOOL; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcBoolean::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcBoolean::is(Type::Enum v) const { return v == IfcBoolean::Class(); } +Type::Enum IfcBoolean::type() const { return Type::IfcBoolean; } +Type::Enum IfcBoolean::Class() { return Type::IfcBoolean; } +IfcBoolean::IfcBoolean(IfcAbstractEntity* e) { entity = e; } +IfcBoolean::IfcBoolean(bool v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcBoolean); e->setArgument(0, v); entity = e; } +IfcBoolean::operator bool() const { return *entity->getArgument(0); } + +// Function implementations for IfcBoxAlignment +IfcUtil::ArgumentType IfcBoxAlignment::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcBoxAlignment::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcBoxAlignment::is(Type::Enum v) const { return v == Type::IfcBoxAlignment || IfcLabel::is(v); } +Type::Enum IfcBoxAlignment::type() const { return Type::IfcBoxAlignment; } +Type::Enum IfcBoxAlignment::Class() { return Type::IfcBoxAlignment; } +IfcBoxAlignment::IfcBoxAlignment(IfcAbstractEntity* e) : IfcLabel((IfcAbstractEntity*)0) { entity = e; } +IfcBoxAlignment::IfcBoxAlignment(std::string v) : IfcLabel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcBoxAlignment); e->setArgument(0, v); entity = e; } +IfcBoxAlignment::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcCardinalPointReference +IfcUtil::ArgumentType IfcCardinalPointReference::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcCardinalPointReference::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcCardinalPointReference::is(Type::Enum v) const { return v == IfcCardinalPointReference::Class(); } +Type::Enum IfcCardinalPointReference::type() const { return Type::IfcCardinalPointReference; } +Type::Enum IfcCardinalPointReference::Class() { return Type::IfcCardinalPointReference; } +IfcCardinalPointReference::IfcCardinalPointReference(IfcAbstractEntity* e) { entity = e; } +IfcCardinalPointReference::IfcCardinalPointReference(int v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcCardinalPointReference); e->setArgument(0, v); entity = e; } +IfcCardinalPointReference::operator int() const { return *entity->getArgument(0); } + +// Function implementations for IfcComplexNumber +IfcUtil::ArgumentType IfcComplexNumber::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcComplexNumber::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcComplexNumber::is(Type::Enum v) const { return v == IfcComplexNumber::Class(); } +Type::Enum IfcComplexNumber::type() const { return Type::IfcComplexNumber; } +Type::Enum IfcComplexNumber::Class() { return Type::IfcComplexNumber; } +IfcComplexNumber::IfcComplexNumber(IfcAbstractEntity* e) { entity = e; } +IfcComplexNumber::IfcComplexNumber(std::vector< double > /*[1:2]*/ v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcComplexNumber); e->setArgument(0, v); entity = e; } +IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return *entity->getArgument(0); } + +// Function implementations for IfcCompoundPlaneAngleMeasure +IfcUtil::ArgumentType IfcCompoundPlaneAngleMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcCompoundPlaneAngleMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcCompoundPlaneAngleMeasure::is(Type::Enum v) const { return v == IfcCompoundPlaneAngleMeasure::Class(); } +Type::Enum IfcCompoundPlaneAngleMeasure::type() const { return Type::IfcCompoundPlaneAngleMeasure; } +Type::Enum IfcCompoundPlaneAngleMeasure::Class() { return Type::IfcCompoundPlaneAngleMeasure; } +IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(IfcAbstractEntity* e) { entity = e; } +IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(std::vector< int > /*[3:4]*/ v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcCompoundPlaneAngleMeasure); e->setArgument(0, v); entity = e; } +IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return *entity->getArgument(0); } + +// Function implementations for IfcContextDependentMeasure +IfcUtil::ArgumentType IfcContextDependentMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcContextDependentMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcContextDependentMeasure::is(Type::Enum v) const { return v == IfcContextDependentMeasure::Class(); } +Type::Enum IfcContextDependentMeasure::type() const { return Type::IfcContextDependentMeasure; } +Type::Enum IfcContextDependentMeasure::Class() { return Type::IfcContextDependentMeasure; } +IfcContextDependentMeasure::IfcContextDependentMeasure(IfcAbstractEntity* e) { entity = e; } +IfcContextDependentMeasure::IfcContextDependentMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcContextDependentMeasure); e->setArgument(0, v); entity = e; } +IfcContextDependentMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcCountMeasure +IfcUtil::ArgumentType IfcCountMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcCountMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcCountMeasure::is(Type::Enum v) const { return v == IfcCountMeasure::Class(); } +Type::Enum IfcCountMeasure::type() const { return Type::IfcCountMeasure; } +Type::Enum IfcCountMeasure::Class() { return Type::IfcCountMeasure; } +IfcCountMeasure::IfcCountMeasure(IfcAbstractEntity* e) { entity = e; } +IfcCountMeasure::IfcCountMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcCountMeasure); e->setArgument(0, v); entity = e; } +IfcCountMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcCurvatureMeasure +IfcUtil::ArgumentType IfcCurvatureMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcCurvatureMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcCurvatureMeasure::is(Type::Enum v) const { return v == IfcCurvatureMeasure::Class(); } +Type::Enum IfcCurvatureMeasure::type() const { return Type::IfcCurvatureMeasure; } +Type::Enum IfcCurvatureMeasure::Class() { return Type::IfcCurvatureMeasure; } +IfcCurvatureMeasure::IfcCurvatureMeasure(IfcAbstractEntity* e) { entity = e; } +IfcCurvatureMeasure::IfcCurvatureMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcCurvatureMeasure); e->setArgument(0, v); entity = e; } +IfcCurvatureMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcDate +IfcUtil::ArgumentType IfcDate::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcDate::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcDate::is(Type::Enum v) const { return v == IfcDate::Class(); } +Type::Enum IfcDate::type() const { return Type::IfcDate; } +Type::Enum IfcDate::Class() { return Type::IfcDate; } +IfcDate::IfcDate(IfcAbstractEntity* e) { entity = e; } +IfcDate::IfcDate(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcDate); e->setArgument(0, v); entity = e; } +IfcDate::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcDateTime +IfcUtil::ArgumentType IfcDateTime::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcDateTime::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcDateTime::is(Type::Enum v) const { return v == IfcDateTime::Class(); } +Type::Enum IfcDateTime::type() const { return Type::IfcDateTime; } +Type::Enum IfcDateTime::Class() { return Type::IfcDateTime; } +IfcDateTime::IfcDateTime(IfcAbstractEntity* e) { entity = e; } +IfcDateTime::IfcDateTime(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcDateTime); e->setArgument(0, v); entity = e; } +IfcDateTime::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcDayInMonthNumber +IfcUtil::ArgumentType IfcDayInMonthNumber::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcDayInMonthNumber::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcDayInMonthNumber::is(Type::Enum v) const { return v == IfcDayInMonthNumber::Class(); } +Type::Enum IfcDayInMonthNumber::type() const { return Type::IfcDayInMonthNumber; } +Type::Enum IfcDayInMonthNumber::Class() { return Type::IfcDayInMonthNumber; } +IfcDayInMonthNumber::IfcDayInMonthNumber(IfcAbstractEntity* e) { entity = e; } +IfcDayInMonthNumber::IfcDayInMonthNumber(int v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcDayInMonthNumber); e->setArgument(0, v); entity = e; } +IfcDayInMonthNumber::operator int() const { return *entity->getArgument(0); } + +// Function implementations for IfcDayInWeekNumber +IfcUtil::ArgumentType IfcDayInWeekNumber::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcDayInWeekNumber::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcDayInWeekNumber::is(Type::Enum v) const { return v == IfcDayInWeekNumber::Class(); } +Type::Enum IfcDayInWeekNumber::type() const { return Type::IfcDayInWeekNumber; } +Type::Enum IfcDayInWeekNumber::Class() { return Type::IfcDayInWeekNumber; } +IfcDayInWeekNumber::IfcDayInWeekNumber(IfcAbstractEntity* e) { entity = e; } +IfcDayInWeekNumber::IfcDayInWeekNumber(int v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcDayInWeekNumber); e->setArgument(0, v); entity = e; } +IfcDayInWeekNumber::operator int() const { return *entity->getArgument(0); } + +// Function implementations for IfcDescriptiveMeasure +IfcUtil::ArgumentType IfcDescriptiveMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcDescriptiveMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcDescriptiveMeasure::is(Type::Enum v) const { return v == IfcDescriptiveMeasure::Class(); } +Type::Enum IfcDescriptiveMeasure::type() const { return Type::IfcDescriptiveMeasure; } +Type::Enum IfcDescriptiveMeasure::Class() { return Type::IfcDescriptiveMeasure; } +IfcDescriptiveMeasure::IfcDescriptiveMeasure(IfcAbstractEntity* e) { entity = e; } +IfcDescriptiveMeasure::IfcDescriptiveMeasure(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcDescriptiveMeasure); e->setArgument(0, v); entity = e; } +IfcDescriptiveMeasure::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcDimensionCount +IfcUtil::ArgumentType IfcDimensionCount::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcDimensionCount::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcDimensionCount::is(Type::Enum v) const { return v == IfcDimensionCount::Class(); } +Type::Enum IfcDimensionCount::type() const { return Type::IfcDimensionCount; } +Type::Enum IfcDimensionCount::Class() { return Type::IfcDimensionCount; } +IfcDimensionCount::IfcDimensionCount(IfcAbstractEntity* e) { entity = e; } +IfcDimensionCount::IfcDimensionCount(int v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcDimensionCount); e->setArgument(0, v); entity = e; } +IfcDimensionCount::operator int() const { return *entity->getArgument(0); } + +// Function implementations for IfcDoseEquivalentMeasure +IfcUtil::ArgumentType IfcDoseEquivalentMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcDoseEquivalentMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcDoseEquivalentMeasure::is(Type::Enum v) const { return v == IfcDoseEquivalentMeasure::Class(); } +Type::Enum IfcDoseEquivalentMeasure::type() const { return Type::IfcDoseEquivalentMeasure; } +Type::Enum IfcDoseEquivalentMeasure::Class() { return Type::IfcDoseEquivalentMeasure; } +IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(IfcAbstractEntity* e) { entity = e; } +IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcDoseEquivalentMeasure); e->setArgument(0, v); entity = e; } +IfcDoseEquivalentMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcDuration +IfcUtil::ArgumentType IfcDuration::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcDuration::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcDuration::is(Type::Enum v) const { return v == IfcDuration::Class(); } +Type::Enum IfcDuration::type() const { return Type::IfcDuration; } +Type::Enum IfcDuration::Class() { return Type::IfcDuration; } +IfcDuration::IfcDuration(IfcAbstractEntity* e) { entity = e; } +IfcDuration::IfcDuration(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcDuration); e->setArgument(0, v); entity = e; } +IfcDuration::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcDynamicViscosityMeasure +IfcUtil::ArgumentType IfcDynamicViscosityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcDynamicViscosityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcDynamicViscosityMeasure::is(Type::Enum v) const { return v == IfcDynamicViscosityMeasure::Class(); } +Type::Enum IfcDynamicViscosityMeasure::type() const { return Type::IfcDynamicViscosityMeasure; } +Type::Enum IfcDynamicViscosityMeasure::Class() { return Type::IfcDynamicViscosityMeasure; } +IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcDynamicViscosityMeasure); e->setArgument(0, v); entity = e; } +IfcDynamicViscosityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcElectricCapacitanceMeasure +IfcUtil::ArgumentType IfcElectricCapacitanceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcElectricCapacitanceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcElectricCapacitanceMeasure::is(Type::Enum v) const { return v == IfcElectricCapacitanceMeasure::Class(); } +Type::Enum IfcElectricCapacitanceMeasure::type() const { return Type::IfcElectricCapacitanceMeasure; } +Type::Enum IfcElectricCapacitanceMeasure::Class() { return Type::IfcElectricCapacitanceMeasure; } +IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(IfcAbstractEntity* e) { entity = e; } +IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcElectricCapacitanceMeasure); e->setArgument(0, v); entity = e; } +IfcElectricCapacitanceMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcElectricChargeMeasure +IfcUtil::ArgumentType IfcElectricChargeMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcElectricChargeMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcElectricChargeMeasure::is(Type::Enum v) const { return v == IfcElectricChargeMeasure::Class(); } +Type::Enum IfcElectricChargeMeasure::type() const { return Type::IfcElectricChargeMeasure; } +Type::Enum IfcElectricChargeMeasure::Class() { return Type::IfcElectricChargeMeasure; } +IfcElectricChargeMeasure::IfcElectricChargeMeasure(IfcAbstractEntity* e) { entity = e; } +IfcElectricChargeMeasure::IfcElectricChargeMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcElectricChargeMeasure); e->setArgument(0, v); entity = e; } +IfcElectricChargeMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcElectricConductanceMeasure +IfcUtil::ArgumentType IfcElectricConductanceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcElectricConductanceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcElectricConductanceMeasure::is(Type::Enum v) const { return v == IfcElectricConductanceMeasure::Class(); } +Type::Enum IfcElectricConductanceMeasure::type() const { return Type::IfcElectricConductanceMeasure; } +Type::Enum IfcElectricConductanceMeasure::Class() { return Type::IfcElectricConductanceMeasure; } +IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(IfcAbstractEntity* e) { entity = e; } +IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcElectricConductanceMeasure); e->setArgument(0, v); entity = e; } +IfcElectricConductanceMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcElectricCurrentMeasure +IfcUtil::ArgumentType IfcElectricCurrentMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcElectricCurrentMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcElectricCurrentMeasure::is(Type::Enum v) const { return v == IfcElectricCurrentMeasure::Class(); } +Type::Enum IfcElectricCurrentMeasure::type() const { return Type::IfcElectricCurrentMeasure; } +Type::Enum IfcElectricCurrentMeasure::Class() { return Type::IfcElectricCurrentMeasure; } +IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(IfcAbstractEntity* e) { entity = e; } +IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcElectricCurrentMeasure); e->setArgument(0, v); entity = e; } +IfcElectricCurrentMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcElectricResistanceMeasure +IfcUtil::ArgumentType IfcElectricResistanceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcElectricResistanceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcElectricResistanceMeasure::is(Type::Enum v) const { return v == IfcElectricResistanceMeasure::Class(); } +Type::Enum IfcElectricResistanceMeasure::type() const { return Type::IfcElectricResistanceMeasure; } +Type::Enum IfcElectricResistanceMeasure::Class() { return Type::IfcElectricResistanceMeasure; } +IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(IfcAbstractEntity* e) { entity = e; } +IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcElectricResistanceMeasure); e->setArgument(0, v); entity = e; } +IfcElectricResistanceMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcElectricVoltageMeasure +IfcUtil::ArgumentType IfcElectricVoltageMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcElectricVoltageMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcElectricVoltageMeasure::is(Type::Enum v) const { return v == IfcElectricVoltageMeasure::Class(); } +Type::Enum IfcElectricVoltageMeasure::type() const { return Type::IfcElectricVoltageMeasure; } +Type::Enum IfcElectricVoltageMeasure::Class() { return Type::IfcElectricVoltageMeasure; } +IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(IfcAbstractEntity* e) { entity = e; } +IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcElectricVoltageMeasure); e->setArgument(0, v); entity = e; } +IfcElectricVoltageMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcEnergyMeasure +IfcUtil::ArgumentType IfcEnergyMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcEnergyMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcEnergyMeasure::is(Type::Enum v) const { return v == IfcEnergyMeasure::Class(); } +Type::Enum IfcEnergyMeasure::type() const { return Type::IfcEnergyMeasure; } +Type::Enum IfcEnergyMeasure::Class() { return Type::IfcEnergyMeasure; } +IfcEnergyMeasure::IfcEnergyMeasure(IfcAbstractEntity* e) { entity = e; } +IfcEnergyMeasure::IfcEnergyMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcEnergyMeasure); e->setArgument(0, v); entity = e; } +IfcEnergyMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcFontStyle +IfcUtil::ArgumentType IfcFontStyle::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcFontStyle::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcFontStyle::is(Type::Enum v) const { return v == IfcFontStyle::Class(); } +Type::Enum IfcFontStyle::type() const { return Type::IfcFontStyle; } +Type::Enum IfcFontStyle::Class() { return Type::IfcFontStyle; } +IfcFontStyle::IfcFontStyle(IfcAbstractEntity* e) { entity = e; } +IfcFontStyle::IfcFontStyle(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcFontStyle); e->setArgument(0, v); entity = e; } +IfcFontStyle::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcFontVariant +IfcUtil::ArgumentType IfcFontVariant::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcFontVariant::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcFontVariant::is(Type::Enum v) const { return v == IfcFontVariant::Class(); } +Type::Enum IfcFontVariant::type() const { return Type::IfcFontVariant; } +Type::Enum IfcFontVariant::Class() { return Type::IfcFontVariant; } +IfcFontVariant::IfcFontVariant(IfcAbstractEntity* e) { entity = e; } +IfcFontVariant::IfcFontVariant(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcFontVariant); e->setArgument(0, v); entity = e; } +IfcFontVariant::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcFontWeight +IfcUtil::ArgumentType IfcFontWeight::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcFontWeight::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcFontWeight::is(Type::Enum v) const { return v == IfcFontWeight::Class(); } +Type::Enum IfcFontWeight::type() const { return Type::IfcFontWeight; } +Type::Enum IfcFontWeight::Class() { return Type::IfcFontWeight; } +IfcFontWeight::IfcFontWeight(IfcAbstractEntity* e) { entity = e; } +IfcFontWeight::IfcFontWeight(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcFontWeight); e->setArgument(0, v); entity = e; } +IfcFontWeight::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcForceMeasure +IfcUtil::ArgumentType IfcForceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcForceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcForceMeasure::is(Type::Enum v) const { return v == IfcForceMeasure::Class(); } +Type::Enum IfcForceMeasure::type() const { return Type::IfcForceMeasure; } +Type::Enum IfcForceMeasure::Class() { return Type::IfcForceMeasure; } +IfcForceMeasure::IfcForceMeasure(IfcAbstractEntity* e) { entity = e; } +IfcForceMeasure::IfcForceMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcForceMeasure); e->setArgument(0, v); entity = e; } +IfcForceMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcFrequencyMeasure +IfcUtil::ArgumentType IfcFrequencyMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcFrequencyMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcFrequencyMeasure::is(Type::Enum v) const { return v == IfcFrequencyMeasure::Class(); } +Type::Enum IfcFrequencyMeasure::type() const { return Type::IfcFrequencyMeasure; } +Type::Enum IfcFrequencyMeasure::Class() { return Type::IfcFrequencyMeasure; } +IfcFrequencyMeasure::IfcFrequencyMeasure(IfcAbstractEntity* e) { entity = e; } +IfcFrequencyMeasure::IfcFrequencyMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcFrequencyMeasure); e->setArgument(0, v); entity = e; } +IfcFrequencyMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcGloballyUniqueId +IfcUtil::ArgumentType IfcGloballyUniqueId::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcGloballyUniqueId::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcGloballyUniqueId::is(Type::Enum v) const { return v == IfcGloballyUniqueId::Class(); } +Type::Enum IfcGloballyUniqueId::type() const { return Type::IfcGloballyUniqueId; } +Type::Enum IfcGloballyUniqueId::Class() { return Type::IfcGloballyUniqueId; } +IfcGloballyUniqueId::IfcGloballyUniqueId(IfcAbstractEntity* e) { entity = e; } +IfcGloballyUniqueId::IfcGloballyUniqueId(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcGloballyUniqueId); e->setArgument(0, v); entity = e; } +IfcGloballyUniqueId::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcHeatFluxDensityMeasure +IfcUtil::ArgumentType IfcHeatFluxDensityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcHeatFluxDensityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcHeatFluxDensityMeasure::is(Type::Enum v) const { return v == IfcHeatFluxDensityMeasure::Class(); } +Type::Enum IfcHeatFluxDensityMeasure::type() const { return Type::IfcHeatFluxDensityMeasure; } +Type::Enum IfcHeatFluxDensityMeasure::Class() { return Type::IfcHeatFluxDensityMeasure; } +IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcHeatFluxDensityMeasure); e->setArgument(0, v); entity = e; } +IfcHeatFluxDensityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcHeatingValueMeasure +IfcUtil::ArgumentType IfcHeatingValueMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcHeatingValueMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcHeatingValueMeasure::is(Type::Enum v) const { return v == IfcHeatingValueMeasure::Class(); } +Type::Enum IfcHeatingValueMeasure::type() const { return Type::IfcHeatingValueMeasure; } +Type::Enum IfcHeatingValueMeasure::Class() { return Type::IfcHeatingValueMeasure; } +IfcHeatingValueMeasure::IfcHeatingValueMeasure(IfcAbstractEntity* e) { entity = e; } +IfcHeatingValueMeasure::IfcHeatingValueMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcHeatingValueMeasure); e->setArgument(0, v); entity = e; } +IfcHeatingValueMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcIdentifier +IfcUtil::ArgumentType IfcIdentifier::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcIdentifier::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcIdentifier::is(Type::Enum v) const { return v == IfcIdentifier::Class(); } +Type::Enum IfcIdentifier::type() const { return Type::IfcIdentifier; } +Type::Enum IfcIdentifier::Class() { return Type::IfcIdentifier; } +IfcIdentifier::IfcIdentifier(IfcAbstractEntity* e) { entity = e; } +IfcIdentifier::IfcIdentifier(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcIdentifier); e->setArgument(0, v); entity = e; } +IfcIdentifier::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcIlluminanceMeasure +IfcUtil::ArgumentType IfcIlluminanceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcIlluminanceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcIlluminanceMeasure::is(Type::Enum v) const { return v == IfcIlluminanceMeasure::Class(); } +Type::Enum IfcIlluminanceMeasure::type() const { return Type::IfcIlluminanceMeasure; } +Type::Enum IfcIlluminanceMeasure::Class() { return Type::IfcIlluminanceMeasure; } +IfcIlluminanceMeasure::IfcIlluminanceMeasure(IfcAbstractEntity* e) { entity = e; } +IfcIlluminanceMeasure::IfcIlluminanceMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcIlluminanceMeasure); e->setArgument(0, v); entity = e; } +IfcIlluminanceMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcInductanceMeasure +IfcUtil::ArgumentType IfcInductanceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcInductanceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcInductanceMeasure::is(Type::Enum v) const { return v == IfcInductanceMeasure::Class(); } +Type::Enum IfcInductanceMeasure::type() const { return Type::IfcInductanceMeasure; } +Type::Enum IfcInductanceMeasure::Class() { return Type::IfcInductanceMeasure; } +IfcInductanceMeasure::IfcInductanceMeasure(IfcAbstractEntity* e) { entity = e; } +IfcInductanceMeasure::IfcInductanceMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcInductanceMeasure); e->setArgument(0, v); entity = e; } +IfcInductanceMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcInteger +IfcUtil::ArgumentType IfcInteger::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcInteger::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcInteger::is(Type::Enum v) const { return v == IfcInteger::Class(); } +Type::Enum IfcInteger::type() const { return Type::IfcInteger; } +Type::Enum IfcInteger::Class() { return Type::IfcInteger; } +IfcInteger::IfcInteger(IfcAbstractEntity* e) { entity = e; } +IfcInteger::IfcInteger(int v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcInteger); e->setArgument(0, v); entity = e; } +IfcInteger::operator int() const { return *entity->getArgument(0); } + +// Function implementations for IfcIntegerCountRateMeasure +IfcUtil::ArgumentType IfcIntegerCountRateMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcIntegerCountRateMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcIntegerCountRateMeasure::is(Type::Enum v) const { return v == IfcIntegerCountRateMeasure::Class(); } +Type::Enum IfcIntegerCountRateMeasure::type() const { return Type::IfcIntegerCountRateMeasure; } +Type::Enum IfcIntegerCountRateMeasure::Class() { return Type::IfcIntegerCountRateMeasure; } +IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(IfcAbstractEntity* e) { entity = e; } +IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(int v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcIntegerCountRateMeasure); e->setArgument(0, v); entity = e; } +IfcIntegerCountRateMeasure::operator int() const { return *entity->getArgument(0); } + +// Function implementations for IfcIonConcentrationMeasure +IfcUtil::ArgumentType IfcIonConcentrationMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcIonConcentrationMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcIonConcentrationMeasure::is(Type::Enum v) const { return v == IfcIonConcentrationMeasure::Class(); } +Type::Enum IfcIonConcentrationMeasure::type() const { return Type::IfcIonConcentrationMeasure; } +Type::Enum IfcIonConcentrationMeasure::Class() { return Type::IfcIonConcentrationMeasure; } +IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(IfcAbstractEntity* e) { entity = e; } +IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcIonConcentrationMeasure); e->setArgument(0, v); entity = e; } +IfcIonConcentrationMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcIsothermalMoistureCapacityMeasure +IfcUtil::ArgumentType IfcIsothermalMoistureCapacityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcIsothermalMoistureCapacityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcIsothermalMoistureCapacityMeasure::is(Type::Enum v) const { return v == IfcIsothermalMoistureCapacityMeasure::Class(); } +Type::Enum IfcIsothermalMoistureCapacityMeasure::type() const { return Type::IfcIsothermalMoistureCapacityMeasure; } +Type::Enum IfcIsothermalMoistureCapacityMeasure::Class() { return Type::IfcIsothermalMoistureCapacityMeasure; } +IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcIsothermalMoistureCapacityMeasure); e->setArgument(0, v); entity = e; } +IfcIsothermalMoistureCapacityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcKinematicViscosityMeasure +IfcUtil::ArgumentType IfcKinematicViscosityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcKinematicViscosityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcKinematicViscosityMeasure::is(Type::Enum v) const { return v == IfcKinematicViscosityMeasure::Class(); } +Type::Enum IfcKinematicViscosityMeasure::type() const { return Type::IfcKinematicViscosityMeasure; } +Type::Enum IfcKinematicViscosityMeasure::Class() { return Type::IfcKinematicViscosityMeasure; } +IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcKinematicViscosityMeasure); e->setArgument(0, v); entity = e; } +IfcKinematicViscosityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcLabel +IfcUtil::ArgumentType IfcLabel::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcLabel::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcLabel::is(Type::Enum v) const { return v == IfcLabel::Class(); } +Type::Enum IfcLabel::type() const { return Type::IfcLabel; } +Type::Enum IfcLabel::Class() { return Type::IfcLabel; } +IfcLabel::IfcLabel(IfcAbstractEntity* e) { entity = e; } +IfcLabel::IfcLabel(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcLabel); e->setArgument(0, v); entity = e; } +IfcLabel::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcLanguageId +IfcUtil::ArgumentType IfcLanguageId::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcLanguageId::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcLanguageId::is(Type::Enum v) const { return v == Type::IfcLanguageId || IfcIdentifier::is(v); } +Type::Enum IfcLanguageId::type() const { return Type::IfcLanguageId; } +Type::Enum IfcLanguageId::Class() { return Type::IfcLanguageId; } +IfcLanguageId::IfcLanguageId(IfcAbstractEntity* e) : IfcIdentifier((IfcAbstractEntity*)0) { entity = e; } +IfcLanguageId::IfcLanguageId(std::string v) : IfcIdentifier((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcLanguageId); e->setArgument(0, v); entity = e; } +IfcLanguageId::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcLengthMeasure +IfcUtil::ArgumentType IfcLengthMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcLengthMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcLengthMeasure::is(Type::Enum v) const { return v == IfcLengthMeasure::Class(); } +Type::Enum IfcLengthMeasure::type() const { return Type::IfcLengthMeasure; } +Type::Enum IfcLengthMeasure::Class() { return Type::IfcLengthMeasure; } +IfcLengthMeasure::IfcLengthMeasure(IfcAbstractEntity* e) { entity = e; } +IfcLengthMeasure::IfcLengthMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcLengthMeasure); e->setArgument(0, v); entity = e; } +IfcLengthMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcLinearForceMeasure +IfcUtil::ArgumentType IfcLinearForceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcLinearForceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcLinearForceMeasure::is(Type::Enum v) const { return v == IfcLinearForceMeasure::Class(); } +Type::Enum IfcLinearForceMeasure::type() const { return Type::IfcLinearForceMeasure; } +Type::Enum IfcLinearForceMeasure::Class() { return Type::IfcLinearForceMeasure; } +IfcLinearForceMeasure::IfcLinearForceMeasure(IfcAbstractEntity* e) { entity = e; } +IfcLinearForceMeasure::IfcLinearForceMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcLinearForceMeasure); e->setArgument(0, v); entity = e; } +IfcLinearForceMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcLinearMomentMeasure +IfcUtil::ArgumentType IfcLinearMomentMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcLinearMomentMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcLinearMomentMeasure::is(Type::Enum v) const { return v == IfcLinearMomentMeasure::Class(); } +Type::Enum IfcLinearMomentMeasure::type() const { return Type::IfcLinearMomentMeasure; } +Type::Enum IfcLinearMomentMeasure::Class() { return Type::IfcLinearMomentMeasure; } +IfcLinearMomentMeasure::IfcLinearMomentMeasure(IfcAbstractEntity* e) { entity = e; } +IfcLinearMomentMeasure::IfcLinearMomentMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcLinearMomentMeasure); e->setArgument(0, v); entity = e; } +IfcLinearMomentMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcLinearStiffnessMeasure +IfcUtil::ArgumentType IfcLinearStiffnessMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcLinearStiffnessMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcLinearStiffnessMeasure::is(Type::Enum v) const { return v == IfcLinearStiffnessMeasure::Class(); } +Type::Enum IfcLinearStiffnessMeasure::type() const { return Type::IfcLinearStiffnessMeasure; } +Type::Enum IfcLinearStiffnessMeasure::Class() { return Type::IfcLinearStiffnessMeasure; } +IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(IfcAbstractEntity* e) { entity = e; } +IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcLinearStiffnessMeasure); e->setArgument(0, v); entity = e; } +IfcLinearStiffnessMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcLinearVelocityMeasure +IfcUtil::ArgumentType IfcLinearVelocityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcLinearVelocityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcLinearVelocityMeasure::is(Type::Enum v) const { return v == IfcLinearVelocityMeasure::Class(); } +Type::Enum IfcLinearVelocityMeasure::type() const { return Type::IfcLinearVelocityMeasure; } +Type::Enum IfcLinearVelocityMeasure::Class() { return Type::IfcLinearVelocityMeasure; } +IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcLinearVelocityMeasure); e->setArgument(0, v); entity = e; } +IfcLinearVelocityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcLogical +IfcUtil::ArgumentType IfcLogical::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_BOOL; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcLogical::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcLogical::is(Type::Enum v) const { return v == IfcLogical::Class(); } +Type::Enum IfcLogical::type() const { return Type::IfcLogical; } +Type::Enum IfcLogical::Class() { return Type::IfcLogical; } +IfcLogical::IfcLogical(IfcAbstractEntity* e) { entity = e; } +IfcLogical::IfcLogical(bool v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcLogical); e->setArgument(0, v); entity = e; } +IfcLogical::operator bool() const { return *entity->getArgument(0); } + +// Function implementations for IfcLuminousFluxMeasure +IfcUtil::ArgumentType IfcLuminousFluxMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcLuminousFluxMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcLuminousFluxMeasure::is(Type::Enum v) const { return v == IfcLuminousFluxMeasure::Class(); } +Type::Enum IfcLuminousFluxMeasure::type() const { return Type::IfcLuminousFluxMeasure; } +Type::Enum IfcLuminousFluxMeasure::Class() { return Type::IfcLuminousFluxMeasure; } +IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(IfcAbstractEntity* e) { entity = e; } +IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcLuminousFluxMeasure); e->setArgument(0, v); entity = e; } +IfcLuminousFluxMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcLuminousIntensityDistributionMeasure +IfcUtil::ArgumentType IfcLuminousIntensityDistributionMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcLuminousIntensityDistributionMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcLuminousIntensityDistributionMeasure::is(Type::Enum v) const { return v == IfcLuminousIntensityDistributionMeasure::Class(); } +Type::Enum IfcLuminousIntensityDistributionMeasure::type() const { return Type::IfcLuminousIntensityDistributionMeasure; } +Type::Enum IfcLuminousIntensityDistributionMeasure::Class() { return Type::IfcLuminousIntensityDistributionMeasure; } +IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(IfcAbstractEntity* e) { entity = e; } +IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcLuminousIntensityDistributionMeasure); e->setArgument(0, v); entity = e; } +IfcLuminousIntensityDistributionMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcLuminousIntensityMeasure +IfcUtil::ArgumentType IfcLuminousIntensityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcLuminousIntensityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcLuminousIntensityMeasure::is(Type::Enum v) const { return v == IfcLuminousIntensityMeasure::Class(); } +Type::Enum IfcLuminousIntensityMeasure::type() const { return Type::IfcLuminousIntensityMeasure; } +Type::Enum IfcLuminousIntensityMeasure::Class() { return Type::IfcLuminousIntensityMeasure; } +IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcLuminousIntensityMeasure); e->setArgument(0, v); entity = e; } +IfcLuminousIntensityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcMagneticFluxDensityMeasure +IfcUtil::ArgumentType IfcMagneticFluxDensityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcMagneticFluxDensityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcMagneticFluxDensityMeasure::is(Type::Enum v) const { return v == IfcMagneticFluxDensityMeasure::Class(); } +Type::Enum IfcMagneticFluxDensityMeasure::type() const { return Type::IfcMagneticFluxDensityMeasure; } +Type::Enum IfcMagneticFluxDensityMeasure::Class() { return Type::IfcMagneticFluxDensityMeasure; } +IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcMagneticFluxDensityMeasure); e->setArgument(0, v); entity = e; } +IfcMagneticFluxDensityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcMagneticFluxMeasure +IfcUtil::ArgumentType IfcMagneticFluxMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcMagneticFluxMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcMagneticFluxMeasure::is(Type::Enum v) const { return v == IfcMagneticFluxMeasure::Class(); } +Type::Enum IfcMagneticFluxMeasure::type() const { return Type::IfcMagneticFluxMeasure; } +Type::Enum IfcMagneticFluxMeasure::Class() { return Type::IfcMagneticFluxMeasure; } +IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(IfcAbstractEntity* e) { entity = e; } +IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcMagneticFluxMeasure); e->setArgument(0, v); entity = e; } +IfcMagneticFluxMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcMassDensityMeasure +IfcUtil::ArgumentType IfcMassDensityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcMassDensityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcMassDensityMeasure::is(Type::Enum v) const { return v == IfcMassDensityMeasure::Class(); } +Type::Enum IfcMassDensityMeasure::type() const { return Type::IfcMassDensityMeasure; } +Type::Enum IfcMassDensityMeasure::Class() { return Type::IfcMassDensityMeasure; } +IfcMassDensityMeasure::IfcMassDensityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcMassDensityMeasure::IfcMassDensityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcMassDensityMeasure); e->setArgument(0, v); entity = e; } +IfcMassDensityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcMassFlowRateMeasure +IfcUtil::ArgumentType IfcMassFlowRateMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcMassFlowRateMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcMassFlowRateMeasure::is(Type::Enum v) const { return v == IfcMassFlowRateMeasure::Class(); } +Type::Enum IfcMassFlowRateMeasure::type() const { return Type::IfcMassFlowRateMeasure; } +Type::Enum IfcMassFlowRateMeasure::Class() { return Type::IfcMassFlowRateMeasure; } +IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(IfcAbstractEntity* e) { entity = e; } +IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcMassFlowRateMeasure); e->setArgument(0, v); entity = e; } +IfcMassFlowRateMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcMassMeasure +IfcUtil::ArgumentType IfcMassMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcMassMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcMassMeasure::is(Type::Enum v) const { return v == IfcMassMeasure::Class(); } +Type::Enum IfcMassMeasure::type() const { return Type::IfcMassMeasure; } +Type::Enum IfcMassMeasure::Class() { return Type::IfcMassMeasure; } +IfcMassMeasure::IfcMassMeasure(IfcAbstractEntity* e) { entity = e; } +IfcMassMeasure::IfcMassMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcMassMeasure); e->setArgument(0, v); entity = e; } +IfcMassMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcMassPerLengthMeasure +IfcUtil::ArgumentType IfcMassPerLengthMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcMassPerLengthMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcMassPerLengthMeasure::is(Type::Enum v) const { return v == IfcMassPerLengthMeasure::Class(); } +Type::Enum IfcMassPerLengthMeasure::type() const { return Type::IfcMassPerLengthMeasure; } +Type::Enum IfcMassPerLengthMeasure::Class() { return Type::IfcMassPerLengthMeasure; } +IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(IfcAbstractEntity* e) { entity = e; } +IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcMassPerLengthMeasure); e->setArgument(0, v); entity = e; } +IfcMassPerLengthMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcModulusOfElasticityMeasure +IfcUtil::ArgumentType IfcModulusOfElasticityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcModulusOfElasticityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcModulusOfElasticityMeasure::is(Type::Enum v) const { return v == IfcModulusOfElasticityMeasure::Class(); } +Type::Enum IfcModulusOfElasticityMeasure::type() const { return Type::IfcModulusOfElasticityMeasure; } +Type::Enum IfcModulusOfElasticityMeasure::Class() { return Type::IfcModulusOfElasticityMeasure; } +IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcModulusOfElasticityMeasure); e->setArgument(0, v); entity = e; } +IfcModulusOfElasticityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcModulusOfLinearSubgradeReactionMeasure +IfcUtil::ArgumentType IfcModulusOfLinearSubgradeReactionMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcModulusOfLinearSubgradeReactionMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcModulusOfLinearSubgradeReactionMeasure::is(Type::Enum v) const { return v == IfcModulusOfLinearSubgradeReactionMeasure::Class(); } +Type::Enum IfcModulusOfLinearSubgradeReactionMeasure::type() const { return Type::IfcModulusOfLinearSubgradeReactionMeasure; } +Type::Enum IfcModulusOfLinearSubgradeReactionMeasure::Class() { return Type::IfcModulusOfLinearSubgradeReactionMeasure; } +IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(IfcAbstractEntity* e) { entity = e; } +IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcModulusOfLinearSubgradeReactionMeasure); e->setArgument(0, v); entity = e; } +IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure +IfcUtil::ArgumentType IfcModulusOfRotationalSubgradeReactionMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcModulusOfRotationalSubgradeReactionMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcModulusOfRotationalSubgradeReactionMeasure::is(Type::Enum v) const { return v == IfcModulusOfRotationalSubgradeReactionMeasure::Class(); } +Type::Enum IfcModulusOfRotationalSubgradeReactionMeasure::type() const { return Type::IfcModulusOfRotationalSubgradeReactionMeasure; } +Type::Enum IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return Type::IfcModulusOfRotationalSubgradeReactionMeasure; } +IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(IfcAbstractEntity* e) { entity = e; } +IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcModulusOfRotationalSubgradeReactionMeasure); e->setArgument(0, v); entity = e; } +IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcModulusOfSubgradeReactionMeasure +IfcUtil::ArgumentType IfcModulusOfSubgradeReactionMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcModulusOfSubgradeReactionMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcModulusOfSubgradeReactionMeasure::is(Type::Enum v) const { return v == IfcModulusOfSubgradeReactionMeasure::Class(); } +Type::Enum IfcModulusOfSubgradeReactionMeasure::type() const { return Type::IfcModulusOfSubgradeReactionMeasure; } +Type::Enum IfcModulusOfSubgradeReactionMeasure::Class() { return Type::IfcModulusOfSubgradeReactionMeasure; } +IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(IfcAbstractEntity* e) { entity = e; } +IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcModulusOfSubgradeReactionMeasure); e->setArgument(0, v); entity = e; } +IfcModulusOfSubgradeReactionMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcMoistureDiffusivityMeasure +IfcUtil::ArgumentType IfcMoistureDiffusivityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcMoistureDiffusivityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcMoistureDiffusivityMeasure::is(Type::Enum v) const { return v == IfcMoistureDiffusivityMeasure::Class(); } +Type::Enum IfcMoistureDiffusivityMeasure::type() const { return Type::IfcMoistureDiffusivityMeasure; } +Type::Enum IfcMoistureDiffusivityMeasure::Class() { return Type::IfcMoistureDiffusivityMeasure; } +IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcMoistureDiffusivityMeasure); e->setArgument(0, v); entity = e; } +IfcMoistureDiffusivityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcMolecularWeightMeasure +IfcUtil::ArgumentType IfcMolecularWeightMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcMolecularWeightMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcMolecularWeightMeasure::is(Type::Enum v) const { return v == IfcMolecularWeightMeasure::Class(); } +Type::Enum IfcMolecularWeightMeasure::type() const { return Type::IfcMolecularWeightMeasure; } +Type::Enum IfcMolecularWeightMeasure::Class() { return Type::IfcMolecularWeightMeasure; } +IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(IfcAbstractEntity* e) { entity = e; } +IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcMolecularWeightMeasure); e->setArgument(0, v); entity = e; } +IfcMolecularWeightMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcMomentOfInertiaMeasure +IfcUtil::ArgumentType IfcMomentOfInertiaMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcMomentOfInertiaMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcMomentOfInertiaMeasure::is(Type::Enum v) const { return v == IfcMomentOfInertiaMeasure::Class(); } +Type::Enum IfcMomentOfInertiaMeasure::type() const { return Type::IfcMomentOfInertiaMeasure; } +Type::Enum IfcMomentOfInertiaMeasure::Class() { return Type::IfcMomentOfInertiaMeasure; } +IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(IfcAbstractEntity* e) { entity = e; } +IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcMomentOfInertiaMeasure); e->setArgument(0, v); entity = e; } +IfcMomentOfInertiaMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcMonetaryMeasure +IfcUtil::ArgumentType IfcMonetaryMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcMonetaryMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcMonetaryMeasure::is(Type::Enum v) const { return v == IfcMonetaryMeasure::Class(); } +Type::Enum IfcMonetaryMeasure::type() const { return Type::IfcMonetaryMeasure; } +Type::Enum IfcMonetaryMeasure::Class() { return Type::IfcMonetaryMeasure; } +IfcMonetaryMeasure::IfcMonetaryMeasure(IfcAbstractEntity* e) { entity = e; } +IfcMonetaryMeasure::IfcMonetaryMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcMonetaryMeasure); e->setArgument(0, v); entity = e; } +IfcMonetaryMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcMonthInYearNumber +IfcUtil::ArgumentType IfcMonthInYearNumber::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcMonthInYearNumber::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcMonthInYearNumber::is(Type::Enum v) const { return v == IfcMonthInYearNumber::Class(); } +Type::Enum IfcMonthInYearNumber::type() const { return Type::IfcMonthInYearNumber; } +Type::Enum IfcMonthInYearNumber::Class() { return Type::IfcMonthInYearNumber; } +IfcMonthInYearNumber::IfcMonthInYearNumber(IfcAbstractEntity* e) { entity = e; } +IfcMonthInYearNumber::IfcMonthInYearNumber(int v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcMonthInYearNumber); e->setArgument(0, v); entity = e; } +IfcMonthInYearNumber::operator int() const { return *entity->getArgument(0); } + +// Function implementations for IfcNonNegativeLengthMeasure +IfcUtil::ArgumentType IfcNonNegativeLengthMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcNonNegativeLengthMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcNonNegativeLengthMeasure::is(Type::Enum v) const { return v == Type::IfcNonNegativeLengthMeasure || IfcLengthMeasure::is(v); } +Type::Enum IfcNonNegativeLengthMeasure::type() const { return Type::IfcNonNegativeLengthMeasure; } +Type::Enum IfcNonNegativeLengthMeasure::Class() { return Type::IfcNonNegativeLengthMeasure; } +IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(IfcAbstractEntity* e) : IfcLengthMeasure((IfcAbstractEntity*)0) { entity = e; } +IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(double v) : IfcLengthMeasure((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcNonNegativeLengthMeasure); e->setArgument(0, v); entity = e; } +IfcNonNegativeLengthMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcNormalisedRatioMeasure +IfcUtil::ArgumentType IfcNormalisedRatioMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcNormalisedRatioMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcNormalisedRatioMeasure::is(Type::Enum v) const { return v == Type::IfcNormalisedRatioMeasure || IfcRatioMeasure::is(v); } +Type::Enum IfcNormalisedRatioMeasure::type() const { return Type::IfcNormalisedRatioMeasure; } +Type::Enum IfcNormalisedRatioMeasure::Class() { return Type::IfcNormalisedRatioMeasure; } +IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(IfcAbstractEntity* e) : IfcRatioMeasure((IfcAbstractEntity*)0) { entity = e; } +IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(double v) : IfcRatioMeasure((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcNormalisedRatioMeasure); e->setArgument(0, v); entity = e; } +IfcNormalisedRatioMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcNumericMeasure +IfcUtil::ArgumentType IfcNumericMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcNumericMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcNumericMeasure::is(Type::Enum v) const { return v == IfcNumericMeasure::Class(); } +Type::Enum IfcNumericMeasure::type() const { return Type::IfcNumericMeasure; } +Type::Enum IfcNumericMeasure::Class() { return Type::IfcNumericMeasure; } +IfcNumericMeasure::IfcNumericMeasure(IfcAbstractEntity* e) { entity = e; } +IfcNumericMeasure::IfcNumericMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcNumericMeasure); e->setArgument(0, v); entity = e; } +IfcNumericMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcPHMeasure +IfcUtil::ArgumentType IfcPHMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcPHMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcPHMeasure::is(Type::Enum v) const { return v == IfcPHMeasure::Class(); } +Type::Enum IfcPHMeasure::type() const { return Type::IfcPHMeasure; } +Type::Enum IfcPHMeasure::Class() { return Type::IfcPHMeasure; } +IfcPHMeasure::IfcPHMeasure(IfcAbstractEntity* e) { entity = e; } +IfcPHMeasure::IfcPHMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcPHMeasure); e->setArgument(0, v); entity = e; } +IfcPHMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcParameterValue +IfcUtil::ArgumentType IfcParameterValue::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcParameterValue::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcParameterValue::is(Type::Enum v) const { return v == IfcParameterValue::Class(); } +Type::Enum IfcParameterValue::type() const { return Type::IfcParameterValue; } +Type::Enum IfcParameterValue::Class() { return Type::IfcParameterValue; } +IfcParameterValue::IfcParameterValue(IfcAbstractEntity* e) { entity = e; } +IfcParameterValue::IfcParameterValue(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcParameterValue); e->setArgument(0, v); entity = e; } +IfcParameterValue::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcPlanarForceMeasure +IfcUtil::ArgumentType IfcPlanarForceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcPlanarForceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcPlanarForceMeasure::is(Type::Enum v) const { return v == IfcPlanarForceMeasure::Class(); } +Type::Enum IfcPlanarForceMeasure::type() const { return Type::IfcPlanarForceMeasure; } +Type::Enum IfcPlanarForceMeasure::Class() { return Type::IfcPlanarForceMeasure; } +IfcPlanarForceMeasure::IfcPlanarForceMeasure(IfcAbstractEntity* e) { entity = e; } +IfcPlanarForceMeasure::IfcPlanarForceMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcPlanarForceMeasure); e->setArgument(0, v); entity = e; } +IfcPlanarForceMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcPlaneAngleMeasure +IfcUtil::ArgumentType IfcPlaneAngleMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcPlaneAngleMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcPlaneAngleMeasure::is(Type::Enum v) const { return v == IfcPlaneAngleMeasure::Class(); } +Type::Enum IfcPlaneAngleMeasure::type() const { return Type::IfcPlaneAngleMeasure; } +Type::Enum IfcPlaneAngleMeasure::Class() { return Type::IfcPlaneAngleMeasure; } +IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(IfcAbstractEntity* e) { entity = e; } +IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcPlaneAngleMeasure); e->setArgument(0, v); entity = e; } +IfcPlaneAngleMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcPositiveLengthMeasure +IfcUtil::ArgumentType IfcPositiveLengthMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcPositiveLengthMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcPositiveLengthMeasure::is(Type::Enum v) const { return v == Type::IfcPositiveLengthMeasure || IfcLengthMeasure::is(v); } +Type::Enum IfcPositiveLengthMeasure::type() const { return Type::IfcPositiveLengthMeasure; } +Type::Enum IfcPositiveLengthMeasure::Class() { return Type::IfcPositiveLengthMeasure; } +IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(IfcAbstractEntity* e) : IfcLengthMeasure((IfcAbstractEntity*)0) { entity = e; } +IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(double v) : IfcLengthMeasure((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcPositiveLengthMeasure); e->setArgument(0, v); entity = e; } +IfcPositiveLengthMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcPositivePlaneAngleMeasure +IfcUtil::ArgumentType IfcPositivePlaneAngleMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcPositivePlaneAngleMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcPositivePlaneAngleMeasure::is(Type::Enum v) const { return v == Type::IfcPositivePlaneAngleMeasure || IfcPlaneAngleMeasure::is(v); } +Type::Enum IfcPositivePlaneAngleMeasure::type() const { return Type::IfcPositivePlaneAngleMeasure; } +Type::Enum IfcPositivePlaneAngleMeasure::Class() { return Type::IfcPositivePlaneAngleMeasure; } +IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(IfcAbstractEntity* e) : IfcPlaneAngleMeasure((IfcAbstractEntity*)0) { entity = e; } +IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(double v) : IfcPlaneAngleMeasure((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcPositivePlaneAngleMeasure); e->setArgument(0, v); entity = e; } +IfcPositivePlaneAngleMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcPositiveRatioMeasure +IfcUtil::ArgumentType IfcPositiveRatioMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcPositiveRatioMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcPositiveRatioMeasure::is(Type::Enum v) const { return v == Type::IfcPositiveRatioMeasure || IfcRatioMeasure::is(v); } +Type::Enum IfcPositiveRatioMeasure::type() const { return Type::IfcPositiveRatioMeasure; } +Type::Enum IfcPositiveRatioMeasure::Class() { return Type::IfcPositiveRatioMeasure; } +IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(IfcAbstractEntity* e) : IfcRatioMeasure((IfcAbstractEntity*)0) { entity = e; } +IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(double v) : IfcRatioMeasure((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcPositiveRatioMeasure); e->setArgument(0, v); entity = e; } +IfcPositiveRatioMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcPowerMeasure +IfcUtil::ArgumentType IfcPowerMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcPowerMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcPowerMeasure::is(Type::Enum v) const { return v == IfcPowerMeasure::Class(); } +Type::Enum IfcPowerMeasure::type() const { return Type::IfcPowerMeasure; } +Type::Enum IfcPowerMeasure::Class() { return Type::IfcPowerMeasure; } +IfcPowerMeasure::IfcPowerMeasure(IfcAbstractEntity* e) { entity = e; } +IfcPowerMeasure::IfcPowerMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcPowerMeasure); e->setArgument(0, v); entity = e; } +IfcPowerMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcPresentableText +IfcUtil::ArgumentType IfcPresentableText::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcPresentableText::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcPresentableText::is(Type::Enum v) const { return v == IfcPresentableText::Class(); } +Type::Enum IfcPresentableText::type() const { return Type::IfcPresentableText; } +Type::Enum IfcPresentableText::Class() { return Type::IfcPresentableText; } +IfcPresentableText::IfcPresentableText(IfcAbstractEntity* e) { entity = e; } +IfcPresentableText::IfcPresentableText(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcPresentableText); e->setArgument(0, v); entity = e; } +IfcPresentableText::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcPressureMeasure +IfcUtil::ArgumentType IfcPressureMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcPressureMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcPressureMeasure::is(Type::Enum v) const { return v == IfcPressureMeasure::Class(); } +Type::Enum IfcPressureMeasure::type() const { return Type::IfcPressureMeasure; } +Type::Enum IfcPressureMeasure::Class() { return Type::IfcPressureMeasure; } +IfcPressureMeasure::IfcPressureMeasure(IfcAbstractEntity* e) { entity = e; } +IfcPressureMeasure::IfcPressureMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcPressureMeasure); e->setArgument(0, v); entity = e; } +IfcPressureMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcPropertySetDefinitionSet +IfcUtil::ArgumentType IfcPropertySetDefinitionSet::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_ENTITY; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcPropertySetDefinitionSet::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcPropertySetDefinitionSet::is(Type::Enum v) const { return v == IfcPropertySetDefinitionSet::Class(); } +Type::Enum IfcPropertySetDefinitionSet::type() const { return Type::IfcPropertySetDefinitionSet; } +Type::Enum IfcPropertySetDefinitionSet::Class() { return Type::IfcPropertySetDefinitionSet; } +IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(IfcAbstractEntity* e) { entity = e; } +IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcPropertySetDefinitionSet); e->setArgument(0, v); entity = e; } +IfcPropertySetDefinitionSet::operator IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr() const { return *entity->getArgument(0); } + +// Function implementations for IfcRadioActivityMeasure +IfcUtil::ArgumentType IfcRadioActivityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcRadioActivityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcRadioActivityMeasure::is(Type::Enum v) const { return v == IfcRadioActivityMeasure::Class(); } +Type::Enum IfcRadioActivityMeasure::type() const { return Type::IfcRadioActivityMeasure; } +Type::Enum IfcRadioActivityMeasure::Class() { return Type::IfcRadioActivityMeasure; } +IfcRadioActivityMeasure::IfcRadioActivityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcRadioActivityMeasure::IfcRadioActivityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcRadioActivityMeasure); e->setArgument(0, v); entity = e; } +IfcRadioActivityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcRatioMeasure +IfcUtil::ArgumentType IfcRatioMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcRatioMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcRatioMeasure::is(Type::Enum v) const { return v == IfcRatioMeasure::Class(); } +Type::Enum IfcRatioMeasure::type() const { return Type::IfcRatioMeasure; } +Type::Enum IfcRatioMeasure::Class() { return Type::IfcRatioMeasure; } +IfcRatioMeasure::IfcRatioMeasure(IfcAbstractEntity* e) { entity = e; } +IfcRatioMeasure::IfcRatioMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcRatioMeasure); e->setArgument(0, v); entity = e; } +IfcRatioMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcReal +IfcUtil::ArgumentType IfcReal::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcReal::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcReal::is(Type::Enum v) const { return v == IfcReal::Class(); } +Type::Enum IfcReal::type() const { return Type::IfcReal; } +Type::Enum IfcReal::Class() { return Type::IfcReal; } +IfcReal::IfcReal(IfcAbstractEntity* e) { entity = e; } +IfcReal::IfcReal(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcReal); e->setArgument(0, v); entity = e; } +IfcReal::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcRotationalFrequencyMeasure +IfcUtil::ArgumentType IfcRotationalFrequencyMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcRotationalFrequencyMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcRotationalFrequencyMeasure::is(Type::Enum v) const { return v == IfcRotationalFrequencyMeasure::Class(); } +Type::Enum IfcRotationalFrequencyMeasure::type() const { return Type::IfcRotationalFrequencyMeasure; } +Type::Enum IfcRotationalFrequencyMeasure::Class() { return Type::IfcRotationalFrequencyMeasure; } +IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(IfcAbstractEntity* e) { entity = e; } +IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcRotationalFrequencyMeasure); e->setArgument(0, v); entity = e; } +IfcRotationalFrequencyMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcRotationalMassMeasure +IfcUtil::ArgumentType IfcRotationalMassMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcRotationalMassMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcRotationalMassMeasure::is(Type::Enum v) const { return v == IfcRotationalMassMeasure::Class(); } +Type::Enum IfcRotationalMassMeasure::type() const { return Type::IfcRotationalMassMeasure; } +Type::Enum IfcRotationalMassMeasure::Class() { return Type::IfcRotationalMassMeasure; } +IfcRotationalMassMeasure::IfcRotationalMassMeasure(IfcAbstractEntity* e) { entity = e; } +IfcRotationalMassMeasure::IfcRotationalMassMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcRotationalMassMeasure); e->setArgument(0, v); entity = e; } +IfcRotationalMassMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcRotationalStiffnessMeasure +IfcUtil::ArgumentType IfcRotationalStiffnessMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcRotationalStiffnessMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcRotationalStiffnessMeasure::is(Type::Enum v) const { return v == IfcRotationalStiffnessMeasure::Class(); } +Type::Enum IfcRotationalStiffnessMeasure::type() const { return Type::IfcRotationalStiffnessMeasure; } +Type::Enum IfcRotationalStiffnessMeasure::Class() { return Type::IfcRotationalStiffnessMeasure; } +IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(IfcAbstractEntity* e) { entity = e; } +IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcRotationalStiffnessMeasure); e->setArgument(0, v); entity = e; } +IfcRotationalStiffnessMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcSectionModulusMeasure +IfcUtil::ArgumentType IfcSectionModulusMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcSectionModulusMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcSectionModulusMeasure::is(Type::Enum v) const { return v == IfcSectionModulusMeasure::Class(); } +Type::Enum IfcSectionModulusMeasure::type() const { return Type::IfcSectionModulusMeasure; } +Type::Enum IfcSectionModulusMeasure::Class() { return Type::IfcSectionModulusMeasure; } +IfcSectionModulusMeasure::IfcSectionModulusMeasure(IfcAbstractEntity* e) { entity = e; } +IfcSectionModulusMeasure::IfcSectionModulusMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcSectionModulusMeasure); e->setArgument(0, v); entity = e; } +IfcSectionModulusMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcSectionalAreaIntegralMeasure +IfcUtil::ArgumentType IfcSectionalAreaIntegralMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcSectionalAreaIntegralMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcSectionalAreaIntegralMeasure::is(Type::Enum v) const { return v == IfcSectionalAreaIntegralMeasure::Class(); } +Type::Enum IfcSectionalAreaIntegralMeasure::type() const { return Type::IfcSectionalAreaIntegralMeasure; } +Type::Enum IfcSectionalAreaIntegralMeasure::Class() { return Type::IfcSectionalAreaIntegralMeasure; } +IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(IfcAbstractEntity* e) { entity = e; } +IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcSectionalAreaIntegralMeasure); e->setArgument(0, v); entity = e; } +IfcSectionalAreaIntegralMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcShearModulusMeasure +IfcUtil::ArgumentType IfcShearModulusMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcShearModulusMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcShearModulusMeasure::is(Type::Enum v) const { return v == IfcShearModulusMeasure::Class(); } +Type::Enum IfcShearModulusMeasure::type() const { return Type::IfcShearModulusMeasure; } +Type::Enum IfcShearModulusMeasure::Class() { return Type::IfcShearModulusMeasure; } +IfcShearModulusMeasure::IfcShearModulusMeasure(IfcAbstractEntity* e) { entity = e; } +IfcShearModulusMeasure::IfcShearModulusMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcShearModulusMeasure); e->setArgument(0, v); entity = e; } +IfcShearModulusMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcSolidAngleMeasure +IfcUtil::ArgumentType IfcSolidAngleMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcSolidAngleMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcSolidAngleMeasure::is(Type::Enum v) const { return v == IfcSolidAngleMeasure::Class(); } +Type::Enum IfcSolidAngleMeasure::type() const { return Type::IfcSolidAngleMeasure; } +Type::Enum IfcSolidAngleMeasure::Class() { return Type::IfcSolidAngleMeasure; } +IfcSolidAngleMeasure::IfcSolidAngleMeasure(IfcAbstractEntity* e) { entity = e; } +IfcSolidAngleMeasure::IfcSolidAngleMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcSolidAngleMeasure); e->setArgument(0, v); entity = e; } +IfcSolidAngleMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcSoundPowerLevelMeasure +IfcUtil::ArgumentType IfcSoundPowerLevelMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcSoundPowerLevelMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcSoundPowerLevelMeasure::is(Type::Enum v) const { return v == IfcSoundPowerLevelMeasure::Class(); } +Type::Enum IfcSoundPowerLevelMeasure::type() const { return Type::IfcSoundPowerLevelMeasure; } +Type::Enum IfcSoundPowerLevelMeasure::Class() { return Type::IfcSoundPowerLevelMeasure; } +IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(IfcAbstractEntity* e) { entity = e; } +IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcSoundPowerLevelMeasure); e->setArgument(0, v); entity = e; } +IfcSoundPowerLevelMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcSoundPowerMeasure +IfcUtil::ArgumentType IfcSoundPowerMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcSoundPowerMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcSoundPowerMeasure::is(Type::Enum v) const { return v == IfcSoundPowerMeasure::Class(); } +Type::Enum IfcSoundPowerMeasure::type() const { return Type::IfcSoundPowerMeasure; } +Type::Enum IfcSoundPowerMeasure::Class() { return Type::IfcSoundPowerMeasure; } +IfcSoundPowerMeasure::IfcSoundPowerMeasure(IfcAbstractEntity* e) { entity = e; } +IfcSoundPowerMeasure::IfcSoundPowerMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcSoundPowerMeasure); e->setArgument(0, v); entity = e; } +IfcSoundPowerMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcSoundPressureLevelMeasure +IfcUtil::ArgumentType IfcSoundPressureLevelMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcSoundPressureLevelMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcSoundPressureLevelMeasure::is(Type::Enum v) const { return v == IfcSoundPressureLevelMeasure::Class(); } +Type::Enum IfcSoundPressureLevelMeasure::type() const { return Type::IfcSoundPressureLevelMeasure; } +Type::Enum IfcSoundPressureLevelMeasure::Class() { return Type::IfcSoundPressureLevelMeasure; } +IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(IfcAbstractEntity* e) { entity = e; } +IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcSoundPressureLevelMeasure); e->setArgument(0, v); entity = e; } +IfcSoundPressureLevelMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcSoundPressureMeasure +IfcUtil::ArgumentType IfcSoundPressureMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcSoundPressureMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcSoundPressureMeasure::is(Type::Enum v) const { return v == IfcSoundPressureMeasure::Class(); } +Type::Enum IfcSoundPressureMeasure::type() const { return Type::IfcSoundPressureMeasure; } +Type::Enum IfcSoundPressureMeasure::Class() { return Type::IfcSoundPressureMeasure; } +IfcSoundPressureMeasure::IfcSoundPressureMeasure(IfcAbstractEntity* e) { entity = e; } +IfcSoundPressureMeasure::IfcSoundPressureMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcSoundPressureMeasure); e->setArgument(0, v); entity = e; } +IfcSoundPressureMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcSpecificHeatCapacityMeasure +IfcUtil::ArgumentType IfcSpecificHeatCapacityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcSpecificHeatCapacityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcSpecificHeatCapacityMeasure::is(Type::Enum v) const { return v == IfcSpecificHeatCapacityMeasure::Class(); } +Type::Enum IfcSpecificHeatCapacityMeasure::type() const { return Type::IfcSpecificHeatCapacityMeasure; } +Type::Enum IfcSpecificHeatCapacityMeasure::Class() { return Type::IfcSpecificHeatCapacityMeasure; } +IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcSpecificHeatCapacityMeasure); e->setArgument(0, v); entity = e; } +IfcSpecificHeatCapacityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcSpecularExponent +IfcUtil::ArgumentType IfcSpecularExponent::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcSpecularExponent::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcSpecularExponent::is(Type::Enum v) const { return v == IfcSpecularExponent::Class(); } +Type::Enum IfcSpecularExponent::type() const { return Type::IfcSpecularExponent; } +Type::Enum IfcSpecularExponent::Class() { return Type::IfcSpecularExponent; } +IfcSpecularExponent::IfcSpecularExponent(IfcAbstractEntity* e) { entity = e; } +IfcSpecularExponent::IfcSpecularExponent(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcSpecularExponent); e->setArgument(0, v); entity = e; } +IfcSpecularExponent::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcSpecularRoughness +IfcUtil::ArgumentType IfcSpecularRoughness::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcSpecularRoughness::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcSpecularRoughness::is(Type::Enum v) const { return v == IfcSpecularRoughness::Class(); } +Type::Enum IfcSpecularRoughness::type() const { return Type::IfcSpecularRoughness; } +Type::Enum IfcSpecularRoughness::Class() { return Type::IfcSpecularRoughness; } +IfcSpecularRoughness::IfcSpecularRoughness(IfcAbstractEntity* e) { entity = e; } +IfcSpecularRoughness::IfcSpecularRoughness(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcSpecularRoughness); e->setArgument(0, v); entity = e; } +IfcSpecularRoughness::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcTemperatureGradientMeasure +IfcUtil::ArgumentType IfcTemperatureGradientMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcTemperatureGradientMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcTemperatureGradientMeasure::is(Type::Enum v) const { return v == IfcTemperatureGradientMeasure::Class(); } +Type::Enum IfcTemperatureGradientMeasure::type() const { return Type::IfcTemperatureGradientMeasure; } +Type::Enum IfcTemperatureGradientMeasure::Class() { return Type::IfcTemperatureGradientMeasure; } +IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(IfcAbstractEntity* e) { entity = e; } +IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcTemperatureGradientMeasure); e->setArgument(0, v); entity = e; } +IfcTemperatureGradientMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcTemperatureRateOfChangeMeasure +IfcUtil::ArgumentType IfcTemperatureRateOfChangeMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcTemperatureRateOfChangeMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcTemperatureRateOfChangeMeasure::is(Type::Enum v) const { return v == IfcTemperatureRateOfChangeMeasure::Class(); } +Type::Enum IfcTemperatureRateOfChangeMeasure::type() const { return Type::IfcTemperatureRateOfChangeMeasure; } +Type::Enum IfcTemperatureRateOfChangeMeasure::Class() { return Type::IfcTemperatureRateOfChangeMeasure; } +IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(IfcAbstractEntity* e) { entity = e; } +IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcTemperatureRateOfChangeMeasure); e->setArgument(0, v); entity = e; } +IfcTemperatureRateOfChangeMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcText +IfcUtil::ArgumentType IfcText::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcText::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcText::is(Type::Enum v) const { return v == IfcText::Class(); } +Type::Enum IfcText::type() const { return Type::IfcText; } +Type::Enum IfcText::Class() { return Type::IfcText; } +IfcText::IfcText(IfcAbstractEntity* e) { entity = e; } +IfcText::IfcText(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcText); e->setArgument(0, v); entity = e; } +IfcText::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcTextAlignment +IfcUtil::ArgumentType IfcTextAlignment::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcTextAlignment::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcTextAlignment::is(Type::Enum v) const { return v == IfcTextAlignment::Class(); } +Type::Enum IfcTextAlignment::type() const { return Type::IfcTextAlignment; } +Type::Enum IfcTextAlignment::Class() { return Type::IfcTextAlignment; } +IfcTextAlignment::IfcTextAlignment(IfcAbstractEntity* e) { entity = e; } +IfcTextAlignment::IfcTextAlignment(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcTextAlignment); e->setArgument(0, v); entity = e; } +IfcTextAlignment::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcTextDecoration +IfcUtil::ArgumentType IfcTextDecoration::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcTextDecoration::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcTextDecoration::is(Type::Enum v) const { return v == IfcTextDecoration::Class(); } +Type::Enum IfcTextDecoration::type() const { return Type::IfcTextDecoration; } +Type::Enum IfcTextDecoration::Class() { return Type::IfcTextDecoration; } +IfcTextDecoration::IfcTextDecoration(IfcAbstractEntity* e) { entity = e; } +IfcTextDecoration::IfcTextDecoration(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcTextDecoration); e->setArgument(0, v); entity = e; } +IfcTextDecoration::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcTextFontName +IfcUtil::ArgumentType IfcTextFontName::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcTextFontName::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcTextFontName::is(Type::Enum v) const { return v == IfcTextFontName::Class(); } +Type::Enum IfcTextFontName::type() const { return Type::IfcTextFontName; } +Type::Enum IfcTextFontName::Class() { return Type::IfcTextFontName; } +IfcTextFontName::IfcTextFontName(IfcAbstractEntity* e) { entity = e; } +IfcTextFontName::IfcTextFontName(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcTextFontName); e->setArgument(0, v); entity = e; } +IfcTextFontName::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcTextTransformation +IfcUtil::ArgumentType IfcTextTransformation::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcTextTransformation::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcTextTransformation::is(Type::Enum v) const { return v == IfcTextTransformation::Class(); } +Type::Enum IfcTextTransformation::type() const { return Type::IfcTextTransformation; } +Type::Enum IfcTextTransformation::Class() { return Type::IfcTextTransformation; } +IfcTextTransformation::IfcTextTransformation(IfcAbstractEntity* e) { entity = e; } +IfcTextTransformation::IfcTextTransformation(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcTextTransformation); e->setArgument(0, v); entity = e; } +IfcTextTransformation::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcThermalAdmittanceMeasure +IfcUtil::ArgumentType IfcThermalAdmittanceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcThermalAdmittanceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcThermalAdmittanceMeasure::is(Type::Enum v) const { return v == IfcThermalAdmittanceMeasure::Class(); } +Type::Enum IfcThermalAdmittanceMeasure::type() const { return Type::IfcThermalAdmittanceMeasure; } +Type::Enum IfcThermalAdmittanceMeasure::Class() { return Type::IfcThermalAdmittanceMeasure; } +IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(IfcAbstractEntity* e) { entity = e; } +IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcThermalAdmittanceMeasure); e->setArgument(0, v); entity = e; } +IfcThermalAdmittanceMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcThermalConductivityMeasure +IfcUtil::ArgumentType IfcThermalConductivityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcThermalConductivityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcThermalConductivityMeasure::is(Type::Enum v) const { return v == IfcThermalConductivityMeasure::Class(); } +Type::Enum IfcThermalConductivityMeasure::type() const { return Type::IfcThermalConductivityMeasure; } +Type::Enum IfcThermalConductivityMeasure::Class() { return Type::IfcThermalConductivityMeasure; } +IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcThermalConductivityMeasure); e->setArgument(0, v); entity = e; } +IfcThermalConductivityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcThermalExpansionCoefficientMeasure +IfcUtil::ArgumentType IfcThermalExpansionCoefficientMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcThermalExpansionCoefficientMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcThermalExpansionCoefficientMeasure::is(Type::Enum v) const { return v == IfcThermalExpansionCoefficientMeasure::Class(); } +Type::Enum IfcThermalExpansionCoefficientMeasure::type() const { return Type::IfcThermalExpansionCoefficientMeasure; } +Type::Enum IfcThermalExpansionCoefficientMeasure::Class() { return Type::IfcThermalExpansionCoefficientMeasure; } +IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(IfcAbstractEntity* e) { entity = e; } +IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcThermalExpansionCoefficientMeasure); e->setArgument(0, v); entity = e; } +IfcThermalExpansionCoefficientMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcThermalResistanceMeasure +IfcUtil::ArgumentType IfcThermalResistanceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcThermalResistanceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcThermalResistanceMeasure::is(Type::Enum v) const { return v == IfcThermalResistanceMeasure::Class(); } +Type::Enum IfcThermalResistanceMeasure::type() const { return Type::IfcThermalResistanceMeasure; } +Type::Enum IfcThermalResistanceMeasure::Class() { return Type::IfcThermalResistanceMeasure; } +IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(IfcAbstractEntity* e) { entity = e; } +IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcThermalResistanceMeasure); e->setArgument(0, v); entity = e; } +IfcThermalResistanceMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcThermalTransmittanceMeasure +IfcUtil::ArgumentType IfcThermalTransmittanceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcThermalTransmittanceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcThermalTransmittanceMeasure::is(Type::Enum v) const { return v == IfcThermalTransmittanceMeasure::Class(); } +Type::Enum IfcThermalTransmittanceMeasure::type() const { return Type::IfcThermalTransmittanceMeasure; } +Type::Enum IfcThermalTransmittanceMeasure::Class() { return Type::IfcThermalTransmittanceMeasure; } +IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(IfcAbstractEntity* e) { entity = e; } +IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcThermalTransmittanceMeasure); e->setArgument(0, v); entity = e; } +IfcThermalTransmittanceMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcThermodynamicTemperatureMeasure +IfcUtil::ArgumentType IfcThermodynamicTemperatureMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcThermodynamicTemperatureMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcThermodynamicTemperatureMeasure::is(Type::Enum v) const { return v == IfcThermodynamicTemperatureMeasure::Class(); } +Type::Enum IfcThermodynamicTemperatureMeasure::type() const { return Type::IfcThermodynamicTemperatureMeasure; } +Type::Enum IfcThermodynamicTemperatureMeasure::Class() { return Type::IfcThermodynamicTemperatureMeasure; } +IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(IfcAbstractEntity* e) { entity = e; } +IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcThermodynamicTemperatureMeasure); e->setArgument(0, v); entity = e; } +IfcThermodynamicTemperatureMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcTime +IfcUtil::ArgumentType IfcTime::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcTime::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcTime::is(Type::Enum v) const { return v == IfcTime::Class(); } +Type::Enum IfcTime::type() const { return Type::IfcTime; } +Type::Enum IfcTime::Class() { return Type::IfcTime; } +IfcTime::IfcTime(IfcAbstractEntity* e) { entity = e; } +IfcTime::IfcTime(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcTime); e->setArgument(0, v); entity = e; } +IfcTime::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcTimeMeasure +IfcUtil::ArgumentType IfcTimeMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcTimeMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcTimeMeasure::is(Type::Enum v) const { return v == IfcTimeMeasure::Class(); } +Type::Enum IfcTimeMeasure::type() const { return Type::IfcTimeMeasure; } +Type::Enum IfcTimeMeasure::Class() { return Type::IfcTimeMeasure; } +IfcTimeMeasure::IfcTimeMeasure(IfcAbstractEntity* e) { entity = e; } +IfcTimeMeasure::IfcTimeMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcTimeMeasure); e->setArgument(0, v); entity = e; } +IfcTimeMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcTimeStamp +IfcUtil::ArgumentType IfcTimeStamp::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcTimeStamp::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcTimeStamp::is(Type::Enum v) const { return v == IfcTimeStamp::Class(); } +Type::Enum IfcTimeStamp::type() const { return Type::IfcTimeStamp; } +Type::Enum IfcTimeStamp::Class() { return Type::IfcTimeStamp; } +IfcTimeStamp::IfcTimeStamp(IfcAbstractEntity* e) { entity = e; } +IfcTimeStamp::IfcTimeStamp(int v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcTimeStamp); e->setArgument(0, v); entity = e; } +IfcTimeStamp::operator int() const { return *entity->getArgument(0); } + +// Function implementations for IfcTorqueMeasure +IfcUtil::ArgumentType IfcTorqueMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcTorqueMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcTorqueMeasure::is(Type::Enum v) const { return v == IfcTorqueMeasure::Class(); } +Type::Enum IfcTorqueMeasure::type() const { return Type::IfcTorqueMeasure; } +Type::Enum IfcTorqueMeasure::Class() { return Type::IfcTorqueMeasure; } +IfcTorqueMeasure::IfcTorqueMeasure(IfcAbstractEntity* e) { entity = e; } +IfcTorqueMeasure::IfcTorqueMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcTorqueMeasure); e->setArgument(0, v); entity = e; } +IfcTorqueMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcURIReference +IfcUtil::ArgumentType IfcURIReference::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_STRING; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcURIReference::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcURIReference::is(Type::Enum v) const { return v == IfcURIReference::Class(); } +Type::Enum IfcURIReference::type() const { return Type::IfcURIReference; } +Type::Enum IfcURIReference::Class() { return Type::IfcURIReference; } +IfcURIReference::IfcURIReference(IfcAbstractEntity* e) { entity = e; } +IfcURIReference::IfcURIReference(std::string v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcURIReference); e->setArgument(0, v); entity = e; } +IfcURIReference::operator std::string() const { return *entity->getArgument(0); } + +// Function implementations for IfcVaporPermeabilityMeasure +IfcUtil::ArgumentType IfcVaporPermeabilityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcVaporPermeabilityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcVaporPermeabilityMeasure::is(Type::Enum v) const { return v == IfcVaporPermeabilityMeasure::Class(); } +Type::Enum IfcVaporPermeabilityMeasure::type() const { return Type::IfcVaporPermeabilityMeasure; } +Type::Enum IfcVaporPermeabilityMeasure::Class() { return Type::IfcVaporPermeabilityMeasure; } +IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(IfcAbstractEntity* e) { entity = e; } +IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcVaporPermeabilityMeasure); e->setArgument(0, v); entity = e; } +IfcVaporPermeabilityMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcVolumeMeasure +IfcUtil::ArgumentType IfcVolumeMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcVolumeMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcVolumeMeasure::is(Type::Enum v) const { return v == IfcVolumeMeasure::Class(); } +Type::Enum IfcVolumeMeasure::type() const { return Type::IfcVolumeMeasure; } +Type::Enum IfcVolumeMeasure::Class() { return Type::IfcVolumeMeasure; } +IfcVolumeMeasure::IfcVolumeMeasure(IfcAbstractEntity* e) { entity = e; } +IfcVolumeMeasure::IfcVolumeMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcVolumeMeasure); e->setArgument(0, v); entity = e; } +IfcVolumeMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcVolumetricFlowRateMeasure +IfcUtil::ArgumentType IfcVolumetricFlowRateMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcVolumetricFlowRateMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcVolumetricFlowRateMeasure::is(Type::Enum v) const { return v == IfcVolumetricFlowRateMeasure::Class(); } +Type::Enum IfcVolumetricFlowRateMeasure::type() const { return Type::IfcVolumetricFlowRateMeasure; } +Type::Enum IfcVolumetricFlowRateMeasure::Class() { return Type::IfcVolumetricFlowRateMeasure; } +IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(IfcAbstractEntity* e) { entity = e; } +IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcVolumetricFlowRateMeasure); e->setArgument(0, v); entity = e; } +IfcVolumetricFlowRateMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcWarpingConstantMeasure +IfcUtil::ArgumentType IfcWarpingConstantMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcWarpingConstantMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcWarpingConstantMeasure::is(Type::Enum v) const { return v == IfcWarpingConstantMeasure::Class(); } +Type::Enum IfcWarpingConstantMeasure::type() const { return Type::IfcWarpingConstantMeasure; } +Type::Enum IfcWarpingConstantMeasure::Class() { return Type::IfcWarpingConstantMeasure; } +IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(IfcAbstractEntity* e) { entity = e; } +IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcWarpingConstantMeasure); e->setArgument(0, v); entity = e; } +IfcWarpingConstantMeasure::operator double() const { return *entity->getArgument(0); } + +// Function implementations for IfcWarpingMomentMeasure +IfcUtil::ArgumentType IfcWarpingMomentMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcException("argument out of range"); } } +Argument* IfcWarpingMomentMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcWarpingMomentMeasure::is(Type::Enum v) const { return v == IfcWarpingMomentMeasure::Class(); } +Type::Enum IfcWarpingMomentMeasure::type() const { return Type::IfcWarpingMomentMeasure; } +Type::Enum IfcWarpingMomentMeasure::Class() { return Type::IfcWarpingMomentMeasure; } +IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(IfcAbstractEntity* e) { entity = e; } +IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcWarpingMomentMeasure); e->setArgument(0, v); entity = e; } +IfcWarpingMomentMeasure::operator double() const { return *entity->getArgument(0); } + + // Function implementations for IfcActionRequest bool IfcActionRequest::hasPredefinedType() const { return !entity->getArgument(6)->isNull(); } IfcActionRequestTypeEnum::IfcActionRequestTypeEnum IfcActionRequest::PredefinedType() const { return IfcActionRequestTypeEnum::FromString(*entity->getArgument(6)); } void IfcActionRequest::setPredefinedType(IfcActionRequestTypeEnum::IfcActionRequestTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcActionRequestTypeEnum::ToString(v)); } bool IfcActionRequest::hasStatus() const { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcActionRequest::Status() const { return *entity->getArgument(7); } -void IfcActionRequest::setStatus(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcActionRequest::Status() const { return *entity->getArgument(7); } +void IfcActionRequest::setStatus(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcActionRequest::hasLongDescription() const { return !entity->getArgument(8)->isNull(); } -IfcText IfcActionRequest::LongDescription() const { return *entity->getArgument(8); } -void IfcActionRequest::setLongDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcActionRequest::LongDescription() const { return *entity->getArgument(8); } +void IfcActionRequest::setLongDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcActionRequest::is(Type::Enum v) const { return v == Type::IfcActionRequest || IfcControl::is(v); } Type::Enum IfcActionRequest::type() const { return Type::IfcActionRequest; } Type::Enum IfcActionRequest::Class() { return Type::IfcActionRequest; } IfcActionRequest::IfcActionRequest(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcActionRequest)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcActionRequest::IfcActionRequest(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcActionRequestTypeEnum::IfcActionRequestTypeEnum > v7_PredefinedType, boost::optional< IfcLabel > v8_Status, boost::optional< IfcText > v9_LongDescription) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcActionRequestTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } if (v9_LongDescription) { e->setArgument(8,(*v9_LongDescription)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcActionRequestTypeEnum::IfcActionRequestTypeEnum > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcActionRequestTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } if (v9_LongDescription) { e->setArgument(8,(*v9_LongDescription)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcActor -IfcActorSelect IfcActor::TheActor() const { return *entity->getArgument(5); } -void IfcActor::setTheActor(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +IfcActorSelect* IfcActor::TheActor() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcActor::setTheActor(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } IfcRelAssignsToActor::list::ptr IfcActor::IsActingUpon() const { return entity->getInverse(Type::IfcRelAssignsToActor)->as(); } bool IfcActor::is(Type::Enum v) const { return v == Type::IfcActor || IfcObject::is(v); } Type::Enum IfcActor::type() const { return Type::IfcActor; } Type::Enum IfcActor::Class() { return Type::IfcActor; } IfcActor::IfcActor(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcActor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcActor::IfcActor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcActorSelect v6_TheActor) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TheActor)); entity = e; EntityBuffer::Add(this); } +IfcActor::IfcActor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcActorSelect* v6_TheActor) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TheActor)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcActorRole IfcRoleEnum::IfcRoleEnum IfcActorRole::Role() const { return IfcRoleEnum::FromString(*entity->getArgument(0)); } void IfcActorRole::setRole(IfcRoleEnum::IfcRoleEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcRoleEnum::ToString(v)); } bool IfcActorRole::hasUserDefinedRole() const { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcActorRole::UserDefinedRole() const { return *entity->getArgument(1); } -void IfcActorRole::setUserDefinedRole(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcActorRole::UserDefinedRole() const { return *entity->getArgument(1); } +void IfcActorRole::setUserDefinedRole(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcActorRole::hasDescription() const { return !entity->getArgument(2)->isNull(); } -IfcText IfcActorRole::Description() const { return *entity->getArgument(2); } -void IfcActorRole::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcActorRole::Description() const { return *entity->getArgument(2); } +void IfcActorRole::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcExternalReferenceRelationship::list::ptr IfcActorRole::HasExternalReference() const { return entity->getInverse(Type::IfcExternalReferenceRelationship)->as(); } bool IfcActorRole::is(Type::Enum v) const { return v == Type::IfcActorRole; } Type::Enum IfcActorRole::type() const { return Type::IfcActorRole; } Type::Enum IfcActorRole::Class() { return Type::IfcActorRole; } IfcActorRole::IfcActorRole(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcActorRole)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcActorRole::IfcActorRole(IfcRoleEnum::IfcRoleEnum v1_Role, boost::optional< IfcLabel > v2_UserDefinedRole, boost::optional< IfcText > v3_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Role,IfcRoleEnum::ToString(v1_Role)); if (v2_UserDefinedRole) { e->setArgument(1,(*v2_UserDefinedRole)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcActorRole::IfcActorRole(IfcRoleEnum::IfcRoleEnum v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Role,IfcRoleEnum::ToString(v1_Role)); if (v2_UserDefinedRole) { e->setArgument(1,(*v2_UserDefinedRole)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcActuator bool IfcActuator::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -6273,7 +7820,7 @@ bool IfcActuator::is(Type::Enum v) const { return v == Type::IfcActuator || IfcD Type::Enum IfcActuator::type() const { return Type::IfcActuator; } Type::Enum IfcActuator::Class() { return Type::IfcActuator; } IfcActuator::IfcActuator(IfcAbstractEntity* e) : IfcDistributionControlElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcActuator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcActuator::IfcActuator(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcActuatorTypeEnum::IfcActuatorTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcActuatorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcActuator::IfcActuator(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcActuatorTypeEnum::IfcActuatorTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcActuatorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcActuatorType IfcActuatorTypeEnum::IfcActuatorTypeEnum IfcActuatorType::PredefinedType() const { return IfcActuatorTypeEnum::FromString(*entity->getArgument(9)); } @@ -6282,25 +7829,25 @@ bool IfcActuatorType::is(Type::Enum v) const { return v == Type::IfcActuatorType Type::Enum IfcActuatorType::type() const { return Type::IfcActuatorType; } Type::Enum IfcActuatorType::Class() { return Type::IfcActuatorType; } IfcActuatorType::IfcActuatorType(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcActuatorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcActuatorType::IfcActuatorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcActuatorTypeEnum::IfcActuatorTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcActuatorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcActuatorTypeEnum::IfcActuatorTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcActuatorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAddress bool IfcAddress::hasPurpose() const { return !entity->getArgument(0)->isNull(); } IfcAddressTypeEnum::IfcAddressTypeEnum IfcAddress::Purpose() const { return IfcAddressTypeEnum::FromString(*entity->getArgument(0)); } void IfcAddress::setPurpose(IfcAddressTypeEnum::IfcAddressTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcAddressTypeEnum::ToString(v)); } bool IfcAddress::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcAddress::Description() const { return *entity->getArgument(1); } -void IfcAddress::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcAddress::Description() const { return *entity->getArgument(1); } +void IfcAddress::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcAddress::hasUserDefinedPurpose() const { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcAddress::UserDefinedPurpose() const { return *entity->getArgument(2); } -void IfcAddress::setUserDefinedPurpose(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcAddress::UserDefinedPurpose() const { return *entity->getArgument(2); } +void IfcAddress::setUserDefinedPurpose(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcPerson::list::ptr IfcAddress::OfPerson() const { return entity->getInverse(Type::IfcPerson)->as(); } IfcOrganization::list::ptr IfcAddress::OfOrganization() const { return entity->getInverse(Type::IfcOrganization)->as(); } bool IfcAddress::is(Type::Enum v) const { return v == Type::IfcAddress; } Type::Enum IfcAddress::type() const { return Type::IfcAddress; } Type::Enum IfcAddress::Class() { return Type::IfcAddress; } IfcAddress::IfcAddress(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcAddress)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAddress::IfcAddress(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Purpose) { e->setArgument(0,*v1_Purpose,IfcAddressTypeEnum::ToString(*v1_Purpose)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UserDefinedPurpose) { e->setArgument(2,(*v3_UserDefinedPurpose)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcAddress::IfcAddress(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Purpose) { e->setArgument(0,*v1_Purpose,IfcAddressTypeEnum::ToString(*v1_Purpose)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UserDefinedPurpose) { e->setArgument(2,(*v3_UserDefinedPurpose)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAdvancedBrep bool IfcAdvancedBrep::is(Type::Enum v) const { return v == Type::IfcAdvancedBrep || IfcManifoldSolidBrep::is(v); } @@ -6333,7 +7880,7 @@ bool IfcAirTerminal::is(Type::Enum v) const { return v == Type::IfcAirTerminal | Type::Enum IfcAirTerminal::type() const { return Type::IfcAirTerminal; } Type::Enum IfcAirTerminal::Class() { return Type::IfcAirTerminal; } IfcAirTerminal::IfcAirTerminal(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAirTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAirTerminal::IfcAirTerminal(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcAirTerminalTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcAirTerminalTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAirTerminalBox bool IfcAirTerminalBox::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -6343,7 +7890,7 @@ bool IfcAirTerminalBox::is(Type::Enum v) const { return v == Type::IfcAirTermina Type::Enum IfcAirTerminalBox::type() const { return Type::IfcAirTerminalBox; } Type::Enum IfcAirTerminalBox::Class() { return Type::IfcAirTerminalBox; } IfcAirTerminalBox::IfcAirTerminalBox(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAirTerminalBox)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAirTerminalBox::IfcAirTerminalBox(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcAirTerminalBoxTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcAirTerminalBox::IfcAirTerminalBox(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcAirTerminalBoxTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAirTerminalBoxType IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum IfcAirTerminalBoxType::PredefinedType() const { return IfcAirTerminalBoxTypeEnum::FromString(*entity->getArgument(9)); } @@ -6352,7 +7899,7 @@ bool IfcAirTerminalBoxType::is(Type::Enum v) const { return v == Type::IfcAirTer Type::Enum IfcAirTerminalBoxType::type() const { return Type::IfcAirTerminalBoxType; } Type::Enum IfcAirTerminalBoxType::Class() { return Type::IfcAirTerminalBoxType; } IfcAirTerminalBoxType::IfcAirTerminalBoxType(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAirTerminalBoxType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAirTerminalBoxType::IfcAirTerminalBoxType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAirTerminalBoxTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAirTerminalBoxTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAirTerminalType IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum IfcAirTerminalType::PredefinedType() const { return IfcAirTerminalTypeEnum::FromString(*entity->getArgument(9)); } @@ -6361,7 +7908,7 @@ bool IfcAirTerminalType::is(Type::Enum v) const { return v == Type::IfcAirTermin Type::Enum IfcAirTerminalType::type() const { return Type::IfcAirTerminalType; } Type::Enum IfcAirTerminalType::Class() { return Type::IfcAirTerminalType; } IfcAirTerminalType::IfcAirTerminalType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAirTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAirTerminalType::IfcAirTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAirTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAirTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAirToAirHeatRecovery bool IfcAirToAirHeatRecovery::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -6371,7 +7918,7 @@ bool IfcAirToAirHeatRecovery::is(Type::Enum v) const { return v == Type::IfcAirT Type::Enum IfcAirToAirHeatRecovery::type() const { return Type::IfcAirToAirHeatRecovery; } Type::Enum IfcAirToAirHeatRecovery::Class() { return Type::IfcAirToAirHeatRecovery; } IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAirToAirHeatRecovery)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcAirToAirHeatRecoveryTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcAirToAirHeatRecoveryTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAirToAirHeatRecoveryType IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum IfcAirToAirHeatRecoveryType::PredefinedType() const { return IfcAirToAirHeatRecoveryTypeEnum::FromString(*entity->getArgument(9)); } @@ -6380,7 +7927,7 @@ bool IfcAirToAirHeatRecoveryType::is(Type::Enum v) const { return v == Type::Ifc Type::Enum IfcAirToAirHeatRecoveryType::type() const { return Type::IfcAirToAirHeatRecoveryType; } Type::Enum IfcAirToAirHeatRecoveryType::Class() { return Type::IfcAirToAirHeatRecoveryType; } IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAirToAirHeatRecoveryType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAirToAirHeatRecoveryTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAirToAirHeatRecoveryTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAlarm bool IfcAlarm::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -6390,7 +7937,7 @@ bool IfcAlarm::is(Type::Enum v) const { return v == Type::IfcAlarm || IfcDistrib Type::Enum IfcAlarm::type() const { return Type::IfcAlarm; } Type::Enum IfcAlarm::Class() { return Type::IfcAlarm; } IfcAlarm::IfcAlarm(IfcAbstractEntity* e) : IfcDistributionControlElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAlarm)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAlarm::IfcAlarm(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAlarmTypeEnum::IfcAlarmTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcAlarmTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcAlarm::IfcAlarm(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAlarmTypeEnum::IfcAlarmTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcAlarmTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAlarmType IfcAlarmTypeEnum::IfcAlarmTypeEnum IfcAlarmType::PredefinedType() const { return IfcAlarmTypeEnum::FromString(*entity->getArgument(9)); } @@ -6399,7 +7946,7 @@ bool IfcAlarmType::is(Type::Enum v) const { return v == Type::IfcAlarmType || If Type::Enum IfcAlarmType::type() const { return Type::IfcAlarmType; } Type::Enum IfcAlarmType::Class() { return Type::IfcAlarmType; } IfcAlarmType::IfcAlarmType(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAlarmType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAlarmType::IfcAlarmType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAlarmTypeEnum::IfcAlarmTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAlarmTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAlarmTypeEnum::IfcAlarmTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAlarmTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAnnotation IfcRelContainedInSpatialStructure::list::ptr IfcAnnotation::ContainedInStructure() const { return entity->getInverse(Type::IfcRelContainedInSpatialStructure)->as(); } @@ -6407,7 +7954,7 @@ bool IfcAnnotation::is(Type::Enum v) const { return v == Type::IfcAnnotation || Type::Enum IfcAnnotation::type() const { return Type::IfcAnnotation; } Type::Enum IfcAnnotation::Class() { return Type::IfcAnnotation; } IfcAnnotation::IfcAnnotation(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAnnotation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAnnotation::IfcAnnotation(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } +IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAnnotationFillArea IfcCurve* IfcAnnotationFillArea::OuterBoundary() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -6424,43 +7971,43 @@ IfcAnnotationFillArea::IfcAnnotationFillArea(IfcCurve* v1_OuterBoundary, boost:: // Function implementations for IfcApplication IfcOrganization* IfcApplication::ApplicationDeveloper() const { return (IfcOrganization*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcApplication::setApplicationDeveloper(IfcOrganization* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLabel IfcApplication::Version() const { return *entity->getArgument(1); } -void IfcApplication::setVersion(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcLabel IfcApplication::ApplicationFullName() const { return *entity->getArgument(2); } -void IfcApplication::setApplicationFullName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcIdentifier IfcApplication::ApplicationIdentifier() const { return *entity->getArgument(3); } -void IfcApplication::setApplicationIdentifier(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcApplication::Version() const { return *entity->getArgument(1); } +void IfcApplication::setVersion(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcApplication::ApplicationFullName() const { return *entity->getArgument(2); } +void IfcApplication::setApplicationFullName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcApplication::ApplicationIdentifier() const { return *entity->getArgument(3); } +void IfcApplication::setApplicationIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcApplication::is(Type::Enum v) const { return v == Type::IfcApplication; } Type::Enum IfcApplication::type() const { return Type::IfcApplication; } Type::Enum IfcApplication::Class() { return Type::IfcApplication; } IfcApplication::IfcApplication(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcApplication)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcApplication::IfcApplication(IfcOrganization* v1_ApplicationDeveloper, IfcLabel v2_Version, IfcLabel v3_ApplicationFullName, IfcIdentifier v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ApplicationDeveloper)); e->setArgument(1,(v2_Version)); e->setArgument(2,(v3_ApplicationFullName)); e->setArgument(3,(v4_ApplicationIdentifier)); entity = e; EntityBuffer::Add(this); } +IfcApplication::IfcApplication(IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ApplicationDeveloper)); e->setArgument(1,(v2_Version)); e->setArgument(2,(v3_ApplicationFullName)); e->setArgument(3,(v4_ApplicationIdentifier)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAppliedValue bool IfcAppliedValue::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcAppliedValue::Name() const { return *entity->getArgument(0); } -void IfcAppliedValue::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcAppliedValue::Name() const { return *entity->getArgument(0); } +void IfcAppliedValue::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcAppliedValue::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcAppliedValue::Description() const { return *entity->getArgument(1); } -void IfcAppliedValue::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcAppliedValue::Description() const { return *entity->getArgument(1); } +void IfcAppliedValue::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcAppliedValue::hasAppliedValue() const { return !entity->getArgument(2)->isNull(); } -IfcAppliedValueSelect IfcAppliedValue::AppliedValue() const { return *entity->getArgument(2); } -void IfcAppliedValue::setAppliedValue(IfcAppliedValueSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +IfcAppliedValueSelect* IfcAppliedValue::AppliedValue() const { return (IfcAppliedValueSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } +void IfcAppliedValue::setAppliedValue(IfcAppliedValueSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcAppliedValue::hasUnitBasis() const { return !entity->getArgument(3)->isNull(); } IfcMeasureWithUnit* IfcAppliedValue::UnitBasis() const { return (IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcAppliedValue::setUnitBasis(IfcMeasureWithUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcAppliedValue::hasApplicableDate() const { return !entity->getArgument(4)->isNull(); } -IfcDate IfcAppliedValue::ApplicableDate() const { return *entity->getArgument(4); } -void IfcAppliedValue::setApplicableDate(IfcDate v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcAppliedValue::ApplicableDate() const { return *entity->getArgument(4); } +void IfcAppliedValue::setApplicableDate(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcAppliedValue::hasFixedUntilDate() const { return !entity->getArgument(5)->isNull(); } -IfcDate IfcAppliedValue::FixedUntilDate() const { return *entity->getArgument(5); } -void IfcAppliedValue::setFixedUntilDate(IfcDate v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcAppliedValue::FixedUntilDate() const { return *entity->getArgument(5); } +void IfcAppliedValue::setFixedUntilDate(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcAppliedValue::hasCategory() const { return !entity->getArgument(6)->isNull(); } -IfcLabel IfcAppliedValue::Category() const { return *entity->getArgument(6); } -void IfcAppliedValue::setCategory(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcAppliedValue::Category() const { return *entity->getArgument(6); } +void IfcAppliedValue::setCategory(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcAppliedValue::hasCondition() const { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcAppliedValue::Condition() const { return *entity->getArgument(7); } -void IfcAppliedValue::setCondition(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcAppliedValue::Condition() const { return *entity->getArgument(7); } +void IfcAppliedValue::setCondition(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcAppliedValue::hasArithmeticOperator() const { return !entity->getArgument(8)->isNull(); } IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum IfcAppliedValue::ArithmeticOperator() const { return IfcArithmeticOperatorEnum::FromString(*entity->getArgument(8)); } void IfcAppliedValue::setArithmeticOperator(IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcArithmeticOperatorEnum::ToString(v)); } @@ -6472,36 +8019,36 @@ bool IfcAppliedValue::is(Type::Enum v) const { return v == Type::IfcAppliedValue Type::Enum IfcAppliedValue::type() const { return Type::IfcAppliedValue; } Type::Enum IfcAppliedValue::Class() { return Type::IfcAppliedValue; } IfcAppliedValue::IfcAppliedValue(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcAppliedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAppliedValue::IfcAppliedValue(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDate > v5_ApplicableDate, boost::optional< IfcDate > v6_FixedUntilDate, boost::optional< IfcLabel > v7_Category, boost::optional< IfcLabel > v8_Condition, boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v9_ArithmeticOperator, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_AppliedValue) { e->setArgument(2,(*v3_AppliedValue)); } else { e->setArgument(2); } e->setArgument(3,(v4_UnitBasis)); if (v5_ApplicableDate) { e->setArgument(4,(*v5_ApplicableDate)); } else { e->setArgument(4); } if (v6_FixedUntilDate) { e->setArgument(5,(*v6_FixedUntilDate)); } else { e->setArgument(5); } if (v7_Category) { e->setArgument(6,(*v7_Category)); } else { e->setArgument(6); } if (v8_Condition) { e->setArgument(7,(*v8_Condition)); } else { e->setArgument(7); } if (v9_ArithmeticOperator) { e->setArgument(8,*v9_ArithmeticOperator,IfcArithmeticOperatorEnum::ToString(*v9_ArithmeticOperator)); } else { e->setArgument(8); } if (v10_Components) { e->setArgument(9,(*v10_Components)->generalize()); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcAppliedValueSelect* v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< std::string > v5_ApplicableDate, boost::optional< std::string > v6_FixedUntilDate, boost::optional< std::string > v7_Category, boost::optional< std::string > v8_Condition, boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v9_ArithmeticOperator, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AppliedValue)); e->setArgument(3,(v4_UnitBasis)); if (v5_ApplicableDate) { e->setArgument(4,(*v5_ApplicableDate)); } else { e->setArgument(4); } if (v6_FixedUntilDate) { e->setArgument(5,(*v6_FixedUntilDate)); } else { e->setArgument(5); } if (v7_Category) { e->setArgument(6,(*v7_Category)); } else { e->setArgument(6); } if (v8_Condition) { e->setArgument(7,(*v8_Condition)); } else { e->setArgument(7); } if (v9_ArithmeticOperator) { e->setArgument(8,*v9_ArithmeticOperator,IfcArithmeticOperatorEnum::ToString(*v9_ArithmeticOperator)); } else { e->setArgument(8); } if (v10_Components) { e->setArgument(9,(*v10_Components)->generalize()); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcApproval bool IfcApproval::hasIdentifier() const { return !entity->getArgument(0)->isNull(); } -IfcIdentifier IfcApproval::Identifier() const { return *entity->getArgument(0); } -void IfcApproval::setIdentifier(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcApproval::Identifier() const { return *entity->getArgument(0); } +void IfcApproval::setIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcApproval::hasName() const { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcApproval::Name() const { return *entity->getArgument(1); } -void IfcApproval::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcApproval::Name() const { return *entity->getArgument(1); } +void IfcApproval::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcApproval::hasDescription() const { return !entity->getArgument(2)->isNull(); } -IfcText IfcApproval::Description() const { return *entity->getArgument(2); } -void IfcApproval::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcApproval::Description() const { return *entity->getArgument(2); } +void IfcApproval::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcApproval::hasTimeOfApproval() const { return !entity->getArgument(3)->isNull(); } -IfcDateTime IfcApproval::TimeOfApproval() const { return *entity->getArgument(3); } -void IfcApproval::setTimeOfApproval(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcApproval::TimeOfApproval() const { return *entity->getArgument(3); } +void IfcApproval::setTimeOfApproval(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcApproval::hasStatus() const { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcApproval::Status() const { return *entity->getArgument(4); } -void IfcApproval::setStatus(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcApproval::Status() const { return *entity->getArgument(4); } +void IfcApproval::setStatus(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcApproval::hasLevel() const { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcApproval::Level() const { return *entity->getArgument(5); } -void IfcApproval::setLevel(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcApproval::Level() const { return *entity->getArgument(5); } +void IfcApproval::setLevel(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcApproval::hasQualifier() const { return !entity->getArgument(6)->isNull(); } -IfcText IfcApproval::Qualifier() const { return *entity->getArgument(6); } -void IfcApproval::setQualifier(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcApproval::Qualifier() const { return *entity->getArgument(6); } +void IfcApproval::setQualifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcApproval::hasRequestingApproval() const { return !entity->getArgument(7)->isNull(); } -IfcActorSelect IfcApproval::RequestingApproval() const { return *entity->getArgument(7); } -void IfcApproval::setRequestingApproval(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +IfcActorSelect* IfcApproval::RequestingApproval() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } +void IfcApproval::setRequestingApproval(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcApproval::hasGivingApproval() const { return !entity->getArgument(8)->isNull(); } -IfcActorSelect IfcApproval::GivingApproval() const { return *entity->getArgument(8); } -void IfcApproval::setGivingApproval(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +IfcActorSelect* IfcApproval::GivingApproval() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } +void IfcApproval::setGivingApproval(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } IfcExternalReferenceRelationship::list::ptr IfcApproval::HasExternalReferences() const { return entity->getInverse(Type::IfcExternalReferenceRelationship)->as(); } IfcRelAssociatesApproval::list::ptr IfcApproval::ApprovedObjects() const { return entity->getInverse(Type::IfcRelAssociatesApproval)->as(); } IfcResourceApprovalRelationship::list::ptr IfcApproval::ApprovedResources() const { return entity->getInverse(Type::IfcResourceApprovalRelationship)->as(); } @@ -6511,7 +8058,7 @@ bool IfcApproval::is(Type::Enum v) const { return v == Type::IfcApproval; } Type::Enum IfcApproval::type() const { return Type::IfcApproval; } Type::Enum IfcApproval::Class() { return Type::IfcApproval; } IfcApproval::IfcApproval(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcApproval)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcApproval::IfcApproval(boost::optional< IfcIdentifier > v1_Identifier, boost::optional< IfcLabel > v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcDateTime > v4_TimeOfApproval, boost::optional< IfcLabel > v5_Status, boost::optional< IfcLabel > v6_Level, boost::optional< IfcText > v7_Qualifier, boost::optional< IfcActorSelect > v8_RequestingApproval, boost::optional< IfcActorSelect > v9_GivingApproval) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Identifier) { e->setArgument(0,(*v1_Identifier)); } else { e->setArgument(0); } if (v2_Name) { e->setArgument(1,(*v2_Name)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_TimeOfApproval) { e->setArgument(3,(*v4_TimeOfApproval)); } else { e->setArgument(3); } if (v5_Status) { e->setArgument(4,(*v5_Status)); } else { e->setArgument(4); } if (v6_Level) { e->setArgument(5,(*v6_Level)); } else { e->setArgument(5); } if (v7_Qualifier) { e->setArgument(6,(*v7_Qualifier)); } else { e->setArgument(6); } if (v8_RequestingApproval) { e->setArgument(7,(*v8_RequestingApproval)); } else { e->setArgument(7); } if (v9_GivingApproval) { e->setArgument(8,(*v9_GivingApproval)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcApproval::IfcApproval(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_TimeOfApproval, boost::optional< std::string > v5_Status, boost::optional< std::string > v6_Level, boost::optional< std::string > v7_Qualifier, IfcActorSelect* v8_RequestingApproval, IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Identifier) { e->setArgument(0,(*v1_Identifier)); } else { e->setArgument(0); } if (v2_Name) { e->setArgument(1,(*v2_Name)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_TimeOfApproval) { e->setArgument(3,(*v4_TimeOfApproval)); } else { e->setArgument(3); } if (v5_Status) { e->setArgument(4,(*v5_Status)); } else { e->setArgument(4); } if (v6_Level) { e->setArgument(5,(*v6_Level)); } else { e->setArgument(5); } if (v7_Qualifier) { e->setArgument(6,(*v7_Qualifier)); } else { e->setArgument(6); } e->setArgument(7,(v8_RequestingApproval)); e->setArgument(8,(v9_GivingApproval)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcApprovalRelationship IfcApproval* IfcApprovalRelationship::RelatingApproval() const { return (IfcApproval*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } @@ -6522,7 +8069,7 @@ bool IfcApprovalRelationship::is(Type::Enum v) const { return v == Type::IfcAppr Type::Enum IfcApprovalRelationship::type() const { return Type::IfcApprovalRelationship; } Type::Enum IfcApprovalRelationship::Class() { return Type::IfcApprovalRelationship; } IfcApprovalRelationship::IfcApprovalRelationship(IfcAbstractEntity* e) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcApprovalRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcApproval* v3_RelatingApproval, IfcTemplatedEntityList< IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingApproval)); e->setArgument(3,(v4_RelatedApprovals)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcApproval* v3_RelatingApproval, IfcTemplatedEntityList< IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingApproval)); e->setArgument(3,(v4_RelatedApprovals)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcArbitraryClosedProfileDef IfcCurve* IfcArbitraryClosedProfileDef::OuterCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } @@ -6531,7 +8078,7 @@ bool IfcArbitraryClosedProfileDef::is(Type::Enum v) const { return v == Type::If Type::Enum IfcArbitraryClosedProfileDef::type() const { return Type::IfcArbitraryClosedProfileDef; } Type::Enum IfcArbitraryClosedProfileDef::Class() { return Type::IfcArbitraryClosedProfileDef; } IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcAbstractEntity* e) : IfcProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcArbitraryClosedProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcCurve* v3_OuterCurve) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_OuterCurve)); entity = e; EntityBuffer::Add(this); } +IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcCurve* v3_OuterCurve) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_OuterCurve)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcArbitraryOpenProfileDef IfcBoundedCurve* IfcArbitraryOpenProfileDef::Curve() const { return (IfcBoundedCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } @@ -6540,7 +8087,7 @@ bool IfcArbitraryOpenProfileDef::is(Type::Enum v) const { return v == Type::IfcA Type::Enum IfcArbitraryOpenProfileDef::type() const { return Type::IfcArbitraryOpenProfileDef; } Type::Enum IfcArbitraryOpenProfileDef::Class() { return Type::IfcArbitraryOpenProfileDef; } IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcAbstractEntity* e) : IfcProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcArbitraryOpenProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcBoundedCurve* v3_Curve) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Curve)); entity = e; EntityBuffer::Add(this); } +IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcBoundedCurve* v3_Curve) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Curve)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcArbitraryProfileDefWithVoids IfcTemplatedEntityList< IfcCurve >::ptr IfcArbitraryProfileDefWithVoids::InnerCurves() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } @@ -6549,12 +8096,12 @@ bool IfcArbitraryProfileDefWithVoids::is(Type::Enum v) const { return v == Type: Type::Enum IfcArbitraryProfileDefWithVoids::type() const { return Type::IfcArbitraryProfileDefWithVoids; } Type::Enum IfcArbitraryProfileDefWithVoids::Class() { return Type::IfcArbitraryProfileDefWithVoids; } IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcAbstractEntity* e) : IfcArbitraryClosedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcArbitraryProfileDefWithVoids)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcCurve* v3_OuterCurve, IfcTemplatedEntityList< IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_OuterCurve)); e->setArgument(3,(v4_InnerCurves)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcCurve* v3_OuterCurve, IfcTemplatedEntityList< IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_OuterCurve)); e->setArgument(3,(v4_InnerCurves)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAsset bool IfcAsset::hasIdentification() const { return !entity->getArgument(5)->isNull(); } -IfcIdentifier IfcAsset::Identification() const { return *entity->getArgument(5); } -void IfcAsset::setIdentification(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcAsset::Identification() const { return *entity->getArgument(5); } +void IfcAsset::setIdentification(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcAsset::hasOriginalValue() const { return !entity->getArgument(6)->isNull(); } IfcCostValue* IfcAsset::OriginalValue() const { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } void IfcAsset::setOriginalValue(IfcCostValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } @@ -6565,17 +8112,17 @@ bool IfcAsset::hasTotalReplacementCost() const { return !entity->getArgument(8)- IfcCostValue* IfcAsset::TotalReplacementCost() const { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } void IfcAsset::setTotalReplacementCost(IfcCostValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcAsset::hasOwner() const { return !entity->getArgument(9)->isNull(); } -IfcActorSelect IfcAsset::Owner() const { return *entity->getArgument(9); } -void IfcAsset::setOwner(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +IfcActorSelect* IfcAsset::Owner() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } +void IfcAsset::setOwner(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcAsset::hasUser() const { return !entity->getArgument(10)->isNull(); } -IfcActorSelect IfcAsset::User() const { return *entity->getArgument(10); } -void IfcAsset::setUser(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +IfcActorSelect* IfcAsset::User() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } +void IfcAsset::setUser(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcAsset::hasResponsiblePerson() const { return !entity->getArgument(11)->isNull(); } IfcPerson* IfcAsset::ResponsiblePerson() const { return (IfcPerson*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(11))); } void IfcAsset::setResponsiblePerson(IfcPerson* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcAsset::hasIncorporationDate() const { return !entity->getArgument(12)->isNull(); } -IfcDate IfcAsset::IncorporationDate() const { return *entity->getArgument(12); } -void IfcAsset::setIncorporationDate(IfcDate v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +std::string IfcAsset::IncorporationDate() const { return *entity->getArgument(12); } +void IfcAsset::setIncorporationDate(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcAsset::hasDepreciatedValue() const { return !entity->getArgument(13)->isNull(); } IfcCostValue* IfcAsset::DepreciatedValue() const { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(13))); } void IfcAsset::setDepreciatedValue(IfcCostValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } @@ -6583,45 +8130,45 @@ bool IfcAsset::is(Type::Enum v) const { return v == Type::IfcAsset || IfcGroup:: Type::Enum IfcAsset::type() const { return Type::IfcAsset; } Type::Enum IfcAsset::Class() { return Type::IfcAsset; } IfcAsset::IfcAsset(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAsset)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAsset::IfcAsset(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcCostValue* v7_OriginalValue, IfcCostValue* v8_CurrentValue, IfcCostValue* v9_TotalReplacementCost, boost::optional< IfcActorSelect > v10_Owner, boost::optional< IfcActorSelect > v11_User, IfcPerson* v12_ResponsiblePerson, boost::optional< IfcDate > v13_IncorporationDate, IfcCostValue* v14_DepreciatedValue) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } e->setArgument(6,(v7_OriginalValue)); e->setArgument(7,(v8_CurrentValue)); e->setArgument(8,(v9_TotalReplacementCost)); if (v10_Owner) { e->setArgument(9,(*v10_Owner)); } else { e->setArgument(9); } if (v11_User) { e->setArgument(10,(*v11_User)); } else { e->setArgument(10); } e->setArgument(11,(v12_ResponsiblePerson)); if (v13_IncorporationDate) { e->setArgument(12,(*v13_IncorporationDate)); } else { e->setArgument(12); } e->setArgument(13,(v14_DepreciatedValue)); entity = e; EntityBuffer::Add(this); } +IfcAsset::IfcAsset(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, IfcCostValue* v7_OriginalValue, IfcCostValue* v8_CurrentValue, IfcCostValue* v9_TotalReplacementCost, IfcActorSelect* v10_Owner, IfcActorSelect* v11_User, IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, IfcCostValue* v14_DepreciatedValue) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } e->setArgument(6,(v7_OriginalValue)); e->setArgument(7,(v8_CurrentValue)); e->setArgument(8,(v9_TotalReplacementCost)); e->setArgument(9,(v10_Owner)); e->setArgument(10,(v11_User)); e->setArgument(11,(v12_ResponsiblePerson)); if (v13_IncorporationDate) { e->setArgument(12,(*v13_IncorporationDate)); } else { e->setArgument(12); } e->setArgument(13,(v14_DepreciatedValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAsymmetricIShapeProfileDef -IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { return *entity->getArgument(3); } -void IfcAsymmetricIShapeProfileDef::setBottomFlangeWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::OverallDepth() const { return *entity->getArgument(4); } -void IfcAsymmetricIShapeProfileDef::setOverallDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } -void IfcAsymmetricIShapeProfileDef::setWebThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { return *entity->getArgument(6); } -void IfcAsymmetricIShapeProfileDef::setBottomFlangeThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { return *entity->getArgument(3); } +void IfcAsymmetricIShapeProfileDef::setBottomFlangeWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcAsymmetricIShapeProfileDef::OverallDepth() const { return *entity->getArgument(4); } +void IfcAsymmetricIShapeProfileDef::setOverallDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcAsymmetricIShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } +void IfcAsymmetricIShapeProfileDef::setWebThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { return *entity->getArgument(6); } +void IfcAsymmetricIShapeProfileDef::setBottomFlangeThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcAsymmetricIShapeProfileDef::hasBottomFlangeFilletRadius() const { return !entity->getArgument(7)->isNull(); } -IfcNonNegativeLengthMeasure IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { return *entity->getArgument(7); } -void IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { return *entity->getArgument(8); } -void IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { return *entity->getArgument(7); } +void IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { return *entity->getArgument(8); } +void IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcAsymmetricIShapeProfileDef::hasTopFlangeThickness() const { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { return *entity->getArgument(9); } -void IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { return *entity->getArgument(9); } +void IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcAsymmetricIShapeProfileDef::hasTopFlangeFilletRadius() const { return !entity->getArgument(10)->isNull(); } -IfcNonNegativeLengthMeasure IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { return *entity->getArgument(10); } -void IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { return *entity->getArgument(10); } +void IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcAsymmetricIShapeProfileDef::hasBottomFlangeEdgeRadius() const { return !entity->getArgument(11)->isNull(); } -IfcNonNegativeLengthMeasure IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { return *entity->getArgument(11); } -void IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { return *entity->getArgument(11); } +void IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcAsymmetricIShapeProfileDef::hasBottomFlangeSlope() const { return !entity->getArgument(12)->isNull(); } -IfcPlaneAngleMeasure IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { return *entity->getArgument(12); } -void IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +double IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { return *entity->getArgument(12); } +void IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcAsymmetricIShapeProfileDef::hasTopFlangeEdgeRadius() const { return !entity->getArgument(13)->isNull(); } -IfcNonNegativeLengthMeasure IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { return *entity->getArgument(13); } -void IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } +double IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { return *entity->getArgument(13); } +void IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } bool IfcAsymmetricIShapeProfileDef::hasTopFlangeSlope() const { return !entity->getArgument(14)->isNull(); } -IfcPlaneAngleMeasure IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { return *entity->getArgument(14); } -void IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } +double IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { return *entity->getArgument(14); } +void IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } bool IfcAsymmetricIShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcAsymmetricIShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcAsymmetricIShapeProfileDef::type() const { return Type::IfcAsymmetricIShapeProfileDef; } Type::Enum IfcAsymmetricIShapeProfileDef::Class() { return Type::IfcAsymmetricIShapeProfileDef; } IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAsymmetricIShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_BottomFlangeWidth, IfcPositiveLengthMeasure v5_OverallDepth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_BottomFlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_BottomFlangeFilletRadius, IfcPositiveLengthMeasure v9_TopFlangeWidth, boost::optional< IfcPositiveLengthMeasure > v10_TopFlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v11_TopFlangeFilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v12_BottomFlangeEdgeRadius, boost::optional< IfcPlaneAngleMeasure > v13_BottomFlangeSlope, boost::optional< IfcNonNegativeLengthMeasure > v14_TopFlangeEdgeRadius, boost::optional< IfcPlaneAngleMeasure > v15_TopFlangeSlope) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_BottomFlangeWidth)); e->setArgument(4,(v5_OverallDepth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) { e->setArgument(7,(*v8_BottomFlangeFilletRadius)); } else { e->setArgument(7); } e->setArgument(8,(v9_TopFlangeWidth)); if (v10_TopFlangeThickness) { e->setArgument(9,(*v10_TopFlangeThickness)); } else { e->setArgument(9); } if (v11_TopFlangeFilletRadius) { e->setArgument(10,(*v11_TopFlangeFilletRadius)); } else { e->setArgument(10); } if (v12_BottomFlangeEdgeRadius) { e->setArgument(11,(*v12_BottomFlangeEdgeRadius)); } else { e->setArgument(11); } if (v13_BottomFlangeSlope) { e->setArgument(12,(*v13_BottomFlangeSlope)); } else { e->setArgument(12); } if (v14_TopFlangeEdgeRadius) { e->setArgument(13,(*v14_TopFlangeEdgeRadius)); } else { e->setArgument(13); } if (v15_TopFlangeSlope) { e->setArgument(14,(*v15_TopFlangeSlope)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } +IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, boost::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, boost::optional< double > v10_TopFlangeThickness, boost::optional< double > v11_TopFlangeFilletRadius, boost::optional< double > v12_BottomFlangeEdgeRadius, boost::optional< double > v13_BottomFlangeSlope, boost::optional< double > v14_TopFlangeEdgeRadius, boost::optional< double > v15_TopFlangeSlope) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_BottomFlangeWidth)); e->setArgument(4,(v5_OverallDepth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) { e->setArgument(7,(*v8_BottomFlangeFilletRadius)); } else { e->setArgument(7); } e->setArgument(8,(v9_TopFlangeWidth)); if (v10_TopFlangeThickness) { e->setArgument(9,(*v10_TopFlangeThickness)); } else { e->setArgument(9); } if (v11_TopFlangeFilletRadius) { e->setArgument(10,(*v11_TopFlangeFilletRadius)); } else { e->setArgument(10); } if (v12_BottomFlangeEdgeRadius) { e->setArgument(11,(*v12_BottomFlangeEdgeRadius)); } else { e->setArgument(11); } if (v13_BottomFlangeSlope) { e->setArgument(12,(*v13_BottomFlangeSlope)); } else { e->setArgument(12); } if (v14_TopFlangeEdgeRadius) { e->setArgument(13,(*v14_TopFlangeEdgeRadius)); } else { e->setArgument(13); } if (v15_TopFlangeSlope) { e->setArgument(14,(*v15_TopFlangeSlope)); } else { e->setArgument(14); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAudioVisualAppliance bool IfcAudioVisualAppliance::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -6631,7 +8178,7 @@ bool IfcAudioVisualAppliance::is(Type::Enum v) const { return v == Type::IfcAudi Type::Enum IfcAudioVisualAppliance::type() const { return Type::IfcAudioVisualAppliance; } Type::Enum IfcAudioVisualAppliance::Class() { return Type::IfcAudioVisualAppliance; } IfcAudioVisualAppliance::IfcAudioVisualAppliance(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAudioVisualAppliance)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAudioVisualAppliance::IfcAudioVisualAppliance(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcAudioVisualApplianceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcAudioVisualAppliance::IfcAudioVisualAppliance(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcAudioVisualApplianceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAudioVisualApplianceType IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum IfcAudioVisualApplianceType::PredefinedType() const { return IfcAudioVisualApplianceTypeEnum::FromString(*entity->getArgument(9)); } @@ -6640,7 +8187,7 @@ bool IfcAudioVisualApplianceType::is(Type::Enum v) const { return v == Type::Ifc Type::Enum IfcAudioVisualApplianceType::type() const { return Type::IfcAudioVisualApplianceType; } Type::Enum IfcAudioVisualApplianceType::Class() { return Type::IfcAudioVisualApplianceType; } IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcAudioVisualApplianceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAudioVisualApplianceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcAudioVisualApplianceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcAxis1Placement bool IfcAxis1Placement::hasAxis() const { return !entity->getArgument(1)->isNull(); } @@ -6695,15 +8242,15 @@ IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, IfcTemplatedEntityList< IfcCarte // Function implementations for IfcBSplineCurveWithKnots std::vector< int > /*[2:?]*/ IfcBSplineCurveWithKnots::KnotMultiplicities() const { return *entity->getArgument(5); } void IfcBSplineCurveWithKnots::setKnotMultiplicities(std::vector< int > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -std::vector< IfcParameterValue > /*[2:?]*/ IfcBSplineCurveWithKnots::Knots() const { return *entity->getArgument(6); } -void IfcBSplineCurveWithKnots::setKnots(std::vector< IfcParameterValue > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::vector< double > /*[2:?]*/ IfcBSplineCurveWithKnots::Knots() const { return *entity->getArgument(6); } +void IfcBSplineCurveWithKnots::setKnots(std::vector< double > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } IfcKnotType::IfcKnotType IfcBSplineCurveWithKnots::KnotSpec() const { return IfcKnotType::FromString(*entity->getArgument(7)); } void IfcBSplineCurveWithKnots::setKnotSpec(IfcKnotType::IfcKnotType v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcKnotType::ToString(v)); } bool IfcBSplineCurveWithKnots::is(Type::Enum v) const { return v == Type::IfcBSplineCurveWithKnots || IfcBSplineCurve::is(v); } Type::Enum IfcBSplineCurveWithKnots::type() const { return Type::IfcBSplineCurveWithKnots; } Type::Enum IfcBSplineCurveWithKnots::Class() { return Type::IfcBSplineCurveWithKnots; } IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(IfcAbstractEntity* e) : IfcBSplineCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBSplineCurveWithKnots)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, IfcTemplatedEntityList< IfcCartesianPoint >::ptr v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< IfcParameterValue > /*[2:?]*/ v7_Knots, IfcKnotType::IfcKnotType v8_KnotSpec) : IfcBSplineCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Degree)); e->setArgument(1,(v2_ControlPointsList)->generalize()); e->setArgument(2,v3_CurveForm,IfcBSplineCurveForm::ToString(v3_CurveForm)); e->setArgument(3,(v4_ClosedCurve)); e->setArgument(4,(v5_SelfIntersect)); e->setArgument(5,(v6_KnotMultiplicities)); e->setArgument(6,(v7_Knots)); e->setArgument(7,v8_KnotSpec,IfcKnotType::ToString(v8_KnotSpec)); entity = e; EntityBuffer::Add(this); } +IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, IfcTemplatedEntityList< IfcCartesianPoint >::ptr v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, IfcKnotType::IfcKnotType v8_KnotSpec) : IfcBSplineCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Degree)); e->setArgument(1,(v2_ControlPointsList)->generalize()); e->setArgument(2,v3_CurveForm,IfcBSplineCurveForm::ToString(v3_CurveForm)); e->setArgument(3,(v4_ClosedCurve)); e->setArgument(4,(v5_SelfIntersect)); e->setArgument(5,(v6_KnotMultiplicities)); e->setArgument(6,(v7_Knots)); e->setArgument(7,v8_KnotSpec,IfcKnotType::ToString(v8_KnotSpec)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBSplineSurface int IfcBSplineSurface::UDegree() const { return *entity->getArgument(0); } @@ -6731,17 +8278,17 @@ std::vector< int > /*[2:?]*/ IfcBSplineSurfaceWithKnots::UMultiplicities() const void IfcBSplineSurfaceWithKnots::setUMultiplicities(std::vector< int > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } std::vector< int > /*[2:?]*/ IfcBSplineSurfaceWithKnots::VMultiplicities() const { return *entity->getArgument(8); } void IfcBSplineSurfaceWithKnots::setVMultiplicities(std::vector< int > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -std::vector< IfcParameterValue > /*[2:?]*/ IfcBSplineSurfaceWithKnots::UKnots() const { return *entity->getArgument(9); } -void IfcBSplineSurfaceWithKnots::setUKnots(std::vector< IfcParameterValue > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } -std::vector< IfcParameterValue > /*[2:?]*/ IfcBSplineSurfaceWithKnots::VKnots() const { return *entity->getArgument(10); } -void IfcBSplineSurfaceWithKnots::setVKnots(std::vector< IfcParameterValue > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +std::vector< double > /*[2:?]*/ IfcBSplineSurfaceWithKnots::UKnots() const { return *entity->getArgument(9); } +void IfcBSplineSurfaceWithKnots::setUKnots(std::vector< double > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +std::vector< double > /*[2:?]*/ IfcBSplineSurfaceWithKnots::VKnots() const { return *entity->getArgument(10); } +void IfcBSplineSurfaceWithKnots::setVKnots(std::vector< double > /*[2:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } IfcKnotType::IfcKnotType IfcBSplineSurfaceWithKnots::KnotSpec() const { return IfcKnotType::FromString(*entity->getArgument(11)); } void IfcBSplineSurfaceWithKnots::setKnotSpec(IfcKnotType::IfcKnotType v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v,IfcKnotType::ToString(v)); } bool IfcBSplineSurfaceWithKnots::is(Type::Enum v) const { return v == Type::IfcBSplineSurfaceWithKnots || IfcBSplineSurface::is(v); } Type::Enum IfcBSplineSurfaceWithKnots::type() const { return Type::IfcBSplineSurfaceWithKnots; } Type::Enum IfcBSplineSurfaceWithKnots::Class() { return Type::IfcBSplineSurfaceWithKnots; } IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(IfcAbstractEntity* e) : IfcBSplineSurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBSplineSurfaceWithKnots)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, IfcTemplatedEntityListList< IfcCartesianPoint >::ptr v3_ControlPointsList, IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< IfcParameterValue > /*[2:?]*/ v10_UKnots, std::vector< IfcParameterValue > /*[2:?]*/ v11_VKnots, IfcKnotType::IfcKnotType v12_KnotSpec) : IfcBSplineSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_UDegree)); e->setArgument(1,(v2_VDegree)); e->setArgument(2,(v3_ControlPointsList)->generalize()); e->setArgument(3,v4_SurfaceForm,IfcBSplineSurfaceForm::ToString(v4_SurfaceForm)); e->setArgument(4,(v5_UClosed)); e->setArgument(5,(v6_VClosed)); e->setArgument(6,(v7_SelfIntersect)); e->setArgument(7,(v8_UMultiplicities)); e->setArgument(8,(v9_VMultiplicities)); e->setArgument(9,(v10_UKnots)); e->setArgument(10,(v11_VKnots)); e->setArgument(11,v12_KnotSpec,IfcKnotType::ToString(v12_KnotSpec)); entity = e; EntityBuffer::Add(this); } +IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, IfcTemplatedEntityListList< IfcCartesianPoint >::ptr v3_ControlPointsList, IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, IfcKnotType::IfcKnotType v12_KnotSpec) : IfcBSplineSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_UDegree)); e->setArgument(1,(v2_VDegree)); e->setArgument(2,(v3_ControlPointsList)->generalize()); e->setArgument(3,v4_SurfaceForm,IfcBSplineSurfaceForm::ToString(v4_SurfaceForm)); e->setArgument(4,(v5_UClosed)); e->setArgument(5,(v6_VClosed)); e->setArgument(6,(v7_SelfIntersect)); e->setArgument(7,(v8_UMultiplicities)); e->setArgument(8,(v9_VMultiplicities)); e->setArgument(9,(v10_UKnots)); e->setArgument(10,(v11_VKnots)); e->setArgument(11,v12_KnotSpec,IfcKnotType::ToString(v12_KnotSpec)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBeam bool IfcBeam::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -6751,14 +8298,14 @@ bool IfcBeam::is(Type::Enum v) const { return v == Type::IfcBeam || IfcBuildingE Type::Enum IfcBeam::type() const { return Type::IfcBeam; } Type::Enum IfcBeam::Class() { return Type::IfcBeam; } IfcBeam::IfcBeam(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBeam)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBeam::IfcBeam(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBeamTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcBeam::IfcBeam(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBeamTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBeamStandardCase bool IfcBeamStandardCase::is(Type::Enum v) const { return v == Type::IfcBeamStandardCase || IfcBeam::is(v); } Type::Enum IfcBeamStandardCase::type() const { return Type::IfcBeamStandardCase; } Type::Enum IfcBeamStandardCase::Class() { return Type::IfcBeamStandardCase; } IfcBeamStandardCase::IfcBeamStandardCase(IfcAbstractEntity* e) : IfcBeam((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBeamStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBeamStandardCase::IfcBeamStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > v9_PredefinedType) : IfcBeam((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBeamTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcBeamStandardCase::IfcBeamStandardCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > v9_PredefinedType) : IfcBeam((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBeamTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBeamType IfcBeamTypeEnum::IfcBeamTypeEnum IfcBeamType::PredefinedType() const { return IfcBeamTypeEnum::FromString(*entity->getArgument(9)); } @@ -6767,29 +8314,29 @@ bool IfcBeamType::is(Type::Enum v) const { return v == Type::IfcBeamType || IfcB Type::Enum IfcBeamType::type() const { return Type::IfcBeamType; } Type::Enum IfcBeamType::Class() { return Type::IfcBeamType; } IfcBeamType::IfcBeamType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBeamType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBeamType::IfcBeamType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBeamTypeEnum::IfcBeamTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBeamTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcBeamType::IfcBeamType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBeamTypeEnum::IfcBeamTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBeamTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBlobTexture -IfcIdentifier IfcBlobTexture::RasterFormat() const { return *entity->getArgument(5); } -void IfcBlobTexture::setRasterFormat(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcBlobTexture::RasterFormat() const { return *entity->getArgument(5); } +void IfcBlobTexture::setRasterFormat(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcBlobTexture::is(Type::Enum v) const { return v == Type::IfcBlobTexture || IfcSurfaceTexture::is(v); } Type::Enum IfcBlobTexture::type() const { return Type::IfcBlobTexture; } Type::Enum IfcBlobTexture::Class() { return Type::IfcBlobTexture; } IfcBlobTexture::IfcBlobTexture(IfcAbstractEntity* e) : IfcSurfaceTexture((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBlobTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< IfcIdentifier > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< IfcIdentifier > /*[1:?]*/ > v5_Parameter, IfcIdentifier v6_RasterFormat) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); if (v3_Mode) { e->setArgument(2,(*v3_Mode)); } else { e->setArgument(2); } e->setArgument(3,(v4_TextureTransform)); if (v5_Parameter) { e->setArgument(4,(*v5_Parameter)); } else { e->setArgument(4); } e->setArgument(5,(v6_RasterFormat)); entity = e; EntityBuffer::Add(this); } +IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); if (v3_Mode) { e->setArgument(2,(*v3_Mode)); } else { e->setArgument(2); } e->setArgument(3,(v4_TextureTransform)); if (v5_Parameter) { e->setArgument(4,(*v5_Parameter)); } else { e->setArgument(4); } e->setArgument(5,(v6_RasterFormat)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBlock -IfcPositiveLengthMeasure IfcBlock::XLength() const { return *entity->getArgument(1); } -void IfcBlock::setXLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveLengthMeasure IfcBlock::YLength() const { return *entity->getArgument(2); } -void IfcBlock::setYLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcPositiveLengthMeasure IfcBlock::ZLength() const { return *entity->getArgument(3); } -void IfcBlock::setZLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcBlock::XLength() const { return *entity->getArgument(1); } +void IfcBlock::setXLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcBlock::YLength() const { return *entity->getArgument(2); } +void IfcBlock::setYLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcBlock::ZLength() const { return *entity->getArgument(3); } +void IfcBlock::setZLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcBlock::is(Type::Enum v) const { return v == Type::IfcBlock || IfcCsgPrimitive3D::is(v); } Type::Enum IfcBlock::type() const { return Type::IfcBlock; } Type::Enum IfcBlock::Class() { return Type::IfcBlock; } IfcBlock::IfcBlock(IfcAbstractEntity* e) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBlock)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBlock::IfcBlock(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_XLength, IfcPositiveLengthMeasure v3_YLength, IfcPositiveLengthMeasure v4_ZLength) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_XLength)); e->setArgument(2,(v3_YLength)); e->setArgument(3,(v4_ZLength)); entity = e; EntityBuffer::Add(this); } +IfcBlock::IfcBlock(IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_XLength)); e->setArgument(2,(v3_YLength)); e->setArgument(3,(v4_ZLength)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoiler bool IfcBoiler::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -6799,7 +8346,7 @@ bool IfcBoiler::is(Type::Enum v) const { return v == Type::IfcBoiler || IfcEnerg Type::Enum IfcBoiler::type() const { return Type::IfcBoiler; } Type::Enum IfcBoiler::Class() { return Type::IfcBoiler; } IfcBoiler::IfcBoiler(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoiler)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoiler::IfcBoiler(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBoilerTypeEnum::IfcBoilerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBoilerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcBoiler::IfcBoiler(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBoilerTypeEnum::IfcBoilerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBoilerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoilerType IfcBoilerTypeEnum::IfcBoilerTypeEnum IfcBoilerType::PredefinedType() const { return IfcBoilerTypeEnum::FromString(*entity->getArgument(9)); } @@ -6808,37 +8355,37 @@ bool IfcBoilerType::is(Type::Enum v) const { return v == Type::IfcBoilerType || Type::Enum IfcBoilerType::type() const { return Type::IfcBoilerType; } Type::Enum IfcBoilerType::Class() { return Type::IfcBoilerType; } IfcBoilerType::IfcBoilerType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoilerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoilerType::IfcBoilerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBoilerTypeEnum::IfcBoilerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBoilerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBoilerTypeEnum::IfcBoilerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBoilerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBooleanClippingResult bool IfcBooleanClippingResult::is(Type::Enum v) const { return v == Type::IfcBooleanClippingResult || IfcBooleanResult::is(v); } Type::Enum IfcBooleanClippingResult::type() const { return Type::IfcBooleanClippingResult; } Type::Enum IfcBooleanClippingResult::Class() { return Type::IfcBooleanClippingResult; } IfcBooleanClippingResult::IfcBooleanClippingResult(IfcAbstractEntity* e) : IfcBooleanResult((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBooleanClippingResult)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBooleanClippingResult::IfcBooleanClippingResult(IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand v2_FirstOperand, IfcBooleanOperand v3_SecondOperand) : IfcBooleanResult((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Operator,IfcBooleanOperator::ToString(v1_Operator)); e->setArgument(1,(v2_FirstOperand)); e->setArgument(2,(v3_SecondOperand)); entity = e; EntityBuffer::Add(this); } +IfcBooleanClippingResult::IfcBooleanClippingResult(IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand* v2_FirstOperand, IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Operator,IfcBooleanOperator::ToString(v1_Operator)); e->setArgument(1,(v2_FirstOperand)); e->setArgument(2,(v3_SecondOperand)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBooleanResult IfcBooleanOperator::IfcBooleanOperator IfcBooleanResult::Operator() const { return IfcBooleanOperator::FromString(*entity->getArgument(0)); } void IfcBooleanResult::setOperator(IfcBooleanOperator::IfcBooleanOperator v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcBooleanOperator::ToString(v)); } -IfcBooleanOperand IfcBooleanResult::FirstOperand() const { return *entity->getArgument(1); } -void IfcBooleanResult::setFirstOperand(IfcBooleanOperand v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcBooleanOperand IfcBooleanResult::SecondOperand() const { return *entity->getArgument(2); } -void IfcBooleanResult::setSecondOperand(IfcBooleanOperand v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +IfcBooleanOperand* IfcBooleanResult::FirstOperand() const { return (IfcBooleanOperand*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcBooleanResult::setFirstOperand(IfcBooleanOperand* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcBooleanOperand* IfcBooleanResult::SecondOperand() const { return (IfcBooleanOperand*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } +void IfcBooleanResult::setSecondOperand(IfcBooleanOperand* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcBooleanResult::is(Type::Enum v) const { return v == Type::IfcBooleanResult || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcBooleanResult::type() const { return Type::IfcBooleanResult; } Type::Enum IfcBooleanResult::Class() { return Type::IfcBooleanResult; } IfcBooleanResult::IfcBooleanResult(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBooleanResult)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBooleanResult::IfcBooleanResult(IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand v2_FirstOperand, IfcBooleanOperand v3_SecondOperand) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Operator,IfcBooleanOperator::ToString(v1_Operator)); e->setArgument(1,(v2_FirstOperand)); e->setArgument(2,(v3_SecondOperand)); entity = e; EntityBuffer::Add(this); } +IfcBooleanResult::IfcBooleanResult(IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand* v2_FirstOperand, IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Operator,IfcBooleanOperator::ToString(v1_Operator)); e->setArgument(1,(v2_FirstOperand)); e->setArgument(2,(v3_SecondOperand)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryCondition bool IfcBoundaryCondition::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcBoundaryCondition::Name() const { return *entity->getArgument(0); } -void IfcBoundaryCondition::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcBoundaryCondition::Name() const { return *entity->getArgument(0); } +void IfcBoundaryCondition::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcBoundaryCondition::is(Type::Enum v) const { return v == Type::IfcBoundaryCondition; } Type::Enum IfcBoundaryCondition::type() const { return Type::IfcBoundaryCondition; } Type::Enum IfcBoundaryCondition::Class() { return Type::IfcBoundaryCondition; } IfcBoundaryCondition::IfcBoundaryCondition(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcBoundaryCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< IfcLabel > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } +IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryCurve bool IfcBoundaryCurve::is(Type::Enum v) const { return v == Type::IfcBoundaryCurve || IfcCompositeCurveOnSurface::is(v); } @@ -6849,79 +8396,79 @@ IfcBoundaryCurve::IfcBoundaryCurve(IfcTemplatedEntityList< IfcCompositeCurveSegm // Function implementations for IfcBoundaryEdgeCondition bool IfcBoundaryEdgeCondition::hasTranslationalStiffnessByLengthX() const { return !entity->getArgument(1)->isNull(); } -IfcModulusOfTranslationalSubgradeReactionSelect IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { return *entity->getArgument(1); } -void IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(IfcModulusOfTranslationalSubgradeReactionSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcModulusOfTranslationalSubgradeReactionSelect* IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { return (IfcModulusOfTranslationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(IfcModulusOfTranslationalSubgradeReactionSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcBoundaryEdgeCondition::hasTranslationalStiffnessByLengthY() const { return !entity->getArgument(2)->isNull(); } -IfcModulusOfTranslationalSubgradeReactionSelect IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { return *entity->getArgument(2); } -void IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(IfcModulusOfTranslationalSubgradeReactionSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +IfcModulusOfTranslationalSubgradeReactionSelect* IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { return (IfcModulusOfTranslationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } +void IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(IfcModulusOfTranslationalSubgradeReactionSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcBoundaryEdgeCondition::hasTranslationalStiffnessByLengthZ() const { return !entity->getArgument(3)->isNull(); } -IfcModulusOfTranslationalSubgradeReactionSelect IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { return *entity->getArgument(3); } -void IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(IfcModulusOfTranslationalSubgradeReactionSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +IfcModulusOfTranslationalSubgradeReactionSelect* IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { return (IfcModulusOfTranslationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } +void IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(IfcModulusOfTranslationalSubgradeReactionSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthX() const { return !entity->getArgument(4)->isNull(); } -IfcModulusOfRotationalSubgradeReactionSelect IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { return *entity->getArgument(4); } -void IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(IfcModulusOfRotationalSubgradeReactionSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +IfcModulusOfRotationalSubgradeReactionSelect* IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { return (IfcModulusOfRotationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } +void IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(IfcModulusOfRotationalSubgradeReactionSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthY() const { return !entity->getArgument(5)->isNull(); } -IfcModulusOfRotationalSubgradeReactionSelect IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { return *entity->getArgument(5); } -void IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(IfcModulusOfRotationalSubgradeReactionSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +IfcModulusOfRotationalSubgradeReactionSelect* IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { return (IfcModulusOfRotationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(IfcModulusOfRotationalSubgradeReactionSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcBoundaryEdgeCondition::hasRotationalStiffnessByLengthZ() const { return !entity->getArgument(6)->isNull(); } -IfcModulusOfRotationalSubgradeReactionSelect IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { return *entity->getArgument(6); } -void IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(IfcModulusOfRotationalSubgradeReactionSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +IfcModulusOfRotationalSubgradeReactionSelect* IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { return (IfcModulusOfRotationalSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } +void IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(IfcModulusOfRotationalSubgradeReactionSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcBoundaryEdgeCondition::is(Type::Enum v) const { return v == Type::IfcBoundaryEdgeCondition || IfcBoundaryCondition::is(v); } Type::Enum IfcBoundaryEdgeCondition::type() const { return Type::IfcBoundaryEdgeCondition; } Type::Enum IfcBoundaryEdgeCondition::Class() { return Type::IfcBoundaryEdgeCondition; } IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcAbstractEntity* e) : IfcBoundaryCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundaryEdgeCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect > v2_TranslationalStiffnessByLengthX, boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect > v3_TranslationalStiffnessByLengthY, boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect > v4_TranslationalStiffnessByLengthZ, boost::optional< IfcModulusOfRotationalSubgradeReactionSelect > v5_RotationalStiffnessByLengthX, boost::optional< IfcModulusOfRotationalSubgradeReactionSelect > v6_RotationalStiffnessByLengthY, boost::optional< IfcModulusOfRotationalSubgradeReactionSelect > v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TranslationalStiffnessByLengthX) { e->setArgument(1,(*v2_TranslationalStiffnessByLengthX)); } else { e->setArgument(1); } if (v3_TranslationalStiffnessByLengthY) { e->setArgument(2,(*v3_TranslationalStiffnessByLengthY)); } else { e->setArgument(2); } if (v4_TranslationalStiffnessByLengthZ) { e->setArgument(3,(*v4_TranslationalStiffnessByLengthZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessByLengthX) { e->setArgument(4,(*v5_RotationalStiffnessByLengthX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessByLengthY) { e->setArgument(5,(*v6_RotationalStiffnessByLengthY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessByLengthZ) { e->setArgument(6,(*v7_RotationalStiffnessByLengthZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_TranslationalStiffnessByLengthX)); e->setArgument(2,(v3_TranslationalStiffnessByLengthY)); e->setArgument(3,(v4_TranslationalStiffnessByLengthZ)); e->setArgument(4,(v5_RotationalStiffnessByLengthX)); e->setArgument(5,(v6_RotationalStiffnessByLengthY)); e->setArgument(6,(v7_RotationalStiffnessByLengthZ)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryFaceCondition bool IfcBoundaryFaceCondition::hasTranslationalStiffnessByAreaX() const { return !entity->getArgument(1)->isNull(); } -IfcModulusOfSubgradeReactionSelect IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { return *entity->getArgument(1); } -void IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(IfcModulusOfSubgradeReactionSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcModulusOfSubgradeReactionSelect* IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { return (IfcModulusOfSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(IfcModulusOfSubgradeReactionSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcBoundaryFaceCondition::hasTranslationalStiffnessByAreaY() const { return !entity->getArgument(2)->isNull(); } -IfcModulusOfSubgradeReactionSelect IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { return *entity->getArgument(2); } -void IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(IfcModulusOfSubgradeReactionSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +IfcModulusOfSubgradeReactionSelect* IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { return (IfcModulusOfSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } +void IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(IfcModulusOfSubgradeReactionSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcBoundaryFaceCondition::hasTranslationalStiffnessByAreaZ() const { return !entity->getArgument(3)->isNull(); } -IfcModulusOfSubgradeReactionSelect IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { return *entity->getArgument(3); } -void IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(IfcModulusOfSubgradeReactionSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +IfcModulusOfSubgradeReactionSelect* IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { return (IfcModulusOfSubgradeReactionSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } +void IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(IfcModulusOfSubgradeReactionSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcBoundaryFaceCondition::is(Type::Enum v) const { return v == Type::IfcBoundaryFaceCondition || IfcBoundaryCondition::is(v); } Type::Enum IfcBoundaryFaceCondition::type() const { return Type::IfcBoundaryFaceCondition; } Type::Enum IfcBoundaryFaceCondition::Class() { return Type::IfcBoundaryFaceCondition; } IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcAbstractEntity* e) : IfcBoundaryCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundaryFaceCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcModulusOfSubgradeReactionSelect > v2_TranslationalStiffnessByAreaX, boost::optional< IfcModulusOfSubgradeReactionSelect > v3_TranslationalStiffnessByAreaY, boost::optional< IfcModulusOfSubgradeReactionSelect > v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TranslationalStiffnessByAreaX) { e->setArgument(1,(*v2_TranslationalStiffnessByAreaX)); } else { e->setArgument(1); } if (v3_TranslationalStiffnessByAreaY) { e->setArgument(2,(*v3_TranslationalStiffnessByAreaY)); } else { e->setArgument(2); } if (v4_TranslationalStiffnessByAreaZ) { e->setArgument(3,(*v4_TranslationalStiffnessByAreaZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_TranslationalStiffnessByAreaX)); e->setArgument(2,(v3_TranslationalStiffnessByAreaY)); e->setArgument(3,(v4_TranslationalStiffnessByAreaZ)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryNodeCondition bool IfcBoundaryNodeCondition::hasTranslationalStiffnessX() const { return !entity->getArgument(1)->isNull(); } -IfcTranslationalStiffnessSelect IfcBoundaryNodeCondition::TranslationalStiffnessX() const { return *entity->getArgument(1); } -void IfcBoundaryNodeCondition::setTranslationalStiffnessX(IfcTranslationalStiffnessSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcTranslationalStiffnessSelect* IfcBoundaryNodeCondition::TranslationalStiffnessX() const { return (IfcTranslationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcBoundaryNodeCondition::setTranslationalStiffnessX(IfcTranslationalStiffnessSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcBoundaryNodeCondition::hasTranslationalStiffnessY() const { return !entity->getArgument(2)->isNull(); } -IfcTranslationalStiffnessSelect IfcBoundaryNodeCondition::TranslationalStiffnessY() const { return *entity->getArgument(2); } -void IfcBoundaryNodeCondition::setTranslationalStiffnessY(IfcTranslationalStiffnessSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +IfcTranslationalStiffnessSelect* IfcBoundaryNodeCondition::TranslationalStiffnessY() const { return (IfcTranslationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } +void IfcBoundaryNodeCondition::setTranslationalStiffnessY(IfcTranslationalStiffnessSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcBoundaryNodeCondition::hasTranslationalStiffnessZ() const { return !entity->getArgument(3)->isNull(); } -IfcTranslationalStiffnessSelect IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { return *entity->getArgument(3); } -void IfcBoundaryNodeCondition::setTranslationalStiffnessZ(IfcTranslationalStiffnessSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +IfcTranslationalStiffnessSelect* IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { return (IfcTranslationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } +void IfcBoundaryNodeCondition::setTranslationalStiffnessZ(IfcTranslationalStiffnessSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcBoundaryNodeCondition::hasRotationalStiffnessX() const { return !entity->getArgument(4)->isNull(); } -IfcRotationalStiffnessSelect IfcBoundaryNodeCondition::RotationalStiffnessX() const { return *entity->getArgument(4); } -void IfcBoundaryNodeCondition::setRotationalStiffnessX(IfcRotationalStiffnessSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +IfcRotationalStiffnessSelect* IfcBoundaryNodeCondition::RotationalStiffnessX() const { return (IfcRotationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } +void IfcBoundaryNodeCondition::setRotationalStiffnessX(IfcRotationalStiffnessSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcBoundaryNodeCondition::hasRotationalStiffnessY() const { return !entity->getArgument(5)->isNull(); } -IfcRotationalStiffnessSelect IfcBoundaryNodeCondition::RotationalStiffnessY() const { return *entity->getArgument(5); } -void IfcBoundaryNodeCondition::setRotationalStiffnessY(IfcRotationalStiffnessSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +IfcRotationalStiffnessSelect* IfcBoundaryNodeCondition::RotationalStiffnessY() const { return (IfcRotationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcBoundaryNodeCondition::setRotationalStiffnessY(IfcRotationalStiffnessSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcBoundaryNodeCondition::hasRotationalStiffnessZ() const { return !entity->getArgument(6)->isNull(); } -IfcRotationalStiffnessSelect IfcBoundaryNodeCondition::RotationalStiffnessZ() const { return *entity->getArgument(6); } -void IfcBoundaryNodeCondition::setRotationalStiffnessZ(IfcRotationalStiffnessSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +IfcRotationalStiffnessSelect* IfcBoundaryNodeCondition::RotationalStiffnessZ() const { return (IfcRotationalStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } +void IfcBoundaryNodeCondition::setRotationalStiffnessZ(IfcRotationalStiffnessSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcBoundaryNodeCondition::is(Type::Enum v) const { return v == Type::IfcBoundaryNodeCondition || IfcBoundaryCondition::is(v); } Type::Enum IfcBoundaryNodeCondition::type() const { return Type::IfcBoundaryNodeCondition; } Type::Enum IfcBoundaryNodeCondition::Class() { return Type::IfcBoundaryNodeCondition; } IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcAbstractEntity* e) : IfcBoundaryCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundaryNodeCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcTranslationalStiffnessSelect > v2_TranslationalStiffnessX, boost::optional< IfcTranslationalStiffnessSelect > v3_TranslationalStiffnessY, boost::optional< IfcTranslationalStiffnessSelect > v4_TranslationalStiffnessZ, boost::optional< IfcRotationalStiffnessSelect > v5_RotationalStiffnessX, boost::optional< IfcRotationalStiffnessSelect > v6_RotationalStiffnessY, boost::optional< IfcRotationalStiffnessSelect > v7_RotationalStiffnessZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TranslationalStiffnessX) { e->setArgument(1,(*v2_TranslationalStiffnessX)); } else { e->setArgument(1); } if (v3_TranslationalStiffnessY) { e->setArgument(2,(*v3_TranslationalStiffnessY)); } else { e->setArgument(2); } if (v4_TranslationalStiffnessZ) { e->setArgument(3,(*v4_TranslationalStiffnessZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessX) { e->setArgument(4,(*v5_RotationalStiffnessX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessY) { e->setArgument(5,(*v6_RotationalStiffnessY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessZ) { e->setArgument(6,(*v7_RotationalStiffnessZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_TranslationalStiffnessX)); e->setArgument(2,(v3_TranslationalStiffnessY)); e->setArgument(3,(v4_TranslationalStiffnessZ)); e->setArgument(4,(v5_RotationalStiffnessX)); e->setArgument(5,(v6_RotationalStiffnessY)); e->setArgument(6,(v7_RotationalStiffnessZ)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundaryNodeConditionWarping bool IfcBoundaryNodeConditionWarping::hasWarpingStiffness() const { return !entity->getArgument(7)->isNull(); } -IfcWarpingStiffnessSelect IfcBoundaryNodeConditionWarping::WarpingStiffness() const { return *entity->getArgument(7); } -void IfcBoundaryNodeConditionWarping::setWarpingStiffness(IfcWarpingStiffnessSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +IfcWarpingStiffnessSelect* IfcBoundaryNodeConditionWarping::WarpingStiffness() const { return (IfcWarpingStiffnessSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } +void IfcBoundaryNodeConditionWarping::setWarpingStiffness(IfcWarpingStiffnessSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcBoundaryNodeConditionWarping::is(Type::Enum v) const { return v == Type::IfcBoundaryNodeConditionWarping || IfcBoundaryNodeCondition::is(v); } Type::Enum IfcBoundaryNodeConditionWarping::type() const { return Type::IfcBoundaryNodeConditionWarping; } Type::Enum IfcBoundaryNodeConditionWarping::Class() { return Type::IfcBoundaryNodeConditionWarping; } IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(IfcAbstractEntity* e) : IfcBoundaryNodeCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundaryNodeConditionWarping)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< IfcLabel > v1_Name, boost::optional< IfcTranslationalStiffnessSelect > v2_TranslationalStiffnessX, boost::optional< IfcTranslationalStiffnessSelect > v3_TranslationalStiffnessY, boost::optional< IfcTranslationalStiffnessSelect > v4_TranslationalStiffnessZ, boost::optional< IfcRotationalStiffnessSelect > v5_RotationalStiffnessX, boost::optional< IfcRotationalStiffnessSelect > v6_RotationalStiffnessY, boost::optional< IfcRotationalStiffnessSelect > v7_RotationalStiffnessZ, boost::optional< IfcWarpingStiffnessSelect > v8_WarpingStiffness) : IfcBoundaryNodeCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TranslationalStiffnessX) { e->setArgument(1,(*v2_TranslationalStiffnessX)); } else { e->setArgument(1); } if (v3_TranslationalStiffnessY) { e->setArgument(2,(*v3_TranslationalStiffnessY)); } else { e->setArgument(2); } if (v4_TranslationalStiffnessZ) { e->setArgument(3,(*v4_TranslationalStiffnessZ)); } else { e->setArgument(3); } if (v5_RotationalStiffnessX) { e->setArgument(4,(*v5_RotationalStiffnessX)); } else { e->setArgument(4); } if (v6_RotationalStiffnessY) { e->setArgument(5,(*v6_RotationalStiffnessY)); } else { e->setArgument(5); } if (v7_RotationalStiffnessZ) { e->setArgument(6,(*v7_RotationalStiffnessZ)); } else { e->setArgument(6); } if (v8_WarpingStiffness) { e->setArgument(7,(*v8_WarpingStiffness)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ, IfcWarpingStiffnessSelect* v8_WarpingStiffness) : IfcBoundaryNodeCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_TranslationalStiffnessX)); e->setArgument(2,(v3_TranslationalStiffnessY)); e->setArgument(3,(v4_TranslationalStiffnessZ)); e->setArgument(4,(v5_RotationalStiffnessX)); e->setArgument(5,(v6_RotationalStiffnessY)); e->setArgument(6,(v7_RotationalStiffnessZ)); e->setArgument(7,(v8_WarpingStiffness)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoundedCurve bool IfcBoundedCurve::is(Type::Enum v) const { return v == Type::IfcBoundedCurve || IfcCurve::is(v); } @@ -6940,17 +8487,17 @@ IfcBoundedSurface::IfcBoundedSurface() : IfcSurface((IfcAbstractEntity*)0) { Ifc // Function implementations for IfcBoundingBox IfcCartesianPoint* IfcBoundingBox::Corner() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcBoundingBox::setCorner(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcPositiveLengthMeasure IfcBoundingBox::XDim() const { return *entity->getArgument(1); } -void IfcBoundingBox::setXDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveLengthMeasure IfcBoundingBox::YDim() const { return *entity->getArgument(2); } -void IfcBoundingBox::setYDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcPositiveLengthMeasure IfcBoundingBox::ZDim() const { return *entity->getArgument(3); } -void IfcBoundingBox::setZDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcBoundingBox::XDim() const { return *entity->getArgument(1); } +void IfcBoundingBox::setXDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcBoundingBox::YDim() const { return *entity->getArgument(2); } +void IfcBoundingBox::setYDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcBoundingBox::ZDim() const { return *entity->getArgument(3); } +void IfcBoundingBox::setZDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcBoundingBox::is(Type::Enum v) const { return v == Type::IfcBoundingBox || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcBoundingBox::type() const { return Type::IfcBoundingBox; } Type::Enum IfcBoundingBox::Class() { return Type::IfcBoundingBox; } IfcBoundingBox::IfcBoundingBox(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBoundingBox)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBoundingBox::IfcBoundingBox(IfcCartesianPoint* v1_Corner, IfcPositiveLengthMeasure v2_XDim, IfcPositiveLengthMeasure v3_YDim, IfcPositiveLengthMeasure v4_ZDim) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Corner)); e->setArgument(1,(v2_XDim)); e->setArgument(2,(v3_YDim)); e->setArgument(3,(v4_ZDim)); entity = e; EntityBuffer::Add(this); } +IfcBoundingBox::IfcBoundingBox(IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Corner)); e->setArgument(1,(v2_XDim)); e->setArgument(2,(v3_YDim)); e->setArgument(3,(v4_ZDim)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBoxedHalfSpace IfcBoundingBox* IfcBoxedHalfSpace::Enclosure() const { return (IfcBoundingBox*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } @@ -6963,11 +8510,11 @@ IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcSurface* v1_BaseSurface, bool v2_Agreeme // Function implementations for IfcBuilding bool IfcBuilding::hasElevationOfRefHeight() const { return !entity->getArgument(9)->isNull(); } -IfcLengthMeasure IfcBuilding::ElevationOfRefHeight() const { return *entity->getArgument(9); } -void IfcBuilding::setElevationOfRefHeight(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcBuilding::ElevationOfRefHeight() const { return *entity->getArgument(9); } +void IfcBuilding::setElevationOfRefHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcBuilding::hasElevationOfTerrain() const { return !entity->getArgument(10)->isNull(); } -IfcLengthMeasure IfcBuilding::ElevationOfTerrain() const { return *entity->getArgument(10); } -void IfcBuilding::setElevationOfTerrain(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcBuilding::ElevationOfTerrain() const { return *entity->getArgument(10); } +void IfcBuilding::setElevationOfTerrain(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcBuilding::hasBuildingAddress() const { return !entity->getArgument(11)->isNull(); } IfcPostalAddress* IfcBuilding::BuildingAddress() const { return (IfcPostalAddress*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(11))); } void IfcBuilding::setBuildingAddress(IfcPostalAddress* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } @@ -6975,7 +8522,7 @@ bool IfcBuilding::is(Type::Enum v) const { return v == Type::IfcBuilding || IfcS Type::Enum IfcBuilding::type() const { return Type::IfcBuilding; } Type::Enum IfcBuilding::Class() { return Type::IfcBuilding; } IfcBuilding::IfcBuilding(IfcAbstractEntity* e) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuilding)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuilding::IfcBuilding(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcLengthMeasure > v10_ElevationOfRefHeight, boost::optional< IfcLengthMeasure > v11_ElevationOfTerrain, IfcPostalAddress* v12_BuildingAddress) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } if (v10_ElevationOfRefHeight) { e->setArgument(9,(*v10_ElevationOfRefHeight)); } else { e->setArgument(9); } if (v11_ElevationOfTerrain) { e->setArgument(10,(*v11_ElevationOfTerrain)); } else { e->setArgument(10); } e->setArgument(11,(v12_BuildingAddress)); entity = e; EntityBuffer::Add(this); } +IfcBuilding::IfcBuilding(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, IfcPostalAddress* v12_BuildingAddress) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } if (v10_ElevationOfRefHeight) { e->setArgument(9,(*v10_ElevationOfRefHeight)); } else { e->setArgument(9); } if (v11_ElevationOfTerrain) { e->setArgument(10,(*v11_ElevationOfTerrain)); } else { e->setArgument(10); } e->setArgument(11,(v12_BuildingAddress)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElement IfcRelCoversBldgElements::list::ptr IfcBuildingElement::HasCoverings() const { return entity->getInverse(Type::IfcRelCoversBldgElements)->as(); } @@ -6983,7 +8530,7 @@ bool IfcBuildingElement::is(Type::Enum v) const { return v == Type::IfcBuildingE Type::Enum IfcBuildingElement::type() const { return Type::IfcBuildingElement; } Type::Enum IfcBuildingElement::Class() { return Type::IfcBuildingElement; } IfcBuildingElement::IfcBuildingElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElement::IfcBuildingElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcBuildingElement::IfcBuildingElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElementPart bool IfcBuildingElementPart::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -6993,7 +8540,7 @@ bool IfcBuildingElementPart::is(Type::Enum v) const { return v == Type::IfcBuild Type::Enum IfcBuildingElementPart::type() const { return Type::IfcBuildingElementPart; } Type::Enum IfcBuildingElementPart::Class() { return Type::IfcBuildingElementPart; } IfcBuildingElementPart::IfcBuildingElementPart(IfcAbstractEntity* e) : IfcElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementPart)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementPart::IfcBuildingElementPart(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum > v9_PredefinedType) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBuildingElementPartTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum > v9_PredefinedType) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBuildingElementPartTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElementPartType IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum IfcBuildingElementPartType::PredefinedType() const { return IfcBuildingElementPartTypeEnum::FromString(*entity->getArgument(9)); } @@ -7002,7 +8549,7 @@ bool IfcBuildingElementPartType::is(Type::Enum v) const { return v == Type::IfcB Type::Enum IfcBuildingElementPartType::type() const { return Type::IfcBuildingElementPartType; } Type::Enum IfcBuildingElementPartType::Class() { return Type::IfcBuildingElementPartType; } IfcBuildingElementPartType::IfcBuildingElementPartType(IfcAbstractEntity* e) : IfcElementComponentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementPartType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementPartType::IfcBuildingElementPartType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum v10_PredefinedType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBuildingElementPartTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum v10_PredefinedType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBuildingElementPartTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElementProxy bool IfcBuildingElementProxy::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -7012,7 +8559,7 @@ bool IfcBuildingElementProxy::is(Type::Enum v) const { return v == Type::IfcBuil Type::Enum IfcBuildingElementProxy::type() const { return Type::IfcBuildingElementProxy; } Type::Enum IfcBuildingElementProxy::Class() { return Type::IfcBuildingElementProxy; } IfcBuildingElementProxy::IfcBuildingElementProxy(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementProxy)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementProxy::IfcBuildingElementProxy(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBuildingElementProxyTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBuildingElementProxyTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElementProxyType IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum IfcBuildingElementProxyType::PredefinedType() const { return IfcBuildingElementProxyTypeEnum::FromString(*entity->getArgument(9)); } @@ -7021,24 +8568,24 @@ bool IfcBuildingElementProxyType::is(Type::Enum v) const { return v == Type::Ifc Type::Enum IfcBuildingElementProxyType::type() const { return Type::IfcBuildingElementProxyType; } Type::Enum IfcBuildingElementProxyType::Class() { return Type::IfcBuildingElementProxyType; } IfcBuildingElementProxyType::IfcBuildingElementProxyType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementProxyType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementProxyType::IfcBuildingElementProxyType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBuildingElementProxyTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBuildingElementProxyTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElementType bool IfcBuildingElementType::is(Type::Enum v) const { return v == Type::IfcBuildingElementType || IfcElementType::is(v); } Type::Enum IfcBuildingElementType::type() const { return Type::IfcBuildingElementType; } Type::Enum IfcBuildingElementType::Class() { return Type::IfcBuildingElementType; } IfcBuildingElementType::IfcBuildingElementType(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingElementType::IfcBuildingElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcBuildingElementType::IfcBuildingElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingStorey bool IfcBuildingStorey::hasElevation() const { return !entity->getArgument(9)->isNull(); } -IfcLengthMeasure IfcBuildingStorey::Elevation() const { return *entity->getArgument(9); } -void IfcBuildingStorey::setElevation(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcBuildingStorey::Elevation() const { return *entity->getArgument(9); } +void IfcBuildingStorey::setElevation(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcBuildingStorey::is(Type::Enum v) const { return v == Type::IfcBuildingStorey || IfcSpatialStructureElement::is(v); } Type::Enum IfcBuildingStorey::type() const { return Type::IfcBuildingStorey; } Type::Enum IfcBuildingStorey::Class() { return Type::IfcBuildingStorey; } IfcBuildingStorey::IfcBuildingStorey(IfcAbstractEntity* e) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingStorey)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingStorey::IfcBuildingStorey(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcLengthMeasure > v10_Elevation) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } if (v10_Elevation) { e->setArgument(9,(*v10_Elevation)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } if (v10_Elevation) { e->setArgument(9,(*v10_Elevation)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingSystem bool IfcBuildingSystem::hasPredefinedType() const { return !entity->getArgument(5)->isNull(); } @@ -7048,7 +8595,7 @@ bool IfcBuildingSystem::is(Type::Enum v) const { return v == Type::IfcBuildingSy Type::Enum IfcBuildingSystem::type() const { return Type::IfcBuildingSystem; } Type::Enum IfcBuildingSystem::Class() { return Type::IfcBuildingSystem; } IfcBuildingSystem::IfcBuildingSystem(IfcAbstractEntity* e) : IfcSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingSystem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingSystem::IfcBuildingSystem(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum > v6_PredefinedType) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_PredefinedType) { e->setArgument(5,*v6_PredefinedType,IfcBuildingSystemTypeEnum::ToString(*v6_PredefinedType)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum > v6_PredefinedType) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_PredefinedType) { e->setArgument(5,*v6_PredefinedType,IfcBuildingSystemTypeEnum::ToString(*v6_PredefinedType)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBurner bool IfcBurner::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -7058,7 +8605,7 @@ bool IfcBurner::is(Type::Enum v) const { return v == Type::IfcBurner || IfcEnerg Type::Enum IfcBurner::type() const { return Type::IfcBurner; } Type::Enum IfcBurner::Class() { return Type::IfcBurner; } IfcBurner::IfcBurner(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBurner)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBurner::IfcBurner(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBurnerTypeEnum::IfcBurnerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBurnerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcBurner::IfcBurner(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBurnerTypeEnum::IfcBurnerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcBurnerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBurnerType IfcBurnerTypeEnum::IfcBurnerTypeEnum IfcBurnerType::PredefinedType() const { return IfcBurnerTypeEnum::FromString(*entity->getArgument(9)); } @@ -7067,25 +8614,25 @@ bool IfcBurnerType::is(Type::Enum v) const { return v == Type::IfcBurnerType || Type::Enum IfcBurnerType::type() const { return Type::IfcBurnerType; } Type::Enum IfcBurnerType::Class() { return Type::IfcBurnerType; } IfcBurnerType::IfcBurnerType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBurnerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBurnerType::IfcBurnerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBurnerTypeEnum::IfcBurnerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBurnerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcBurnerType::IfcBurnerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBurnerTypeEnum::IfcBurnerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcBurnerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCShapeProfileDef -IfcPositiveLengthMeasure IfcCShapeProfileDef::Depth() const { return *entity->getArgument(3); } -void IfcCShapeProfileDef::setDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcCShapeProfileDef::Width() const { return *entity->getArgument(4); } -void IfcCShapeProfileDef::setWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcCShapeProfileDef::WallThickness() const { return *entity->getArgument(5); } -void IfcCShapeProfileDef::setWallThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcCShapeProfileDef::Girth() const { return *entity->getArgument(6); } -void IfcCShapeProfileDef::setGirth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcCShapeProfileDef::Depth() const { return *entity->getArgument(3); } +void IfcCShapeProfileDef::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcCShapeProfileDef::Width() const { return *entity->getArgument(4); } +void IfcCShapeProfileDef::setWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcCShapeProfileDef::WallThickness() const { return *entity->getArgument(5); } +void IfcCShapeProfileDef::setWallThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcCShapeProfileDef::Girth() const { return *entity->getArgument(6); } +void IfcCShapeProfileDef::setGirth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcCShapeProfileDef::hasInternalFilletRadius() const { return !entity->getArgument(7)->isNull(); } -IfcNonNegativeLengthMeasure IfcCShapeProfileDef::InternalFilletRadius() const { return *entity->getArgument(7); } -void IfcCShapeProfileDef::setInternalFilletRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcCShapeProfileDef::InternalFilletRadius() const { return *entity->getArgument(7); } +void IfcCShapeProfileDef::setInternalFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcCShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcCShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcCShapeProfileDef::type() const { return Type::IfcCShapeProfileDef; } Type::Enum IfcCShapeProfileDef::Class() { return Type::IfcCShapeProfileDef; } IfcCShapeProfileDef::IfcCShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCShapeProfileDef::IfcCShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_Width, IfcPositiveLengthMeasure v6_WallThickness, IfcPositiveLengthMeasure v7_Girth, boost::optional< IfcNonNegativeLengthMeasure > v8_InternalFilletRadius) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_Width)); e->setArgument(5,(v6_WallThickness)); e->setArgument(6,(v7_Girth)); if (v8_InternalFilletRadius) { e->setArgument(7,(*v8_InternalFilletRadius)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcCShapeProfileDef::IfcCShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_Width)); e->setArgument(5,(v6_WallThickness)); e->setArgument(6,(v7_Girth)); if (v8_InternalFilletRadius) { e->setArgument(7,(*v8_InternalFilletRadius)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableCarrierFitting bool IfcCableCarrierFitting::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -7095,7 +8642,7 @@ bool IfcCableCarrierFitting::is(Type::Enum v) const { return v == Type::IfcCable Type::Enum IfcCableCarrierFitting::type() const { return Type::IfcCableCarrierFitting; } Type::Enum IfcCableCarrierFitting::Class() { return Type::IfcCableCarrierFitting; } IfcCableCarrierFitting::IfcCableCarrierFitting(IfcAbstractEntity* e) : IfcFlowFitting((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableCarrierFitting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableCarrierFitting::IfcCableCarrierFitting(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCableCarrierFittingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCableCarrierFitting::IfcCableCarrierFitting(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCableCarrierFittingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableCarrierFittingType IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum IfcCableCarrierFittingType::PredefinedType() const { return IfcCableCarrierFittingTypeEnum::FromString(*entity->getArgument(9)); } @@ -7104,7 +8651,7 @@ bool IfcCableCarrierFittingType::is(Type::Enum v) const { return v == Type::IfcC Type::Enum IfcCableCarrierFittingType::type() const { return Type::IfcCableCarrierFittingType; } Type::Enum IfcCableCarrierFittingType::Class() { return Type::IfcCableCarrierFittingType; } IfcCableCarrierFittingType::IfcCableCarrierFittingType(IfcAbstractEntity* e) : IfcFlowFittingType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableCarrierFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableCarrierFittingType::IfcCableCarrierFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableCarrierFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableCarrierFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableCarrierSegment bool IfcCableCarrierSegment::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -7114,7 +8661,7 @@ bool IfcCableCarrierSegment::is(Type::Enum v) const { return v == Type::IfcCable Type::Enum IfcCableCarrierSegment::type() const { return Type::IfcCableCarrierSegment; } Type::Enum IfcCableCarrierSegment::Class() { return Type::IfcCableCarrierSegment; } IfcCableCarrierSegment::IfcCableCarrierSegment(IfcAbstractEntity* e) : IfcFlowSegment((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableCarrierSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableCarrierSegment::IfcCableCarrierSegment(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum > v9_PredefinedType) : IfcFlowSegment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCableCarrierSegmentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCableCarrierSegment::IfcCableCarrierSegment(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum > v9_PredefinedType) : IfcFlowSegment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCableCarrierSegmentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableCarrierSegmentType IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum IfcCableCarrierSegmentType::PredefinedType() const { return IfcCableCarrierSegmentTypeEnum::FromString(*entity->getArgument(9)); } @@ -7123,7 +8670,7 @@ bool IfcCableCarrierSegmentType::is(Type::Enum v) const { return v == Type::IfcC Type::Enum IfcCableCarrierSegmentType::type() const { return Type::IfcCableCarrierSegmentType; } Type::Enum IfcCableCarrierSegmentType::Class() { return Type::IfcCableCarrierSegmentType; } IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(IfcAbstractEntity* e) : IfcFlowSegmentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableCarrierSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableCarrierSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableCarrierSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableFitting bool IfcCableFitting::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -7133,7 +8680,7 @@ bool IfcCableFitting::is(Type::Enum v) const { return v == Type::IfcCableFitting Type::Enum IfcCableFitting::type() const { return Type::IfcCableFitting; } Type::Enum IfcCableFitting::Class() { return Type::IfcCableFitting; } IfcCableFitting::IfcCableFitting(IfcAbstractEntity* e) : IfcFlowFitting((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableFitting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableFitting::IfcCableFitting(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCableFittingTypeEnum::IfcCableFittingTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCableFittingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCableFitting::IfcCableFitting(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCableFittingTypeEnum::IfcCableFittingTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCableFittingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableFittingType IfcCableFittingTypeEnum::IfcCableFittingTypeEnum IfcCableFittingType::PredefinedType() const { return IfcCableFittingTypeEnum::FromString(*entity->getArgument(9)); } @@ -7142,7 +8689,7 @@ bool IfcCableFittingType::is(Type::Enum v) const { return v == Type::IfcCableFit Type::Enum IfcCableFittingType::type() const { return Type::IfcCableFittingType; } Type::Enum IfcCableFittingType::Class() { return Type::IfcCableFittingType; } IfcCableFittingType::IfcCableFittingType(IfcAbstractEntity* e) : IfcFlowFittingType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableFittingType::IfcCableFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableFittingTypeEnum::IfcCableFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableFittingTypeEnum::IfcCableFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableSegment bool IfcCableSegment::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -7152,7 +8699,7 @@ bool IfcCableSegment::is(Type::Enum v) const { return v == Type::IfcCableSegment Type::Enum IfcCableSegment::type() const { return Type::IfcCableSegment; } Type::Enum IfcCableSegment::Class() { return Type::IfcCableSegment; } IfcCableSegment::IfcCableSegment(IfcAbstractEntity* e) : IfcFlowSegment((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableSegment::IfcCableSegment(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum > v9_PredefinedType) : IfcFlowSegment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCableSegmentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCableSegment::IfcCableSegment(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum > v9_PredefinedType) : IfcFlowSegment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCableSegmentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCableSegmentType IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum IfcCableSegmentType::PredefinedType() const { return IfcCableSegmentTypeEnum::FromString(*entity->getArgument(9)); } @@ -7161,16 +8708,16 @@ bool IfcCableSegmentType::is(Type::Enum v) const { return v == Type::IfcCableSeg Type::Enum IfcCableSegmentType::type() const { return Type::IfcCableSegmentType; } Type::Enum IfcCableSegmentType::Class() { return Type::IfcCableSegmentType; } IfcCableSegmentType::IfcCableSegmentType(IfcAbstractEntity* e) : IfcFlowSegmentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCableSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCableSegmentType::IfcCableSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCableSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCartesianPoint -std::vector< IfcLengthMeasure > /*[1:3]*/ IfcCartesianPoint::Coordinates() const { return *entity->getArgument(0); } -void IfcCartesianPoint::setCoordinates(std::vector< IfcLengthMeasure > /*[1:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::vector< double > /*[1:3]*/ IfcCartesianPoint::Coordinates() const { return *entity->getArgument(0); } +void IfcCartesianPoint::setCoordinates(std::vector< double > /*[1:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } 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; } IfcCartesianPoint::IfcCartesianPoint(IfcAbstractEntity* e) : IfcPoint((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCartesianPoint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCartesianPoint::IfcCartesianPoint(std::vector< IfcLengthMeasure > /*[1:3]*/ v1_Coordinates) : IfcPoint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); entity = e; EntityBuffer::Add(this); } +IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCartesianPointList bool IfcCartesianPointList::is(Type::Enum v) const { return v == Type::IfcCartesianPointList || IfcGeometricRepresentationItem::is(v); } @@ -7245,13 +8792,13 @@ IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperat IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(IfcDirection* v1_Axis1, IfcDirection* v2_Axis2, IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Axis1)); e->setArgument(1,(v2_Axis2)); e->setArgument(2,(v3_LocalOrigin)); if (v4_Scale) { e->setArgument(3,(*v4_Scale)); } else { e->setArgument(3); } e->setArgument(4,(v5_Axis3)); if (v6_Scale2) { e->setArgument(5,(*v6_Scale2)); } else { e->setArgument(5); } if (v7_Scale3) { e->setArgument(6,(*v7_Scale3)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCenterLineProfileDef -IfcPositiveLengthMeasure IfcCenterLineProfileDef::Thickness() const { return *entity->getArgument(3); } -void IfcCenterLineProfileDef::setThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcCenterLineProfileDef::Thickness() const { return *entity->getArgument(3); } +void IfcCenterLineProfileDef::setThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcCenterLineProfileDef::is(Type::Enum v) const { return v == Type::IfcCenterLineProfileDef || IfcArbitraryOpenProfileDef::is(v); } Type::Enum IfcCenterLineProfileDef::type() const { return Type::IfcCenterLineProfileDef; } Type::Enum IfcCenterLineProfileDef::Class() { return Type::IfcCenterLineProfileDef; } IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcAbstractEntity* e) : IfcArbitraryOpenProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCenterLineProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcBoundedCurve* v3_Curve, IfcPositiveLengthMeasure v4_Thickness) : IfcArbitraryOpenProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Curve)); e->setArgument(3,(v4_Thickness)); entity = e; EntityBuffer::Add(this); } +IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Curve)); e->setArgument(3,(v4_Thickness)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcChiller bool IfcChiller::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -7261,7 +8808,7 @@ bool IfcChiller::is(Type::Enum v) const { return v == Type::IfcChiller || IfcEne Type::Enum IfcChiller::type() const { return Type::IfcChiller; } Type::Enum IfcChiller::Class() { return Type::IfcChiller; } IfcChiller::IfcChiller(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcChiller)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcChiller::IfcChiller(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcChillerTypeEnum::IfcChillerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcChillerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcChiller::IfcChiller(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcChillerTypeEnum::IfcChillerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcChillerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcChillerType IfcChillerTypeEnum::IfcChillerTypeEnum IfcChillerType::PredefinedType() const { return IfcChillerTypeEnum::FromString(*entity->getArgument(9)); } @@ -7270,7 +8817,7 @@ bool IfcChillerType::is(Type::Enum v) const { return v == Type::IfcChillerType | Type::Enum IfcChillerType::type() const { return Type::IfcChillerType; } Type::Enum IfcChillerType::Class() { return Type::IfcChillerType; } IfcChillerType::IfcChillerType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcChillerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcChillerType::IfcChillerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcChillerTypeEnum::IfcChillerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcChillerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcChillerType::IfcChillerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcChillerTypeEnum::IfcChillerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcChillerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcChimney bool IfcChimney::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -7280,7 +8827,7 @@ bool IfcChimney::is(Type::Enum v) const { return v == Type::IfcChimney || IfcBui Type::Enum IfcChimney::type() const { return Type::IfcChimney; } Type::Enum IfcChimney::Class() { return Type::IfcChimney; } IfcChimney::IfcChimney(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcChimney)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcChimney::IfcChimney(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcChimneyTypeEnum::IfcChimneyTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcChimneyTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcChimney::IfcChimney(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcChimneyTypeEnum::IfcChimneyTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcChimneyTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcChimneyType IfcChimneyTypeEnum::IfcChimneyTypeEnum IfcChimneyType::PredefinedType() const { return IfcChimneyTypeEnum::FromString(*entity->getArgument(9)); } @@ -7289,95 +8836,95 @@ bool IfcChimneyType::is(Type::Enum v) const { return v == Type::IfcChimneyType | Type::Enum IfcChimneyType::type() const { return Type::IfcChimneyType; } Type::Enum IfcChimneyType::Class() { return Type::IfcChimneyType; } IfcChimneyType::IfcChimneyType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcChimneyType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcChimneyType::IfcChimneyType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcChimneyTypeEnum::IfcChimneyTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcChimneyTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcChimneyType::IfcChimneyType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcChimneyTypeEnum::IfcChimneyTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcChimneyTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCircle -IfcPositiveLengthMeasure IfcCircle::Radius() const { return *entity->getArgument(1); } -void IfcCircle::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcCircle::Radius() const { return *entity->getArgument(1); } +void IfcCircle::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcCircle::is(Type::Enum v) const { return v == Type::IfcCircle || IfcConic::is(v); } Type::Enum IfcCircle::type() const { return Type::IfcCircle; } Type::Enum IfcCircle::Class() { return Type::IfcCircle; } IfcCircle::IfcCircle(IfcAbstractEntity* e) : IfcConic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCircle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCircle::IfcCircle(IfcAxis2Placement v1_Position, IfcPositiveLengthMeasure v2_Radius) : IfcConic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Radius)); entity = e; EntityBuffer::Add(this); } +IfcCircle::IfcCircle(IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Radius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCircleHollowProfileDef -IfcPositiveLengthMeasure IfcCircleHollowProfileDef::WallThickness() const { return *entity->getArgument(4); } -void IfcCircleHollowProfileDef::setWallThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcCircleHollowProfileDef::WallThickness() const { return *entity->getArgument(4); } +void IfcCircleHollowProfileDef::setWallThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcCircleHollowProfileDef::is(Type::Enum v) const { return v == Type::IfcCircleHollowProfileDef || IfcCircleProfileDef::is(v); } Type::Enum IfcCircleHollowProfileDef::type() const { return Type::IfcCircleHollowProfileDef; } Type::Enum IfcCircleHollowProfileDef::Class() { return Type::IfcCircleHollowProfileDef; } IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcAbstractEntity* e) : IfcCircleProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCircleHollowProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Radius, IfcPositiveLengthMeasure v5_WallThickness) : IfcCircleProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Radius)); e->setArgument(4,(v5_WallThickness)); entity = e; EntityBuffer::Add(this); } +IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Radius)); e->setArgument(4,(v5_WallThickness)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCircleProfileDef -IfcPositiveLengthMeasure IfcCircleProfileDef::Radius() const { return *entity->getArgument(3); } -void IfcCircleProfileDef::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcCircleProfileDef::Radius() const { return *entity->getArgument(3); } +void IfcCircleProfileDef::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcCircleProfileDef::is(Type::Enum v) const { return v == Type::IfcCircleProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcCircleProfileDef::type() const { return Type::IfcCircleProfileDef; } Type::Enum IfcCircleProfileDef::Class() { return Type::IfcCircleProfileDef; } IfcCircleProfileDef::IfcCircleProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCircleProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCircleProfileDef::IfcCircleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Radius) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Radius)); entity = e; EntityBuffer::Add(this); } +IfcCircleProfileDef::IfcCircleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Radius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCivilElement bool IfcCivilElement::is(Type::Enum v) const { return v == Type::IfcCivilElement || IfcElement::is(v); } Type::Enum IfcCivilElement::type() const { return Type::IfcCivilElement; } Type::Enum IfcCivilElement::Class() { return Type::IfcCivilElement; } IfcCivilElement::IfcCivilElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCivilElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCivilElement::IfcCivilElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCivilElementType bool IfcCivilElementType::is(Type::Enum v) const { return v == Type::IfcCivilElementType || IfcElementType::is(v); } Type::Enum IfcCivilElementType::type() const { return Type::IfcCivilElementType; } Type::Enum IfcCivilElementType::Class() { return Type::IfcCivilElementType; } IfcCivilElementType::IfcCivilElementType(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCivilElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCivilElementType::IfcCivilElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClassification bool IfcClassification::hasSource() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcClassification::Source() const { return *entity->getArgument(0); } -void IfcClassification::setSource(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcClassification::Source() const { return *entity->getArgument(0); } +void IfcClassification::setSource(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcClassification::hasEdition() const { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcClassification::Edition() const { return *entity->getArgument(1); } -void IfcClassification::setEdition(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcClassification::Edition() const { return *entity->getArgument(1); } +void IfcClassification::setEdition(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcClassification::hasEditionDate() const { return !entity->getArgument(2)->isNull(); } -IfcDate IfcClassification::EditionDate() const { return *entity->getArgument(2); } -void IfcClassification::setEditionDate(IfcDate v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcLabel IfcClassification::Name() const { return *entity->getArgument(3); } -void IfcClassification::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcClassification::EditionDate() const { return *entity->getArgument(2); } +void IfcClassification::setEditionDate(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcClassification::Name() const { return *entity->getArgument(3); } +void IfcClassification::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcClassification::hasDescription() const { return !entity->getArgument(4)->isNull(); } -IfcText IfcClassification::Description() const { return *entity->getArgument(4); } -void IfcClassification::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcClassification::Description() const { return *entity->getArgument(4); } +void IfcClassification::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcClassification::hasLocation() const { return !entity->getArgument(5)->isNull(); } -IfcURIReference IfcClassification::Location() const { return *entity->getArgument(5); } -void IfcClassification::setLocation(IfcURIReference v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcClassification::Location() const { return *entity->getArgument(5); } +void IfcClassification::setLocation(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcClassification::hasReferenceTokens() const { return !entity->getArgument(6)->isNull(); } -std::vector< IfcIdentifier > /*[1:?]*/ IfcClassification::ReferenceTokens() const { return *entity->getArgument(6); } -void IfcClassification::setReferenceTokens(std::vector< IfcIdentifier > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::vector< std::string > /*[1:?]*/ IfcClassification::ReferenceTokens() const { return *entity->getArgument(6); } +void IfcClassification::setReferenceTokens(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } IfcRelAssociatesClassification::list::ptr IfcClassification::ClassificationForObjects() const { return entity->getInverse(Type::IfcRelAssociatesClassification)->as(); } IfcClassificationReference::list::ptr IfcClassification::HasReferences() const { return entity->getInverse(Type::IfcClassificationReference)->as(); } bool IfcClassification::is(Type::Enum v) const { return v == Type::IfcClassification || IfcExternalInformation::is(v); } Type::Enum IfcClassification::type() const { return Type::IfcClassification; } Type::Enum IfcClassification::Class() { return Type::IfcClassification; } IfcClassification::IfcClassification(IfcAbstractEntity* e) : IfcExternalInformation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcClassification)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcClassification::IfcClassification(boost::optional< IfcLabel > v1_Source, boost::optional< IfcLabel > v2_Edition, boost::optional< IfcDate > v3_EditionDate, IfcLabel v4_Name, boost::optional< IfcText > v5_Description, boost::optional< IfcURIReference > v6_Location, boost::optional< std::vector< IfcIdentifier > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Source) { e->setArgument(0,(*v1_Source)); } else { e->setArgument(0); } if (v2_Edition) { e->setArgument(1,(*v2_Edition)); } else { e->setArgument(1); } if (v3_EditionDate) { e->setArgument(2,(*v3_EditionDate)); } else { e->setArgument(2); } e->setArgument(3,(v4_Name)); if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } if (v6_Location) { e->setArgument(5,(*v6_Location)); } else { e->setArgument(5); } if (v7_ReferenceTokens) { e->setArgument(6,(*v7_ReferenceTokens)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcClassification::IfcClassification(boost::optional< std::string > v1_Source, boost::optional< std::string > v2_Edition, boost::optional< std::string > v3_EditionDate, std::string v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Location, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Source) { e->setArgument(0,(*v1_Source)); } else { e->setArgument(0); } if (v2_Edition) { e->setArgument(1,(*v2_Edition)); } else { e->setArgument(1); } if (v3_EditionDate) { e->setArgument(2,(*v3_EditionDate)); } else { e->setArgument(2); } e->setArgument(3,(v4_Name)); if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } if (v6_Location) { e->setArgument(5,(*v6_Location)); } else { e->setArgument(5); } if (v7_ReferenceTokens) { e->setArgument(6,(*v7_ReferenceTokens)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClassificationReference bool IfcClassificationReference::hasReferencedSource() const { return !entity->getArgument(3)->isNull(); } -IfcClassificationReferenceSelect IfcClassificationReference::ReferencedSource() const { return *entity->getArgument(3); } -void IfcClassificationReference::setReferencedSource(IfcClassificationReferenceSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +IfcClassificationReferenceSelect* IfcClassificationReference::ReferencedSource() const { return (IfcClassificationReferenceSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } +void IfcClassificationReference::setReferencedSource(IfcClassificationReferenceSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcClassificationReference::hasDescription() const { return !entity->getArgument(4)->isNull(); } -IfcText IfcClassificationReference::Description() const { return *entity->getArgument(4); } -void IfcClassificationReference::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcClassificationReference::Description() const { return *entity->getArgument(4); } +void IfcClassificationReference::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcClassificationReference::hasSort() const { return !entity->getArgument(5)->isNull(); } -IfcIdentifier IfcClassificationReference::Sort() const { return *entity->getArgument(5); } -void IfcClassificationReference::setSort(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcClassificationReference::Sort() const { return *entity->getArgument(5); } +void IfcClassificationReference::setSort(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } IfcRelAssociatesClassification::list::ptr IfcClassificationReference::ClassificationRefForObjects() const { return entity->getInverse(Type::IfcRelAssociatesClassification)->as(); } IfcClassificationReference::list::ptr IfcClassificationReference::HasReferences() const { return entity->getInverse(Type::IfcClassificationReference)->as(); } bool IfcClassificationReference::is(Type::Enum v) const { return v == Type::IfcClassificationReference || IfcExternalReference::is(v); } Type::Enum IfcClassificationReference::type() const { return Type::IfcClassificationReference; } Type::Enum IfcClassificationReference::Class() { return Type::IfcClassificationReference; } IfcClassificationReference::IfcClassificationReference(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcClassificationReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcClassificationReference::IfcClassificationReference(boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name, boost::optional< IfcClassificationReferenceSelect > v4_ReferencedSource, boost::optional< IfcText > v5_Description, boost::optional< IfcIdentifier > v6_Sort) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_ReferencedSource) { e->setArgument(3,(*v4_ReferencedSource)); } else { e->setArgument(3); } if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } if (v6_Sort) { e->setArgument(5,(*v6_Sort)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, IfcClassificationReferenceSelect* v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } e->setArgument(3,(v4_ReferencedSource)); if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } if (v6_Sort) { e->setArgument(5,(*v6_Sort)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcClosedShell bool IfcClosedShell::is(Type::Enum v) const { return v == Type::IfcClosedShell || IfcConnectedFaceSet::is(v); } @@ -7394,7 +8941,7 @@ bool IfcCoil::is(Type::Enum v) const { return v == Type::IfcCoil || IfcEnergyCon Type::Enum IfcCoil::type() const { return Type::IfcCoil; } Type::Enum IfcCoil::Class() { return Type::IfcCoil; } IfcCoil::IfcCoil(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCoil)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoil::IfcCoil(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCoilTypeEnum::IfcCoilTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCoilTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCoil::IfcCoil(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCoilTypeEnum::IfcCoilTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCoilTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoilType IfcCoilTypeEnum::IfcCoilTypeEnum IfcCoilType::PredefinedType() const { return IfcCoilTypeEnum::FromString(*entity->getArgument(9)); } @@ -7403,20 +8950,20 @@ bool IfcCoilType::is(Type::Enum v) const { return v == Type::IfcCoilType || IfcE Type::Enum IfcCoilType::type() const { return Type::IfcCoilType; } Type::Enum IfcCoilType::Class() { return Type::IfcCoilType; } IfcCoilType::IfcCoilType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCoilType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoilType::IfcCoilType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoilTypeEnum::IfcCoilTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCoilTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCoilType::IfcCoilType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCoilTypeEnum::IfcCoilTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCoilTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcColourRgb -IfcNormalisedRatioMeasure IfcColourRgb::Red() const { return *entity->getArgument(1); } -void IfcColourRgb::setRed(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcNormalisedRatioMeasure IfcColourRgb::Green() const { return *entity->getArgument(2); } -void IfcColourRgb::setGreen(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcNormalisedRatioMeasure IfcColourRgb::Blue() const { return *entity->getArgument(3); } -void IfcColourRgb::setBlue(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcColourRgb::Red() const { return *entity->getArgument(1); } +void IfcColourRgb::setRed(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcColourRgb::Green() const { return *entity->getArgument(2); } +void IfcColourRgb::setGreen(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcColourRgb::Blue() const { return *entity->getArgument(3); } +void IfcColourRgb::setBlue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcColourRgb::is(Type::Enum v) const { return v == Type::IfcColourRgb || IfcColourSpecification::is(v); } Type::Enum IfcColourRgb::type() const { return Type::IfcColourRgb; } Type::Enum IfcColourRgb::Class() { return Type::IfcColourRgb; } IfcColourRgb::IfcColourRgb(IfcAbstractEntity* e) : IfcColourSpecification((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcColourRgb)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcColourRgb::IfcColourRgb(boost::optional< IfcLabel > v1_Name, IfcNormalisedRatioMeasure v2_Red, IfcNormalisedRatioMeasure v3_Green, IfcNormalisedRatioMeasure v4_Blue) : IfcColourSpecification((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_Red)); e->setArgument(2,(v3_Green)); e->setArgument(3,(v4_Blue)); entity = e; EntityBuffer::Add(this); } +IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_Red)); e->setArgument(2,(v3_Green)); e->setArgument(3,(v4_Blue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcColourRgbList bool IfcColourRgbList::is(Type::Enum v) const { return v == Type::IfcColourRgbList || IfcPresentationItem::is(v); } @@ -7427,13 +8974,13 @@ IfcColourRgbList::IfcColourRgbList() : IfcPresentationItem((IfcAbstractEntity*)0 // Function implementations for IfcColourSpecification bool IfcColourSpecification::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcColourSpecification::Name() const { return *entity->getArgument(0); } -void IfcColourSpecification::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcColourSpecification::Name() const { return *entity->getArgument(0); } +void IfcColourSpecification::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcColourSpecification::is(Type::Enum v) const { return v == Type::IfcColourSpecification || IfcPresentationItem::is(v); } Type::Enum IfcColourSpecification::type() const { return Type::IfcColourSpecification; } Type::Enum IfcColourSpecification::Class() { return Type::IfcColourSpecification; } IfcColourSpecification::IfcColourSpecification(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcColourSpecification)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcColourSpecification::IfcColourSpecification(boost::optional< IfcLabel > v1_Name) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } +IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcColumn bool IfcColumn::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -7443,14 +8990,14 @@ bool IfcColumn::is(Type::Enum v) const { return v == Type::IfcColumn || IfcBuild Type::Enum IfcColumn::type() const { return Type::IfcColumn; } Type::Enum IfcColumn::Class() { return Type::IfcColumn; } IfcColumn::IfcColumn(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcColumn)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcColumn::IfcColumn(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcColumnTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcColumn::IfcColumn(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcColumnTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcColumnStandardCase bool IfcColumnStandardCase::is(Type::Enum v) const { return v == Type::IfcColumnStandardCase || IfcColumn::is(v); } Type::Enum IfcColumnStandardCase::type() const { return Type::IfcColumnStandardCase; } Type::Enum IfcColumnStandardCase::Class() { return Type::IfcColumnStandardCase; } IfcColumnStandardCase::IfcColumnStandardCase(IfcAbstractEntity* e) : IfcColumn((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcColumnStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcColumnStandardCase::IfcColumnStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > v9_PredefinedType) : IfcColumn((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcColumnTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcColumnStandardCase::IfcColumnStandardCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > v9_PredefinedType) : IfcColumn((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcColumnTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcColumnType IfcColumnTypeEnum::IfcColumnTypeEnum IfcColumnType::PredefinedType() const { return IfcColumnTypeEnum::FromString(*entity->getArgument(9)); } @@ -7459,7 +9006,7 @@ bool IfcColumnType::is(Type::Enum v) const { return v == Type::IfcColumnType || Type::Enum IfcColumnType::type() const { return Type::IfcColumnType; } Type::Enum IfcColumnType::Class() { return Type::IfcColumnType; } IfcColumnType::IfcColumnType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcColumnType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcColumnType::IfcColumnType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcColumnTypeEnum::IfcColumnTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcColumnTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcColumnType::IfcColumnType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcColumnTypeEnum::IfcColumnTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcColumnTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCommunicationsAppliance bool IfcCommunicationsAppliance::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -7469,7 +9016,7 @@ bool IfcCommunicationsAppliance::is(Type::Enum v) const { return v == Type::IfcC Type::Enum IfcCommunicationsAppliance::type() const { return Type::IfcCommunicationsAppliance; } Type::Enum IfcCommunicationsAppliance::Class() { return Type::IfcCommunicationsAppliance; } IfcCommunicationsAppliance::IfcCommunicationsAppliance(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCommunicationsAppliance)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCommunicationsAppliance::IfcCommunicationsAppliance(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCommunicationsApplianceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCommunicationsAppliance::IfcCommunicationsAppliance(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCommunicationsApplianceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCommunicationsApplianceType IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum IfcCommunicationsApplianceType::PredefinedType() const { return IfcCommunicationsApplianceTypeEnum::FromString(*entity->getArgument(9)); } @@ -7478,23 +9025,23 @@ bool IfcCommunicationsApplianceType::is(Type::Enum v) const { return v == Type:: Type::Enum IfcCommunicationsApplianceType::type() const { return Type::IfcCommunicationsApplianceType; } Type::Enum IfcCommunicationsApplianceType::Class() { return Type::IfcCommunicationsApplianceType; } IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCommunicationsApplianceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCommunicationsApplianceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCommunicationsApplianceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcComplexProperty -IfcIdentifier IfcComplexProperty::UsageName() const { return *entity->getArgument(2); } -void IfcComplexProperty::setUsageName(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcComplexProperty::UsageName() const { return *entity->getArgument(2); } +void IfcComplexProperty::setUsageName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcTemplatedEntityList< IfcProperty >::ptr IfcComplexProperty::HasProperties() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } void IfcComplexProperty::setHasProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } 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(IfcAbstractEntity* e) : IfcProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcComplexProperty)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcComplexProperty::IfcComplexProperty(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcIdentifier v3_UsageName, IfcTemplatedEntityList< IfcProperty >::ptr v4_HasProperties) : IfcProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_UsageName)); e->setArgument(3,(v4_HasProperties)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_UsageName, IfcTemplatedEntityList< IfcProperty >::ptr v4_HasProperties) : IfcProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_UsageName)); e->setArgument(3,(v4_HasProperties)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcComplexPropertyTemplate bool IfcComplexPropertyTemplate::hasUsageName() const { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcComplexPropertyTemplate::UsageName() const { return *entity->getArgument(4); } -void IfcComplexPropertyTemplate::setUsageName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcComplexPropertyTemplate::UsageName() const { return *entity->getArgument(4); } +void IfcComplexPropertyTemplate::setUsageName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcComplexPropertyTemplate::hasTemplateType() const { return !entity->getArgument(5)->isNull(); } IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum IfcComplexPropertyTemplate::TemplateType() const { return IfcComplexPropertyTemplateTypeEnum::FromString(*entity->getArgument(5)); } void IfcComplexPropertyTemplate::setTemplateType(IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcComplexPropertyTemplateTypeEnum::ToString(v)); } @@ -7505,7 +9052,7 @@ bool IfcComplexPropertyTemplate::is(Type::Enum v) const { return v == Type::IfcC Type::Enum IfcComplexPropertyTemplate::type() const { return Type::IfcComplexPropertyTemplate; } Type::Enum IfcComplexPropertyTemplate::Class() { return Type::IfcComplexPropertyTemplate; } IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(IfcAbstractEntity* e) : IfcPropertyTemplate((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcComplexPropertyTemplate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_UsageName, boost::optional< IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum > v6_TemplateType, boost::optional< IfcTemplatedEntityList< IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_UsageName) { e->setArgument(4,(*v5_UsageName)); } else { e->setArgument(4); } if (v6_TemplateType) { e->setArgument(5,*v6_TemplateType,IfcComplexPropertyTemplateTypeEnum::ToString(*v6_TemplateType)); } else { e->setArgument(5); } if (v7_HasPropertyTemplates) { e->setArgument(6,(*v7_HasPropertyTemplates)->generalize()); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum > v6_TemplateType, boost::optional< IfcTemplatedEntityList< IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_UsageName) { e->setArgument(4,(*v5_UsageName)); } else { e->setArgument(4); } if (v6_TemplateType) { e->setArgument(5,*v6_TemplateType,IfcComplexPropertyTemplateTypeEnum::ToString(*v6_TemplateType)); } else { e->setArgument(5); } if (v7_HasPropertyTemplates) { e->setArgument(6,(*v7_HasPropertyTemplates)->generalize()); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCompositeCurve IfcTemplatedEntityList< IfcCompositeCurveSegment >::ptr IfcCompositeCurve::Segments() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } @@ -7543,13 +9090,13 @@ IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcTransitionCode::IfcTransit IfcTemplatedEntityList< IfcProfileDef >::ptr IfcCompositeProfileDef::Profiles() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } void IfcCompositeProfileDef::setProfiles(IfcTemplatedEntityList< IfcProfileDef >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } bool IfcCompositeProfileDef::hasLabel() const { return !entity->getArgument(3)->isNull(); } -IfcLabel IfcCompositeProfileDef::Label() const { return *entity->getArgument(3); } -void IfcCompositeProfileDef::setLabel(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcCompositeProfileDef::Label() const { return *entity->getArgument(3); } +void IfcCompositeProfileDef::setLabel(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcCompositeProfileDef::is(Type::Enum v) const { return v == Type::IfcCompositeProfileDef || IfcProfileDef::is(v); } Type::Enum IfcCompositeProfileDef::type() const { return Type::IfcCompositeProfileDef; } Type::Enum IfcCompositeProfileDef::Class() { return Type::IfcCompositeProfileDef; } IfcCompositeProfileDef::IfcCompositeProfileDef(IfcAbstractEntity* e) : IfcProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCompositeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCompositeProfileDef::IfcCompositeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcTemplatedEntityList< IfcProfileDef >::ptr v3_Profiles, boost::optional< IfcLabel > v4_Label) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Profiles)->generalize()); if (v4_Label) { e->setArgument(3,(*v4_Label)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcCompositeProfileDef::IfcCompositeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcTemplatedEntityList< IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Profiles)->generalize()); if (v4_Label) { e->setArgument(3,(*v4_Label)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCompressor bool IfcCompressor::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -7559,7 +9106,7 @@ bool IfcCompressor::is(Type::Enum v) const { return v == Type::IfcCompressor || Type::Enum IfcCompressor::type() const { return Type::IfcCompressor; } Type::Enum IfcCompressor::Class() { return Type::IfcCompressor; } IfcCompressor::IfcCompressor(IfcAbstractEntity* e) : IfcFlowMovingDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCompressor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCompressor::IfcCompressor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCompressorTypeEnum::IfcCompressorTypeEnum > v9_PredefinedType) : IfcFlowMovingDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCompressorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCompressor::IfcCompressor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCompressorTypeEnum::IfcCompressorTypeEnum > v9_PredefinedType) : IfcFlowMovingDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCompressorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCompressorType IfcCompressorTypeEnum::IfcCompressorTypeEnum IfcCompressorType::PredefinedType() const { return IfcCompressorTypeEnum::FromString(*entity->getArgument(9)); } @@ -7568,7 +9115,7 @@ bool IfcCompressorType::is(Type::Enum v) const { return v == Type::IfcCompressor Type::Enum IfcCompressorType::type() const { return Type::IfcCompressorType; } Type::Enum IfcCompressorType::Class() { return Type::IfcCompressorType; } IfcCompressorType::IfcCompressorType(IfcAbstractEntity* e) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCompressorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCompressorType::IfcCompressorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCompressorTypeEnum::IfcCompressorTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCompressorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCompressorTypeEnum::IfcCompressorTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCompressorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCondenser bool IfcCondenser::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -7578,7 +9125,7 @@ bool IfcCondenser::is(Type::Enum v) const { return v == Type::IfcCondenser || If Type::Enum IfcCondenser::type() const { return Type::IfcCondenser; } Type::Enum IfcCondenser::Class() { return Type::IfcCondenser; } IfcCondenser::IfcCondenser(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCondenser)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCondenser::IfcCondenser(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCondenserTypeEnum::IfcCondenserTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCondenserTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCondenser::IfcCondenser(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCondenserTypeEnum::IfcCondenserTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCondenserTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCondenserType IfcCondenserTypeEnum::IfcCondenserTypeEnum IfcCondenserType::PredefinedType() const { return IfcCondenserTypeEnum::FromString(*entity->getArgument(9)); } @@ -7587,16 +9134,16 @@ bool IfcCondenserType::is(Type::Enum v) const { return v == Type::IfcCondenserTy Type::Enum IfcCondenserType::type() const { return Type::IfcCondenserType; } Type::Enum IfcCondenserType::Class() { return Type::IfcCondenserType; } IfcCondenserType::IfcCondenserType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCondenserType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCondenserType::IfcCondenserType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCondenserTypeEnum::IfcCondenserTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCondenserTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCondenserTypeEnum::IfcCondenserTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCondenserTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConic -IfcAxis2Placement IfcConic::Position() const { return *entity->getArgument(0); } -void IfcConic::setPosition(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcAxis2Placement* IfcConic::Position() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcConic::setPosition(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcConic::is(Type::Enum v) const { return v == Type::IfcConic || IfcCurve::is(v); } Type::Enum IfcConic::type() const { return Type::IfcConic; } Type::Enum IfcConic::Class() { return Type::IfcConic; } IfcConic::IfcConic(IfcAbstractEntity* e) : IfcCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConic)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConic::IfcConic(IfcAxis2Placement v1_Position) : IfcCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); entity = e; EntityBuffer::Add(this); } +IfcConic::IfcConic(IfcAxis2Placement* v1_Position) : IfcCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectedFaceSet IfcTemplatedEntityList< IfcFace >::ptr IfcConnectedFaceSet::CfsFaces() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } @@ -7608,16 +9155,16 @@ IfcConnectedFaceSet::IfcConnectedFaceSet(IfcAbstractEntity* e) : IfcTopologicalR IfcConnectedFaceSet::IfcConnectedFaceSet(IfcTemplatedEntityList< IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CfsFaces)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionCurveGeometry -IfcCurveOrEdgeCurve IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return *entity->getArgument(0); } -void IfcConnectionCurveGeometry::setCurveOnRelatingElement(IfcCurveOrEdgeCurve v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcCurveOrEdgeCurve* IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return (IfcCurveOrEdgeCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcConnectionCurveGeometry::setCurveOnRelatingElement(IfcCurveOrEdgeCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcConnectionCurveGeometry::hasCurveOnRelatedElement() const { return !entity->getArgument(1)->isNull(); } -IfcCurveOrEdgeCurve IfcConnectionCurveGeometry::CurveOnRelatedElement() const { return *entity->getArgument(1); } -void IfcConnectionCurveGeometry::setCurveOnRelatedElement(IfcCurveOrEdgeCurve v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcCurveOrEdgeCurve* IfcConnectionCurveGeometry::CurveOnRelatedElement() const { return (IfcCurveOrEdgeCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcConnectionCurveGeometry::setCurveOnRelatedElement(IfcCurveOrEdgeCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcConnectionCurveGeometry::is(Type::Enum v) const { return v == Type::IfcConnectionCurveGeometry || IfcConnectionGeometry::is(v); } Type::Enum IfcConnectionCurveGeometry::type() const { return Type::IfcConnectionCurveGeometry; } Type::Enum IfcConnectionCurveGeometry::Class() { return Type::IfcConnectionCurveGeometry; } IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcAbstractEntity* e) : IfcConnectionGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionCurveGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, boost::optional< IfcCurveOrEdgeCurve > v2_CurveOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CurveOnRelatingElement)); if (v2_CurveOnRelatedElement) { e->setArgument(1,(*v2_CurveOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CurveOnRelatingElement)); e->setArgument(1,(v2_CurveOnRelatedElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionGeometry bool IfcConnectionGeometry::is(Type::Enum v) const { return v == Type::IfcConnectionGeometry; } @@ -7628,83 +9175,83 @@ IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity() { IfcW // Function implementations for IfcConnectionPointEccentricity bool IfcConnectionPointEccentricity::hasEccentricityInX() const { return !entity->getArgument(2)->isNull(); } -IfcLengthMeasure IfcConnectionPointEccentricity::EccentricityInX() const { return *entity->getArgument(2); } -void IfcConnectionPointEccentricity::setEccentricityInX(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcConnectionPointEccentricity::EccentricityInX() const { return *entity->getArgument(2); } +void IfcConnectionPointEccentricity::setEccentricityInX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcConnectionPointEccentricity::hasEccentricityInY() const { return !entity->getArgument(3)->isNull(); } -IfcLengthMeasure IfcConnectionPointEccentricity::EccentricityInY() const { return *entity->getArgument(3); } -void IfcConnectionPointEccentricity::setEccentricityInY(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcConnectionPointEccentricity::EccentricityInY() const { return *entity->getArgument(3); } +void IfcConnectionPointEccentricity::setEccentricityInY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcConnectionPointEccentricity::hasEccentricityInZ() const { return !entity->getArgument(4)->isNull(); } -IfcLengthMeasure IfcConnectionPointEccentricity::EccentricityInZ() const { return *entity->getArgument(4); } -void IfcConnectionPointEccentricity::setEccentricityInZ(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcConnectionPointEccentricity::EccentricityInZ() const { return *entity->getArgument(4); } +void IfcConnectionPointEccentricity::setEccentricityInZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcConnectionPointEccentricity::is(Type::Enum v) const { return v == Type::IfcConnectionPointEccentricity || IfcConnectionPointGeometry::is(v); } Type::Enum IfcConnectionPointEccentricity::type() const { return Type::IfcConnectionPointEccentricity; } Type::Enum IfcConnectionPointEccentricity::Class() { return Type::IfcConnectionPointEccentricity; } IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcAbstractEntity* e) : IfcConnectionPointGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionPointEccentricity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcPointOrVertexPoint v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint > v2_PointOnRelatedElement, boost::optional< IfcLengthMeasure > v3_EccentricityInX, boost::optional< IfcLengthMeasure > v4_EccentricityInY, boost::optional< IfcLengthMeasure > v5_EccentricityInZ) : IfcConnectionPointGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PointOnRelatingElement)); if (v2_PointOnRelatedElement) { e->setArgument(1,(*v2_PointOnRelatedElement)); } else { e->setArgument(1); } if (v3_EccentricityInX) { e->setArgument(2,(*v3_EccentricityInX)); } else { e->setArgument(2); } if (v4_EccentricityInY) { e->setArgument(3,(*v4_EccentricityInY)); } else { e->setArgument(3); } if (v5_EccentricityInZ) { e->setArgument(4,(*v5_EccentricityInZ)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcPointOrVertexPoint* v1_PointOnRelatingElement, IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PointOnRelatingElement)); e->setArgument(1,(v2_PointOnRelatedElement)); if (v3_EccentricityInX) { e->setArgument(2,(*v3_EccentricityInX)); } else { e->setArgument(2); } if (v4_EccentricityInY) { e->setArgument(3,(*v4_EccentricityInY)); } else { e->setArgument(3); } if (v5_EccentricityInZ) { e->setArgument(4,(*v5_EccentricityInZ)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionPointGeometry -IfcPointOrVertexPoint IfcConnectionPointGeometry::PointOnRelatingElement() const { return *entity->getArgument(0); } -void IfcConnectionPointGeometry::setPointOnRelatingElement(IfcPointOrVertexPoint v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcPointOrVertexPoint* IfcConnectionPointGeometry::PointOnRelatingElement() const { return (IfcPointOrVertexPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcConnectionPointGeometry::setPointOnRelatingElement(IfcPointOrVertexPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcConnectionPointGeometry::hasPointOnRelatedElement() const { return !entity->getArgument(1)->isNull(); } -IfcPointOrVertexPoint IfcConnectionPointGeometry::PointOnRelatedElement() const { return *entity->getArgument(1); } -void IfcConnectionPointGeometry::setPointOnRelatedElement(IfcPointOrVertexPoint v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcPointOrVertexPoint* IfcConnectionPointGeometry::PointOnRelatedElement() const { return (IfcPointOrVertexPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcConnectionPointGeometry::setPointOnRelatedElement(IfcPointOrVertexPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcConnectionPointGeometry::is(Type::Enum v) const { return v == Type::IfcConnectionPointGeometry || IfcConnectionGeometry::is(v); } Type::Enum IfcConnectionPointGeometry::type() const { return Type::IfcConnectionPointGeometry; } Type::Enum IfcConnectionPointGeometry::Class() { return Type::IfcConnectionPointGeometry; } IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcAbstractEntity* e) : IfcConnectionGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionPointGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcPointOrVertexPoint v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint > v2_PointOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PointOnRelatingElement)); if (v2_PointOnRelatedElement) { e->setArgument(1,(*v2_PointOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcPointOrVertexPoint* v1_PointOnRelatingElement, IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PointOnRelatingElement)); e->setArgument(1,(v2_PointOnRelatedElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionSurfaceGeometry -IfcSurfaceOrFaceSurface IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return *entity->getArgument(0); } -void IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(IfcSurfaceOrFaceSurface v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcSurfaceOrFaceSurface* IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return (IfcSurfaceOrFaceSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(IfcSurfaceOrFaceSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcConnectionSurfaceGeometry::hasSurfaceOnRelatedElement() const { return !entity->getArgument(1)->isNull(); } -IfcSurfaceOrFaceSurface IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { return *entity->getArgument(1); } -void IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(IfcSurfaceOrFaceSurface v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcSurfaceOrFaceSurface* IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { return (IfcSurfaceOrFaceSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(IfcSurfaceOrFaceSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcConnectionSurfaceGeometry::is(Type::Enum v) const { return v == Type::IfcConnectionSurfaceGeometry || IfcConnectionGeometry::is(v); } Type::Enum IfcConnectionSurfaceGeometry::type() const { return Type::IfcConnectionSurfaceGeometry; } Type::Enum IfcConnectionSurfaceGeometry::Class() { return Type::IfcConnectionSurfaceGeometry; } IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcAbstractEntity* e) : IfcConnectionGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionSurfaceGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, boost::optional< IfcSurfaceOrFaceSurface > v2_SurfaceOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceOnRelatingElement)); if (v2_SurfaceOnRelatedElement) { e->setArgument(1,(*v2_SurfaceOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceOnRelatingElement)); e->setArgument(1,(v2_SurfaceOnRelatedElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConnectionVolumeGeometry -IfcSolidOrShell IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return *entity->getArgument(0); } -void IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(IfcSolidOrShell v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcSolidOrShell* IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return (IfcSolidOrShell*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(IfcSolidOrShell* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcConnectionVolumeGeometry::hasVolumeOnRelatedElement() const { return !entity->getArgument(1)->isNull(); } -IfcSolidOrShell IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { return *entity->getArgument(1); } -void IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(IfcSolidOrShell v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcSolidOrShell* IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { return (IfcSolidOrShell*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(IfcSolidOrShell* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcConnectionVolumeGeometry::is(Type::Enum v) const { return v == Type::IfcConnectionVolumeGeometry || IfcConnectionGeometry::is(v); } Type::Enum IfcConnectionVolumeGeometry::type() const { return Type::IfcConnectionVolumeGeometry; } Type::Enum IfcConnectionVolumeGeometry::Class() { return Type::IfcConnectionVolumeGeometry; } IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(IfcAbstractEntity* e) : IfcConnectionGeometry((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConnectionVolumeGeometry)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(IfcSolidOrShell v1_VolumeOnRelatingElement, boost::optional< IfcSolidOrShell > v2_VolumeOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_VolumeOnRelatingElement)); if (v2_VolumeOnRelatedElement) { e->setArgument(1,(*v2_VolumeOnRelatedElement)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(IfcSolidOrShell* v1_VolumeOnRelatingElement, IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_VolumeOnRelatingElement)); e->setArgument(1,(v2_VolumeOnRelatedElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstraint -IfcLabel IfcConstraint::Name() const { return *entity->getArgument(0); } -void IfcConstraint::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcConstraint::Name() const { return *entity->getArgument(0); } +void IfcConstraint::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcConstraint::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcConstraint::Description() const { return *entity->getArgument(1); } -void IfcConstraint::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcConstraint::Description() const { return *entity->getArgument(1); } +void IfcConstraint::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcConstraintEnum::IfcConstraintEnum IfcConstraint::ConstraintGrade() const { return IfcConstraintEnum::FromString(*entity->getArgument(2)); } void IfcConstraint::setConstraintGrade(IfcConstraintEnum::IfcConstraintEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcConstraintEnum::ToString(v)); } bool IfcConstraint::hasConstraintSource() const { return !entity->getArgument(3)->isNull(); } -IfcLabel IfcConstraint::ConstraintSource() const { return *entity->getArgument(3); } -void IfcConstraint::setConstraintSource(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcConstraint::ConstraintSource() const { return *entity->getArgument(3); } +void IfcConstraint::setConstraintSource(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcConstraint::hasCreatingActor() const { return !entity->getArgument(4)->isNull(); } -IfcActorSelect IfcConstraint::CreatingActor() const { return *entity->getArgument(4); } -void IfcConstraint::setCreatingActor(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +IfcActorSelect* IfcConstraint::CreatingActor() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } +void IfcConstraint::setCreatingActor(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcConstraint::hasCreationTime() const { return !entity->getArgument(5)->isNull(); } -IfcDateTime IfcConstraint::CreationTime() const { return *entity->getArgument(5); } -void IfcConstraint::setCreationTime(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcConstraint::CreationTime() const { return *entity->getArgument(5); } +void IfcConstraint::setCreationTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcConstraint::hasUserDefinedGrade() const { return !entity->getArgument(6)->isNull(); } -IfcLabel IfcConstraint::UserDefinedGrade() const { return *entity->getArgument(6); } -void IfcConstraint::setUserDefinedGrade(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcConstraint::UserDefinedGrade() const { return *entity->getArgument(6); } +void IfcConstraint::setUserDefinedGrade(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } IfcExternalReferenceRelationship::list::ptr IfcConstraint::HasExternalReferences() const { return entity->getInverse(Type::IfcExternalReferenceRelationship)->as(); } IfcResourceConstraintRelationship::list::ptr IfcConstraint::PropertiesForConstraint() const { return entity->getInverse(Type::IfcResourceConstraintRelationship)->as(); } bool IfcConstraint::is(Type::Enum v) const { return v == Type::IfcConstraint; } Type::Enum IfcConstraint::type() const { return Type::IfcConstraint; } Type::Enum IfcConstraint::Class() { return Type::IfcConstraint; } IfcConstraint::IfcConstraint(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcConstraint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstraint::IfcConstraint(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTime > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } if (v5_CreatingActor) { e->setArgument(4,(*v5_CreatingActor)); } else { e->setArgument(4); } if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } e->setArgument(4,(v5_CreatingActor)); if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionEquipmentResource bool IfcConstructionEquipmentResource::hasPredefinedType() const { return !entity->getArgument(10)->isNull(); } @@ -7714,7 +9261,7 @@ bool IfcConstructionEquipmentResource::is(Type::Enum v) const { return v == Type Type::Enum IfcConstructionEquipmentResource::type() const { return Type::IfcConstructionEquipmentResource; } Type::Enum IfcConstructionEquipmentResource::Class() { return Type::IfcConstructionEquipmentResource; } IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionEquipmentResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcConstructionEquipmentResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcConstructionEquipmentResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionEquipmentResourceType IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum IfcConstructionEquipmentResourceType::PredefinedType() const { return IfcConstructionEquipmentResourceTypeEnum::FromString(*entity->getArgument(11)); } @@ -7723,7 +9270,7 @@ bool IfcConstructionEquipmentResourceType::is(Type::Enum v) const { return v == Type::Enum IfcConstructionEquipmentResourceType::type() const { return Type::IfcConstructionEquipmentResourceType; } Type::Enum IfcConstructionEquipmentResourceType::Class() { return Type::IfcConstructionEquipmentResourceType; } IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(IfcAbstractEntity* e) : IfcConstructionResourceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionEquipmentResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); e->setArgument(11,v12_PredefinedType,IfcConstructionEquipmentResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); e->setArgument(11,v12_PredefinedType,IfcConstructionEquipmentResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionMaterialResource bool IfcConstructionMaterialResource::hasPredefinedType() const { return !entity->getArgument(10)->isNull(); } @@ -7733,7 +9280,7 @@ bool IfcConstructionMaterialResource::is(Type::Enum v) const { return v == Type: Type::Enum IfcConstructionMaterialResource::type() const { return Type::IfcConstructionMaterialResource; } Type::Enum IfcConstructionMaterialResource::Class() { return Type::IfcConstructionMaterialResource; } IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionMaterialResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcConstructionMaterialResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcConstructionMaterialResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionMaterialResourceType IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum IfcConstructionMaterialResourceType::PredefinedType() const { return IfcConstructionMaterialResourceTypeEnum::FromString(*entity->getArgument(11)); } @@ -7742,7 +9289,7 @@ bool IfcConstructionMaterialResourceType::is(Type::Enum v) const { return v == T Type::Enum IfcConstructionMaterialResourceType::type() const { return Type::IfcConstructionMaterialResourceType; } Type::Enum IfcConstructionMaterialResourceType::Class() { return Type::IfcConstructionMaterialResourceType; } IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(IfcAbstractEntity* e) : IfcConstructionResourceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionMaterialResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); e->setArgument(11,v12_PredefinedType,IfcConstructionMaterialResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); e->setArgument(11,v12_PredefinedType,IfcConstructionMaterialResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionProductResource bool IfcConstructionProductResource::hasPredefinedType() const { return !entity->getArgument(10)->isNull(); } @@ -7752,7 +9299,7 @@ bool IfcConstructionProductResource::is(Type::Enum v) const { return v == Type:: Type::Enum IfcConstructionProductResource::type() const { return Type::IfcConstructionProductResource; } Type::Enum IfcConstructionProductResource::Class() { return Type::IfcConstructionProductResource; } IfcConstructionProductResource::IfcConstructionProductResource(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionProductResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionProductResource::IfcConstructionProductResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcConstructionProductResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcConstructionProductResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionProductResourceType IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum IfcConstructionProductResourceType::PredefinedType() const { return IfcConstructionProductResourceTypeEnum::FromString(*entity->getArgument(11)); } @@ -7761,7 +9308,7 @@ bool IfcConstructionProductResourceType::is(Type::Enum v) const { return v == Ty Type::Enum IfcConstructionProductResourceType::type() const { return Type::IfcConstructionProductResourceType; } Type::Enum IfcConstructionProductResourceType::Class() { return Type::IfcConstructionProductResourceType; } IfcConstructionProductResourceType::IfcConstructionProductResourceType(IfcAbstractEntity* e) : IfcConstructionResourceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionProductResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionProductResourceType::IfcConstructionProductResourceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); e->setArgument(11,v12_PredefinedType,IfcConstructionProductResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); e->setArgument(11,v12_PredefinedType,IfcConstructionProductResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionResource bool IfcConstructionResource::hasUsage() const { return !entity->getArgument(7)->isNull(); } @@ -7777,7 +9324,7 @@ bool IfcConstructionResource::is(Type::Enum v) const { return v == Type::IfcCons Type::Enum IfcConstructionResource::type() const { return Type::IfcConstructionResource; } Type::Enum IfcConstructionResource::Class() { return Type::IfcConstructionResource; } IfcConstructionResource::IfcConstructionResource(IfcAbstractEntity* e) : IfcResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionResource::IfcConstructionResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); entity = e; EntityBuffer::Add(this); } +IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConstructionResourceType bool IfcConstructionResourceType::hasBaseCosts() const { return !entity->getArgument(9)->isNull(); } @@ -7790,18 +9337,18 @@ bool IfcConstructionResourceType::is(Type::Enum v) const { return v == Type::Ifc Type::Enum IfcConstructionResourceType::type() const { return Type::IfcConstructionResourceType; } Type::Enum IfcConstructionResourceType::Class() { return Type::IfcConstructionResourceType; } IfcConstructionResourceType::IfcConstructionResourceType(IfcAbstractEntity* e) : IfcTypeResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConstructionResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConstructionResourceType::IfcConstructionResourceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); entity = e; EntityBuffer::Add(this); } +IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcContext bool IfcContext::hasObjectType() const { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcContext::ObjectType() const { return *entity->getArgument(4); } -void IfcContext::setObjectType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcContext::ObjectType() const { return *entity->getArgument(4); } +void IfcContext::setObjectType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcContext::hasLongName() const { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcContext::LongName() const { return *entity->getArgument(5); } -void IfcContext::setLongName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcContext::LongName() const { return *entity->getArgument(5); } +void IfcContext::setLongName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcContext::hasPhase() const { return !entity->getArgument(6)->isNull(); } -IfcLabel IfcContext::Phase() const { return *entity->getArgument(6); } -void IfcContext::setPhase(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcContext::Phase() const { return *entity->getArgument(6); } +void IfcContext::setPhase(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcContext::hasRepresentationContexts() const { return !entity->getArgument(7)->isNull(); } IfcTemplatedEntityList< IfcRepresentationContext >::ptr IfcContext::RepresentationContexts() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } void IfcContext::setRepresentationContexts(IfcTemplatedEntityList< IfcRepresentationContext >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } @@ -7814,28 +9361,28 @@ bool IfcContext::is(Type::Enum v) const { return v == Type::IfcContext || IfcObj Type::Enum IfcContext::type() const { return Type::IfcContext; } Type::Enum IfcContext::Class() { return Type::IfcContext; } IfcContext::IfcContext(IfcAbstractEntity* e) : IfcObjectDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcContext)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcContext::IfcContext(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcLabel > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_Phase) { e->setArgument(6,(*v7_Phase)); } else { e->setArgument(6); } if (v8_RepresentationContexts) { e->setArgument(7,(*v8_RepresentationContexts)->generalize()); } else { e->setArgument(7); } e->setArgument(8,(v9_UnitsInContext)); entity = e; EntityBuffer::Add(this); } +IfcContext::IfcContext(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_Phase) { e->setArgument(6,(*v7_Phase)); } else { e->setArgument(6); } if (v8_RepresentationContexts) { e->setArgument(7,(*v8_RepresentationContexts)->generalize()); } else { e->setArgument(7); } e->setArgument(8,(v9_UnitsInContext)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcContextDependentUnit -IfcLabel IfcContextDependentUnit::Name() const { return *entity->getArgument(2); } -void IfcContextDependentUnit::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcContextDependentUnit::Name() const { return *entity->getArgument(2); } +void IfcContextDependentUnit::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcExternalReferenceRelationship::list::ptr IfcContextDependentUnit::HasExternalReference() const { return entity->getInverse(Type::IfcExternalReferenceRelationship)->as(); } bool IfcContextDependentUnit::is(Type::Enum v) const { return v == Type::IfcContextDependentUnit || IfcNamedUnit::is(v); } Type::Enum IfcContextDependentUnit::type() const { return Type::IfcContextDependentUnit; } Type::Enum IfcContextDependentUnit::Class() { return Type::IfcContextDependentUnit; } IfcContextDependentUnit::IfcContextDependentUnit(IfcAbstractEntity* e) : IfcNamedUnit((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcContextDependentUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcContextDependentUnit::IfcContextDependentUnit(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, IfcLabel v3_Name) : IfcNamedUnit((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Dimensions)); e->setArgument(1,v2_UnitType,IfcUnitEnum::ToString(v2_UnitType)); e->setArgument(2,(v3_Name)); entity = e; EntityBuffer::Add(this); } +IfcContextDependentUnit::IfcContextDependentUnit(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, std::string v3_Name) : IfcNamedUnit((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Dimensions)); e->setArgument(1,v2_UnitType,IfcUnitEnum::ToString(v2_UnitType)); e->setArgument(2,(v3_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcControl bool IfcControl::hasIdentification() const { return !entity->getArgument(5)->isNull(); } -IfcIdentifier IfcControl::Identification() const { return *entity->getArgument(5); } -void IfcControl::setIdentification(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcControl::Identification() const { return *entity->getArgument(5); } +void IfcControl::setIdentification(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } IfcRelAssignsToControl::list::ptr IfcControl::Controls() const { return entity->getInverse(Type::IfcRelAssignsToControl)->as(); } bool IfcControl::is(Type::Enum v) const { return v == Type::IfcControl || IfcObject::is(v); } Type::Enum IfcControl::type() const { return Type::IfcControl; } Type::Enum IfcControl::Class() { return Type::IfcControl; } IfcControl::IfcControl(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcControl::IfcControl(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcControl::IfcControl(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcController bool IfcController::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -7845,7 +9392,7 @@ bool IfcController::is(Type::Enum v) const { return v == Type::IfcController || Type::Enum IfcController::type() const { return Type::IfcController; } Type::Enum IfcController::Class() { return Type::IfcController; } IfcController::IfcController(IfcAbstractEntity* e) : IfcDistributionControlElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcController)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcController::IfcController(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcControllerTypeEnum::IfcControllerTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcControllerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcController::IfcController(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcControllerTypeEnum::IfcControllerTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcControllerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcControllerType IfcControllerTypeEnum::IfcControllerTypeEnum IfcControllerType::PredefinedType() const { return IfcControllerTypeEnum::FromString(*entity->getArgument(9)); } @@ -7854,11 +9401,11 @@ bool IfcControllerType::is(Type::Enum v) const { return v == Type::IfcController Type::Enum IfcControllerType::type() const { return Type::IfcControllerType; } Type::Enum IfcControllerType::Class() { return Type::IfcControllerType; } IfcControllerType::IfcControllerType(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcControllerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcControllerType::IfcControllerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcControllerTypeEnum::IfcControllerTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcControllerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcControllerType::IfcControllerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcControllerTypeEnum::IfcControllerTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcControllerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConversionBasedUnit -IfcLabel IfcConversionBasedUnit::Name() const { return *entity->getArgument(2); } -void IfcConversionBasedUnit::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcConversionBasedUnit::Name() const { return *entity->getArgument(2); } +void IfcConversionBasedUnit::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcMeasureWithUnit* IfcConversionBasedUnit::ConversionFactor() const { return (IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcConversionBasedUnit::setConversionFactor(IfcMeasureWithUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } IfcExternalReferenceRelationship::list::ptr IfcConversionBasedUnit::HasExternalReference() const { return entity->getInverse(Type::IfcExternalReferenceRelationship)->as(); } @@ -7866,16 +9413,16 @@ bool IfcConversionBasedUnit::is(Type::Enum v) const { return v == Type::IfcConve Type::Enum IfcConversionBasedUnit::type() const { return Type::IfcConversionBasedUnit; } Type::Enum IfcConversionBasedUnit::Class() { return Type::IfcConversionBasedUnit; } IfcConversionBasedUnit::IfcConversionBasedUnit(IfcAbstractEntity* e) : IfcNamedUnit((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConversionBasedUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConversionBasedUnit::IfcConversionBasedUnit(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, IfcLabel v3_Name, IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Dimensions)); e->setArgument(1,v2_UnitType,IfcUnitEnum::ToString(v2_UnitType)); e->setArgument(2,(v3_Name)); e->setArgument(3,(v4_ConversionFactor)); entity = e; EntityBuffer::Add(this); } +IfcConversionBasedUnit::IfcConversionBasedUnit(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, std::string v3_Name, IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Dimensions)); e->setArgument(1,v2_UnitType,IfcUnitEnum::ToString(v2_UnitType)); e->setArgument(2,(v3_Name)); e->setArgument(3,(v4_ConversionFactor)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcConversionBasedUnitWithOffset -IfcReal IfcConversionBasedUnitWithOffset::ConversionOffset() const { return *entity->getArgument(4); } -void IfcConversionBasedUnitWithOffset::setConversionOffset(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcConversionBasedUnitWithOffset::ConversionOffset() const { return *entity->getArgument(4); } +void IfcConversionBasedUnitWithOffset::setConversionOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcConversionBasedUnitWithOffset::is(Type::Enum v) const { return v == Type::IfcConversionBasedUnitWithOffset || IfcConversionBasedUnit::is(v); } Type::Enum IfcConversionBasedUnitWithOffset::type() const { return Type::IfcConversionBasedUnitWithOffset; } Type::Enum IfcConversionBasedUnitWithOffset::Class() { return Type::IfcConversionBasedUnitWithOffset; } IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(IfcAbstractEntity* e) : IfcConversionBasedUnit((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcConversionBasedUnitWithOffset)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, IfcLabel v3_Name, IfcMeasureWithUnit* v4_ConversionFactor, IfcReal v5_ConversionOffset) : IfcConversionBasedUnit((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Dimensions)); e->setArgument(1,v2_UnitType,IfcUnitEnum::ToString(v2_UnitType)); e->setArgument(2,(v3_Name)); e->setArgument(3,(v4_ConversionFactor)); e->setArgument(4,(v5_ConversionOffset)); entity = e; EntityBuffer::Add(this); } +IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, std::string v3_Name, IfcMeasureWithUnit* v4_ConversionFactor, double v5_ConversionOffset) : IfcConversionBasedUnit((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Dimensions)); e->setArgument(1,v2_UnitType,IfcUnitEnum::ToString(v2_UnitType)); e->setArgument(2,(v3_Name)); e->setArgument(3,(v4_ConversionFactor)); e->setArgument(4,(v5_ConversionOffset)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCooledBeam bool IfcCooledBeam::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -7885,7 +9432,7 @@ bool IfcCooledBeam::is(Type::Enum v) const { return v == Type::IfcCooledBeam || Type::Enum IfcCooledBeam::type() const { return Type::IfcCooledBeam; } Type::Enum IfcCooledBeam::Class() { return Type::IfcCooledBeam; } IfcCooledBeam::IfcCooledBeam(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCooledBeam)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCooledBeam::IfcCooledBeam(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCooledBeamTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCooledBeam::IfcCooledBeam(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCooledBeamTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCooledBeamType IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum IfcCooledBeamType::PredefinedType() const { return IfcCooledBeamTypeEnum::FromString(*entity->getArgument(9)); } @@ -7894,7 +9441,7 @@ bool IfcCooledBeamType::is(Type::Enum v) const { return v == Type::IfcCooledBeam Type::Enum IfcCooledBeamType::type() const { return Type::IfcCooledBeamType; } Type::Enum IfcCooledBeamType::Class() { return Type::IfcCooledBeamType; } IfcCooledBeamType::IfcCooledBeamType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCooledBeamType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCooledBeamType::IfcCooledBeamType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCooledBeamTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCooledBeamTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoolingTower bool IfcCoolingTower::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -7904,7 +9451,7 @@ bool IfcCoolingTower::is(Type::Enum v) const { return v == Type::IfcCoolingTower Type::Enum IfcCoolingTower::type() const { return Type::IfcCoolingTower; } Type::Enum IfcCoolingTower::Class() { return Type::IfcCoolingTower; } IfcCoolingTower::IfcCoolingTower(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCoolingTower)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoolingTower::IfcCoolingTower(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCoolingTowerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCoolingTower::IfcCoolingTower(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCoolingTowerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoolingTowerType IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum IfcCoolingTowerType::PredefinedType() const { return IfcCoolingTowerTypeEnum::FromString(*entity->getArgument(9)); } @@ -7913,36 +9460,36 @@ bool IfcCoolingTowerType::is(Type::Enum v) const { return v == Type::IfcCoolingT Type::Enum IfcCoolingTowerType::type() const { return Type::IfcCoolingTowerType; } Type::Enum IfcCoolingTowerType::Class() { return Type::IfcCoolingTowerType; } IfcCoolingTowerType::IfcCoolingTowerType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCoolingTowerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoolingTowerType::IfcCoolingTowerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCoolingTowerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCoolingTowerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoordinateOperation -IfcCoordinateReferenceSystemSelect IfcCoordinateOperation::SourceCRS() const { return *entity->getArgument(0); } -void IfcCoordinateOperation::setSourceCRS(IfcCoordinateReferenceSystemSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcCoordinateReferenceSystemSelect* IfcCoordinateOperation::SourceCRS() const { return (IfcCoordinateReferenceSystemSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcCoordinateOperation::setSourceCRS(IfcCoordinateReferenceSystemSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } IfcCoordinateReferenceSystem* IfcCoordinateOperation::TargetCRS() const { return (IfcCoordinateReferenceSystem*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcCoordinateOperation::setTargetCRS(IfcCoordinateReferenceSystem* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcCoordinateOperation::is(Type::Enum v) const { return v == Type::IfcCoordinateOperation; } Type::Enum IfcCoordinateOperation::type() const { return Type::IfcCoordinateOperation; } Type::Enum IfcCoordinateOperation::Class() { return Type::IfcCoordinateOperation; } IfcCoordinateOperation::IfcCoordinateOperation(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCoordinateOperation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoordinateOperation::IfcCoordinateOperation(IfcCoordinateReferenceSystemSelect v1_SourceCRS, IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SourceCRS)); e->setArgument(1,(v2_TargetCRS)); entity = e; EntityBuffer::Add(this); } +IfcCoordinateOperation::IfcCoordinateOperation(IfcCoordinateReferenceSystemSelect* v1_SourceCRS, IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SourceCRS)); e->setArgument(1,(v2_TargetCRS)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoordinateReferenceSystem bool IfcCoordinateReferenceSystem::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcCoordinateReferenceSystem::Name() const { return *entity->getArgument(0); } -void IfcCoordinateReferenceSystem::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcCoordinateReferenceSystem::Name() const { return *entity->getArgument(0); } +void IfcCoordinateReferenceSystem::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcCoordinateReferenceSystem::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcCoordinateReferenceSystem::Description() const { return *entity->getArgument(1); } -void IfcCoordinateReferenceSystem::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcIdentifier IfcCoordinateReferenceSystem::GeodeticDatum() const { return *entity->getArgument(2); } -void IfcCoordinateReferenceSystem::setGeodeticDatum(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcCoordinateReferenceSystem::Description() const { return *entity->getArgument(1); } +void IfcCoordinateReferenceSystem::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcCoordinateReferenceSystem::GeodeticDatum() const { return *entity->getArgument(2); } +void IfcCoordinateReferenceSystem::setGeodeticDatum(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcCoordinateReferenceSystem::hasVerticalDatum() const { return !entity->getArgument(3)->isNull(); } -IfcIdentifier IfcCoordinateReferenceSystem::VerticalDatum() const { return *entity->getArgument(3); } -void IfcCoordinateReferenceSystem::setVerticalDatum(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcCoordinateReferenceSystem::VerticalDatum() const { return *entity->getArgument(3); } +void IfcCoordinateReferenceSystem::setVerticalDatum(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcCoordinateReferenceSystem::is(Type::Enum v) const { return v == Type::IfcCoordinateReferenceSystem; } Type::Enum IfcCoordinateReferenceSystem::type() const { return Type::IfcCoordinateReferenceSystem; } Type::Enum IfcCoordinateReferenceSystem::Class() { return Type::IfcCoordinateReferenceSystem; } IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCoordinateReferenceSystem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcIdentifier v3_GeodeticDatum, boost::optional< IfcIdentifier > v4_VerticalDatum) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_GeodeticDatum)); if (v4_VerticalDatum) { e->setArgument(3,(*v4_VerticalDatum)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, std::string v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_GeodeticDatum)); if (v4_VerticalDatum) { e->setArgument(3,(*v4_VerticalDatum)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCostItem bool IfcCostItem::hasPredefinedType() const { return !entity->getArgument(6)->isNull(); } @@ -7958,33 +9505,33 @@ bool IfcCostItem::is(Type::Enum v) const { return v == Type::IfcCostItem || IfcC Type::Enum IfcCostItem::type() const { return Type::IfcCostItem; } Type::Enum IfcCostItem::Class() { return Type::IfcCostItem; } IfcCostItem::IfcCostItem(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCostItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCostItem::IfcCostItem(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcCostItemTypeEnum::IfcCostItemTypeEnum > v7_PredefinedType, boost::optional< IfcTemplatedEntityList< IfcCostValue >::ptr > v8_CostValues, boost::optional< IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcCostItemTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } if (v8_CostValues) { e->setArgument(7,(*v8_CostValues)->generalize()); } else { e->setArgument(7); } if (v9_CostQuantities) { e->setArgument(8,(*v9_CostQuantities)->generalize()); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCostItem::IfcCostItem(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcCostItemTypeEnum::IfcCostItemTypeEnum > v7_PredefinedType, boost::optional< IfcTemplatedEntityList< IfcCostValue >::ptr > v8_CostValues, boost::optional< IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcCostItemTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } if (v8_CostValues) { e->setArgument(7,(*v8_CostValues)->generalize()); } else { e->setArgument(7); } if (v9_CostQuantities) { e->setArgument(8,(*v9_CostQuantities)->generalize()); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCostSchedule bool IfcCostSchedule::hasPredefinedType() const { return !entity->getArgument(6)->isNull(); } IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum IfcCostSchedule::PredefinedType() const { return IfcCostScheduleTypeEnum::FromString(*entity->getArgument(6)); } void IfcCostSchedule::setPredefinedType(IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcCostScheduleTypeEnum::ToString(v)); } bool IfcCostSchedule::hasStatus() const { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcCostSchedule::Status() const { return *entity->getArgument(7); } -void IfcCostSchedule::setStatus(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcCostSchedule::Status() const { return *entity->getArgument(7); } +void IfcCostSchedule::setStatus(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcCostSchedule::hasSubmittedOn() const { return !entity->getArgument(8)->isNull(); } -IfcDateTime IfcCostSchedule::SubmittedOn() const { return *entity->getArgument(8); } -void IfcCostSchedule::setSubmittedOn(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcCostSchedule::SubmittedOn() const { return *entity->getArgument(8); } +void IfcCostSchedule::setSubmittedOn(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcCostSchedule::hasUpdateDate() const { return !entity->getArgument(9)->isNull(); } -IfcDateTime IfcCostSchedule::UpdateDate() const { return *entity->getArgument(9); } -void IfcCostSchedule::setUpdateDate(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +std::string IfcCostSchedule::UpdateDate() const { return *entity->getArgument(9); } +void IfcCostSchedule::setUpdateDate(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcCostSchedule::is(Type::Enum v) const { return v == Type::IfcCostSchedule || IfcControl::is(v); } Type::Enum IfcCostSchedule::type() const { return Type::IfcCostSchedule; } Type::Enum IfcCostSchedule::Class() { return Type::IfcCostSchedule; } IfcCostSchedule::IfcCostSchedule(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCostSchedule)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCostSchedule::IfcCostSchedule(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum > v7_PredefinedType, boost::optional< IfcLabel > v8_Status, boost::optional< IfcDateTime > v9_SubmittedOn, boost::optional< IfcDateTime > v10_UpdateDate) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcCostScheduleTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } if (v9_SubmittedOn) { e->setArgument(8,(*v9_SubmittedOn)); } else { e->setArgument(8); } if (v10_UpdateDate) { e->setArgument(9,(*v10_UpdateDate)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcCostScheduleTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } if (v9_SubmittedOn) { e->setArgument(8,(*v9_SubmittedOn)); } else { e->setArgument(8); } if (v10_UpdateDate) { e->setArgument(9,(*v10_UpdateDate)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCostValue bool IfcCostValue::is(Type::Enum v) const { return v == Type::IfcCostValue || IfcAppliedValue::is(v); } Type::Enum IfcCostValue::type() const { return Type::IfcCostValue; } Type::Enum IfcCostValue::Class() { return Type::IfcCostValue; } IfcCostValue::IfcCostValue(IfcAbstractEntity* e) : IfcAppliedValue((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCostValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCostValue::IfcCostValue(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDate > v5_ApplicableDate, boost::optional< IfcDate > v6_FixedUntilDate, boost::optional< IfcLabel > v7_Category, boost::optional< IfcLabel > v8_Condition, boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v9_ArithmeticOperator, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_AppliedValue) { e->setArgument(2,(*v3_AppliedValue)); } else { e->setArgument(2); } e->setArgument(3,(v4_UnitBasis)); if (v5_ApplicableDate) { e->setArgument(4,(*v5_ApplicableDate)); } else { e->setArgument(4); } if (v6_FixedUntilDate) { e->setArgument(5,(*v6_FixedUntilDate)); } else { e->setArgument(5); } if (v7_Category) { e->setArgument(6,(*v7_Category)); } else { e->setArgument(6); } if (v8_Condition) { e->setArgument(7,(*v8_Condition)); } else { e->setArgument(7); } if (v9_ArithmeticOperator) { e->setArgument(8,*v9_ArithmeticOperator,IfcArithmeticOperatorEnum::ToString(*v9_ArithmeticOperator)); } else { e->setArgument(8); } if (v10_Components) { e->setArgument(9,(*v10_Components)->generalize()); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcAppliedValueSelect* v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< std::string > v5_ApplicableDate, boost::optional< std::string > v6_FixedUntilDate, boost::optional< std::string > v7_Category, boost::optional< std::string > v8_Condition, boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v9_ArithmeticOperator, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AppliedValue)); e->setArgument(3,(v4_UnitBasis)); if (v5_ApplicableDate) { e->setArgument(4,(*v5_ApplicableDate)); } else { e->setArgument(4); } if (v6_FixedUntilDate) { e->setArgument(5,(*v6_FixedUntilDate)); } else { e->setArgument(5); } if (v7_Category) { e->setArgument(6,(*v7_Category)); } else { e->setArgument(6); } if (v8_Condition) { e->setArgument(7,(*v8_Condition)); } else { e->setArgument(7); } if (v9_ArithmeticOperator) { e->setArgument(8,*v9_ArithmeticOperator,IfcArithmeticOperatorEnum::ToString(*v9_ArithmeticOperator)); } else { e->setArgument(8); } if (v10_Components) { e->setArgument(9,(*v10_Components)->generalize()); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCovering bool IfcCovering::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -7996,7 +9543,7 @@ bool IfcCovering::is(Type::Enum v) const { return v == Type::IfcCovering || IfcB Type::Enum IfcCovering::type() const { return Type::IfcCovering; } Type::Enum IfcCovering::Class() { return Type::IfcCovering; } IfcCovering::IfcCovering(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCovering)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCovering::IfcCovering(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCoveringTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCovering::IfcCovering(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCoveringTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoveringType IfcCoveringTypeEnum::IfcCoveringTypeEnum IfcCoveringType::PredefinedType() const { return IfcCoveringTypeEnum::FromString(*entity->getArgument(9)); } @@ -8005,7 +9552,7 @@ bool IfcCoveringType::is(Type::Enum v) const { return v == Type::IfcCoveringType Type::Enum IfcCoveringType::type() const { return Type::IfcCoveringType; } Type::Enum IfcCoveringType::Class() { return Type::IfcCoveringType; } IfcCoveringType::IfcCoveringType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCoveringType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoveringType::IfcCoveringType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoveringTypeEnum::IfcCoveringTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCoveringTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCoveringTypeEnum::IfcCoveringTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCoveringTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCrewResource bool IfcCrewResource::hasPredefinedType() const { return !entity->getArgument(10)->isNull(); } @@ -8015,7 +9562,7 @@ bool IfcCrewResource::is(Type::Enum v) const { return v == Type::IfcCrewResource Type::Enum IfcCrewResource::type() const { return Type::IfcCrewResource; } Type::Enum IfcCrewResource::Class() { return Type::IfcCrewResource; } IfcCrewResource::IfcCrewResource(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCrewResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCrewResource::IfcCrewResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcCrewResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcCrewResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCrewResourceType IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum IfcCrewResourceType::PredefinedType() const { return IfcCrewResourceTypeEnum::FromString(*entity->getArgument(11)); } @@ -8024,7 +9571,7 @@ bool IfcCrewResourceType::is(Type::Enum v) const { return v == Type::IfcCrewReso Type::Enum IfcCrewResourceType::type() const { return Type::IfcCrewResourceType; } Type::Enum IfcCrewResourceType::Class() { return Type::IfcCrewResourceType; } IfcCrewResourceType::IfcCrewResourceType(IfcAbstractEntity* e) : IfcConstructionResourceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCrewResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCrewResourceType::IfcCrewResourceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); e->setArgument(11,v12_PredefinedType,IfcCrewResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); e->setArgument(11,v12_PredefinedType,IfcCrewResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCsgPrimitive3D IfcAxis2Placement3D* IfcCsgPrimitive3D::Position() const { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -8036,24 +9583,24 @@ IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcAbstractEntity* e) : IfcGeometricReprese IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCsgSolid -IfcCsgSelect IfcCsgSolid::TreeRootExpression() const { return *entity->getArgument(0); } -void IfcCsgSolid::setTreeRootExpression(IfcCsgSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcCsgSelect* IfcCsgSolid::TreeRootExpression() const { return (IfcCsgSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcCsgSolid::setTreeRootExpression(IfcCsgSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcCsgSolid::is(Type::Enum v) const { return v == Type::IfcCsgSolid || IfcSolidModel::is(v); } Type::Enum IfcCsgSolid::type() const { return Type::IfcCsgSolid; } Type::Enum IfcCsgSolid::Class() { return Type::IfcCsgSolid; } IfcCsgSolid::IfcCsgSolid(IfcAbstractEntity* e) : IfcSolidModel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCsgSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCsgSolid::IfcCsgSolid(IfcCsgSelect v1_TreeRootExpression) : IfcSolidModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TreeRootExpression)); entity = e; EntityBuffer::Add(this); } +IfcCsgSolid::IfcCsgSolid(IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TreeRootExpression)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurrencyRelationship IfcMonetaryUnit* IfcCurrencyRelationship::RelatingMonetaryUnit() const { return (IfcMonetaryUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcCurrencyRelationship::setRelatingMonetaryUnit(IfcMonetaryUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcMonetaryUnit* IfcCurrencyRelationship::RelatedMonetaryUnit() const { return (IfcMonetaryUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcCurrencyRelationship::setRelatedMonetaryUnit(IfcMonetaryUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveRatioMeasure IfcCurrencyRelationship::ExchangeRate() const { return *entity->getArgument(4); } -void IfcCurrencyRelationship::setExchangeRate(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcCurrencyRelationship::ExchangeRate() const { return *entity->getArgument(4); } +void IfcCurrencyRelationship::setExchangeRate(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcCurrencyRelationship::hasRateDateTime() const { return !entity->getArgument(5)->isNull(); } -IfcDateTime IfcCurrencyRelationship::RateDateTime() const { return *entity->getArgument(5); } -void IfcCurrencyRelationship::setRateDateTime(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcCurrencyRelationship::RateDateTime() const { return *entity->getArgument(5); } +void IfcCurrencyRelationship::setRateDateTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcCurrencyRelationship::hasRateSource() const { return !entity->getArgument(6)->isNull(); } IfcLibraryInformation* IfcCurrencyRelationship::RateSource() const { return (IfcLibraryInformation*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } void IfcCurrencyRelationship::setRateSource(IfcLibraryInformation* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } @@ -8061,7 +9608,7 @@ bool IfcCurrencyRelationship::is(Type::Enum v) const { return v == Type::IfcCurr Type::Enum IfcCurrencyRelationship::type() const { return Type::IfcCurrencyRelationship; } Type::Enum IfcCurrencyRelationship::Class() { return Type::IfcCurrencyRelationship; } IfcCurrencyRelationship::IfcCurrencyRelationship(IfcAbstractEntity* e) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurrencyRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMonetaryUnit* v3_RelatingMonetaryUnit, IfcMonetaryUnit* v4_RelatedMonetaryUnit, IfcPositiveRatioMeasure v5_ExchangeRate, boost::optional< IfcDateTime > v6_RateDateTime, IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingMonetaryUnit)); e->setArgument(3,(v4_RelatedMonetaryUnit)); e->setArgument(4,(v5_ExchangeRate)); if (v6_RateDateTime) { e->setArgument(5,(*v6_RateDateTime)); } else { e->setArgument(5); } e->setArgument(6,(v7_RateSource)); entity = e; EntityBuffer::Add(this); } +IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcMonetaryUnit* v3_RelatingMonetaryUnit, IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingMonetaryUnit)); e->setArgument(3,(v4_RelatedMonetaryUnit)); e->setArgument(4,(v5_ExchangeRate)); if (v6_RateDateTime) { e->setArgument(5,(*v6_RateDateTime)); } else { e->setArgument(5); } e->setArgument(6,(v7_RateSource)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurtainWall bool IfcCurtainWall::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -8071,7 +9618,7 @@ bool IfcCurtainWall::is(Type::Enum v) const { return v == Type::IfcCurtainWall | Type::Enum IfcCurtainWall::type() const { return Type::IfcCurtainWall; } Type::Enum IfcCurtainWall::Class() { return Type::IfcCurtainWall; } IfcCurtainWall::IfcCurtainWall(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurtainWall)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurtainWall::IfcCurtainWall(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCurtainWallTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcCurtainWallTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurtainWallType IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum IfcCurtainWallType::PredefinedType() const { return IfcCurtainWallTypeEnum::FromString(*entity->getArgument(9)); } @@ -8080,7 +9627,7 @@ bool IfcCurtainWallType::is(Type::Enum v) const { return v == Type::IfcCurtainWa Type::Enum IfcCurtainWallType::type() const { return Type::IfcCurtainWallType; } Type::Enum IfcCurtainWallType::Class() { return Type::IfcCurtainWallType; } IfcCurtainWallType::IfcCurtainWallType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurtainWallType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurtainWallType::IfcCurtainWallType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCurtainWallTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcCurtainWallTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurve bool IfcCurve::is(Type::Enum v) const { return v == Type::IfcCurve || IfcGeometricRepresentationItem::is(v); } @@ -8117,14 +9664,14 @@ IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcSurface* v1_BasisSurface, IfcT // Function implementations for IfcCurveStyle bool IfcCurveStyle::hasCurveFont() const { return !entity->getArgument(1)->isNull(); } -IfcCurveFontOrScaledCurveFontSelect IfcCurveStyle::CurveFont() const { return *entity->getArgument(1); } -void IfcCurveStyle::setCurveFont(IfcCurveFontOrScaledCurveFontSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcCurveFontOrScaledCurveFontSelect* IfcCurveStyle::CurveFont() const { return (IfcCurveFontOrScaledCurveFontSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcCurveStyle::setCurveFont(IfcCurveFontOrScaledCurveFontSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcCurveStyle::hasCurveWidth() const { return !entity->getArgument(2)->isNull(); } -IfcSizeSelect IfcCurveStyle::CurveWidth() const { return *entity->getArgument(2); } -void IfcCurveStyle::setCurveWidth(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +IfcSizeSelect* IfcCurveStyle::CurveWidth() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } +void IfcCurveStyle::setCurveWidth(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcCurveStyle::hasCurveColour() const { return !entity->getArgument(3)->isNull(); } -IfcColour IfcCurveStyle::CurveColour() const { return *entity->getArgument(3); } -void IfcCurveStyle::setCurveColour(IfcColour v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +IfcColour* IfcCurveStyle::CurveColour() const { return (IfcColour*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } +void IfcCurveStyle::setCurveColour(IfcColour* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcCurveStyle::hasModelOrDraughting() const { return !entity->getArgument(4)->isNull(); } bool IfcCurveStyle::ModelOrDraughting() const { return *entity->getArgument(4); } void IfcCurveStyle::setModelOrDraughting(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } @@ -8132,53 +9679,53 @@ bool IfcCurveStyle::is(Type::Enum v) const { return v == Type::IfcCurveStyle || Type::Enum IfcCurveStyle::type() const { return Type::IfcCurveStyle; } Type::Enum IfcCurveStyle::Class() { return Type::IfcCurveStyle; } IfcCurveStyle::IfcCurveStyle(IfcAbstractEntity* e) : IfcPresentationStyle((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurveStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurveStyle::IfcCurveStyle(boost::optional< IfcLabel > v1_Name, boost::optional< IfcCurveFontOrScaledCurveFontSelect > v2_CurveFont, boost::optional< IfcSizeSelect > v3_CurveWidth, boost::optional< IfcColour > v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_CurveFont) { e->setArgument(1,(*v2_CurveFont)); } else { e->setArgument(1); } if (v3_CurveWidth) { e->setArgument(2,(*v3_CurveWidth)); } else { e->setArgument(2); } if (v4_CurveColour) { e->setArgument(3,(*v4_CurveColour)); } else { e->setArgument(3); } if (v5_ModelOrDraughting) { e->setArgument(4,(*v5_ModelOrDraughting)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, IfcSizeSelect* v3_CurveWidth, IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_CurveFont)); e->setArgument(2,(v3_CurveWidth)); e->setArgument(3,(v4_CurveColour)); if (v5_ModelOrDraughting) { e->setArgument(4,(*v5_ModelOrDraughting)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurveStyleFont bool IfcCurveStyleFont::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcCurveStyleFont::Name() const { return *entity->getArgument(0); } -void IfcCurveStyleFont::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcCurveStyleFont::Name() const { return *entity->getArgument(0); } +void IfcCurveStyleFont::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr IfcCurveStyleFont::PatternList() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } void IfcCurveStyleFont::setPatternList(IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } bool IfcCurveStyleFont::is(Type::Enum v) const { return v == Type::IfcCurveStyleFont || IfcPresentationItem::is(v); } Type::Enum IfcCurveStyleFont::type() const { return Type::IfcCurveStyleFont; } Type::Enum IfcCurveStyleFont::Class() { return Type::IfcCurveStyleFont; } IfcCurveStyleFont::IfcCurveStyleFont(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurveStyleFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< IfcLabel > v1_Name, IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_PatternList)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_PatternList)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurveStyleFontAndScaling bool IfcCurveStyleFontAndScaling::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcCurveStyleFontAndScaling::Name() const { return *entity->getArgument(0); } -void IfcCurveStyleFontAndScaling::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcCurveStyleFontSelect IfcCurveStyleFontAndScaling::CurveFont() const { return *entity->getArgument(1); } -void IfcCurveStyleFontAndScaling::setCurveFont(IfcCurveStyleFontSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveRatioMeasure IfcCurveStyleFontAndScaling::CurveFontScaling() const { return *entity->getArgument(2); } -void IfcCurveStyleFontAndScaling::setCurveFontScaling(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcCurveStyleFontAndScaling::Name() const { return *entity->getArgument(0); } +void IfcCurveStyleFontAndScaling::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcCurveStyleFontSelect* IfcCurveStyleFontAndScaling::CurveFont() const { return (IfcCurveStyleFontSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcCurveStyleFontAndScaling::setCurveFont(IfcCurveStyleFontSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcCurveStyleFontAndScaling::CurveFontScaling() const { return *entity->getArgument(2); } +void IfcCurveStyleFontAndScaling::setCurveFontScaling(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcCurveStyleFontAndScaling::is(Type::Enum v) const { return v == Type::IfcCurveStyleFontAndScaling || IfcPresentationItem::is(v); } Type::Enum IfcCurveStyleFontAndScaling::type() const { return Type::IfcCurveStyleFontAndScaling; } Type::Enum IfcCurveStyleFontAndScaling::Class() { return Type::IfcCurveStyleFontAndScaling; } IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurveStyleFontAndScaling)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< IfcLabel > v1_Name, IfcCurveStyleFontSelect v2_CurveFont, IfcPositiveRatioMeasure v3_CurveFontScaling) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_CurveFont)); e->setArgument(2,(v3_CurveFontScaling)); entity = e; EntityBuffer::Add(this); } +IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, IfcCurveStyleFontSelect* v2_CurveFont, double v3_CurveFontScaling) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_CurveFont)); e->setArgument(2,(v3_CurveFontScaling)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCurveStyleFontPattern -IfcLengthMeasure IfcCurveStyleFontPattern::VisibleSegmentLength() const { return *entity->getArgument(0); } -void IfcCurveStyleFontPattern::setVisibleSegmentLength(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcPositiveLengthMeasure IfcCurveStyleFontPattern::InvisibleSegmentLength() const { return *entity->getArgument(1); } -void IfcCurveStyleFontPattern::setInvisibleSegmentLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcCurveStyleFontPattern::VisibleSegmentLength() const { return *entity->getArgument(0); } +void IfcCurveStyleFontPattern::setVisibleSegmentLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +double IfcCurveStyleFontPattern::InvisibleSegmentLength() const { return *entity->getArgument(1); } +void IfcCurveStyleFontPattern::setInvisibleSegmentLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcCurveStyleFontPattern::is(Type::Enum v) const { return v == Type::IfcCurveStyleFontPattern || IfcPresentationItem::is(v); } Type::Enum IfcCurveStyleFontPattern::type() const { return Type::IfcCurveStyleFontPattern; } Type::Enum IfcCurveStyleFontPattern::Class() { return Type::IfcCurveStyleFontPattern; } IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCurveStyleFontPattern)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(IfcLengthMeasure v1_VisibleSegmentLength, IfcPositiveLengthMeasure v2_InvisibleSegmentLength) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_VisibleSegmentLength)); e->setArgument(1,(v2_InvisibleSegmentLength)); entity = e; EntityBuffer::Add(this); } +IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_VisibleSegmentLength)); e->setArgument(1,(v2_InvisibleSegmentLength)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCylindricalSurface -IfcPositiveLengthMeasure IfcCylindricalSurface::Radius() const { return *entity->getArgument(1); } -void IfcCylindricalSurface::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcCylindricalSurface::Radius() const { return *entity->getArgument(1); } +void IfcCylindricalSurface::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcCylindricalSurface::is(Type::Enum v) const { return v == Type::IfcCylindricalSurface || IfcElementarySurface::is(v); } Type::Enum IfcCylindricalSurface::type() const { return Type::IfcCylindricalSurface; } Type::Enum IfcCylindricalSurface::Class() { return Type::IfcCylindricalSurface; } IfcCylindricalSurface::IfcCylindricalSurface(IfcAbstractEntity* e) : IfcElementarySurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCylindricalSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCylindricalSurface::IfcCylindricalSurface(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Radius) : IfcElementarySurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Radius)); entity = e; EntityBuffer::Add(this); } +IfcCylindricalSurface::IfcCylindricalSurface(IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Radius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDamper bool IfcDamper::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -8188,7 +9735,7 @@ bool IfcDamper::is(Type::Enum v) const { return v == Type::IfcDamper || IfcFlowC Type::Enum IfcDamper::type() const { return Type::IfcDamper; } Type::Enum IfcDamper::Class() { return Type::IfcDamper; } IfcDamper::IfcDamper(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDamper)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDamper::IfcDamper(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDamperTypeEnum::IfcDamperTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDamperTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcDamper::IfcDamper(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDamperTypeEnum::IfcDamperTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDamperTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDamperType IfcDamperTypeEnum::IfcDamperTypeEnum IfcDamperType::PredefinedType() const { return IfcDamperTypeEnum::FromString(*entity->getArgument(9)); } @@ -8197,7 +9744,7 @@ bool IfcDamperType::is(Type::Enum v) const { return v == Type::IfcDamperType || Type::Enum IfcDamperType::type() const { return Type::IfcDamperType; } Type::Enum IfcDamperType::Class() { return Type::IfcDamperType; } IfcDamperType::IfcDamperType(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDamperType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDamperType::IfcDamperType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDamperTypeEnum::IfcDamperTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDamperTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcDamperType::IfcDamperType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDamperTypeEnum::IfcDamperTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDamperTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDerivedProfileDef IfcProfileDef* IfcDerivedProfileDef::ParentProfile() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } @@ -8205,13 +9752,13 @@ void IfcDerivedProfileDef::setParentProfile(IfcProfileDef* v) { if ( ! entity->i IfcCartesianTransformationOperator2D* IfcDerivedProfileDef::Operator() const { return (IfcCartesianTransformationOperator2D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcDerivedProfileDef::setOperator(IfcCartesianTransformationOperator2D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcDerivedProfileDef::hasLabel() const { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcDerivedProfileDef::Label() const { return *entity->getArgument(4); } -void IfcDerivedProfileDef::setLabel(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcDerivedProfileDef::Label() const { return *entity->getArgument(4); } +void IfcDerivedProfileDef::setLabel(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcDerivedProfileDef::is(Type::Enum v) const { return v == Type::IfcDerivedProfileDef || IfcProfileDef::is(v); } Type::Enum IfcDerivedProfileDef::type() const { return Type::IfcDerivedProfileDef; } Type::Enum IfcDerivedProfileDef::Class() { return Type::IfcDerivedProfileDef; } IfcDerivedProfileDef::IfcDerivedProfileDef(IfcAbstractEntity* e) : IfcProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDerivedProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDerivedProfileDef::IfcDerivedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcProfileDef* v3_ParentProfile, IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< IfcLabel > v5_Label) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_ParentProfile)); e->setArgument(3,(v4_Operator)); if (v5_Label) { e->setArgument(4,(*v5_Label)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcDerivedProfileDef::IfcDerivedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcProfileDef* v3_ParentProfile, IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_ParentProfile)); e->setArgument(3,(v4_Operator)); if (v5_Label) { e->setArgument(4,(*v5_Label)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDerivedUnit IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr IfcDerivedUnit::Elements() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } @@ -8219,13 +9766,13 @@ void IfcDerivedUnit::setElements(IfcTemplatedEntityList< IfcDerivedUnitElement > IfcDerivedUnitEnum::IfcDerivedUnitEnum IfcDerivedUnit::UnitType() const { return IfcDerivedUnitEnum::FromString(*entity->getArgument(1)); } void IfcDerivedUnit::setUnitType(IfcDerivedUnitEnum::IfcDerivedUnitEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v,IfcDerivedUnitEnum::ToString(v)); } bool IfcDerivedUnit::hasUserDefinedType() const { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcDerivedUnit::UserDefinedType() const { return *entity->getArgument(2); } -void IfcDerivedUnit::setUserDefinedType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcDerivedUnit::UserDefinedType() const { return *entity->getArgument(2); } +void IfcDerivedUnit::setUserDefinedType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcDerivedUnit::is(Type::Enum v) const { return v == Type::IfcDerivedUnit; } Type::Enum IfcDerivedUnit::type() const { return Type::IfcDerivedUnit; } Type::Enum IfcDerivedUnit::Class() { return Type::IfcDerivedUnit; } IfcDerivedUnit::IfcDerivedUnit(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcDerivedUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDerivedUnit::IfcDerivedUnit(IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr v1_Elements, IfcDerivedUnitEnum::IfcDerivedUnitEnum v2_UnitType, boost::optional< IfcLabel > v3_UserDefinedType) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Elements)->generalize()); e->setArgument(1,v2_UnitType,IfcDerivedUnitEnum::ToString(v2_UnitType)); if (v3_UserDefinedType) { e->setArgument(2,(*v3_UserDefinedType)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcDerivedUnit::IfcDerivedUnit(IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr v1_Elements, IfcDerivedUnitEnum::IfcDerivedUnitEnum v2_UnitType, boost::optional< std::string > v3_UserDefinedType) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Elements)->generalize()); e->setArgument(1,v2_UnitType,IfcDerivedUnitEnum::ToString(v2_UnitType)); if (v3_UserDefinedType) { e->setArgument(2,(*v3_UserDefinedType)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDerivedUnitElement IfcNamedUnit* IfcDerivedUnitElement::Unit() const { return (IfcNamedUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -8276,7 +9823,7 @@ bool IfcDiscreteAccessory::is(Type::Enum v) const { return v == Type::IfcDiscret Type::Enum IfcDiscreteAccessory::type() const { return Type::IfcDiscreteAccessory; } Type::Enum IfcDiscreteAccessory::Class() { return Type::IfcDiscreteAccessory; } IfcDiscreteAccessory::IfcDiscreteAccessory(IfcAbstractEntity* e) : IfcElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDiscreteAccessory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDiscreteAccessory::IfcDiscreteAccessory(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum > v9_PredefinedType) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDiscreteAccessoryTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum > v9_PredefinedType) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDiscreteAccessoryTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDiscreteAccessoryType IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum IfcDiscreteAccessoryType::PredefinedType() const { return IfcDiscreteAccessoryTypeEnum::FromString(*entity->getArgument(9)); } @@ -8285,7 +9832,7 @@ bool IfcDiscreteAccessoryType::is(Type::Enum v) const { return v == Type::IfcDis Type::Enum IfcDiscreteAccessoryType::type() const { return Type::IfcDiscreteAccessoryType; } Type::Enum IfcDiscreteAccessoryType::Class() { return Type::IfcDiscreteAccessoryType; } IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(IfcAbstractEntity* e) : IfcElementComponentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDiscreteAccessoryType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum v10_PredefinedType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDiscreteAccessoryTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum v10_PredefinedType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDiscreteAccessoryTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionChamberElement bool IfcDistributionChamberElement::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -8295,7 +9842,7 @@ bool IfcDistributionChamberElement::is(Type::Enum v) const { return v == Type::I Type::Enum IfcDistributionChamberElement::type() const { return Type::IfcDistributionChamberElement; } Type::Enum IfcDistributionChamberElement::Class() { return Type::IfcDistributionChamberElement; } IfcDistributionChamberElement::IfcDistributionChamberElement(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionChamberElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionChamberElement::IfcDistributionChamberElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum > v9_PredefinedType) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDistributionChamberElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum > v9_PredefinedType) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDistributionChamberElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionChamberElementType IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum IfcDistributionChamberElementType::PredefinedType() const { return IfcDistributionChamberElementTypeEnum::FromString(*entity->getArgument(9)); } @@ -8304,14 +9851,14 @@ bool IfcDistributionChamberElementType::is(Type::Enum v) const { return v == Typ Type::Enum IfcDistributionChamberElementType::type() const { return Type::IfcDistributionChamberElementType; } Type::Enum IfcDistributionChamberElementType::Class() { return Type::IfcDistributionChamberElementType; } IfcDistributionChamberElementType::IfcDistributionChamberElementType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionChamberElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionChamberElementType::IfcDistributionChamberElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v10_PredefinedType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDistributionChamberElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v10_PredefinedType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDistributionChamberElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionCircuit bool IfcDistributionCircuit::is(Type::Enum v) const { return v == Type::IfcDistributionCircuit || IfcDistributionSystem::is(v); } Type::Enum IfcDistributionCircuit::type() const { return Type::IfcDistributionCircuit; } Type::Enum IfcDistributionCircuit::Class() { return Type::IfcDistributionCircuit; } IfcDistributionCircuit::IfcDistributionCircuit(IfcAbstractEntity* e) : IfcDistributionSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionCircuit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionCircuit::IfcDistributionCircuit(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v7_PredefinedType) : IfcDistributionSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcDistributionSystemEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v7_PredefinedType) : IfcDistributionSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcDistributionSystemEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionControlElement IfcRelFlowControlElements::list::ptr IfcDistributionControlElement::AssignedToFlowElement() const { return entity->getInverse(Type::IfcRelFlowControlElements)->as(); } @@ -8319,14 +9866,14 @@ bool IfcDistributionControlElement::is(Type::Enum v) const { return v == Type::I Type::Enum IfcDistributionControlElement::type() const { return Type::IfcDistributionControlElement; } Type::Enum IfcDistributionControlElement::Class() { return Type::IfcDistributionControlElement; } IfcDistributionControlElement::IfcDistributionControlElement(IfcAbstractEntity* e) : IfcDistributionElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionControlElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionControlElement::IfcDistributionControlElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionControlElementType bool IfcDistributionControlElementType::is(Type::Enum v) const { return v == Type::IfcDistributionControlElementType || IfcDistributionElementType::is(v); } Type::Enum IfcDistributionControlElementType::type() const { return Type::IfcDistributionControlElementType; } Type::Enum IfcDistributionControlElementType::Class() { return Type::IfcDistributionControlElementType; } IfcDistributionControlElementType::IfcDistributionControlElementType(IfcAbstractEntity* e) : IfcDistributionElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionControlElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionControlElementType::IfcDistributionControlElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionElement IfcRelConnectsPortToElement::list::ptr IfcDistributionElement::HasPorts() const { return entity->getInverse(Type::IfcRelConnectsPortToElement)->as(); } @@ -8334,14 +9881,14 @@ bool IfcDistributionElement::is(Type::Enum v) const { return v == Type::IfcDistr Type::Enum IfcDistributionElement::type() const { return Type::IfcDistributionElement; } Type::Enum IfcDistributionElement::Class() { return Type::IfcDistributionElement; } IfcDistributionElement::IfcDistributionElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionElement::IfcDistributionElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionElementType bool IfcDistributionElementType::is(Type::Enum v) const { return v == Type::IfcDistributionElementType || IfcElementType::is(v); } Type::Enum IfcDistributionElementType::type() const { return Type::IfcDistributionElementType; } Type::Enum IfcDistributionElementType::Class() { return Type::IfcDistributionElementType; } IfcDistributionElementType::IfcDistributionElementType(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionElementType::IfcDistributionElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionFlowElement IfcRelFlowControlElements::list::ptr IfcDistributionFlowElement::HasControlElements() const { return entity->getInverse(Type::IfcRelFlowControlElements)->as(); } @@ -8349,14 +9896,14 @@ bool IfcDistributionFlowElement::is(Type::Enum v) const { return v == Type::IfcD Type::Enum IfcDistributionFlowElement::type() const { return Type::IfcDistributionFlowElement; } Type::Enum IfcDistributionFlowElement::Class() { return Type::IfcDistributionFlowElement; } IfcDistributionFlowElement::IfcDistributionFlowElement(IfcAbstractEntity* e) : IfcDistributionElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionFlowElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionFlowElement::IfcDistributionFlowElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionFlowElementType bool IfcDistributionFlowElementType::is(Type::Enum v) const { return v == Type::IfcDistributionFlowElementType || IfcDistributionElementType::is(v); } Type::Enum IfcDistributionFlowElementType::type() const { return Type::IfcDistributionFlowElementType; } Type::Enum IfcDistributionFlowElementType::Class() { return Type::IfcDistributionFlowElementType; } IfcDistributionFlowElementType::IfcDistributionFlowElementType(IfcAbstractEntity* e) : IfcDistributionElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionFlowElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionFlowElementType::IfcDistributionFlowElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionPort bool IfcDistributionPort::hasFlowDirection() const { return !entity->getArgument(7)->isNull(); } @@ -8372,12 +9919,12 @@ bool IfcDistributionPort::is(Type::Enum v) const { return v == Type::IfcDistribu Type::Enum IfcDistributionPort::type() const { return Type::IfcDistributionPort; } Type::Enum IfcDistributionPort::Class() { return Type::IfcDistributionPort; } IfcDistributionPort::IfcDistributionPort(IfcAbstractEntity* e) : IfcPort((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionPort)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionPort::IfcDistributionPort(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v8_FlowDirection, boost::optional< IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum > v9_PredefinedType, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v10_SystemType) : IfcPort((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_FlowDirection) { e->setArgument(7,*v8_FlowDirection,IfcFlowDirectionEnum::ToString(*v8_FlowDirection)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDistributionPortTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } if (v10_SystemType) { e->setArgument(9,*v10_SystemType,IfcDistributionSystemEnum::ToString(*v10_SystemType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v8_FlowDirection, boost::optional< IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum > v9_PredefinedType, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v10_SystemType) : IfcPort((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_FlowDirection) { e->setArgument(7,*v8_FlowDirection,IfcFlowDirectionEnum::ToString(*v8_FlowDirection)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDistributionPortTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } if (v10_SystemType) { e->setArgument(9,*v10_SystemType,IfcDistributionSystemEnum::ToString(*v10_SystemType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDistributionSystem bool IfcDistributionSystem::hasLongName() const { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcDistributionSystem::LongName() const { return *entity->getArgument(5); } -void IfcDistributionSystem::setLongName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcDistributionSystem::LongName() const { return *entity->getArgument(5); } +void IfcDistributionSystem::setLongName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcDistributionSystem::hasPredefinedType() const { return !entity->getArgument(6)->isNull(); } IfcDistributionSystemEnum::IfcDistributionSystemEnum IfcDistributionSystem::PredefinedType() const { return IfcDistributionSystemEnum::FromString(*entity->getArgument(6)); } void IfcDistributionSystem::setPredefinedType(IfcDistributionSystemEnum::IfcDistributionSystemEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcDistributionSystemEnum::ToString(v)); } @@ -8385,52 +9932,52 @@ bool IfcDistributionSystem::is(Type::Enum v) const { return v == Type::IfcDistri Type::Enum IfcDistributionSystem::type() const { return Type::IfcDistributionSystem; } Type::Enum IfcDistributionSystem::Class() { return Type::IfcDistributionSystem; } IfcDistributionSystem::IfcDistributionSystem(IfcAbstractEntity* e) : IfcSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDistributionSystem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDistributionSystem::IfcDistributionSystem(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v7_PredefinedType) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcDistributionSystemEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcDistributionSystem::IfcDistributionSystem(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v7_PredefinedType) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcDistributionSystemEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDocumentInformation -IfcIdentifier IfcDocumentInformation::Identification() const { return *entity->getArgument(0); } -void IfcDocumentInformation::setIdentification(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLabel IfcDocumentInformation::Name() const { return *entity->getArgument(1); } -void IfcDocumentInformation::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcDocumentInformation::Identification() const { return *entity->getArgument(0); } +void IfcDocumentInformation::setIdentification(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcDocumentInformation::Name() const { return *entity->getArgument(1); } +void IfcDocumentInformation::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcDocumentInformation::hasDescription() const { return !entity->getArgument(2)->isNull(); } -IfcText IfcDocumentInformation::Description() const { return *entity->getArgument(2); } -void IfcDocumentInformation::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcDocumentInformation::Description() const { return *entity->getArgument(2); } +void IfcDocumentInformation::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcDocumentInformation::hasLocation() const { return !entity->getArgument(3)->isNull(); } -IfcURIReference IfcDocumentInformation::Location() const { return *entity->getArgument(3); } -void IfcDocumentInformation::setLocation(IfcURIReference v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcDocumentInformation::Location() const { return *entity->getArgument(3); } +void IfcDocumentInformation::setLocation(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcDocumentInformation::hasPurpose() const { return !entity->getArgument(4)->isNull(); } -IfcText IfcDocumentInformation::Purpose() const { return *entity->getArgument(4); } -void IfcDocumentInformation::setPurpose(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcDocumentInformation::Purpose() const { return *entity->getArgument(4); } +void IfcDocumentInformation::setPurpose(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcDocumentInformation::hasIntendedUse() const { return !entity->getArgument(5)->isNull(); } -IfcText IfcDocumentInformation::IntendedUse() const { return *entity->getArgument(5); } -void IfcDocumentInformation::setIntendedUse(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcDocumentInformation::IntendedUse() const { return *entity->getArgument(5); } +void IfcDocumentInformation::setIntendedUse(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcDocumentInformation::hasScope() const { return !entity->getArgument(6)->isNull(); } -IfcText IfcDocumentInformation::Scope() const { return *entity->getArgument(6); } -void IfcDocumentInformation::setScope(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcDocumentInformation::Scope() const { return *entity->getArgument(6); } +void IfcDocumentInformation::setScope(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcDocumentInformation::hasRevision() const { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcDocumentInformation::Revision() const { return *entity->getArgument(7); } -void IfcDocumentInformation::setRevision(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcDocumentInformation::Revision() const { return *entity->getArgument(7); } +void IfcDocumentInformation::setRevision(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcDocumentInformation::hasDocumentOwner() const { return !entity->getArgument(8)->isNull(); } -IfcActorSelect IfcDocumentInformation::DocumentOwner() const { return *entity->getArgument(8); } -void IfcDocumentInformation::setDocumentOwner(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +IfcActorSelect* IfcDocumentInformation::DocumentOwner() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } +void IfcDocumentInformation::setDocumentOwner(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcDocumentInformation::hasEditors() const { return !entity->getArgument(9)->isNull(); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcDocumentInformation::Editors() const { IfcEntityList::ptr es = *entity->getArgument(9); return es->as(); } -void IfcDocumentInformation::setEditors(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } +IfcEntityList::ptr IfcDocumentInformation::Editors() const { return *entity->getArgument(9); } +void IfcDocumentInformation::setEditors(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcDocumentInformation::hasCreationTime() const { return !entity->getArgument(10)->isNull(); } -IfcDateTime IfcDocumentInformation::CreationTime() const { return *entity->getArgument(10); } -void IfcDocumentInformation::setCreationTime(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +std::string IfcDocumentInformation::CreationTime() const { return *entity->getArgument(10); } +void IfcDocumentInformation::setCreationTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcDocumentInformation::hasLastRevisionTime() const { return !entity->getArgument(11)->isNull(); } -IfcDateTime IfcDocumentInformation::LastRevisionTime() const { return *entity->getArgument(11); } -void IfcDocumentInformation::setLastRevisionTime(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +std::string IfcDocumentInformation::LastRevisionTime() const { return *entity->getArgument(11); } +void IfcDocumentInformation::setLastRevisionTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcDocumentInformation::hasElectronicFormat() const { return !entity->getArgument(12)->isNull(); } -IfcIdentifier IfcDocumentInformation::ElectronicFormat() const { return *entity->getArgument(12); } -void IfcDocumentInformation::setElectronicFormat(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +std::string IfcDocumentInformation::ElectronicFormat() const { return *entity->getArgument(12); } +void IfcDocumentInformation::setElectronicFormat(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcDocumentInformation::hasValidFrom() const { return !entity->getArgument(13)->isNull(); } -IfcDate IfcDocumentInformation::ValidFrom() const { return *entity->getArgument(13); } -void IfcDocumentInformation::setValidFrom(IfcDate v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } +std::string IfcDocumentInformation::ValidFrom() const { return *entity->getArgument(13); } +void IfcDocumentInformation::setValidFrom(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } bool IfcDocumentInformation::hasValidUntil() const { return !entity->getArgument(14)->isNull(); } -IfcDate IfcDocumentInformation::ValidUntil() const { return *entity->getArgument(14); } -void IfcDocumentInformation::setValidUntil(IfcDate v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } +std::string IfcDocumentInformation::ValidUntil() const { return *entity->getArgument(14); } +void IfcDocumentInformation::setValidUntil(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } bool IfcDocumentInformation::hasConfidentiality() const { return !entity->getArgument(15)->isNull(); } IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum IfcDocumentInformation::Confidentiality() const { return IfcDocumentConfidentialityEnum::FromString(*entity->getArgument(15)); } void IfcDocumentInformation::setConfidentiality(IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v,IfcDocumentConfidentialityEnum::ToString(v)); } @@ -8445,7 +9992,7 @@ bool IfcDocumentInformation::is(Type::Enum v) const { return v == Type::IfcDocum Type::Enum IfcDocumentInformation::type() const { return Type::IfcDocumentInformation; } Type::Enum IfcDocumentInformation::Class() { return Type::IfcDocumentInformation; } IfcDocumentInformation::IfcDocumentInformation(IfcAbstractEntity* e) : IfcExternalInformation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDocumentInformation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDocumentInformation::IfcDocumentInformation(IfcIdentifier v1_Identification, IfcLabel v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcURIReference > v4_Location, boost::optional< IfcText > v5_Purpose, boost::optional< IfcText > v6_IntendedUse, boost::optional< IfcText > v7_Scope, boost::optional< IfcLabel > v8_Revision, boost::optional< IfcActorSelect > v9_DocumentOwner, boost::optional< IfcEntityList::ptr > v10_Editors, boost::optional< IfcDateTime > v11_CreationTime, boost::optional< IfcDateTime > v12_LastRevisionTime, boost::optional< IfcIdentifier > v13_ElectronicFormat, boost::optional< IfcDate > v14_ValidFrom, boost::optional< IfcDate > v15_ValidUntil, boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v16_Confidentiality, boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v17_Status) : IfcExternalInformation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Identification)); e->setArgument(1,(v2_Name)); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_Location) { e->setArgument(3,(*v4_Location)); } else { e->setArgument(3); } if (v5_Purpose) { e->setArgument(4,(*v5_Purpose)); } else { e->setArgument(4); } if (v6_IntendedUse) { e->setArgument(5,(*v6_IntendedUse)); } else { e->setArgument(5); } if (v7_Scope) { e->setArgument(6,(*v7_Scope)); } else { e->setArgument(6); } if (v8_Revision) { e->setArgument(7,(*v8_Revision)); } else { e->setArgument(7); } if (v9_DocumentOwner) { e->setArgument(8,(*v9_DocumentOwner)); } else { e->setArgument(8); } if (v10_Editors) { e->setArgument(9,(*v10_Editors)); } else { e->setArgument(9); } if (v11_CreationTime) { e->setArgument(10,(*v11_CreationTime)); } else { e->setArgument(10); } if (v12_LastRevisionTime) { e->setArgument(11,(*v12_LastRevisionTime)); } else { e->setArgument(11); } if (v13_ElectronicFormat) { e->setArgument(12,(*v13_ElectronicFormat)); } else { e->setArgument(12); } if (v14_ValidFrom) { e->setArgument(13,(*v14_ValidFrom)); } else { e->setArgument(13); } if (v15_ValidUntil) { e->setArgument(14,(*v15_ValidUntil)); } else { e->setArgument(14); } if (v16_Confidentiality) { e->setArgument(15,*v16_Confidentiality,IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality)); } else { e->setArgument(15); } if (v17_Status) { e->setArgument(16,*v17_Status,IfcDocumentStatusEnum::ToString(*v17_Status)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } +IfcDocumentInformation::IfcDocumentInformation(std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, IfcActorSelect* v9_DocumentOwner, boost::optional< IfcEntityList::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v16_Confidentiality, boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v17_Status) : IfcExternalInformation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Identification)); e->setArgument(1,(v2_Name)); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_Location) { e->setArgument(3,(*v4_Location)); } else { e->setArgument(3); } if (v5_Purpose) { e->setArgument(4,(*v5_Purpose)); } else { e->setArgument(4); } if (v6_IntendedUse) { e->setArgument(5,(*v6_IntendedUse)); } else { e->setArgument(5); } if (v7_Scope) { e->setArgument(6,(*v7_Scope)); } else { e->setArgument(6); } if (v8_Revision) { e->setArgument(7,(*v8_Revision)); } else { e->setArgument(7); } e->setArgument(8,(v9_DocumentOwner)); if (v10_Editors) { e->setArgument(9,(*v10_Editors)); } else { e->setArgument(9); } if (v11_CreationTime) { e->setArgument(10,(*v11_CreationTime)); } else { e->setArgument(10); } if (v12_LastRevisionTime) { e->setArgument(11,(*v12_LastRevisionTime)); } else { e->setArgument(11); } if (v13_ElectronicFormat) { e->setArgument(12,(*v13_ElectronicFormat)); } else { e->setArgument(12); } if (v14_ValidFrom) { e->setArgument(13,(*v14_ValidFrom)); } else { e->setArgument(13); } if (v15_ValidUntil) { e->setArgument(14,(*v15_ValidUntil)); } else { e->setArgument(14); } if (v16_Confidentiality) { e->setArgument(15,*v16_Confidentiality,IfcDocumentConfidentialityEnum::ToString(*v16_Confidentiality)); } else { e->setArgument(15); } if (v17_Status) { e->setArgument(16,*v17_Status,IfcDocumentStatusEnum::ToString(*v17_Status)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDocumentInformationRelationship IfcDocumentInformation* IfcDocumentInformationRelationship::RelatingDocument() const { return (IfcDocumentInformation*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } @@ -8453,18 +10000,18 @@ void IfcDocumentInformationRelationship::setRelatingDocument(IfcDocumentInformat IfcTemplatedEntityList< IfcDocumentInformation >::ptr IfcDocumentInformationRelationship::RelatedDocuments() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } void IfcDocumentInformationRelationship::setRelatedDocuments(IfcTemplatedEntityList< IfcDocumentInformation >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } bool IfcDocumentInformationRelationship::hasRelationshipType() const { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcDocumentInformationRelationship::RelationshipType() const { return *entity->getArgument(4); } -void IfcDocumentInformationRelationship::setRelationshipType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcDocumentInformationRelationship::RelationshipType() const { return *entity->getArgument(4); } +void IfcDocumentInformationRelationship::setRelationshipType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcDocumentInformationRelationship::is(Type::Enum v) const { return v == Type::IfcDocumentInformationRelationship || IfcResourceLevelRelationship::is(v); } Type::Enum IfcDocumentInformationRelationship::type() const { return Type::IfcDocumentInformationRelationship; } Type::Enum IfcDocumentInformationRelationship::Class() { return Type::IfcDocumentInformationRelationship; } IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcAbstractEntity* e) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDocumentInformationRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcDocumentInformation* v3_RelatingDocument, IfcTemplatedEntityList< IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< IfcLabel > v5_RelationshipType) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingDocument)); e->setArgument(3,(v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) { e->setArgument(4,(*v5_RelationshipType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcDocumentInformation* v3_RelatingDocument, IfcTemplatedEntityList< IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingDocument)); e->setArgument(3,(v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) { e->setArgument(4,(*v5_RelationshipType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDocumentReference bool IfcDocumentReference::hasDescription() const { return !entity->getArgument(3)->isNull(); } -IfcText IfcDocumentReference::Description() const { return *entity->getArgument(3); } -void IfcDocumentReference::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcDocumentReference::Description() const { return *entity->getArgument(3); } +void IfcDocumentReference::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcDocumentReference::hasReferencedDocument() const { return !entity->getArgument(4)->isNull(); } IfcDocumentInformation* IfcDocumentReference::ReferencedDocument() const { return (IfcDocumentInformation*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } void IfcDocumentReference::setReferencedDocument(IfcDocumentInformation* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } @@ -8473,15 +10020,15 @@ bool IfcDocumentReference::is(Type::Enum v) const { return v == Type::IfcDocumen Type::Enum IfcDocumentReference::type() const { return Type::IfcDocumentReference; } Type::Enum IfcDocumentReference::Class() { return Type::IfcDocumentReference; } IfcDocumentReference::IfcDocumentReference(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDocumentReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDocumentReference::IfcDocumentReference(boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ReferencedDocument)); entity = e; EntityBuffer::Add(this); } +IfcDocumentReference::IfcDocumentReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ReferencedDocument)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoor bool IfcDoor::hasOverallHeight() const { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcDoor::OverallHeight() const { return *entity->getArgument(8); } -void IfcDoor::setOverallHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcDoor::OverallHeight() const { return *entity->getArgument(8); } +void IfcDoor::setOverallHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcDoor::hasOverallWidth() const { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcDoor::OverallWidth() const { return *entity->getArgument(9); } -void IfcDoor::setOverallWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcDoor::OverallWidth() const { return *entity->getArgument(9); } +void IfcDoor::setOverallWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcDoor::hasPredefinedType() const { return !entity->getArgument(10)->isNull(); } IfcDoorTypeEnum::IfcDoorTypeEnum IfcDoor::PredefinedType() const { return IfcDoorTypeEnum::FromString(*entity->getArgument(10)); } void IfcDoor::setPredefinedType(IfcDoorTypeEnum::IfcDoorTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v,IfcDoorTypeEnum::ToString(v)); } @@ -8489,69 +10036,69 @@ bool IfcDoor::hasOperationType() const { return !entity->getArgument(11)->isNull IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum IfcDoor::OperationType() const { return IfcDoorTypeOperationEnum::FromString(*entity->getArgument(11)); } void IfcDoor::setOperationType(IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v,IfcDoorTypeOperationEnum::ToString(v)); } bool IfcDoor::hasUserDefinedOperationType() const { return !entity->getArgument(12)->isNull(); } -IfcLabel IfcDoor::UserDefinedOperationType() const { return *entity->getArgument(12); } -void IfcDoor::setUserDefinedOperationType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +std::string IfcDoor::UserDefinedOperationType() const { return *entity->getArgument(12); } +void IfcDoor::setUserDefinedOperationType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcDoor::is(Type::Enum v) const { return v == Type::IfcDoor || IfcBuildingElement::is(v); } Type::Enum IfcDoor::type() const { return Type::IfcDoor; } Type::Enum IfcDoor::Class() { return Type::IfcDoor; } IfcDoor::IfcDoor(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoor::IfcDoor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth, boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > v11_PredefinedType, boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > v12_OperationType, boost::optional< IfcLabel > v13_UserDefinedOperationType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcDoorTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } if (v12_OperationType) { e->setArgument(11,*v12_OperationType,IfcDoorTypeOperationEnum::ToString(*v12_OperationType)); } else { e->setArgument(11); } if (v13_UserDefinedOperationType) { e->setArgument(12,(*v13_UserDefinedOperationType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcDoor::IfcDoor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > v11_PredefinedType, boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcDoorTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } if (v12_OperationType) { e->setArgument(11,*v12_OperationType,IfcDoorTypeOperationEnum::ToString(*v12_OperationType)); } else { e->setArgument(11); } if (v13_UserDefinedOperationType) { e->setArgument(12,(*v13_UserDefinedOperationType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoorLiningProperties bool IfcDoorLiningProperties::hasLiningDepth() const { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcDoorLiningProperties::LiningDepth() const { return *entity->getArgument(4); } -void IfcDoorLiningProperties::setLiningDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcDoorLiningProperties::LiningDepth() const { return *entity->getArgument(4); } +void IfcDoorLiningProperties::setLiningDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcDoorLiningProperties::hasLiningThickness() const { return !entity->getArgument(5)->isNull(); } -IfcNonNegativeLengthMeasure IfcDoorLiningProperties::LiningThickness() const { return *entity->getArgument(5); } -void IfcDoorLiningProperties::setLiningThickness(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcDoorLiningProperties::LiningThickness() const { return *entity->getArgument(5); } +void IfcDoorLiningProperties::setLiningThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcDoorLiningProperties::hasThresholdDepth() const { return !entity->getArgument(6)->isNull(); } -IfcPositiveLengthMeasure IfcDoorLiningProperties::ThresholdDepth() const { return *entity->getArgument(6); } -void IfcDoorLiningProperties::setThresholdDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcDoorLiningProperties::ThresholdDepth() const { return *entity->getArgument(6); } +void IfcDoorLiningProperties::setThresholdDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcDoorLiningProperties::hasThresholdThickness() const { return !entity->getArgument(7)->isNull(); } -IfcNonNegativeLengthMeasure IfcDoorLiningProperties::ThresholdThickness() const { return *entity->getArgument(7); } -void IfcDoorLiningProperties::setThresholdThickness(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcDoorLiningProperties::ThresholdThickness() const { return *entity->getArgument(7); } +void IfcDoorLiningProperties::setThresholdThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcDoorLiningProperties::hasTransomThickness() const { return !entity->getArgument(8)->isNull(); } -IfcNonNegativeLengthMeasure IfcDoorLiningProperties::TransomThickness() const { return *entity->getArgument(8); } -void IfcDoorLiningProperties::setTransomThickness(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcDoorLiningProperties::TransomThickness() const { return *entity->getArgument(8); } +void IfcDoorLiningProperties::setTransomThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcDoorLiningProperties::hasTransomOffset() const { return !entity->getArgument(9)->isNull(); } -IfcLengthMeasure IfcDoorLiningProperties::TransomOffset() const { return *entity->getArgument(9); } -void IfcDoorLiningProperties::setTransomOffset(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcDoorLiningProperties::TransomOffset() const { return *entity->getArgument(9); } +void IfcDoorLiningProperties::setTransomOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcDoorLiningProperties::hasLiningOffset() const { return !entity->getArgument(10)->isNull(); } -IfcLengthMeasure IfcDoorLiningProperties::LiningOffset() const { return *entity->getArgument(10); } -void IfcDoorLiningProperties::setLiningOffset(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcDoorLiningProperties::LiningOffset() const { return *entity->getArgument(10); } +void IfcDoorLiningProperties::setLiningOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcDoorLiningProperties::hasThresholdOffset() const { return !entity->getArgument(11)->isNull(); } -IfcLengthMeasure IfcDoorLiningProperties::ThresholdOffset() const { return *entity->getArgument(11); } -void IfcDoorLiningProperties::setThresholdOffset(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcDoorLiningProperties::ThresholdOffset() const { return *entity->getArgument(11); } +void IfcDoorLiningProperties::setThresholdOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcDoorLiningProperties::hasCasingThickness() const { return !entity->getArgument(12)->isNull(); } -IfcPositiveLengthMeasure IfcDoorLiningProperties::CasingThickness() const { return *entity->getArgument(12); } -void IfcDoorLiningProperties::setCasingThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +double IfcDoorLiningProperties::CasingThickness() const { return *entity->getArgument(12); } +void IfcDoorLiningProperties::setCasingThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcDoorLiningProperties::hasCasingDepth() const { return !entity->getArgument(13)->isNull(); } -IfcPositiveLengthMeasure IfcDoorLiningProperties::CasingDepth() const { return *entity->getArgument(13); } -void IfcDoorLiningProperties::setCasingDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } +double IfcDoorLiningProperties::CasingDepth() const { return *entity->getArgument(13); } +void IfcDoorLiningProperties::setCasingDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } bool IfcDoorLiningProperties::hasShapeAspectStyle() const { return !entity->getArgument(14)->isNull(); } IfcShapeAspect* IfcDoorLiningProperties::ShapeAspectStyle() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(14))); } void IfcDoorLiningProperties::setShapeAspectStyle(IfcShapeAspect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } bool IfcDoorLiningProperties::hasLiningToPanelOffsetX() const { return !entity->getArgument(15)->isNull(); } -IfcLengthMeasure IfcDoorLiningProperties::LiningToPanelOffsetX() const { return *entity->getArgument(15); } -void IfcDoorLiningProperties::setLiningToPanelOffsetX(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } +double IfcDoorLiningProperties::LiningToPanelOffsetX() const { return *entity->getArgument(15); } +void IfcDoorLiningProperties::setLiningToPanelOffsetX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } bool IfcDoorLiningProperties::hasLiningToPanelOffsetY() const { return !entity->getArgument(16)->isNull(); } -IfcLengthMeasure IfcDoorLiningProperties::LiningToPanelOffsetY() const { return *entity->getArgument(16); } -void IfcDoorLiningProperties::setLiningToPanelOffsetY(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } +double IfcDoorLiningProperties::LiningToPanelOffsetY() const { return *entity->getArgument(16); } +void IfcDoorLiningProperties::setLiningToPanelOffsetY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } bool IfcDoorLiningProperties::is(Type::Enum v) const { return v == Type::IfcDoorLiningProperties || IfcPreDefinedPropertySet::is(v); } Type::Enum IfcDoorLiningProperties::type() const { return Type::IfcDoorLiningProperties; } Type::Enum IfcDoorLiningProperties::Class() { return Type::IfcDoorLiningProperties; } IfcDoorLiningProperties::IfcDoorLiningProperties(IfcAbstractEntity* e) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoorLiningProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoorLiningProperties::IfcDoorLiningProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_LiningDepth, boost::optional< IfcNonNegativeLengthMeasure > v6_LiningThickness, boost::optional< IfcPositiveLengthMeasure > v7_ThresholdDepth, boost::optional< IfcNonNegativeLengthMeasure > v8_ThresholdThickness, boost::optional< IfcNonNegativeLengthMeasure > v9_TransomThickness, boost::optional< IfcLengthMeasure > v10_TransomOffset, boost::optional< IfcLengthMeasure > v11_LiningOffset, boost::optional< IfcLengthMeasure > v12_ThresholdOffset, boost::optional< IfcPositiveLengthMeasure > v13_CasingThickness, boost::optional< IfcPositiveLengthMeasure > v14_CasingDepth, IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< IfcLengthMeasure > v16_LiningToPanelOffsetX, boost::optional< IfcLengthMeasure > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_LiningDepth) { e->setArgument(4,(*v5_LiningDepth)); } else { e->setArgument(4); } if (v6_LiningThickness) { e->setArgument(5,(*v6_LiningThickness)); } else { e->setArgument(5); } if (v7_ThresholdDepth) { e->setArgument(6,(*v7_ThresholdDepth)); } else { e->setArgument(6); } if (v8_ThresholdThickness) { e->setArgument(7,(*v8_ThresholdThickness)); } else { e->setArgument(7); } if (v9_TransomThickness) { e->setArgument(8,(*v9_TransomThickness)); } else { e->setArgument(8); } if (v10_TransomOffset) { e->setArgument(9,(*v10_TransomOffset)); } else { e->setArgument(9); } if (v11_LiningOffset) { e->setArgument(10,(*v11_LiningOffset)); } else { e->setArgument(10); } if (v12_ThresholdOffset) { e->setArgument(11,(*v12_ThresholdOffset)); } else { e->setArgument(11); } if (v13_CasingThickness) { e->setArgument(12,(*v13_CasingThickness)); } else { e->setArgument(12); } if (v14_CasingDepth) { e->setArgument(13,(*v14_CasingDepth)); } else { e->setArgument(13); } e->setArgument(14,(v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) { e->setArgument(15,(*v16_LiningToPanelOffsetX)); } else { e->setArgument(15); } if (v17_LiningToPanelOffsetY) { e->setArgument(16,(*v17_LiningToPanelOffsetY)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } +IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_ThresholdDepth, boost::optional< double > v8_ThresholdThickness, boost::optional< double > v9_TransomThickness, boost::optional< double > v10_TransomOffset, boost::optional< double > v11_LiningOffset, boost::optional< double > v12_ThresholdOffset, boost::optional< double > v13_CasingThickness, boost::optional< double > v14_CasingDepth, IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_LiningDepth) { e->setArgument(4,(*v5_LiningDepth)); } else { e->setArgument(4); } if (v6_LiningThickness) { e->setArgument(5,(*v6_LiningThickness)); } else { e->setArgument(5); } if (v7_ThresholdDepth) { e->setArgument(6,(*v7_ThresholdDepth)); } else { e->setArgument(6); } if (v8_ThresholdThickness) { e->setArgument(7,(*v8_ThresholdThickness)); } else { e->setArgument(7); } if (v9_TransomThickness) { e->setArgument(8,(*v9_TransomThickness)); } else { e->setArgument(8); } if (v10_TransomOffset) { e->setArgument(9,(*v10_TransomOffset)); } else { e->setArgument(9); } if (v11_LiningOffset) { e->setArgument(10,(*v11_LiningOffset)); } else { e->setArgument(10); } if (v12_ThresholdOffset) { e->setArgument(11,(*v12_ThresholdOffset)); } else { e->setArgument(11); } if (v13_CasingThickness) { e->setArgument(12,(*v13_CasingThickness)); } else { e->setArgument(12); } if (v14_CasingDepth) { e->setArgument(13,(*v14_CasingDepth)); } else { e->setArgument(13); } e->setArgument(14,(v15_ShapeAspectStyle)); if (v16_LiningToPanelOffsetX) { e->setArgument(15,(*v16_LiningToPanelOffsetX)); } else { e->setArgument(15); } if (v17_LiningToPanelOffsetY) { e->setArgument(16,(*v17_LiningToPanelOffsetY)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoorPanelProperties bool IfcDoorPanelProperties::hasPanelDepth() const { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcDoorPanelProperties::PanelDepth() const { return *entity->getArgument(4); } -void IfcDoorPanelProperties::setPanelDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcDoorPanelProperties::PanelDepth() const { return *entity->getArgument(4); } +void IfcDoorPanelProperties::setPanelDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum IfcDoorPanelProperties::PanelOperation() const { return IfcDoorPanelOperationEnum::FromString(*entity->getArgument(5)); } void IfcDoorPanelProperties::setPanelOperation(IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcDoorPanelOperationEnum::ToString(v)); } bool IfcDoorPanelProperties::hasPanelWidth() const { return !entity->getArgument(6)->isNull(); } -IfcNormalisedRatioMeasure IfcDoorPanelProperties::PanelWidth() const { return *entity->getArgument(6); } -void IfcDoorPanelProperties::setPanelWidth(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcDoorPanelProperties::PanelWidth() const { return *entity->getArgument(6); } +void IfcDoorPanelProperties::setPanelWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum IfcDoorPanelProperties::PanelPosition() const { return IfcDoorPanelPositionEnum::FromString(*entity->getArgument(7)); } void IfcDoorPanelProperties::setPanelPosition(IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcDoorPanelPositionEnum::ToString(v)); } bool IfcDoorPanelProperties::hasShapeAspectStyle() const { return !entity->getArgument(8)->isNull(); } @@ -8561,14 +10108,14 @@ bool IfcDoorPanelProperties::is(Type::Enum v) const { return v == Type::IfcDoorP Type::Enum IfcDoorPanelProperties::type() const { return Type::IfcDoorPanelProperties; } Type::Enum IfcDoorPanelProperties::Class() { return Type::IfcDoorPanelProperties; } IfcDoorPanelProperties::IfcDoorPanelProperties(IfcAbstractEntity* e) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoorPanelProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoorPanelProperties::IfcDoorPanelProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_PanelDepth, IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v6_PanelOperation, boost::optional< IfcNormalisedRatioMeasure > v7_PanelWidth, IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v8_PanelPosition, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_PanelDepth) { e->setArgument(4,(*v5_PanelDepth)); } else { e->setArgument(4); } e->setArgument(5,v6_PanelOperation,IfcDoorPanelOperationEnum::ToString(v6_PanelOperation)); if (v7_PanelWidth) { e->setArgument(6,(*v7_PanelWidth)); } else { e->setArgument(6); } e->setArgument(7,v8_PanelPosition,IfcDoorPanelPositionEnum::ToString(v8_PanelPosition)); e->setArgument(8,(v9_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } +IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v6_PanelOperation, boost::optional< double > v7_PanelWidth, IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v8_PanelPosition, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_PanelDepth) { e->setArgument(4,(*v5_PanelDepth)); } else { e->setArgument(4); } e->setArgument(5,v6_PanelOperation,IfcDoorPanelOperationEnum::ToString(v6_PanelOperation)); if (v7_PanelWidth) { e->setArgument(6,(*v7_PanelWidth)); } else { e->setArgument(6); } e->setArgument(7,v8_PanelPosition,IfcDoorPanelPositionEnum::ToString(v8_PanelPosition)); e->setArgument(8,(v9_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoorStandardCase bool IfcDoorStandardCase::is(Type::Enum v) const { return v == Type::IfcDoorStandardCase || IfcDoor::is(v); } Type::Enum IfcDoorStandardCase::type() const { return Type::IfcDoorStandardCase; } Type::Enum IfcDoorStandardCase::Class() { return Type::IfcDoorStandardCase; } IfcDoorStandardCase::IfcDoorStandardCase(IfcAbstractEntity* e) : IfcDoor((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoorStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoorStandardCase::IfcDoorStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth, boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > v11_PredefinedType, boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > v12_OperationType, boost::optional< IfcLabel > v13_UserDefinedOperationType) : IfcDoor((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcDoorTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } if (v12_OperationType) { e->setArgument(11,*v12_OperationType,IfcDoorTypeOperationEnum::ToString(*v12_OperationType)); } else { e->setArgument(11); } if (v13_UserDefinedOperationType) { e->setArgument(12,(*v13_UserDefinedOperationType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcDoorStandardCase::IfcDoorStandardCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > v11_PredefinedType, boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcDoor((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcDoorTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } if (v12_OperationType) { e->setArgument(11,*v12_OperationType,IfcDoorTypeOperationEnum::ToString(*v12_OperationType)); } else { e->setArgument(11); } if (v13_UserDefinedOperationType) { e->setArgument(12,(*v13_UserDefinedOperationType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoorStyle IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum IfcDoorStyle::OperationType() const { return IfcDoorStyleOperationEnum::FromString(*entity->getArgument(8)); } @@ -8583,7 +10130,7 @@ bool IfcDoorStyle::is(Type::Enum v) const { return v == Type::IfcDoorStyle || If Type::Enum IfcDoorStyle::type() const { return Type::IfcDoorStyle; } Type::Enum IfcDoorStyle::Class() { return Type::IfcDoorStyle; } IfcDoorStyle::IfcDoorStyle(IfcAbstractEntity* e) : IfcTypeProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoorStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoorStyle::IfcDoorStyle(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v9_OperationType, IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_OperationType,IfcDoorStyleOperationEnum::ToString(v9_OperationType)); e->setArgument(9,v10_ConstructionType,IfcDoorStyleConstructionEnum::ToString(v10_ConstructionType)); e->setArgument(10,(v11_ParameterTakesPrecedence)); e->setArgument(11,(v12_Sizeable)); entity = e; EntityBuffer::Add(this); } +IfcDoorStyle::IfcDoorStyle(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v9_OperationType, IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_OperationType,IfcDoorStyleOperationEnum::ToString(v9_OperationType)); e->setArgument(9,v10_ConstructionType,IfcDoorStyleConstructionEnum::ToString(v10_ConstructionType)); e->setArgument(10,(v11_ParameterTakesPrecedence)); e->setArgument(11,(v12_Sizeable)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDoorType IfcDoorTypeEnum::IfcDoorTypeEnum IfcDoorType::PredefinedType() const { return IfcDoorTypeEnum::FromString(*entity->getArgument(9)); } @@ -8594,27 +10141,27 @@ bool IfcDoorType::hasParameterTakesPrecedence() const { return !entity->getArgum bool IfcDoorType::ParameterTakesPrecedence() const { return *entity->getArgument(11); } void IfcDoorType::setParameterTakesPrecedence(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcDoorType::hasUserDefinedOperationType() const { return !entity->getArgument(12)->isNull(); } -IfcLabel IfcDoorType::UserDefinedOperationType() const { return *entity->getArgument(12); } -void IfcDoorType::setUserDefinedOperationType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +std::string IfcDoorType::UserDefinedOperationType() const { return *entity->getArgument(12); } +void IfcDoorType::setUserDefinedOperationType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcDoorType::is(Type::Enum v) const { return v == Type::IfcDoorType || IfcBuildingElementType::is(v); } Type::Enum IfcDoorType::type() const { return Type::IfcDoorType; } Type::Enum IfcDoorType::Class() { return Type::IfcDoorType; } IfcDoorType::IfcDoorType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDoorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDoorType::IfcDoorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDoorTypeEnum::IfcDoorTypeEnum v10_PredefinedType, IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< IfcLabel > v13_UserDefinedOperationType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDoorTypeEnum::ToString(v10_PredefinedType)); e->setArgument(10,v11_OperationType,IfcDoorTypeOperationEnum::ToString(v11_OperationType)); if (v12_ParameterTakesPrecedence) { e->setArgument(11,(*v12_ParameterTakesPrecedence)); } else { e->setArgument(11); } if (v13_UserDefinedOperationType) { e->setArgument(12,(*v13_UserDefinedOperationType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcDoorType::IfcDoorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDoorTypeEnum::IfcDoorTypeEnum v10_PredefinedType, IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDoorTypeEnum::ToString(v10_PredefinedType)); e->setArgument(10,v11_OperationType,IfcDoorTypeOperationEnum::ToString(v11_OperationType)); if (v12_ParameterTakesPrecedence) { e->setArgument(11,(*v12_ParameterTakesPrecedence)); } else { e->setArgument(11); } if (v13_UserDefinedOperationType) { e->setArgument(12,(*v13_UserDefinedOperationType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDraughtingPreDefinedColour bool IfcDraughtingPreDefinedColour::is(Type::Enum v) const { return v == Type::IfcDraughtingPreDefinedColour || IfcPreDefinedColour::is(v); } Type::Enum IfcDraughtingPreDefinedColour::type() const { return Type::IfcDraughtingPreDefinedColour; } Type::Enum IfcDraughtingPreDefinedColour::Class() { return Type::IfcDraughtingPreDefinedColour; } IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(IfcAbstractEntity* e) : IfcPreDefinedColour((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDraughtingPreDefinedColour)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(IfcLabel v1_Name) : IfcPreDefinedColour((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDraughtingPreDefinedCurveFont bool IfcDraughtingPreDefinedCurveFont::is(Type::Enum v) const { return v == Type::IfcDraughtingPreDefinedCurveFont || IfcPreDefinedCurveFont::is(v); } Type::Enum IfcDraughtingPreDefinedCurveFont::type() const { return Type::IfcDraughtingPreDefinedCurveFont; } Type::Enum IfcDraughtingPreDefinedCurveFont::Class() { return Type::IfcDraughtingPreDefinedCurveFont; } IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcAbstractEntity* e) : IfcPreDefinedCurveFont((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDraughtingPreDefinedCurveFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcLabel v1_Name) : IfcPreDefinedCurveFont((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDuctFitting bool IfcDuctFitting::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -8624,7 +10171,7 @@ bool IfcDuctFitting::is(Type::Enum v) const { return v == Type::IfcDuctFitting | Type::Enum IfcDuctFitting::type() const { return Type::IfcDuctFitting; } Type::Enum IfcDuctFitting::Class() { return Type::IfcDuctFitting; } IfcDuctFitting::IfcDuctFitting(IfcAbstractEntity* e) : IfcFlowFitting((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDuctFitting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDuctFitting::IfcDuctFitting(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDuctFittingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcDuctFitting::IfcDuctFitting(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDuctFittingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDuctFittingType IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum IfcDuctFittingType::PredefinedType() const { return IfcDuctFittingTypeEnum::FromString(*entity->getArgument(9)); } @@ -8633,7 +10180,7 @@ bool IfcDuctFittingType::is(Type::Enum v) const { return v == Type::IfcDuctFitti Type::Enum IfcDuctFittingType::type() const { return Type::IfcDuctFittingType; } Type::Enum IfcDuctFittingType::Class() { return Type::IfcDuctFittingType; } IfcDuctFittingType::IfcDuctFittingType(IfcAbstractEntity* e) : IfcFlowFittingType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDuctFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDuctFittingType::IfcDuctFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDuctFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDuctFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDuctSegment bool IfcDuctSegment::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -8643,7 +10190,7 @@ bool IfcDuctSegment::is(Type::Enum v) const { return v == Type::IfcDuctSegment | Type::Enum IfcDuctSegment::type() const { return Type::IfcDuctSegment; } Type::Enum IfcDuctSegment::Class() { return Type::IfcDuctSegment; } IfcDuctSegment::IfcDuctSegment(IfcAbstractEntity* e) : IfcFlowSegment((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDuctSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDuctSegment::IfcDuctSegment(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum > v9_PredefinedType) : IfcFlowSegment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDuctSegmentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcDuctSegment::IfcDuctSegment(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum > v9_PredefinedType) : IfcFlowSegment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDuctSegmentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDuctSegmentType IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum IfcDuctSegmentType::PredefinedType() const { return IfcDuctSegmentTypeEnum::FromString(*entity->getArgument(9)); } @@ -8652,7 +10199,7 @@ bool IfcDuctSegmentType::is(Type::Enum v) const { return v == Type::IfcDuctSegme Type::Enum IfcDuctSegmentType::type() const { return Type::IfcDuctSegmentType; } Type::Enum IfcDuctSegmentType::Class() { return Type::IfcDuctSegmentType; } IfcDuctSegmentType::IfcDuctSegmentType(IfcAbstractEntity* e) : IfcFlowSegmentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDuctSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDuctSegmentType::IfcDuctSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDuctSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDuctSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDuctSilencer bool IfcDuctSilencer::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -8662,7 +10209,7 @@ bool IfcDuctSilencer::is(Type::Enum v) const { return v == Type::IfcDuctSilencer Type::Enum IfcDuctSilencer::type() const { return Type::IfcDuctSilencer; } Type::Enum IfcDuctSilencer::Class() { return Type::IfcDuctSilencer; } IfcDuctSilencer::IfcDuctSilencer(IfcAbstractEntity* e) : IfcFlowTreatmentDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDuctSilencer)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDuctSilencer::IfcDuctSilencer(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum > v9_PredefinedType) : IfcFlowTreatmentDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDuctSilencerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcDuctSilencer::IfcDuctSilencer(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum > v9_PredefinedType) : IfcFlowTreatmentDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcDuctSilencerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcDuctSilencerType IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum IfcDuctSilencerType::PredefinedType() const { return IfcDuctSilencerTypeEnum::FromString(*entity->getArgument(9)); } @@ -8671,7 +10218,7 @@ bool IfcDuctSilencerType::is(Type::Enum v) const { return v == Type::IfcDuctSile Type::Enum IfcDuctSilencerType::type() const { return Type::IfcDuctSilencerType; } Type::Enum IfcDuctSilencerType::Class() { return Type::IfcDuctSilencerType; } IfcDuctSilencerType::IfcDuctSilencerType(IfcAbstractEntity* e) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcDuctSilencerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcDuctSilencerType::IfcDuctSilencerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDuctSilencerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcDuctSilencerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEdge IfcVertex* IfcEdge::EdgeStart() const { return (IfcVertex*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -8712,7 +10259,7 @@ bool IfcElectricAppliance::is(Type::Enum v) const { return v == Type::IfcElectri Type::Enum IfcElectricAppliance::type() const { return Type::IfcElectricAppliance; } Type::Enum IfcElectricAppliance::Class() { return Type::IfcElectricAppliance; } IfcElectricAppliance::IfcElectricAppliance(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricAppliance)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricAppliance::IfcElectricAppliance(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricApplianceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcElectricAppliance::IfcElectricAppliance(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricApplianceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricApplianceType IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum IfcElectricApplianceType::PredefinedType() const { return IfcElectricApplianceTypeEnum::FromString(*entity->getArgument(9)); } @@ -8721,7 +10268,7 @@ bool IfcElectricApplianceType::is(Type::Enum v) const { return v == Type::IfcEle Type::Enum IfcElectricApplianceType::type() const { return Type::IfcElectricApplianceType; } Type::Enum IfcElectricApplianceType::Class() { return Type::IfcElectricApplianceType; } IfcElectricApplianceType::IfcElectricApplianceType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricApplianceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricApplianceType::IfcElectricApplianceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricApplianceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricApplianceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricDistributionBoard bool IfcElectricDistributionBoard::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -8731,7 +10278,7 @@ bool IfcElectricDistributionBoard::is(Type::Enum v) const { return v == Type::If Type::Enum IfcElectricDistributionBoard::type() const { return Type::IfcElectricDistributionBoard; } Type::Enum IfcElectricDistributionBoard::Class() { return Type::IfcElectricDistributionBoard; } IfcElectricDistributionBoard::IfcElectricDistributionBoard(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricDistributionBoard)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricDistributionBoard::IfcElectricDistributionBoard(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricDistributionBoardTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcElectricDistributionBoard::IfcElectricDistributionBoard(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricDistributionBoardTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricDistributionBoardType IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum IfcElectricDistributionBoardType::PredefinedType() const { return IfcElectricDistributionBoardTypeEnum::FromString(*entity->getArgument(9)); } @@ -8740,7 +10287,7 @@ bool IfcElectricDistributionBoardType::is(Type::Enum v) const { return v == Type Type::Enum IfcElectricDistributionBoardType::type() const { return Type::IfcElectricDistributionBoardType; } Type::Enum IfcElectricDistributionBoardType::Class() { return Type::IfcElectricDistributionBoardType; } IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricDistributionBoardType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricDistributionBoardTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricDistributionBoardTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricFlowStorageDevice bool IfcElectricFlowStorageDevice::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -8750,7 +10297,7 @@ bool IfcElectricFlowStorageDevice::is(Type::Enum v) const { return v == Type::If Type::Enum IfcElectricFlowStorageDevice::type() const { return Type::IfcElectricFlowStorageDevice; } Type::Enum IfcElectricFlowStorageDevice::Class() { return Type::IfcElectricFlowStorageDevice; } IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(IfcAbstractEntity* e) : IfcFlowStorageDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricFlowStorageDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum > v9_PredefinedType) : IfcFlowStorageDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricFlowStorageDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum > v9_PredefinedType) : IfcFlowStorageDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricFlowStorageDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricFlowStorageDeviceType IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum IfcElectricFlowStorageDeviceType::PredefinedType() const { return IfcElectricFlowStorageDeviceTypeEnum::FromString(*entity->getArgument(9)); } @@ -8759,7 +10306,7 @@ bool IfcElectricFlowStorageDeviceType::is(Type::Enum v) const { return v == Type Type::Enum IfcElectricFlowStorageDeviceType::type() const { return Type::IfcElectricFlowStorageDeviceType; } Type::Enum IfcElectricFlowStorageDeviceType::Class() { return Type::IfcElectricFlowStorageDeviceType; } IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(IfcAbstractEntity* e) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricFlowStorageDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v10_PredefinedType) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricFlowStorageDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v10_PredefinedType) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricFlowStorageDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricGenerator bool IfcElectricGenerator::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -8769,7 +10316,7 @@ bool IfcElectricGenerator::is(Type::Enum v) const { return v == Type::IfcElectri Type::Enum IfcElectricGenerator::type() const { return Type::IfcElectricGenerator; } Type::Enum IfcElectricGenerator::Class() { return Type::IfcElectricGenerator; } IfcElectricGenerator::IfcElectricGenerator(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricGenerator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricGenerator::IfcElectricGenerator(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricGeneratorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcElectricGenerator::IfcElectricGenerator(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricGeneratorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricGeneratorType IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum IfcElectricGeneratorType::PredefinedType() const { return IfcElectricGeneratorTypeEnum::FromString(*entity->getArgument(9)); } @@ -8778,7 +10325,7 @@ bool IfcElectricGeneratorType::is(Type::Enum v) const { return v == Type::IfcEle Type::Enum IfcElectricGeneratorType::type() const { return Type::IfcElectricGeneratorType; } Type::Enum IfcElectricGeneratorType::Class() { return Type::IfcElectricGeneratorType; } IfcElectricGeneratorType::IfcElectricGeneratorType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricGeneratorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricGeneratorType::IfcElectricGeneratorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricGeneratorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricGeneratorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricMotor bool IfcElectricMotor::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -8788,7 +10335,7 @@ bool IfcElectricMotor::is(Type::Enum v) const { return v == Type::IfcElectricMot Type::Enum IfcElectricMotor::type() const { return Type::IfcElectricMotor; } Type::Enum IfcElectricMotor::Class() { return Type::IfcElectricMotor; } IfcElectricMotor::IfcElectricMotor(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricMotor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricMotor::IfcElectricMotor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricMotorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcElectricMotor::IfcElectricMotor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricMotorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricMotorType IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum IfcElectricMotorType::PredefinedType() const { return IfcElectricMotorTypeEnum::FromString(*entity->getArgument(9)); } @@ -8797,7 +10344,7 @@ bool IfcElectricMotorType::is(Type::Enum v) const { return v == Type::IfcElectri Type::Enum IfcElectricMotorType::type() const { return Type::IfcElectricMotorType; } Type::Enum IfcElectricMotorType::Class() { return Type::IfcElectricMotorType; } IfcElectricMotorType::IfcElectricMotorType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricMotorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricMotorType::IfcElectricMotorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricMotorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricMotorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricTimeControl bool IfcElectricTimeControl::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -8807,7 +10354,7 @@ bool IfcElectricTimeControl::is(Type::Enum v) const { return v == Type::IfcElect Type::Enum IfcElectricTimeControl::type() const { return Type::IfcElectricTimeControl; } Type::Enum IfcElectricTimeControl::Class() { return Type::IfcElectricTimeControl; } IfcElectricTimeControl::IfcElectricTimeControl(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricTimeControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricTimeControl::IfcElectricTimeControl(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricTimeControlTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcElectricTimeControl::IfcElectricTimeControl(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcElectricTimeControlTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElectricTimeControlType IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum IfcElectricTimeControlType::PredefinedType() const { return IfcElectricTimeControlTypeEnum::FromString(*entity->getArgument(9)); } @@ -8816,12 +10363,12 @@ bool IfcElectricTimeControlType::is(Type::Enum v) const { return v == Type::IfcE Type::Enum IfcElectricTimeControlType::type() const { return Type::IfcElectricTimeControlType; } Type::Enum IfcElectricTimeControlType::Class() { return Type::IfcElectricTimeControlType; } IfcElectricTimeControlType::IfcElectricTimeControlType(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElectricTimeControlType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElectricTimeControlType::IfcElectricTimeControlType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricTimeControlTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElectricTimeControlTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElement bool IfcElement::hasTag() const { return !entity->getArgument(7)->isNull(); } -IfcIdentifier IfcElement::Tag() const { return *entity->getArgument(7); } -void IfcElement::setTag(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcElement::Tag() const { return *entity->getArgument(7); } +void IfcElement::setTag(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } IfcRelFillsElement::list::ptr IfcElement::FillsVoids() const { return entity->getInverse(Type::IfcRelFillsElement)->as(); } IfcRelConnectsElements::list::ptr IfcElement::ConnectedTo() const { return entity->getInverse(Type::IfcRelConnectsElements)->as(); } IfcRelInterferesElements::list::ptr IfcElement::IsInterferedByElements() const { return entity->getInverse(Type::IfcRelInterferesElements)->as(); } @@ -8837,7 +10384,7 @@ bool IfcElement::is(Type::Enum v) const { return v == Type::IfcElement || IfcPro Type::Enum IfcElement::type() const { return Type::IfcElement; } Type::Enum IfcElement::Class() { return Type::IfcElement; } IfcElement::IfcElement(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElement::IfcElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcElement::IfcElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementAssembly bool IfcElementAssembly::hasAssemblyPlace() const { return !entity->getArgument(8)->isNull(); } @@ -8850,7 +10397,7 @@ bool IfcElementAssembly::is(Type::Enum v) const { return v == Type::IfcElementAs Type::Enum IfcElementAssembly::type() const { return Type::IfcElementAssembly; } Type::Enum IfcElementAssembly::Class() { return Type::IfcElementAssembly; } IfcElementAssembly::IfcElementAssembly(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementAssembly)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementAssembly::IfcElementAssembly(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v9_AssemblyPlace, boost::optional< IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum > v10_PredefinedType) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_AssemblyPlace) { e->setArgument(8,*v9_AssemblyPlace,IfcAssemblyPlaceEnum::ToString(*v9_AssemblyPlace)); } else { e->setArgument(8); } if (v10_PredefinedType) { e->setArgument(9,*v10_PredefinedType,IfcElementAssemblyTypeEnum::ToString(*v10_PredefinedType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v9_AssemblyPlace, boost::optional< IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum > v10_PredefinedType) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_AssemblyPlace) { e->setArgument(8,*v9_AssemblyPlace,IfcAssemblyPlaceEnum::ToString(*v9_AssemblyPlace)); } else { e->setArgument(8); } if (v10_PredefinedType) { e->setArgument(9,*v10_PredefinedType,IfcElementAssemblyTypeEnum::ToString(*v10_PredefinedType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementAssemblyType IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum IfcElementAssemblyType::PredefinedType() const { return IfcElementAssemblyTypeEnum::FromString(*entity->getArgument(9)); } @@ -8859,43 +10406,43 @@ bool IfcElementAssemblyType::is(Type::Enum v) const { return v == Type::IfcEleme Type::Enum IfcElementAssemblyType::type() const { return Type::IfcElementAssemblyType; } Type::Enum IfcElementAssemblyType::Class() { return Type::IfcElementAssemblyType; } IfcElementAssemblyType::IfcElementAssemblyType(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementAssemblyType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementAssemblyType::IfcElementAssemblyType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v10_PredefinedType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElementAssemblyTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v10_PredefinedType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcElementAssemblyTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementComponent bool IfcElementComponent::is(Type::Enum v) const { return v == Type::IfcElementComponent || IfcElement::is(v); } Type::Enum IfcElementComponent::type() const { return Type::IfcElementComponent; } Type::Enum IfcElementComponent::Class() { return Type::IfcElementComponent; } IfcElementComponent::IfcElementComponent(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementComponent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementComponent::IfcElementComponent(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementComponentType bool IfcElementComponentType::is(Type::Enum v) const { return v == Type::IfcElementComponentType || IfcElementType::is(v); } Type::Enum IfcElementComponentType::type() const { return Type::IfcElementComponentType; } Type::Enum IfcElementComponentType::Class() { return Type::IfcElementComponentType; } IfcElementComponentType::IfcElementComponentType(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementComponentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementComponentType::IfcElementComponentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementQuantity bool IfcElementQuantity::hasMethodOfMeasurement() const { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcElementQuantity::MethodOfMeasurement() const { return *entity->getArgument(4); } -void IfcElementQuantity::setMethodOfMeasurement(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcElementQuantity::MethodOfMeasurement() const { return *entity->getArgument(4); } +void IfcElementQuantity::setMethodOfMeasurement(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr IfcElementQuantity::Quantities() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } void IfcElementQuantity::setQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } bool IfcElementQuantity::is(Type::Enum v) const { return v == Type::IfcElementQuantity || IfcQuantitySet::is(v); } Type::Enum IfcElementQuantity::type() const { return Type::IfcElementQuantity; } Type::Enum IfcElementQuantity::Class() { return Type::IfcElementQuantity; } IfcElementQuantity::IfcElementQuantity(IfcAbstractEntity* e) : IfcQuantitySet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementQuantity::IfcElementQuantity(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_MethodOfMeasurement, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_MethodOfMeasurement) { e->setArgument(4,(*v5_MethodOfMeasurement)); } else { e->setArgument(4); } e->setArgument(5,(v6_Quantities)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_MethodOfMeasurement) { e->setArgument(4,(*v5_MethodOfMeasurement)); } else { e->setArgument(4); } e->setArgument(5,(v6_Quantities)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementType bool IfcElementType::hasElementType() const { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcElementType::ElementType() const { return *entity->getArgument(8); } -void IfcElementType::setElementType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcElementType::ElementType() const { return *entity->getArgument(8); } +void IfcElementType::setElementType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcElementType::is(Type::Enum v) const { return v == Type::IfcElementType || IfcTypeProduct::is(v); } Type::Enum IfcElementType::type() const { return Type::IfcElementType; } Type::Enum IfcElementType::Class() { return Type::IfcElementType; } IfcElementType::IfcElementType(IfcAbstractEntity* e) : IfcTypeProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcElementType::IfcElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcElementType::IfcElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcElementarySurface IfcAxis2Placement3D* IfcElementarySurface::Position() const { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -8907,40 +10454,40 @@ IfcElementarySurface::IfcElementarySurface(IfcAbstractEntity* e) : IfcSurface((I IfcElementarySurface::IfcElementarySurface(IfcAxis2Placement3D* v1_Position) : IfcSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEllipse -IfcPositiveLengthMeasure IfcEllipse::SemiAxis1() const { return *entity->getArgument(1); } -void IfcEllipse::setSemiAxis1(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveLengthMeasure IfcEllipse::SemiAxis2() const { return *entity->getArgument(2); } -void IfcEllipse::setSemiAxis2(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcEllipse::SemiAxis1() const { return *entity->getArgument(1); } +void IfcEllipse::setSemiAxis1(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcEllipse::SemiAxis2() const { return *entity->getArgument(2); } +void IfcEllipse::setSemiAxis2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcEllipse::is(Type::Enum v) const { return v == Type::IfcEllipse || IfcConic::is(v); } Type::Enum IfcEllipse::type() const { return Type::IfcEllipse; } Type::Enum IfcEllipse::Class() { return Type::IfcEllipse; } IfcEllipse::IfcEllipse(IfcAbstractEntity* e) : IfcConic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEllipse)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEllipse::IfcEllipse(IfcAxis2Placement v1_Position, IfcPositiveLengthMeasure v2_SemiAxis1, IfcPositiveLengthMeasure v3_SemiAxis2) : IfcConic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_SemiAxis1)); e->setArgument(2,(v3_SemiAxis2)); entity = e; EntityBuffer::Add(this); } +IfcEllipse::IfcEllipse(IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_SemiAxis1)); e->setArgument(2,(v3_SemiAxis2)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEllipseProfileDef -IfcPositiveLengthMeasure IfcEllipseProfileDef::SemiAxis1() const { return *entity->getArgument(3); } -void IfcEllipseProfileDef::setSemiAxis1(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcEllipseProfileDef::SemiAxis2() const { return *entity->getArgument(4); } -void IfcEllipseProfileDef::setSemiAxis2(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcEllipseProfileDef::SemiAxis1() const { return *entity->getArgument(3); } +void IfcEllipseProfileDef::setSemiAxis1(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcEllipseProfileDef::SemiAxis2() const { return *entity->getArgument(4); } +void IfcEllipseProfileDef::setSemiAxis2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcEllipseProfileDef::is(Type::Enum v) const { return v == Type::IfcEllipseProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcEllipseProfileDef::type() const { return Type::IfcEllipseProfileDef; } Type::Enum IfcEllipseProfileDef::Class() { return Type::IfcEllipseProfileDef; } IfcEllipseProfileDef::IfcEllipseProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEllipseProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEllipseProfileDef::IfcEllipseProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_SemiAxis1, IfcPositiveLengthMeasure v5_SemiAxis2) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_SemiAxis1)); e->setArgument(4,(v5_SemiAxis2)); entity = e; EntityBuffer::Add(this); } +IfcEllipseProfileDef::IfcEllipseProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_SemiAxis1)); e->setArgument(4,(v5_SemiAxis2)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEnergyConversionDevice bool IfcEnergyConversionDevice::is(Type::Enum v) const { return v == Type::IfcEnergyConversionDevice || IfcDistributionFlowElement::is(v); } Type::Enum IfcEnergyConversionDevice::type() const { return Type::IfcEnergyConversionDevice; } Type::Enum IfcEnergyConversionDevice::Class() { return Type::IfcEnergyConversionDevice; } IfcEnergyConversionDevice::IfcEnergyConversionDevice(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEnergyConversionDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEnergyConversionDevice::IfcEnergyConversionDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEnergyConversionDeviceType bool IfcEnergyConversionDeviceType::is(Type::Enum v) const { return v == Type::IfcEnergyConversionDeviceType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcEnergyConversionDeviceType::type() const { return Type::IfcEnergyConversionDeviceType; } Type::Enum IfcEnergyConversionDeviceType::Class() { return Type::IfcEnergyConversionDeviceType; } IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEnergyConversionDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEngine bool IfcEngine::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -8950,7 +10497,7 @@ bool IfcEngine::is(Type::Enum v) const { return v == Type::IfcEngine || IfcEnerg Type::Enum IfcEngine::type() const { return Type::IfcEngine; } Type::Enum IfcEngine::Class() { return Type::IfcEngine; } IfcEngine::IfcEngine(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEngine)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEngine::IfcEngine(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcEngineTypeEnum::IfcEngineTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcEngineTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcEngine::IfcEngine(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcEngineTypeEnum::IfcEngineTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcEngineTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEngineType IfcEngineTypeEnum::IfcEngineTypeEnum IfcEngineType::PredefinedType() const { return IfcEngineTypeEnum::FromString(*entity->getArgument(9)); } @@ -8959,7 +10506,7 @@ bool IfcEngineType::is(Type::Enum v) const { return v == Type::IfcEngineType || Type::Enum IfcEngineType::type() const { return Type::IfcEngineType; } Type::Enum IfcEngineType::Class() { return Type::IfcEngineType; } IfcEngineType::IfcEngineType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEngineType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEngineType::IfcEngineType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEngineTypeEnum::IfcEngineTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEngineTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcEngineType::IfcEngineType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcEngineTypeEnum::IfcEngineTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEngineTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEvaporativeCooler bool IfcEvaporativeCooler::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -8969,7 +10516,7 @@ bool IfcEvaporativeCooler::is(Type::Enum v) const { return v == Type::IfcEvapora Type::Enum IfcEvaporativeCooler::type() const { return Type::IfcEvaporativeCooler; } Type::Enum IfcEvaporativeCooler::Class() { return Type::IfcEvaporativeCooler; } IfcEvaporativeCooler::IfcEvaporativeCooler(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEvaporativeCooler)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEvaporativeCooler::IfcEvaporativeCooler(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcEvaporativeCoolerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcEvaporativeCooler::IfcEvaporativeCooler(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcEvaporativeCoolerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEvaporativeCoolerType IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum IfcEvaporativeCoolerType::PredefinedType() const { return IfcEvaporativeCoolerTypeEnum::FromString(*entity->getArgument(9)); } @@ -8978,7 +10525,7 @@ bool IfcEvaporativeCoolerType::is(Type::Enum v) const { return v == Type::IfcEva Type::Enum IfcEvaporativeCoolerType::type() const { return Type::IfcEvaporativeCoolerType; } Type::Enum IfcEvaporativeCoolerType::Class() { return Type::IfcEvaporativeCoolerType; } IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEvaporativeCoolerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEvaporativeCoolerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEvaporativeCoolerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEvaporator bool IfcEvaporator::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -8988,7 +10535,7 @@ bool IfcEvaporator::is(Type::Enum v) const { return v == Type::IfcEvaporator || Type::Enum IfcEvaporator::type() const { return Type::IfcEvaporator; } Type::Enum IfcEvaporator::Class() { return Type::IfcEvaporator; } IfcEvaporator::IfcEvaporator(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEvaporator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEvaporator::IfcEvaporator(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcEvaporatorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcEvaporator::IfcEvaporator(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcEvaporatorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEvaporatorType IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum IfcEvaporatorType::PredefinedType() const { return IfcEvaporatorTypeEnum::FromString(*entity->getArgument(9)); } @@ -8997,7 +10544,7 @@ bool IfcEvaporatorType::is(Type::Enum v) const { return v == Type::IfcEvaporator Type::Enum IfcEvaporatorType::type() const { return Type::IfcEvaporatorType; } Type::Enum IfcEvaporatorType::Class() { return Type::IfcEvaporatorType; } IfcEvaporatorType::IfcEvaporatorType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEvaporatorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEvaporatorType::IfcEvaporatorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEvaporatorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEvaporatorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEvent bool IfcEvent::hasPredefinedType() const { return !entity->getArgument(7)->isNull(); } @@ -9007,8 +10554,8 @@ bool IfcEvent::hasEventTriggerType() const { return !entity->getArgument(8)->isN IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum IfcEvent::EventTriggerType() const { return IfcEventTriggerTypeEnum::FromString(*entity->getArgument(8)); } void IfcEvent::setEventTriggerType(IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcEventTriggerTypeEnum::ToString(v)); } bool IfcEvent::hasUserDefinedEventTriggerType() const { return !entity->getArgument(9)->isNull(); } -IfcLabel IfcEvent::UserDefinedEventTriggerType() const { return *entity->getArgument(9); } -void IfcEvent::setUserDefinedEventTriggerType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +std::string IfcEvent::UserDefinedEventTriggerType() const { return *entity->getArgument(9); } +void IfcEvent::setUserDefinedEventTriggerType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcEvent::hasEventOccurenceTime() const { return !entity->getArgument(10)->isNull(); } IfcEventTime* IfcEvent::EventOccurenceTime() const { return (IfcEventTime*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } void IfcEvent::setEventOccurenceTime(IfcEventTime* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } @@ -9016,26 +10563,26 @@ bool IfcEvent::is(Type::Enum v) const { return v == Type::IfcEvent || IfcProcess Type::Enum IfcEvent::type() const { return Type::IfcEvent; } Type::Enum IfcEvent::Class() { return Type::IfcEvent; } IfcEvent::IfcEvent(IfcAbstractEntity* e) : IfcProcess((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEvent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEvent::IfcEvent(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, boost::optional< IfcEventTypeEnum::IfcEventTypeEnum > v8_PredefinedType, boost::optional< IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum > v9_EventTriggerType, boost::optional< IfcLabel > v10_UserDefinedEventTriggerType, IfcEventTime* v11_EventOccurenceTime) : IfcProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } if (v8_PredefinedType) { e->setArgument(7,*v8_PredefinedType,IfcEventTypeEnum::ToString(*v8_PredefinedType)); } else { e->setArgument(7); } if (v9_EventTriggerType) { e->setArgument(8,*v9_EventTriggerType,IfcEventTriggerTypeEnum::ToString(*v9_EventTriggerType)); } else { e->setArgument(8); } if (v10_UserDefinedEventTriggerType) { e->setArgument(9,(*v10_UserDefinedEventTriggerType)); } else { e->setArgument(9); } e->setArgument(10,(v11_EventOccurenceTime)); entity = e; EntityBuffer::Add(this); } +IfcEvent::IfcEvent(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcEventTypeEnum::IfcEventTypeEnum > v8_PredefinedType, boost::optional< IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, IfcEventTime* v11_EventOccurenceTime) : IfcProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } if (v8_PredefinedType) { e->setArgument(7,*v8_PredefinedType,IfcEventTypeEnum::ToString(*v8_PredefinedType)); } else { e->setArgument(7); } if (v9_EventTriggerType) { e->setArgument(8,*v9_EventTriggerType,IfcEventTriggerTypeEnum::ToString(*v9_EventTriggerType)); } else { e->setArgument(8); } if (v10_UserDefinedEventTriggerType) { e->setArgument(9,(*v10_UserDefinedEventTriggerType)); } else { e->setArgument(9); } e->setArgument(10,(v11_EventOccurenceTime)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEventTime bool IfcEventTime::hasActualDate() const { return !entity->getArgument(3)->isNull(); } -IfcDateTime IfcEventTime::ActualDate() const { return *entity->getArgument(3); } -void IfcEventTime::setActualDate(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcEventTime::ActualDate() const { return *entity->getArgument(3); } +void IfcEventTime::setActualDate(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcEventTime::hasEarlyDate() const { return !entity->getArgument(4)->isNull(); } -IfcDateTime IfcEventTime::EarlyDate() const { return *entity->getArgument(4); } -void IfcEventTime::setEarlyDate(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcEventTime::EarlyDate() const { return *entity->getArgument(4); } +void IfcEventTime::setEarlyDate(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcEventTime::hasLateDate() const { return !entity->getArgument(5)->isNull(); } -IfcDateTime IfcEventTime::LateDate() const { return *entity->getArgument(5); } -void IfcEventTime::setLateDate(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcEventTime::LateDate() const { return *entity->getArgument(5); } +void IfcEventTime::setLateDate(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcEventTime::hasScheduleDate() const { return !entity->getArgument(6)->isNull(); } -IfcDateTime IfcEventTime::ScheduleDate() const { return *entity->getArgument(6); } -void IfcEventTime::setScheduleDate(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcEventTime::ScheduleDate() const { return *entity->getArgument(6); } +void IfcEventTime::setScheduleDate(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcEventTime::is(Type::Enum v) const { return v == Type::IfcEventTime || IfcSchedulingTime::is(v); } Type::Enum IfcEventTime::type() const { return Type::IfcEventTime; } Type::Enum IfcEventTime::Class() { return Type::IfcEventTime; } IfcEventTime::IfcEventTime(IfcAbstractEntity* e) : IfcSchedulingTime((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEventTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEventTime::IfcEventTime(boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, boost::optional< IfcDateTime > v4_ActualDate, boost::optional< IfcDateTime > v5_EarlyDate, boost::optional< IfcDateTime > v6_LateDate, boost::optional< IfcDateTime > v7_ScheduleDate) : IfcSchedulingTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } if (v4_ActualDate) { e->setArgument(3,(*v4_ActualDate)); } else { e->setArgument(3); } if (v5_EarlyDate) { e->setArgument(4,(*v5_EarlyDate)); } else { e->setArgument(4); } if (v6_LateDate) { e->setArgument(5,(*v6_LateDate)); } else { e->setArgument(5); } if (v7_ScheduleDate) { e->setArgument(6,(*v7_ScheduleDate)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcEventTime::IfcEventTime(boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ActualDate, boost::optional< std::string > v5_EarlyDate, boost::optional< std::string > v6_LateDate, boost::optional< std::string > v7_ScheduleDate) : IfcSchedulingTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } if (v4_ActualDate) { e->setArgument(3,(*v4_ActualDate)); } else { e->setArgument(3); } if (v5_EarlyDate) { e->setArgument(4,(*v5_EarlyDate)); } else { e->setArgument(4); } if (v6_LateDate) { e->setArgument(5,(*v6_LateDate)); } else { e->setArgument(5); } if (v7_ScheduleDate) { e->setArgument(6,(*v7_ScheduleDate)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcEventType IfcEventTypeEnum::IfcEventTypeEnum IfcEventType::PredefinedType() const { return IfcEventTypeEnum::FromString(*entity->getArgument(9)); } @@ -9043,28 +10590,28 @@ void IfcEventType::setPredefinedType(IfcEventTypeEnum::IfcEventTypeEnum v) { if IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum IfcEventType::EventTriggerType() const { return IfcEventTriggerTypeEnum::FromString(*entity->getArgument(10)); } void IfcEventType::setEventTriggerType(IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v,IfcEventTriggerTypeEnum::ToString(v)); } bool IfcEventType::hasUserDefinedEventTriggerType() const { return !entity->getArgument(11)->isNull(); } -IfcLabel IfcEventType::UserDefinedEventTriggerType() const { return *entity->getArgument(11); } -void IfcEventType::setUserDefinedEventTriggerType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +std::string IfcEventType::UserDefinedEventTriggerType() const { return *entity->getArgument(11); } +void IfcEventType::setUserDefinedEventTriggerType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcEventType::is(Type::Enum v) const { return v == Type::IfcEventType || IfcTypeProcess::is(v); } Type::Enum IfcEventType::type() const { return Type::IfcEventType; } Type::Enum IfcEventType::Class() { return Type::IfcEventType; } IfcEventType::IfcEventType(IfcAbstractEntity* e) : IfcTypeProcess((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcEventType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcEventType::IfcEventType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ProcessType, IfcEventTypeEnum::IfcEventTypeEnum v10_PredefinedType, IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum v11_EventTriggerType, boost::optional< IfcLabel > v12_UserDefinedEventTriggerType) : IfcTypeProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ProcessType) { e->setArgument(8,(*v9_ProcessType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEventTypeEnum::ToString(v10_PredefinedType)); e->setArgument(10,v11_EventTriggerType,IfcEventTriggerTypeEnum::ToString(v11_EventTriggerType)); if (v12_UserDefinedEventTriggerType) { e->setArgument(11,(*v12_UserDefinedEventTriggerType)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } +IfcEventType::IfcEventType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, IfcEventTypeEnum::IfcEventTypeEnum v10_PredefinedType, IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType) : IfcTypeProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ProcessType) { e->setArgument(8,(*v9_ProcessType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcEventTypeEnum::ToString(v10_PredefinedType)); e->setArgument(10,v11_EventTriggerType,IfcEventTriggerTypeEnum::ToString(v11_EventTriggerType)); if (v12_UserDefinedEventTriggerType) { e->setArgument(11,(*v12_UserDefinedEventTriggerType)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExtendedProperties bool IfcExtendedProperties::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcIdentifier IfcExtendedProperties::Name() const { return *entity->getArgument(0); } -void IfcExtendedProperties::setName(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcExtendedProperties::Name() const { return *entity->getArgument(0); } +void IfcExtendedProperties::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcExtendedProperties::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcExtendedProperties::Description() const { return *entity->getArgument(1); } -void IfcExtendedProperties::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcExtendedProperties::Description() const { return *entity->getArgument(1); } +void IfcExtendedProperties::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcTemplatedEntityList< IfcProperty >::ptr IfcExtendedProperties::Properties() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } void IfcExtendedProperties::setProperties(IfcTemplatedEntityList< IfcProperty >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } bool IfcExtendedProperties::is(Type::Enum v) const { return v == Type::IfcExtendedProperties || IfcPropertyAbstraction::is(v); } Type::Enum IfcExtendedProperties::type() const { return Type::IfcExtendedProperties; } Type::Enum IfcExtendedProperties::Class() { return Type::IfcExtendedProperties; } IfcExtendedProperties::IfcExtendedProperties(IfcAbstractEntity* e) : IfcPropertyAbstraction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExtendedProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExtendedProperties::IfcExtendedProperties(boost::optional< IfcIdentifier > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcProperty >::ptr v3_Properties) : IfcPropertyAbstraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Properties)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcProperty >::ptr v3_Properties) : IfcPropertyAbstraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Properties)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternalInformation bool IfcExternalInformation::is(Type::Enum v) const { return v == Type::IfcExternalInformation; } @@ -9075,31 +10622,31 @@ IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity() { If // Function implementations for IfcExternalReference bool IfcExternalReference::hasLocation() const { return !entity->getArgument(0)->isNull(); } -IfcURIReference IfcExternalReference::Location() const { return *entity->getArgument(0); } -void IfcExternalReference::setLocation(IfcURIReference v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcExternalReference::Location() const { return *entity->getArgument(0); } +void IfcExternalReference::setLocation(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcExternalReference::hasIdentification() const { return !entity->getArgument(1)->isNull(); } -IfcIdentifier IfcExternalReference::Identification() const { return *entity->getArgument(1); } -void IfcExternalReference::setIdentification(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcExternalReference::Identification() const { return *entity->getArgument(1); } +void IfcExternalReference::setIdentification(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcExternalReference::hasName() const { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcExternalReference::Name() const { return *entity->getArgument(2); } -void IfcExternalReference::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcExternalReference::Name() const { return *entity->getArgument(2); } +void IfcExternalReference::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcExternalReferenceRelationship::list::ptr IfcExternalReference::ExternalReferenceForResources() const { return entity->getInverse(Type::IfcExternalReferenceRelationship)->as(); } bool IfcExternalReference::is(Type::Enum v) const { return v == Type::IfcExternalReference; } Type::Enum IfcExternalReference::type() const { return Type::IfcExternalReference; } Type::Enum IfcExternalReference::Class() { return Type::IfcExternalReference; } IfcExternalReference::IfcExternalReference(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcExternalReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExternalReference::IfcExternalReference(boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternalReferenceRelationship IfcExternalReference* IfcExternalReferenceRelationship::RelatingReference() const { return (IfcExternalReference*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcExternalReferenceRelationship::setRelatingReference(IfcExternalReference* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcExternalReferenceRelationship::RelatedResourceObjects() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } -void IfcExternalReferenceRelationship::setRelatedResourceObjects(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +IfcEntityList::ptr IfcExternalReferenceRelationship::RelatedResourceObjects() const { return *entity->getArgument(3); } +void IfcExternalReferenceRelationship::setRelatedResourceObjects(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcExternalReferenceRelationship::is(Type::Enum v) const { return v == Type::IfcExternalReferenceRelationship || IfcResourceLevelRelationship::is(v); } Type::Enum IfcExternalReferenceRelationship::type() const { return Type::IfcExternalReferenceRelationship; } Type::Enum IfcExternalReferenceRelationship::Class() { return Type::IfcExternalReferenceRelationship; } IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcAbstractEntity* e) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExternalReferenceRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcExternalReference* v3_RelatingReference, IfcEntityList::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingReference)); e->setArgument(3,(v4_RelatedResourceObjects)); entity = e; EntityBuffer::Add(this); } +IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcExternalReference* v3_RelatingReference, IfcEntityList::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingReference)); e->setArgument(3,(v4_RelatedResourceObjects)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternalSpatialElement bool IfcExternalSpatialElement::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -9110,46 +10657,46 @@ bool IfcExternalSpatialElement::is(Type::Enum v) const { return v == Type::IfcEx Type::Enum IfcExternalSpatialElement::type() const { return Type::IfcExternalSpatialElement; } Type::Enum IfcExternalSpatialElement::Class() { return Type::IfcExternalSpatialElement; } IfcExternalSpatialElement::IfcExternalSpatialElement(IfcAbstractEntity* e) : IfcExternalSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExternalSpatialElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExternalSpatialElement::IfcExternalSpatialElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum > v9_PredefinedType) : IfcExternalSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcExternalSpatialElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum > v9_PredefinedType) : IfcExternalSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcExternalSpatialElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternalSpatialStructureElement bool IfcExternalSpatialStructureElement::is(Type::Enum v) const { return v == Type::IfcExternalSpatialStructureElement || IfcSpatialElement::is(v); } Type::Enum IfcExternalSpatialStructureElement::type() const { return Type::IfcExternalSpatialStructureElement; } Type::Enum IfcExternalSpatialStructureElement::Class() { return Type::IfcExternalSpatialStructureElement; } IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(IfcAbstractEntity* e) : IfcSpatialElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExternalSpatialStructureElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName) : IfcSpatialElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcSpatialElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternallyDefinedHatchStyle bool IfcExternallyDefinedHatchStyle::is(Type::Enum v) const { return v == Type::IfcExternallyDefinedHatchStyle || IfcExternalReference::is(v); } Type::Enum IfcExternallyDefinedHatchStyle::type() const { return Type::IfcExternallyDefinedHatchStyle; } Type::Enum IfcExternallyDefinedHatchStyle::Class() { return Type::IfcExternallyDefinedHatchStyle; } IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExternallyDefinedHatchStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternallyDefinedSurfaceStyle bool IfcExternallyDefinedSurfaceStyle::is(Type::Enum v) const { return v == Type::IfcExternallyDefinedSurfaceStyle || IfcExternalReference::is(v); } Type::Enum IfcExternallyDefinedSurfaceStyle::type() const { return Type::IfcExternallyDefinedSurfaceStyle; } Type::Enum IfcExternallyDefinedSurfaceStyle::Class() { return Type::IfcExternallyDefinedSurfaceStyle; } IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExternallyDefinedSurfaceStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExternallyDefinedTextFont bool IfcExternallyDefinedTextFont::is(Type::Enum v) const { return v == Type::IfcExternallyDefinedTextFont || IfcExternalReference::is(v); } Type::Enum IfcExternallyDefinedTextFont::type() const { return Type::IfcExternallyDefinedTextFont; } Type::Enum IfcExternallyDefinedTextFont::Class() { return Type::IfcExternallyDefinedTextFont; } IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExternallyDefinedTextFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExtrudedAreaSolid IfcDirection* IfcExtrudedAreaSolid::ExtrudedDirection() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcExtrudedAreaSolid::setExtrudedDirection(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcPositiveLengthMeasure IfcExtrudedAreaSolid::Depth() const { return *entity->getArgument(3); } -void IfcExtrudedAreaSolid::setDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcExtrudedAreaSolid::Depth() const { return *entity->getArgument(3); } +void IfcExtrudedAreaSolid::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcExtrudedAreaSolid::is(Type::Enum v) const { return v == Type::IfcExtrudedAreaSolid || IfcSweptAreaSolid::is(v); } Type::Enum IfcExtrudedAreaSolid::type() const { return Type::IfcExtrudedAreaSolid; } Type::Enum IfcExtrudedAreaSolid::Class() { return Type::IfcExtrudedAreaSolid; } IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcAbstractEntity* e) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExtrudedAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, IfcPositiveLengthMeasure v4_Depth) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_ExtrudedDirection)); e->setArgument(3,(v4_Depth)); entity = e; EntityBuffer::Add(this); } +IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_ExtrudedDirection)); e->setArgument(3,(v4_Depth)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcExtrudedAreaSolidTapered IfcProfileDef* IfcExtrudedAreaSolidTapered::EndSweptArea() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -9158,7 +10705,7 @@ bool IfcExtrudedAreaSolidTapered::is(Type::Enum v) const { return v == Type::Ifc Type::Enum IfcExtrudedAreaSolidTapered::type() const { return Type::IfcExtrudedAreaSolidTapered; } Type::Enum IfcExtrudedAreaSolidTapered::Class() { return Type::IfcExtrudedAreaSolidTapered; } IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(IfcAbstractEntity* e) : IfcExtrudedAreaSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcExtrudedAreaSolidTapered)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, IfcPositiveLengthMeasure v4_Depth, IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_ExtrudedDirection)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_EndSweptArea)); entity = e; EntityBuffer::Add(this); } +IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, double v4_Depth, IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_ExtrudedDirection)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_EndSweptArea)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFace IfcTemplatedEntityList< IfcFaceBound >::ptr IfcFace::Bounds() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } @@ -9226,28 +10773,28 @@ IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcClosedShell* v1_Outer, IfcTe // Function implementations for IfcFailureConnectionCondition bool IfcFailureConnectionCondition::hasTensionFailureX() const { return !entity->getArgument(1)->isNull(); } -IfcForceMeasure IfcFailureConnectionCondition::TensionFailureX() const { return *entity->getArgument(1); } -void IfcFailureConnectionCondition::setTensionFailureX(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcFailureConnectionCondition::TensionFailureX() const { return *entity->getArgument(1); } +void IfcFailureConnectionCondition::setTensionFailureX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcFailureConnectionCondition::hasTensionFailureY() const { return !entity->getArgument(2)->isNull(); } -IfcForceMeasure IfcFailureConnectionCondition::TensionFailureY() const { return *entity->getArgument(2); } -void IfcFailureConnectionCondition::setTensionFailureY(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcFailureConnectionCondition::TensionFailureY() const { return *entity->getArgument(2); } +void IfcFailureConnectionCondition::setTensionFailureY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcFailureConnectionCondition::hasTensionFailureZ() const { return !entity->getArgument(3)->isNull(); } -IfcForceMeasure IfcFailureConnectionCondition::TensionFailureZ() const { return *entity->getArgument(3); } -void IfcFailureConnectionCondition::setTensionFailureZ(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcFailureConnectionCondition::TensionFailureZ() const { return *entity->getArgument(3); } +void IfcFailureConnectionCondition::setTensionFailureZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcFailureConnectionCondition::hasCompressionFailureX() const { return !entity->getArgument(4)->isNull(); } -IfcForceMeasure IfcFailureConnectionCondition::CompressionFailureX() const { return *entity->getArgument(4); } -void IfcFailureConnectionCondition::setCompressionFailureX(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcFailureConnectionCondition::CompressionFailureX() const { return *entity->getArgument(4); } +void IfcFailureConnectionCondition::setCompressionFailureX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcFailureConnectionCondition::hasCompressionFailureY() const { return !entity->getArgument(5)->isNull(); } -IfcForceMeasure IfcFailureConnectionCondition::CompressionFailureY() const { return *entity->getArgument(5); } -void IfcFailureConnectionCondition::setCompressionFailureY(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcFailureConnectionCondition::CompressionFailureY() const { return *entity->getArgument(5); } +void IfcFailureConnectionCondition::setCompressionFailureY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcFailureConnectionCondition::hasCompressionFailureZ() const { return !entity->getArgument(6)->isNull(); } -IfcForceMeasure IfcFailureConnectionCondition::CompressionFailureZ() const { return *entity->getArgument(6); } -void IfcFailureConnectionCondition::setCompressionFailureZ(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcFailureConnectionCondition::CompressionFailureZ() const { return *entity->getArgument(6); } +void IfcFailureConnectionCondition::setCompressionFailureZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcFailureConnectionCondition::is(Type::Enum v) const { return v == Type::IfcFailureConnectionCondition || IfcStructuralConnectionCondition::is(v); } Type::Enum IfcFailureConnectionCondition::type() const { return Type::IfcFailureConnectionCondition; } Type::Enum IfcFailureConnectionCondition::Class() { return Type::IfcFailureConnectionCondition; } IfcFailureConnectionCondition::IfcFailureConnectionCondition(IfcAbstractEntity* e) : IfcStructuralConnectionCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFailureConnectionCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFailureConnectionCondition::IfcFailureConnectionCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_TensionFailureX, boost::optional< IfcForceMeasure > v3_TensionFailureY, boost::optional< IfcForceMeasure > v4_TensionFailureZ, boost::optional< IfcForceMeasure > v5_CompressionFailureX, boost::optional< IfcForceMeasure > v6_CompressionFailureY, boost::optional< IfcForceMeasure > v7_CompressionFailureZ) : IfcStructuralConnectionCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TensionFailureX) { e->setArgument(1,(*v2_TensionFailureX)); } else { e->setArgument(1); } if (v3_TensionFailureY) { e->setArgument(2,(*v3_TensionFailureY)); } else { e->setArgument(2); } if (v4_TensionFailureZ) { e->setArgument(3,(*v4_TensionFailureZ)); } else { e->setArgument(3); } if (v5_CompressionFailureX) { e->setArgument(4,(*v5_CompressionFailureX)); } else { e->setArgument(4); } if (v6_CompressionFailureY) { e->setArgument(5,(*v6_CompressionFailureY)); } else { e->setArgument(5); } if (v7_CompressionFailureZ) { e->setArgument(6,(*v7_CompressionFailureZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcFailureConnectionCondition::IfcFailureConnectionCondition(boost::optional< std::string > v1_Name, boost::optional< double > v2_TensionFailureX, boost::optional< double > v3_TensionFailureY, boost::optional< double > v4_TensionFailureZ, boost::optional< double > v5_CompressionFailureX, boost::optional< double > v6_CompressionFailureY, boost::optional< double > v7_CompressionFailureZ) : IfcStructuralConnectionCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_TensionFailureX) { e->setArgument(1,(*v2_TensionFailureX)); } else { e->setArgument(1); } if (v3_TensionFailureY) { e->setArgument(2,(*v3_TensionFailureY)); } else { e->setArgument(2); } if (v4_TensionFailureZ) { e->setArgument(3,(*v4_TensionFailureZ)); } else { e->setArgument(3); } if (v5_CompressionFailureX) { e->setArgument(4,(*v5_CompressionFailureX)); } else { e->setArgument(4); } if (v6_CompressionFailureY) { e->setArgument(5,(*v6_CompressionFailureY)); } else { e->setArgument(5); } if (v7_CompressionFailureZ) { e->setArgument(6,(*v7_CompressionFailureZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFan bool IfcFan::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -9257,7 +10804,7 @@ bool IfcFan::is(Type::Enum v) const { return v == Type::IfcFan || IfcFlowMovingD Type::Enum IfcFan::type() const { return Type::IfcFan; } Type::Enum IfcFan::Class() { return Type::IfcFan; } IfcFan::IfcFan(IfcAbstractEntity* e) : IfcFlowMovingDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFan)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFan::IfcFan(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFanTypeEnum::IfcFanTypeEnum > v9_PredefinedType) : IfcFlowMovingDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFanTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFan::IfcFan(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFanTypeEnum::IfcFanTypeEnum > v9_PredefinedType) : IfcFlowMovingDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFanTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFanType IfcFanTypeEnum::IfcFanTypeEnum IfcFanType::PredefinedType() const { return IfcFanTypeEnum::FromString(*entity->getArgument(9)); } @@ -9266,7 +10813,7 @@ bool IfcFanType::is(Type::Enum v) const { return v == Type::IfcFanType || IfcFlo Type::Enum IfcFanType::type() const { return Type::IfcFanType; } Type::Enum IfcFanType::Class() { return Type::IfcFanType; } IfcFanType::IfcFanType(IfcAbstractEntity* e) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFanType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFanType::IfcFanType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFanTypeEnum::IfcFanTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFanTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcFanType::IfcFanType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFanTypeEnum::IfcFanTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFanTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFastener bool IfcFastener::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -9276,7 +10823,7 @@ bool IfcFastener::is(Type::Enum v) const { return v == Type::IfcFastener || IfcE Type::Enum IfcFastener::type() const { return Type::IfcFastener; } Type::Enum IfcFastener::Class() { return Type::IfcFastener; } IfcFastener::IfcFastener(IfcAbstractEntity* e) : IfcElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFastener)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFastener::IfcFastener(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFastenerTypeEnum::IfcFastenerTypeEnum > v9_PredefinedType) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFastenerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFastener::IfcFastener(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFastenerTypeEnum::IfcFastenerTypeEnum > v9_PredefinedType) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFastenerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFastenerType IfcFastenerTypeEnum::IfcFastenerTypeEnum IfcFastenerType::PredefinedType() const { return IfcFastenerTypeEnum::FromString(*entity->getArgument(9)); } @@ -9285,14 +10832,14 @@ bool IfcFastenerType::is(Type::Enum v) const { return v == Type::IfcFastenerType Type::Enum IfcFastenerType::type() const { return Type::IfcFastenerType; } Type::Enum IfcFastenerType::Class() { return Type::IfcFastenerType; } IfcFastenerType::IfcFastenerType(IfcAbstractEntity* e) : IfcElementComponentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFastenerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFastenerType::IfcFastenerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFastenerTypeEnum::IfcFastenerTypeEnum v10_PredefinedType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFastenerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFastenerTypeEnum::IfcFastenerTypeEnum v10_PredefinedType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFastenerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFeatureElement bool IfcFeatureElement::is(Type::Enum v) const { return v == Type::IfcFeatureElement || IfcElement::is(v); } Type::Enum IfcFeatureElement::type() const { return Type::IfcFeatureElement; } Type::Enum IfcFeatureElement::Class() { return Type::IfcFeatureElement; } IfcFeatureElement::IfcFeatureElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFeatureElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFeatureElement::IfcFeatureElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFeatureElementAddition IfcRelProjectsElement::list::ptr IfcFeatureElementAddition::ProjectsElements() const { return entity->getInverse(Type::IfcRelProjectsElement)->as(); } @@ -9300,7 +10847,7 @@ bool IfcFeatureElementAddition::is(Type::Enum v) const { return v == Type::IfcFe Type::Enum IfcFeatureElementAddition::type() const { return Type::IfcFeatureElementAddition; } Type::Enum IfcFeatureElementAddition::Class() { return Type::IfcFeatureElementAddition; } IfcFeatureElementAddition::IfcFeatureElementAddition(IfcAbstractEntity* e) : IfcFeatureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFeatureElementAddition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFeatureElementAddition::IfcFeatureElementAddition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcFeatureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFeatureElementSubtraction IfcRelVoidsElement::list::ptr IfcFeatureElementSubtraction::VoidsElements() const { return entity->getInverse(Type::IfcRelVoidsElement)->as(); } @@ -9308,11 +10855,11 @@ bool IfcFeatureElementSubtraction::is(Type::Enum v) const { return v == Type::If Type::Enum IfcFeatureElementSubtraction::type() const { return Type::IfcFeatureElementSubtraction; } Type::Enum IfcFeatureElementSubtraction::Class() { return Type::IfcFeatureElementSubtraction; } IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcAbstractEntity* e) : IfcFeatureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFeatureElementSubtraction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcFeatureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFillAreaStyle -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcFillAreaStyle::FillStyles() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcFillAreaStyle::setFillStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +IfcEntityList::ptr IfcFillAreaStyle::FillStyles() const { return *entity->getArgument(1); } +void IfcFillAreaStyle::setFillStyles(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcFillAreaStyle::hasModelorDraughting() const { return !entity->getArgument(2)->isNull(); } bool IfcFillAreaStyle::ModelorDraughting() const { return *entity->getArgument(2); } void IfcFillAreaStyle::setModelorDraughting(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } @@ -9320,39 +10867,39 @@ bool IfcFillAreaStyle::is(Type::Enum v) const { return v == Type::IfcFillAreaSty Type::Enum IfcFillAreaStyle::type() const { return Type::IfcFillAreaStyle; } Type::Enum IfcFillAreaStyle::Class() { return Type::IfcFillAreaStyle; } IfcFillAreaStyle::IfcFillAreaStyle(IfcAbstractEntity* e) : IfcPresentationStyle((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFillAreaStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< IfcLabel > v1_Name, IfcEntityList::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_FillStyles)); if (v3_ModelorDraughting) { e->setArgument(2,(*v3_ModelorDraughting)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, IfcEntityList::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_FillStyles)); if (v3_ModelorDraughting) { e->setArgument(2,(*v3_ModelorDraughting)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFillAreaStyleHatching IfcCurveStyle* IfcFillAreaStyleHatching::HatchLineAppearance() const { return (IfcCurveStyle*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcFillAreaStyleHatching::setHatchLineAppearance(IfcCurveStyle* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcHatchLineDistanceSelect IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return *entity->getArgument(1); } -void IfcFillAreaStyleHatching::setStartOfNextHatchLine(IfcHatchLineDistanceSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcHatchLineDistanceSelect* IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return (IfcHatchLineDistanceSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcFillAreaStyleHatching::setStartOfNextHatchLine(IfcHatchLineDistanceSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcFillAreaStyleHatching::hasPointOfReferenceHatchLine() const { return !entity->getArgument(2)->isNull(); } IfcCartesianPoint* IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcFillAreaStyleHatching::hasPatternStart() const { return !entity->getArgument(3)->isNull(); } IfcCartesianPoint* IfcFillAreaStyleHatching::PatternStart() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcFillAreaStyleHatching::setPatternStart(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPlaneAngleMeasure IfcFillAreaStyleHatching::HatchLineAngle() const { return *entity->getArgument(4); } -void IfcFillAreaStyleHatching::setHatchLineAngle(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcFillAreaStyleHatching::HatchLineAngle() const { return *entity->getArgument(4); } +void IfcFillAreaStyleHatching::setHatchLineAngle(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcFillAreaStyleHatching::is(Type::Enum v) const { return v == Type::IfcFillAreaStyleHatching || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcFillAreaStyleHatching::type() const { return Type::IfcFillAreaStyleHatching; } Type::Enum IfcFillAreaStyleHatching::Class() { return Type::IfcFillAreaStyleHatching; } IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFillAreaStyleHatching)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcCurveStyle* v1_HatchLineAppearance, IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, IfcCartesianPoint* v3_PointOfReferenceHatchLine, IfcCartesianPoint* v4_PatternStart, IfcPlaneAngleMeasure v5_HatchLineAngle) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_HatchLineAppearance)); e->setArgument(1,(v2_StartOfNextHatchLine)); e->setArgument(2,(v3_PointOfReferenceHatchLine)); e->setArgument(3,(v4_PatternStart)); e->setArgument(4,(v5_HatchLineAngle)); entity = e; EntityBuffer::Add(this); } +IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcCurveStyle* v1_HatchLineAppearance, IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, IfcCartesianPoint* v3_PointOfReferenceHatchLine, IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_HatchLineAppearance)); e->setArgument(1,(v2_StartOfNextHatchLine)); e->setArgument(2,(v3_PointOfReferenceHatchLine)); e->setArgument(3,(v4_PatternStart)); e->setArgument(4,(v5_HatchLineAngle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFillAreaStyleTiles IfcTemplatedEntityList< IfcVector >::ptr IfcFillAreaStyleTiles::TilingPattern() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } void IfcFillAreaStyleTiles::setTilingPattern(IfcTemplatedEntityList< IfcVector >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } IfcTemplatedEntityList< IfcStyledItem >::ptr IfcFillAreaStyleTiles::Tiles() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } void IfcFillAreaStyleTiles::setTiles(IfcTemplatedEntityList< IfcStyledItem >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -IfcPositiveRatioMeasure IfcFillAreaStyleTiles::TilingScale() const { return *entity->getArgument(2); } -void IfcFillAreaStyleTiles::setTilingScale(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcFillAreaStyleTiles::TilingScale() const { return *entity->getArgument(2); } +void IfcFillAreaStyleTiles::setTilingScale(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcFillAreaStyleTiles::is(Type::Enum v) const { return v == Type::IfcFillAreaStyleTiles || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcFillAreaStyleTiles::type() const { return Type::IfcFillAreaStyleTiles; } Type::Enum IfcFillAreaStyleTiles::Class() { return Type::IfcFillAreaStyleTiles; } IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFillAreaStyleTiles)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcTemplatedEntityList< IfcVector >::ptr v1_TilingPattern, IfcTemplatedEntityList< IfcStyledItem >::ptr v2_Tiles, IfcPositiveRatioMeasure v3_TilingScale) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TilingPattern)->generalize()); e->setArgument(1,(v2_Tiles)->generalize()); e->setArgument(2,(v3_TilingScale)); entity = e; EntityBuffer::Add(this); } +IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcTemplatedEntityList< IfcVector >::ptr v1_TilingPattern, IfcTemplatedEntityList< IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TilingPattern)->generalize()); e->setArgument(1,(v2_Tiles)->generalize()); e->setArgument(2,(v3_TilingScale)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFilter bool IfcFilter::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -9362,7 +10909,7 @@ bool IfcFilter::is(Type::Enum v) const { return v == Type::IfcFilter || IfcFlowT Type::Enum IfcFilter::type() const { return Type::IfcFilter; } Type::Enum IfcFilter::Class() { return Type::IfcFilter; } IfcFilter::IfcFilter(IfcAbstractEntity* e) : IfcFlowTreatmentDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFilter)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFilter::IfcFilter(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFilterTypeEnum::IfcFilterTypeEnum > v9_PredefinedType) : IfcFlowTreatmentDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFilterTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFilter::IfcFilter(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFilterTypeEnum::IfcFilterTypeEnum > v9_PredefinedType) : IfcFlowTreatmentDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFilterTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFilterType IfcFilterTypeEnum::IfcFilterTypeEnum IfcFilterType::PredefinedType() const { return IfcFilterTypeEnum::FromString(*entity->getArgument(9)); } @@ -9371,7 +10918,7 @@ bool IfcFilterType::is(Type::Enum v) const { return v == Type::IfcFilterType || Type::Enum IfcFilterType::type() const { return Type::IfcFilterType; } Type::Enum IfcFilterType::Class() { return Type::IfcFilterType; } IfcFilterType::IfcFilterType(IfcAbstractEntity* e) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFilterType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFilterType::IfcFilterType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFilterTypeEnum::IfcFilterTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFilterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcFilterType::IfcFilterType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFilterTypeEnum::IfcFilterTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFilterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFireSuppressionTerminal bool IfcFireSuppressionTerminal::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -9381,7 +10928,7 @@ bool IfcFireSuppressionTerminal::is(Type::Enum v) const { return v == Type::IfcF Type::Enum IfcFireSuppressionTerminal::type() const { return Type::IfcFireSuppressionTerminal; } Type::Enum IfcFireSuppressionTerminal::Class() { return Type::IfcFireSuppressionTerminal; } IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFireSuppressionTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFireSuppressionTerminalTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFireSuppressionTerminalTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFireSuppressionTerminalType IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum IfcFireSuppressionTerminalType::PredefinedType() const { return IfcFireSuppressionTerminalTypeEnum::FromString(*entity->getArgument(9)); } @@ -9390,52 +10937,52 @@ bool IfcFireSuppressionTerminalType::is(Type::Enum v) const { return v == Type:: Type::Enum IfcFireSuppressionTerminalType::type() const { return Type::IfcFireSuppressionTerminalType; } Type::Enum IfcFireSuppressionTerminalType::Class() { return Type::IfcFireSuppressionTerminalType; } IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFireSuppressionTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFireSuppressionTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFireSuppressionTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFixedReferenceSweptAreaSolid IfcCurve* IfcFixedReferenceSweptAreaSolid::Directrix() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcFixedReferenceSweptAreaSolid::setDirectrix(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcFixedReferenceSweptAreaSolid::hasStartParam() const { return !entity->getArgument(3)->isNull(); } -IfcParameterValue IfcFixedReferenceSweptAreaSolid::StartParam() const { return *entity->getArgument(3); } -void IfcFixedReferenceSweptAreaSolid::setStartParam(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcFixedReferenceSweptAreaSolid::StartParam() const { return *entity->getArgument(3); } +void IfcFixedReferenceSweptAreaSolid::setStartParam(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcFixedReferenceSweptAreaSolid::hasEndParam() const { return !entity->getArgument(4)->isNull(); } -IfcParameterValue IfcFixedReferenceSweptAreaSolid::EndParam() const { return *entity->getArgument(4); } -void IfcFixedReferenceSweptAreaSolid::setEndParam(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcFixedReferenceSweptAreaSolid::EndParam() const { return *entity->getArgument(4); } +void IfcFixedReferenceSweptAreaSolid::setEndParam(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } IfcDirection* IfcFixedReferenceSweptAreaSolid::FixedReference() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } void IfcFixedReferenceSweptAreaSolid::setFixedReference(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcFixedReferenceSweptAreaSolid::is(Type::Enum v) const { return v == Type::IfcFixedReferenceSweptAreaSolid || IfcSweptAreaSolid::is(v); } Type::Enum IfcFixedReferenceSweptAreaSolid::type() const { return Type::IfcFixedReferenceSweptAreaSolid; } Type::Enum IfcFixedReferenceSweptAreaSolid::Class() { return Type::IfcFixedReferenceSweptAreaSolid; } IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(IfcAbstractEntity* e) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFixedReferenceSweptAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcCurve* v3_Directrix, boost::optional< IfcParameterValue > v4_StartParam, boost::optional< IfcParameterValue > v5_EndParam, IfcDirection* v6_FixedReference) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_Directrix)); if (v4_StartParam) { e->setArgument(3,(*v4_StartParam)); } else { e->setArgument(3); } if (v5_EndParam) { e->setArgument(4,(*v5_EndParam)); } else { e->setArgument(4); } e->setArgument(5,(v6_FixedReference)); entity = e; EntityBuffer::Add(this); } +IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, IfcDirection* v6_FixedReference) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_Directrix)); if (v4_StartParam) { e->setArgument(3,(*v4_StartParam)); } else { e->setArgument(3); } if (v5_EndParam) { e->setArgument(4,(*v5_EndParam)); } else { e->setArgument(4); } e->setArgument(5,(v6_FixedReference)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowController bool IfcFlowController::is(Type::Enum v) const { return v == Type::IfcFlowController || IfcDistributionFlowElement::is(v); } Type::Enum IfcFlowController::type() const { return Type::IfcFlowController; } Type::Enum IfcFlowController::Class() { return Type::IfcFlowController; } IfcFlowController::IfcFlowController(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowController)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowController::IfcFlowController(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowController::IfcFlowController(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowControllerType bool IfcFlowControllerType::is(Type::Enum v) const { return v == Type::IfcFlowControllerType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcFlowControllerType::type() const { return Type::IfcFlowControllerType; } Type::Enum IfcFlowControllerType::Class() { return Type::IfcFlowControllerType; } IfcFlowControllerType::IfcFlowControllerType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowControllerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowControllerType::IfcFlowControllerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowFitting bool IfcFlowFitting::is(Type::Enum v) const { return v == Type::IfcFlowFitting || IfcDistributionFlowElement::is(v); } Type::Enum IfcFlowFitting::type() const { return Type::IfcFlowFitting; } Type::Enum IfcFlowFitting::Class() { return Type::IfcFlowFitting; } IfcFlowFitting::IfcFlowFitting(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowFitting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowFitting::IfcFlowFitting(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowFittingType bool IfcFlowFittingType::is(Type::Enum v) const { return v == Type::IfcFlowFittingType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcFlowFittingType::type() const { return Type::IfcFlowFittingType; } Type::Enum IfcFlowFittingType::Class() { return Type::IfcFlowFittingType; } IfcFlowFittingType::IfcFlowFittingType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowFittingType::IfcFlowFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowInstrument bool IfcFlowInstrument::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -9445,7 +10992,7 @@ bool IfcFlowInstrument::is(Type::Enum v) const { return v == Type::IfcFlowInstru Type::Enum IfcFlowInstrument::type() const { return Type::IfcFlowInstrument; } Type::Enum IfcFlowInstrument::Class() { return Type::IfcFlowInstrument; } IfcFlowInstrument::IfcFlowInstrument(IfcAbstractEntity* e) : IfcDistributionControlElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowInstrument)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowInstrument::IfcFlowInstrument(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFlowInstrumentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFlowInstrument::IfcFlowInstrument(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFlowInstrumentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowInstrumentType IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum IfcFlowInstrumentType::PredefinedType() const { return IfcFlowInstrumentTypeEnum::FromString(*entity->getArgument(9)); } @@ -9454,7 +11001,7 @@ bool IfcFlowInstrumentType::is(Type::Enum v) const { return v == Type::IfcFlowIn Type::Enum IfcFlowInstrumentType::type() const { return Type::IfcFlowInstrumentType; } Type::Enum IfcFlowInstrumentType::Class() { return Type::IfcFlowInstrumentType; } IfcFlowInstrumentType::IfcFlowInstrumentType(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowInstrumentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowInstrumentType::IfcFlowInstrumentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFlowInstrumentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFlowInstrumentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowMeter bool IfcFlowMeter::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -9464,7 +11011,7 @@ bool IfcFlowMeter::is(Type::Enum v) const { return v == Type::IfcFlowMeter || If Type::Enum IfcFlowMeter::type() const { return Type::IfcFlowMeter; } Type::Enum IfcFlowMeter::Class() { return Type::IfcFlowMeter; } IfcFlowMeter::IfcFlowMeter(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowMeter)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowMeter::IfcFlowMeter(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFlowMeterTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFlowMeter::IfcFlowMeter(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFlowMeterTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowMeterType IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum IfcFlowMeterType::PredefinedType() const { return IfcFlowMeterTypeEnum::FromString(*entity->getArgument(9)); } @@ -9473,77 +11020,77 @@ bool IfcFlowMeterType::is(Type::Enum v) const { return v == Type::IfcFlowMeterTy Type::Enum IfcFlowMeterType::type() const { return Type::IfcFlowMeterType; } Type::Enum IfcFlowMeterType::Class() { return Type::IfcFlowMeterType; } IfcFlowMeterType::IfcFlowMeterType(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowMeterType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowMeterType::IfcFlowMeterType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFlowMeterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFlowMeterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowMovingDevice bool IfcFlowMovingDevice::is(Type::Enum v) const { return v == Type::IfcFlowMovingDevice || IfcDistributionFlowElement::is(v); } Type::Enum IfcFlowMovingDevice::type() const { return Type::IfcFlowMovingDevice; } Type::Enum IfcFlowMovingDevice::Class() { return Type::IfcFlowMovingDevice; } IfcFlowMovingDevice::IfcFlowMovingDevice(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowMovingDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowMovingDevice::IfcFlowMovingDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowMovingDeviceType bool IfcFlowMovingDeviceType::is(Type::Enum v) const { return v == Type::IfcFlowMovingDeviceType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcFlowMovingDeviceType::type() const { return Type::IfcFlowMovingDeviceType; } Type::Enum IfcFlowMovingDeviceType::Class() { return Type::IfcFlowMovingDeviceType; } IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowMovingDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowSegment bool IfcFlowSegment::is(Type::Enum v) const { return v == Type::IfcFlowSegment || IfcDistributionFlowElement::is(v); } Type::Enum IfcFlowSegment::type() const { return Type::IfcFlowSegment; } Type::Enum IfcFlowSegment::Class() { return Type::IfcFlowSegment; } IfcFlowSegment::IfcFlowSegment(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowSegment::IfcFlowSegment(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowSegmentType bool IfcFlowSegmentType::is(Type::Enum v) const { return v == Type::IfcFlowSegmentType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcFlowSegmentType::type() const { return Type::IfcFlowSegmentType; } Type::Enum IfcFlowSegmentType::Class() { return Type::IfcFlowSegmentType; } IfcFlowSegmentType::IfcFlowSegmentType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowSegmentType::IfcFlowSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowStorageDevice bool IfcFlowStorageDevice::is(Type::Enum v) const { return v == Type::IfcFlowStorageDevice || IfcDistributionFlowElement::is(v); } Type::Enum IfcFlowStorageDevice::type() const { return Type::IfcFlowStorageDevice; } Type::Enum IfcFlowStorageDevice::Class() { return Type::IfcFlowStorageDevice; } IfcFlowStorageDevice::IfcFlowStorageDevice(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowStorageDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowStorageDevice::IfcFlowStorageDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowStorageDeviceType bool IfcFlowStorageDeviceType::is(Type::Enum v) const { return v == Type::IfcFlowStorageDeviceType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcFlowStorageDeviceType::type() const { return Type::IfcFlowStorageDeviceType; } Type::Enum IfcFlowStorageDeviceType::Class() { return Type::IfcFlowStorageDeviceType; } IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowStorageDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowTerminal bool IfcFlowTerminal::is(Type::Enum v) const { return v == Type::IfcFlowTerminal || IfcDistributionFlowElement::is(v); } Type::Enum IfcFlowTerminal::type() const { return Type::IfcFlowTerminal; } Type::Enum IfcFlowTerminal::Class() { return Type::IfcFlowTerminal; } IfcFlowTerminal::IfcFlowTerminal(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowTerminal::IfcFlowTerminal(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowTerminalType bool IfcFlowTerminalType::is(Type::Enum v) const { return v == Type::IfcFlowTerminalType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcFlowTerminalType::type() const { return Type::IfcFlowTerminalType; } Type::Enum IfcFlowTerminalType::Class() { return Type::IfcFlowTerminalType; } IfcFlowTerminalType::IfcFlowTerminalType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowTerminalType::IfcFlowTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowTreatmentDevice bool IfcFlowTreatmentDevice::is(Type::Enum v) const { return v == Type::IfcFlowTreatmentDevice || IfcDistributionFlowElement::is(v); } Type::Enum IfcFlowTreatmentDevice::type() const { return Type::IfcFlowTreatmentDevice; } Type::Enum IfcFlowTreatmentDevice::Class() { return Type::IfcFlowTreatmentDevice; } IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(IfcAbstractEntity* e) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowTreatmentDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFlowTreatmentDeviceType bool IfcFlowTreatmentDeviceType::is(Type::Enum v) const { return v == Type::IfcFlowTreatmentDeviceType || IfcDistributionFlowElementType::is(v); } Type::Enum IfcFlowTreatmentDeviceType::type() const { return Type::IfcFlowTreatmentDeviceType; } Type::Enum IfcFlowTreatmentDeviceType::Class() { return Type::IfcFlowTreatmentDeviceType; } IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(IfcAbstractEntity* e) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFlowTreatmentDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFooting bool IfcFooting::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -9553,7 +11100,7 @@ bool IfcFooting::is(Type::Enum v) const { return v == Type::IfcFooting || IfcBui Type::Enum IfcFooting::type() const { return Type::IfcFooting; } Type::Enum IfcFooting::Class() { return Type::IfcFooting; } IfcFooting::IfcFooting(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFooting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFooting::IfcFooting(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFootingTypeEnum::IfcFootingTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFootingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFooting::IfcFooting(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFootingTypeEnum::IfcFootingTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFootingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFootingType IfcFootingTypeEnum::IfcFootingTypeEnum IfcFootingType::PredefinedType() const { return IfcFootingTypeEnum::FromString(*entity->getArgument(9)); } @@ -9562,21 +11109,21 @@ bool IfcFootingType::is(Type::Enum v) const { return v == Type::IfcFootingType | Type::Enum IfcFootingType::type() const { return Type::IfcFootingType; } Type::Enum IfcFootingType::Class() { return Type::IfcFootingType; } IfcFootingType::IfcFootingType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFootingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFootingType::IfcFootingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFootingTypeEnum::IfcFootingTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFootingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcFootingType::IfcFootingType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFootingTypeEnum::IfcFootingTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcFootingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFurnishingElement bool IfcFurnishingElement::is(Type::Enum v) const { return v == Type::IfcFurnishingElement || IfcElement::is(v); } Type::Enum IfcFurnishingElement::type() const { return Type::IfcFurnishingElement; } Type::Enum IfcFurnishingElement::Class() { return Type::IfcFurnishingElement; } IfcFurnishingElement::IfcFurnishingElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFurnishingElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFurnishingElement::IfcFurnishingElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFurnishingElementType bool IfcFurnishingElementType::is(Type::Enum v) const { return v == Type::IfcFurnishingElementType || IfcElementType::is(v); } Type::Enum IfcFurnishingElementType::type() const { return Type::IfcFurnishingElementType; } Type::Enum IfcFurnishingElementType::Class() { return Type::IfcFurnishingElementType; } IfcFurnishingElementType::IfcFurnishingElementType(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFurnishingElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFurnishingElementType::IfcFurnishingElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFurniture bool IfcFurniture::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -9586,7 +11133,7 @@ bool IfcFurniture::is(Type::Enum v) const { return v == Type::IfcFurniture || If Type::Enum IfcFurniture::type() const { return Type::IfcFurniture; } Type::Enum IfcFurniture::Class() { return Type::IfcFurniture; } IfcFurniture::IfcFurniture(IfcAbstractEntity* e) : IfcFurnishingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFurniture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFurniture::IfcFurniture(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v9_PredefinedType) : IfcFurnishingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFurnitureTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcFurniture::IfcFurniture(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v9_PredefinedType) : IfcFurnishingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcFurnitureTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcFurnitureType IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum IfcFurnitureType::AssemblyPlace() const { return IfcAssemblyPlaceEnum::FromString(*entity->getArgument(9)); } @@ -9598,7 +11145,7 @@ bool IfcFurnitureType::is(Type::Enum v) const { return v == Type::IfcFurnitureTy Type::Enum IfcFurnitureType::type() const { return Type::IfcFurnitureType; } Type::Enum IfcFurnitureType::Class() { return Type::IfcFurnitureType; } IfcFurnitureType::IfcFurnitureType(IfcAbstractEntity* e) : IfcFurnishingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcFurnitureType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcFurnitureType::IfcFurnitureType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v10_AssemblyPlace, boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v11_PredefinedType) : IfcFurnishingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_AssemblyPlace,IfcAssemblyPlaceEnum::ToString(v10_AssemblyPlace)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcFurnitureTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v10_AssemblyPlace, boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v11_PredefinedType) : IfcFurnishingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_AssemblyPlace,IfcAssemblyPlaceEnum::ToString(v10_AssemblyPlace)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcFurnitureTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeographicElement bool IfcGeographicElement::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -9608,7 +11155,7 @@ bool IfcGeographicElement::is(Type::Enum v) const { return v == Type::IfcGeograp Type::Enum IfcGeographicElement::type() const { return Type::IfcGeographicElement; } Type::Enum IfcGeographicElement::Class() { return Type::IfcGeographicElement; } IfcGeographicElement::IfcGeographicElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeographicElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeographicElement::IfcGeographicElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum > v9_PredefinedType) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcGeographicElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcGeographicElement::IfcGeographicElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum > v9_PredefinedType) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcGeographicElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeographicElementType IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum IfcGeographicElementType::PredefinedType() const { return IfcGeographicElementTypeEnum::FromString(*entity->getArgument(9)); } @@ -9617,7 +11164,7 @@ bool IfcGeographicElementType::is(Type::Enum v) const { return v == Type::IfcGeo Type::Enum IfcGeographicElementType::type() const { return Type::IfcGeographicElementType; } Type::Enum IfcGeographicElementType::Class() { return Type::IfcGeographicElementType; } IfcGeographicElementType::IfcGeographicElementType(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeographicElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeographicElementType::IfcGeographicElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum v10_PredefinedType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcGeographicElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum v10_PredefinedType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcGeographicElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeometricCurveSet bool IfcGeometricCurveSet::is(Type::Enum v) const { return v == Type::IfcGeometricCurveSet || IfcGeometricSet::is(v); } @@ -9627,13 +11174,13 @@ IfcGeometricCurveSet::IfcGeometricCurveSet(IfcAbstractEntity* e) : IfcGeometricS IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityList::ptr v1_Elements) : IfcGeometricSet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Elements)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeometricRepresentationContext -IfcDimensionCount IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { return *entity->getArgument(2); } -void IfcGeometricRepresentationContext::setCoordinateSpaceDimension(IfcDimensionCount v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +int IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { return *entity->getArgument(2); } +void IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcGeometricRepresentationContext::hasPrecision() const { return !entity->getArgument(3)->isNull(); } double IfcGeometricRepresentationContext::Precision() const { return *entity->getArgument(3); } void IfcGeometricRepresentationContext::setPrecision(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcAxis2Placement IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return *entity->getArgument(4); } -void IfcGeometricRepresentationContext::setWorldCoordinateSystem(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +IfcAxis2Placement* IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } +void IfcGeometricRepresentationContext::setWorldCoordinateSystem(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcGeometricRepresentationContext::hasTrueNorth() const { return !entity->getArgument(5)->isNull(); } IfcDirection* IfcGeometricRepresentationContext::TrueNorth() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } void IfcGeometricRepresentationContext::setTrueNorth(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } @@ -9642,7 +11189,7 @@ bool IfcGeometricRepresentationContext::is(Type::Enum v) const { return v == Typ Type::Enum IfcGeometricRepresentationContext::type() const { return Type::IfcGeometricRepresentationContext; } Type::Enum IfcGeometricRepresentationContext::Class() { return Type::IfcGeometricRepresentationContext; } IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(IfcAbstractEntity* e) : IfcRepresentationContext((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeometricRepresentationContext)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType, IfcDimensionCount v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, IfcAxis2Placement v5_WorldCoordinateSystem, IfcDirection* v6_TrueNorth) : IfcRepresentationContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ContextIdentifier) { e->setArgument(0,(*v1_ContextIdentifier)); } else { e->setArgument(0); } if (v2_ContextType) { e->setArgument(1,(*v2_ContextType)); } else { e->setArgument(1); } e->setArgument(2,(v3_CoordinateSpaceDimension)); if (v4_Precision) { e->setArgument(3,(*v4_Precision)); } else { e->setArgument(3); } e->setArgument(4,(v5_WorldCoordinateSystem)); e->setArgument(5,(v6_TrueNorth)); entity = e; EntityBuffer::Add(this); } +IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, IfcAxis2Placement* v5_WorldCoordinateSystem, IfcDirection* v6_TrueNorth) : IfcRepresentationContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ContextIdentifier) { e->setArgument(0,(*v1_ContextIdentifier)); } else { e->setArgument(0); } if (v2_ContextType) { e->setArgument(1,(*v2_ContextType)); } else { e->setArgument(1); } e->setArgument(2,(v3_CoordinateSpaceDimension)); if (v4_Precision) { e->setArgument(3,(*v4_Precision)); } else { e->setArgument(3); } e->setArgument(4,(v5_WorldCoordinateSystem)); e->setArgument(5,(v6_TrueNorth)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeometricRepresentationItem bool IfcGeometricRepresentationItem::is(Type::Enum v) const { return v == Type::IfcGeometricRepresentationItem || IfcRepresentationItem::is(v); } @@ -9655,22 +11202,22 @@ IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresenta IfcGeometricRepresentationContext* IfcGeometricRepresentationSubContext::ParentContext() const { return (IfcGeometricRepresentationContext*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } void IfcGeometricRepresentationSubContext::setParentContext(IfcGeometricRepresentationContext* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcGeometricRepresentationSubContext::hasTargetScale() const { return !entity->getArgument(7)->isNull(); } -IfcPositiveRatioMeasure IfcGeometricRepresentationSubContext::TargetScale() const { return *entity->getArgument(7); } -void IfcGeometricRepresentationSubContext::setTargetScale(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcGeometricRepresentationSubContext::TargetScale() const { return *entity->getArgument(7); } +void IfcGeometricRepresentationSubContext::setTargetScale(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } IfcGeometricProjectionEnum::IfcGeometricProjectionEnum IfcGeometricRepresentationSubContext::TargetView() const { return IfcGeometricProjectionEnum::FromString(*entity->getArgument(8)); } void IfcGeometricRepresentationSubContext::setTargetView(IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcGeometricProjectionEnum::ToString(v)); } bool IfcGeometricRepresentationSubContext::hasUserDefinedTargetView() const { return !entity->getArgument(9)->isNull(); } -IfcLabel IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { return *entity->getArgument(9); } -void IfcGeometricRepresentationSubContext::setUserDefinedTargetView(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +std::string IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { return *entity->getArgument(9); } +void IfcGeometricRepresentationSubContext::setUserDefinedTargetView(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcGeometricRepresentationSubContext::is(Type::Enum v) const { return v == Type::IfcGeometricRepresentationSubContext || IfcGeometricRepresentationContext::is(v); } Type::Enum IfcGeometricRepresentationSubContext::type() const { return Type::IfcGeometricRepresentationSubContext; } Type::Enum IfcGeometricRepresentationSubContext::Class() { return Type::IfcGeometricRepresentationSubContext; } IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(IfcAbstractEntity* e) : IfcGeometricRepresentationContext((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGeometricRepresentationSubContext)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType, IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< IfcPositiveRatioMeasure > v8_TargetScale, IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v9_TargetView, boost::optional< IfcLabel > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ContextIdentifier) { e->setArgument(0,(*v1_ContextIdentifier)); } else { e->setArgument(0); } if (v2_ContextType) { e->setArgument(1,(*v2_ContextType)); } else { e->setArgument(1); } e->setArgumentDerived(2); e->setArgumentDerived(3); e->setArgumentDerived(4); e->setArgumentDerived(5); e->setArgument(6,(v7_ParentContext)); if (v8_TargetScale) { e->setArgument(7,(*v8_TargetScale)); } else { e->setArgument(7); } e->setArgument(8,v9_TargetView,IfcGeometricProjectionEnum::ToString(v9_TargetView)); if (v10_UserDefinedTargetView) { e->setArgument(9,(*v10_UserDefinedTargetView)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ContextIdentifier) { e->setArgument(0,(*v1_ContextIdentifier)); } else { e->setArgument(0); } if (v2_ContextType) { e->setArgument(1,(*v2_ContextType)); } else { e->setArgument(1); } e->setArgumentDerived(2); e->setArgumentDerived(3); e->setArgumentDerived(4); e->setArgumentDerived(5); e->setArgument(6,(v7_ParentContext)); if (v8_TargetScale) { e->setArgument(7,(*v8_TargetScale)); } else { e->setArgument(7); } e->setArgument(8,v9_TargetView,IfcGeometricProjectionEnum::ToString(v9_TargetView)); if (v10_UserDefinedTargetView) { e->setArgument(9,(*v10_UserDefinedTargetView)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGeometricSet -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcGeometricSet::Elements() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcGeometricSet::setElements(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcEntityList::ptr IfcGeometricSet::Elements() const { return *entity->getArgument(0); } +void IfcGeometricSet::setElements(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } 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; } @@ -9693,16 +11240,16 @@ bool IfcGrid::is(Type::Enum v) const { return v == Type::IfcGrid || IfcProduct:: Type::Enum IfcGrid::type() const { return Type::IfcGrid; } Type::Enum IfcGrid::Class() { return Type::IfcGrid; } IfcGrid::IfcGrid(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGrid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGrid::IfcGrid(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcTemplatedEntityList< IfcGridAxis >::ptr v8_UAxes, IfcTemplatedEntityList< IfcGridAxis >::ptr v9_VAxes, boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > v10_WAxes, boost::optional< IfcGridTypeEnum::IfcGridTypeEnum > v11_PredefinedType) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_UAxes)->generalize()); e->setArgument(8,(v9_VAxes)->generalize()); if (v10_WAxes) { e->setArgument(9,(*v10_WAxes)->generalize()); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcGridTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcGrid::IfcGrid(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcTemplatedEntityList< IfcGridAxis >::ptr v8_UAxes, IfcTemplatedEntityList< IfcGridAxis >::ptr v9_VAxes, boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > v10_WAxes, boost::optional< IfcGridTypeEnum::IfcGridTypeEnum > v11_PredefinedType) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_UAxes)->generalize()); e->setArgument(8,(v9_VAxes)->generalize()); if (v10_WAxes) { e->setArgument(9,(*v10_WAxes)->generalize()); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcGridTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGridAxis bool IfcGridAxis::hasAxisTag() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcGridAxis::AxisTag() const { return *entity->getArgument(0); } -void IfcGridAxis::setAxisTag(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcGridAxis::AxisTag() const { return *entity->getArgument(0); } +void IfcGridAxis::setAxisTag(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } IfcCurve* IfcGridAxis::AxisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcGridAxis::setAxisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcBoolean IfcGridAxis::SameSense() const { return *entity->getArgument(2); } -void IfcGridAxis::setSameSense(IfcBoolean v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +bool IfcGridAxis::SameSense() const { return *entity->getArgument(2); } +void IfcGridAxis::setSameSense(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcGrid::list::ptr IfcGridAxis::PartOfW() const { return entity->getInverse(Type::IfcGrid)->as(); } IfcGrid::list::ptr IfcGridAxis::PartOfV() const { return entity->getInverse(Type::IfcGrid)->as(); } IfcGrid::list::ptr IfcGridAxis::PartOfU() const { return entity->getInverse(Type::IfcGrid)->as(); } @@ -9711,19 +11258,19 @@ bool IfcGridAxis::is(Type::Enum v) const { return v == Type::IfcGridAxis; } Type::Enum IfcGridAxis::type() const { return Type::IfcGridAxis; } Type::Enum IfcGridAxis::Class() { return Type::IfcGridAxis; } IfcGridAxis::IfcGridAxis(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcGridAxis)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGridAxis::IfcGridAxis(boost::optional< IfcLabel > v1_AxisTag, IfcCurve* v2_AxisCurve, IfcBoolean v3_SameSense) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_AxisTag) { e->setArgument(0,(*v1_AxisTag)); } else { e->setArgument(0); } e->setArgument(1,(v2_AxisCurve)); e->setArgument(2,(v3_SameSense)); entity = e; EntityBuffer::Add(this); } +IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_AxisTag) { e->setArgument(0,(*v1_AxisTag)); } else { e->setArgument(0); } e->setArgument(1,(v2_AxisCurve)); e->setArgument(2,(v3_SameSense)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGridPlacement IfcVirtualGridIntersection* IfcGridPlacement::PlacementLocation() const { return (IfcVirtualGridIntersection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcGridPlacement::setPlacementLocation(IfcVirtualGridIntersection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcGridPlacement::hasPlacementRefDirection() const { return !entity->getArgument(1)->isNull(); } -IfcGridPlacementDirectionSelect IfcGridPlacement::PlacementRefDirection() const { return *entity->getArgument(1); } -void IfcGridPlacement::setPlacementRefDirection(IfcGridPlacementDirectionSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcGridPlacementDirectionSelect* IfcGridPlacement::PlacementRefDirection() const { return (IfcGridPlacementDirectionSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcGridPlacement::setPlacementRefDirection(IfcGridPlacementDirectionSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcGridPlacement::is(Type::Enum v) const { return v == Type::IfcGridPlacement || IfcObjectPlacement::is(v); } Type::Enum IfcGridPlacement::type() const { return Type::IfcGridPlacement; } Type::Enum IfcGridPlacement::Class() { return Type::IfcGridPlacement; } IfcGridPlacement::IfcGridPlacement(IfcAbstractEntity* e) : IfcObjectPlacement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGridPlacement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGridPlacement::IfcGridPlacement(IfcVirtualGridIntersection* v1_PlacementLocation, boost::optional< IfcGridPlacementDirectionSelect > v2_PlacementRefDirection) : IfcObjectPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PlacementLocation)); if (v2_PlacementRefDirection) { e->setArgument(1,(*v2_PlacementRefDirection)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcGridPlacement::IfcGridPlacement(IfcVirtualGridIntersection* v1_PlacementLocation, IfcGridPlacementDirectionSelect* v2_PlacementRefDirection) : IfcObjectPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PlacementLocation)); e->setArgument(1,(v2_PlacementRefDirection)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcGroup IfcRelAssignsToGroup::list::ptr IfcGroup::IsGroupedBy() const { return entity->getInverse(Type::IfcRelAssignsToGroup)->as(); } @@ -9731,7 +11278,7 @@ bool IfcGroup::is(Type::Enum v) const { return v == Type::IfcGroup || IfcObject: Type::Enum IfcGroup::type() const { return Type::IfcGroup; } Type::Enum IfcGroup::Class() { return Type::IfcGroup; } IfcGroup::IfcGroup(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcGroup::IfcGroup(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcGroup::IfcGroup(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcHalfSpaceSolid IfcSurface* IfcHalfSpaceSolid::BaseSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -9752,7 +11299,7 @@ bool IfcHeatExchanger::is(Type::Enum v) const { return v == Type::IfcHeatExchang Type::Enum IfcHeatExchanger::type() const { return Type::IfcHeatExchanger; } Type::Enum IfcHeatExchanger::Class() { return Type::IfcHeatExchanger; } IfcHeatExchanger::IfcHeatExchanger(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcHeatExchanger)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcHeatExchanger::IfcHeatExchanger(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcHeatExchangerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcHeatExchanger::IfcHeatExchanger(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcHeatExchangerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcHeatExchangerType IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum IfcHeatExchangerType::PredefinedType() const { return IfcHeatExchangerTypeEnum::FromString(*entity->getArgument(9)); } @@ -9761,7 +11308,7 @@ bool IfcHeatExchangerType::is(Type::Enum v) const { return v == Type::IfcHeatExc Type::Enum IfcHeatExchangerType::type() const { return Type::IfcHeatExchangerType; } Type::Enum IfcHeatExchangerType::Class() { return Type::IfcHeatExchangerType; } IfcHeatExchangerType::IfcHeatExchangerType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcHeatExchangerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcHeatExchangerType::IfcHeatExchangerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcHeatExchangerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcHeatExchangerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcHumidifier bool IfcHumidifier::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -9771,7 +11318,7 @@ bool IfcHumidifier::is(Type::Enum v) const { return v == Type::IfcHumidifier || Type::Enum IfcHumidifier::type() const { return Type::IfcHumidifier; } Type::Enum IfcHumidifier::Class() { return Type::IfcHumidifier; } IfcHumidifier::IfcHumidifier(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcHumidifier)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcHumidifier::IfcHumidifier(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcHumidifierTypeEnum::IfcHumidifierTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcHumidifierTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcHumidifier::IfcHumidifier(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcHumidifierTypeEnum::IfcHumidifierTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcHumidifierTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcHumidifierType IfcHumidifierTypeEnum::IfcHumidifierTypeEnum IfcHumidifierType::PredefinedType() const { return IfcHumidifierTypeEnum::FromString(*entity->getArgument(9)); } @@ -9780,40 +11327,40 @@ bool IfcHumidifierType::is(Type::Enum v) const { return v == Type::IfcHumidifier Type::Enum IfcHumidifierType::type() const { return Type::IfcHumidifierType; } Type::Enum IfcHumidifierType::Class() { return Type::IfcHumidifierType; } IfcHumidifierType::IfcHumidifierType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcHumidifierType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcHumidifierType::IfcHumidifierType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcHumidifierTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcHumidifierTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcIShapeProfileDef -IfcPositiveLengthMeasure IfcIShapeProfileDef::OverallWidth() const { return *entity->getArgument(3); } -void IfcIShapeProfileDef::setOverallWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcIShapeProfileDef::OverallDepth() const { return *entity->getArgument(4); } -void IfcIShapeProfileDef::setOverallDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcIShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } -void IfcIShapeProfileDef::setWebThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcIShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } -void IfcIShapeProfileDef::setFlangeThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcIShapeProfileDef::OverallWidth() const { return *entity->getArgument(3); } +void IfcIShapeProfileDef::setOverallWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcIShapeProfileDef::OverallDepth() const { return *entity->getArgument(4); } +void IfcIShapeProfileDef::setOverallDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcIShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } +void IfcIShapeProfileDef::setWebThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcIShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } +void IfcIShapeProfileDef::setFlangeThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcIShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(7)->isNull(); } -IfcNonNegativeLengthMeasure IfcIShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } -void IfcIShapeProfileDef::setFilletRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcIShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } +void IfcIShapeProfileDef::setFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcIShapeProfileDef::hasFlangeEdgeRadius() const { return !entity->getArgument(8)->isNull(); } -IfcNonNegativeLengthMeasure IfcIShapeProfileDef::FlangeEdgeRadius() const { return *entity->getArgument(8); } -void IfcIShapeProfileDef::setFlangeEdgeRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcIShapeProfileDef::FlangeEdgeRadius() const { return *entity->getArgument(8); } +void IfcIShapeProfileDef::setFlangeEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcIShapeProfileDef::hasFlangeSlope() const { return !entity->getArgument(9)->isNull(); } -IfcPlaneAngleMeasure IfcIShapeProfileDef::FlangeSlope() const { return *entity->getArgument(9); } -void IfcIShapeProfileDef::setFlangeSlope(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcIShapeProfileDef::FlangeSlope() const { return *entity->getArgument(9); } +void IfcIShapeProfileDef::setFlangeSlope(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcIShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcIShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcIShapeProfileDef::type() const { return Type::IfcIShapeProfileDef; } Type::Enum IfcIShapeProfileDef::Class() { return Type::IfcIShapeProfileDef; } IfcIShapeProfileDef::IfcIShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcIShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcIShapeProfileDef::IfcIShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_OverallWidth, IfcPositiveLengthMeasure v5_OverallDepth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_FilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v9_FlangeEdgeRadius, boost::optional< IfcPlaneAngleMeasure > v10_FlangeSlope) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_OverallWidth)); e->setArgument(4,(v5_OverallDepth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_FlangeEdgeRadius) { e->setArgument(8,(*v9_FlangeEdgeRadius)); } else { e->setArgument(8); } if (v10_FlangeSlope) { e->setArgument(9,(*v10_FlangeSlope)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcIShapeProfileDef::IfcIShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_FlangeEdgeRadius, boost::optional< double > v10_FlangeSlope) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_OverallWidth)); e->setArgument(4,(v5_OverallDepth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_FlangeEdgeRadius) { e->setArgument(8,(*v9_FlangeEdgeRadius)); } else { e->setArgument(8); } if (v10_FlangeSlope) { e->setArgument(9,(*v10_FlangeSlope)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcImageTexture -IfcURIReference IfcImageTexture::URLReference() const { return *entity->getArgument(5); } -void IfcImageTexture::setURLReference(IfcURIReference v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcImageTexture::URLReference() const { return *entity->getArgument(5); } +void IfcImageTexture::setURLReference(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcImageTexture::is(Type::Enum v) const { return v == Type::IfcImageTexture || IfcSurfaceTexture::is(v); } Type::Enum IfcImageTexture::type() const { return Type::IfcImageTexture; } Type::Enum IfcImageTexture::Class() { return Type::IfcImageTexture; } IfcImageTexture::IfcImageTexture(IfcAbstractEntity* e) : IfcSurfaceTexture((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcImageTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< IfcIdentifier > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< IfcIdentifier > /*[1:?]*/ > v5_Parameter, IfcURIReference v6_URLReference) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); if (v3_Mode) { e->setArgument(2,(*v3_Mode)); } else { e->setArgument(2); } e->setArgument(3,(v4_TextureTransform)); if (v5_Parameter) { e->setArgument(4,(*v5_Parameter)); } else { e->setArgument(4); } e->setArgument(5,(v6_URLReference)); entity = e; EntityBuffer::Add(this); } +IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); if (v3_Mode) { e->setArgument(2,(*v3_Mode)); } else { e->setArgument(2); } e->setArgument(3,(v4_TextureTransform)); if (v5_Parameter) { e->setArgument(4,(*v5_Parameter)); } else { e->setArgument(4); } e->setArgument(5,(v6_URLReference)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcIndexedColourMap IfcTessellatedFaceSet* IfcIndexedColourMap::MappedTo() const { return (IfcTessellatedFaceSet*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -9857,7 +11404,7 @@ bool IfcInterceptor::is(Type::Enum v) const { return v == Type::IfcInterceptor | Type::Enum IfcInterceptor::type() const { return Type::IfcInterceptor; } Type::Enum IfcInterceptor::Class() { return Type::IfcInterceptor; } IfcInterceptor::IfcInterceptor(IfcAbstractEntity* e) : IfcFlowTreatmentDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcInterceptor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcInterceptor::IfcInterceptor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcInterceptorTypeEnum::IfcInterceptorTypeEnum > v9_PredefinedType) : IfcFlowTreatmentDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcInterceptorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcInterceptor::IfcInterceptor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcInterceptorTypeEnum::IfcInterceptorTypeEnum > v9_PredefinedType) : IfcFlowTreatmentDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcInterceptorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcInterceptorType IfcInterceptorTypeEnum::IfcInterceptorTypeEnum IfcInterceptorType::PredefinedType() const { return IfcInterceptorTypeEnum::FromString(*entity->getArgument(9)); } @@ -9866,21 +11413,21 @@ bool IfcInterceptorType::is(Type::Enum v) const { return v == Type::IfcIntercept Type::Enum IfcInterceptorType::type() const { return Type::IfcInterceptorType; } Type::Enum IfcInterceptorType::Class() { return Type::IfcInterceptorType; } IfcInterceptorType::IfcInterceptorType(IfcAbstractEntity* e) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcInterceptorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcInterceptorType::IfcInterceptorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcInterceptorTypeEnum::IfcInterceptorTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcInterceptorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcInterceptorTypeEnum::IfcInterceptorTypeEnum v10_PredefinedType) : IfcFlowTreatmentDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcInterceptorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcInventory bool IfcInventory::hasPredefinedType() const { return !entity->getArgument(5)->isNull(); } IfcInventoryTypeEnum::IfcInventoryTypeEnum IfcInventory::PredefinedType() const { return IfcInventoryTypeEnum::FromString(*entity->getArgument(5)); } void IfcInventory::setPredefinedType(IfcInventoryTypeEnum::IfcInventoryTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcInventoryTypeEnum::ToString(v)); } bool IfcInventory::hasJurisdiction() const { return !entity->getArgument(6)->isNull(); } -IfcActorSelect IfcInventory::Jurisdiction() const { return *entity->getArgument(6); } -void IfcInventory::setJurisdiction(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +IfcActorSelect* IfcInventory::Jurisdiction() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } +void IfcInventory::setJurisdiction(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcInventory::hasResponsiblePersons() const { return !entity->getArgument(7)->isNull(); } IfcTemplatedEntityList< IfcPerson >::ptr IfcInventory::ResponsiblePersons() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } void IfcInventory::setResponsiblePersons(IfcTemplatedEntityList< IfcPerson >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } bool IfcInventory::hasLastUpdateDate() const { return !entity->getArgument(8)->isNull(); } -IfcDate IfcInventory::LastUpdateDate() const { return *entity->getArgument(8); } -void IfcInventory::setLastUpdateDate(IfcDate v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcInventory::LastUpdateDate() const { return *entity->getArgument(8); } +void IfcInventory::setLastUpdateDate(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcInventory::hasCurrentValue() const { return !entity->getArgument(9)->isNull(); } IfcCostValue* IfcInventory::CurrentValue() const { return (IfcCostValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } void IfcInventory::setCurrentValue(IfcCostValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } @@ -9891,7 +11438,7 @@ bool IfcInventory::is(Type::Enum v) const { return v == Type::IfcInventory || If Type::Enum IfcInventory::type() const { return Type::IfcInventory; } Type::Enum IfcInventory::Class() { return Type::IfcInventory; } IfcInventory::IfcInventory(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcInventory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcInventory::IfcInventory(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcInventoryTypeEnum::IfcInventoryTypeEnum > v6_PredefinedType, boost::optional< IfcActorSelect > v7_Jurisdiction, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< IfcDate > v9_LastUpdateDate, IfcCostValue* v10_CurrentValue, IfcCostValue* v11_OriginalValue) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_PredefinedType) { e->setArgument(5,*v6_PredefinedType,IfcInventoryTypeEnum::ToString(*v6_PredefinedType)); } else { e->setArgument(5); } if (v7_Jurisdiction) { e->setArgument(6,(*v7_Jurisdiction)); } else { e->setArgument(6); } if (v8_ResponsiblePersons) { e->setArgument(7,(*v8_ResponsiblePersons)->generalize()); } else { e->setArgument(7); } if (v9_LastUpdateDate) { e->setArgument(8,(*v9_LastUpdateDate)); } else { e->setArgument(8); } e->setArgument(9,(v10_CurrentValue)); e->setArgument(10,(v11_OriginalValue)); entity = e; EntityBuffer::Add(this); } +IfcInventory::IfcInventory(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcInventoryTypeEnum::IfcInventoryTypeEnum > v6_PredefinedType, IfcActorSelect* v7_Jurisdiction, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, IfcCostValue* v10_CurrentValue, IfcCostValue* v11_OriginalValue) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_PredefinedType) { e->setArgument(5,*v6_PredefinedType,IfcInventoryTypeEnum::ToString(*v6_PredefinedType)); } else { e->setArgument(5); } e->setArgument(6,(v7_Jurisdiction)); if (v8_ResponsiblePersons) { e->setArgument(7,(*v8_ResponsiblePersons)->generalize()); } else { e->setArgument(7); } if (v9_LastUpdateDate) { e->setArgument(8,(*v9_LastUpdateDate)); } else { e->setArgument(8); } e->setArgument(9,(v10_CurrentValue)); e->setArgument(10,(v11_OriginalValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcIrregularTimeSeries IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr IfcIrregularTimeSeries::Values() const { IfcEntityList::ptr es = *entity->getArgument(8); return es->as(); } @@ -9900,18 +11447,18 @@ bool IfcIrregularTimeSeries::is(Type::Enum v) const { return v == Type::IfcIrreg Type::Enum IfcIrregularTimeSeries::type() const { return Type::IfcIrregularTimeSeries; } Type::Enum IfcIrregularTimeSeries::Class() { return Type::IfcIrregularTimeSeries; } IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcAbstractEntity* e) : IfcTimeSeries((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcIrregularTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTime v3_StartTime, IfcDateTime v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit, IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } if (v8_Unit) { e->setArgument(7,(*v8_Unit)); } else { e->setArgument(7); } e->setArgument(8,(v9_Values)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, IfcUnit* v8_Unit, IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } e->setArgument(7,(v8_Unit)); e->setArgument(8,(v9_Values)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcIrregularTimeSeriesValue -IfcDateTime IfcIrregularTimeSeriesValue::TimeStamp() const { return *entity->getArgument(0); } -void IfcIrregularTimeSeriesValue::setTimeStamp(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcIrregularTimeSeriesValue::ListValues() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcIrregularTimeSeriesValue::setListValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +std::string IfcIrregularTimeSeriesValue::TimeStamp() const { return *entity->getArgument(0); } +void IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcEntityList::ptr IfcIrregularTimeSeriesValue::ListValues() const { return *entity->getArgument(1); } +void IfcIrregularTimeSeriesValue::setListValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } 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; } IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcIrregularTimeSeriesValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcDateTime v1_TimeStamp, IfcEntityList::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TimeStamp)); e->setArgument(1,(v2_ListValues)); entity = e; EntityBuffer::Add(this); } +IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, IfcEntityList::ptr v2_ListValues) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TimeStamp)); e->setArgument(1,(v2_ListValues)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcJunctionBox bool IfcJunctionBox::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -9921,7 +11468,7 @@ bool IfcJunctionBox::is(Type::Enum v) const { return v == Type::IfcJunctionBox | Type::Enum IfcJunctionBox::type() const { return Type::IfcJunctionBox; } Type::Enum IfcJunctionBox::Class() { return Type::IfcJunctionBox; } IfcJunctionBox::IfcJunctionBox(IfcAbstractEntity* e) : IfcFlowFitting((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcJunctionBox)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcJunctionBox::IfcJunctionBox(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcJunctionBoxTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcJunctionBox::IfcJunctionBox(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcJunctionBoxTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcJunctionBoxType IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum IfcJunctionBoxType::PredefinedType() const { return IfcJunctionBoxTypeEnum::FromString(*entity->getArgument(9)); } @@ -9930,30 +11477,30 @@ bool IfcJunctionBoxType::is(Type::Enum v) const { return v == Type::IfcJunctionB Type::Enum IfcJunctionBoxType::type() const { return Type::IfcJunctionBoxType; } Type::Enum IfcJunctionBoxType::Class() { return Type::IfcJunctionBoxType; } IfcJunctionBoxType::IfcJunctionBoxType(IfcAbstractEntity* e) : IfcFlowFittingType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcJunctionBoxType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcJunctionBoxType::IfcJunctionBoxType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcJunctionBoxTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcJunctionBoxTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLShapeProfileDef -IfcPositiveLengthMeasure IfcLShapeProfileDef::Depth() const { return *entity->getArgument(3); } -void IfcLShapeProfileDef::setDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcLShapeProfileDef::Depth() const { return *entity->getArgument(3); } +void IfcLShapeProfileDef::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcLShapeProfileDef::hasWidth() const { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcLShapeProfileDef::Width() const { return *entity->getArgument(4); } -void IfcLShapeProfileDef::setWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcLShapeProfileDef::Thickness() const { return *entity->getArgument(5); } -void IfcLShapeProfileDef::setThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcLShapeProfileDef::Width() const { return *entity->getArgument(4); } +void IfcLShapeProfileDef::setWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcLShapeProfileDef::Thickness() const { return *entity->getArgument(5); } +void IfcLShapeProfileDef::setThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcLShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(6)->isNull(); } -IfcNonNegativeLengthMeasure IfcLShapeProfileDef::FilletRadius() const { return *entity->getArgument(6); } -void IfcLShapeProfileDef::setFilletRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcLShapeProfileDef::FilletRadius() const { return *entity->getArgument(6); } +void IfcLShapeProfileDef::setFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcLShapeProfileDef::hasEdgeRadius() const { return !entity->getArgument(7)->isNull(); } -IfcNonNegativeLengthMeasure IfcLShapeProfileDef::EdgeRadius() const { return *entity->getArgument(7); } -void IfcLShapeProfileDef::setEdgeRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcLShapeProfileDef::EdgeRadius() const { return *entity->getArgument(7); } +void IfcLShapeProfileDef::setEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcLShapeProfileDef::hasLegSlope() const { return !entity->getArgument(8)->isNull(); } -IfcPlaneAngleMeasure IfcLShapeProfileDef::LegSlope() const { return *entity->getArgument(8); } -void IfcLShapeProfileDef::setLegSlope(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcLShapeProfileDef::LegSlope() const { return *entity->getArgument(8); } +void IfcLShapeProfileDef::setLegSlope(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcLShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcLShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcLShapeProfileDef::type() const { return Type::IfcLShapeProfileDef; } Type::Enum IfcLShapeProfileDef::Class() { return Type::IfcLShapeProfileDef; } IfcLShapeProfileDef::IfcLShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLShapeProfileDef::IfcLShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, boost::optional< IfcPositiveLengthMeasure > v5_Width, IfcPositiveLengthMeasure v6_Thickness, boost::optional< IfcNonNegativeLengthMeasure > v7_FilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v8_EdgeRadius, boost::optional< IfcPlaneAngleMeasure > v9_LegSlope) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); if (v5_Width) { e->setArgument(4,(*v5_Width)); } else { e->setArgument(4); } e->setArgument(5,(v6_Thickness)); if (v7_FilletRadius) { e->setArgument(6,(*v7_FilletRadius)); } else { e->setArgument(6); } if (v8_EdgeRadius) { e->setArgument(7,(*v8_EdgeRadius)); } else { e->setArgument(7); } if (v9_LegSlope) { e->setArgument(8,(*v9_LegSlope)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcLShapeProfileDef::IfcLShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, boost::optional< double > v5_Width, double v6_Thickness, boost::optional< double > v7_FilletRadius, boost::optional< double > v8_EdgeRadius, boost::optional< double > v9_LegSlope) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); if (v5_Width) { e->setArgument(4,(*v5_Width)); } else { e->setArgument(4); } e->setArgument(5,(v6_Thickness)); if (v7_FilletRadius) { e->setArgument(6,(*v7_FilletRadius)); } else { e->setArgument(6); } if (v8_EdgeRadius) { e->setArgument(7,(*v8_EdgeRadius)); } else { e->setArgument(7); } if (v9_LegSlope) { e->setArgument(8,(*v9_LegSlope)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLaborResource bool IfcLaborResource::hasPredefinedType() const { return !entity->getArgument(10)->isNull(); } @@ -9963,7 +11510,7 @@ bool IfcLaborResource::is(Type::Enum v) const { return v == Type::IfcLaborResour Type::Enum IfcLaborResource::type() const { return Type::IfcLaborResource; } Type::Enum IfcLaborResource::Class() { return Type::IfcLaborResource; } IfcLaborResource::IfcLaborResource(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLaborResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLaborResource::IfcLaborResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcLaborResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcLaborResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLaborResourceType IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum IfcLaborResourceType::PredefinedType() const { return IfcLaborResourceTypeEnum::FromString(*entity->getArgument(11)); } @@ -9972,18 +11519,18 @@ bool IfcLaborResourceType::is(Type::Enum v) const { return v == Type::IfcLaborRe Type::Enum IfcLaborResourceType::type() const { return Type::IfcLaborResourceType; } Type::Enum IfcLaborResourceType::Class() { return Type::IfcLaborResourceType; } IfcLaborResourceType::IfcLaborResourceType(IfcAbstractEntity* e) : IfcConstructionResourceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLaborResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLaborResourceType::IfcLaborResourceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); e->setArgument(11,v12_PredefinedType,IfcLaborResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); e->setArgument(11,v12_PredefinedType,IfcLaborResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLagTime -IfcTimeOrRatioSelect IfcLagTime::LagValue() const { return *entity->getArgument(3); } -void IfcLagTime::setLagValue(IfcTimeOrRatioSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +IfcTimeOrRatioSelect* IfcLagTime::LagValue() const { return (IfcTimeOrRatioSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } +void IfcLagTime::setLagValue(IfcTimeOrRatioSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } IfcTaskDurationEnum::IfcTaskDurationEnum IfcLagTime::DurationType() const { return IfcTaskDurationEnum::FromString(*entity->getArgument(4)); } void IfcLagTime::setDurationType(IfcTaskDurationEnum::IfcTaskDurationEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcTaskDurationEnum::ToString(v)); } bool IfcLagTime::is(Type::Enum v) const { return v == Type::IfcLagTime || IfcSchedulingTime::is(v); } Type::Enum IfcLagTime::type() const { return Type::IfcLagTime; } Type::Enum IfcLagTime::Class() { return Type::IfcLagTime; } IfcLagTime::IfcLagTime(IfcAbstractEntity* e) : IfcSchedulingTime((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLagTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLagTime::IfcLagTime(boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, IfcTimeOrRatioSelect v4_LagValue, IfcTaskDurationEnum::IfcTaskDurationEnum v5_DurationType) : IfcSchedulingTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } e->setArgument(3,(v4_LagValue)); e->setArgument(4,v5_DurationType,IfcTaskDurationEnum::ToString(v5_DurationType)); entity = e; EntityBuffer::Add(this); } +IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, IfcTimeOrRatioSelect* v4_LagValue, IfcTaskDurationEnum::IfcTaskDurationEnum v5_DurationType) : IfcSchedulingTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } e->setArgument(3,(v4_LagValue)); e->setArgument(4,v5_DurationType,IfcTaskDurationEnum::ToString(v5_DurationType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLamp bool IfcLamp::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -9993,7 +11540,7 @@ bool IfcLamp::is(Type::Enum v) const { return v == Type::IfcLamp || IfcFlowTermi Type::Enum IfcLamp::type() const { return Type::IfcLamp; } Type::Enum IfcLamp::Class() { return Type::IfcLamp; } IfcLamp::IfcLamp(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLamp)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLamp::IfcLamp(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLampTypeEnum::IfcLampTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcLampTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcLamp::IfcLamp(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcLampTypeEnum::IfcLampTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcLampTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLampType IfcLampTypeEnum::IfcLampTypeEnum IfcLampType::PredefinedType() const { return IfcLampTypeEnum::FromString(*entity->getArgument(9)); } @@ -10002,41 +11549,41 @@ bool IfcLampType::is(Type::Enum v) const { return v == Type::IfcLampType || IfcF Type::Enum IfcLampType::type() const { return Type::IfcLampType; } Type::Enum IfcLampType::Class() { return Type::IfcLampType; } IfcLampType::IfcLampType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLampType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLampType::IfcLampType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcLampTypeEnum::IfcLampTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcLampTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcLampType::IfcLampType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcLampTypeEnum::IfcLampTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcLampTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLibraryInformation -IfcLabel IfcLibraryInformation::Name() const { return *entity->getArgument(0); } -void IfcLibraryInformation::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcLibraryInformation::Name() const { return *entity->getArgument(0); } +void IfcLibraryInformation::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcLibraryInformation::hasVersion() const { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcLibraryInformation::Version() const { return *entity->getArgument(1); } -void IfcLibraryInformation::setVersion(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcLibraryInformation::Version() const { return *entity->getArgument(1); } +void IfcLibraryInformation::setVersion(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcLibraryInformation::hasPublisher() const { return !entity->getArgument(2)->isNull(); } -IfcActorSelect IfcLibraryInformation::Publisher() const { return *entity->getArgument(2); } -void IfcLibraryInformation::setPublisher(IfcActorSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +IfcActorSelect* IfcLibraryInformation::Publisher() const { return (IfcActorSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } +void IfcLibraryInformation::setPublisher(IfcActorSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcLibraryInformation::hasVersionDate() const { return !entity->getArgument(3)->isNull(); } -IfcDateTime IfcLibraryInformation::VersionDate() const { return *entity->getArgument(3); } -void IfcLibraryInformation::setVersionDate(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcLibraryInformation::VersionDate() const { return *entity->getArgument(3); } +void IfcLibraryInformation::setVersionDate(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcLibraryInformation::hasLocation() const { return !entity->getArgument(4)->isNull(); } -IfcURIReference IfcLibraryInformation::Location() const { return *entity->getArgument(4); } -void IfcLibraryInformation::setLocation(IfcURIReference v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcLibraryInformation::Location() const { return *entity->getArgument(4); } +void IfcLibraryInformation::setLocation(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcLibraryInformation::hasDescription() const { return !entity->getArgument(5)->isNull(); } -IfcText IfcLibraryInformation::Description() const { return *entity->getArgument(5); } -void IfcLibraryInformation::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcLibraryInformation::Description() const { return *entity->getArgument(5); } +void IfcLibraryInformation::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } IfcRelAssociatesLibrary::list::ptr IfcLibraryInformation::LibraryInfoForObjects() const { return entity->getInverse(Type::IfcRelAssociatesLibrary)->as(); } IfcLibraryReference::list::ptr IfcLibraryInformation::HasLibraryReferences() const { return entity->getInverse(Type::IfcLibraryReference)->as(); } bool IfcLibraryInformation::is(Type::Enum v) const { return v == Type::IfcLibraryInformation || IfcExternalInformation::is(v); } Type::Enum IfcLibraryInformation::type() const { return Type::IfcLibraryInformation; } Type::Enum IfcLibraryInformation::Class() { return Type::IfcLibraryInformation; } IfcLibraryInformation::IfcLibraryInformation(IfcAbstractEntity* e) : IfcExternalInformation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLibraryInformation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLibraryInformation::IfcLibraryInformation(IfcLabel v1_Name, boost::optional< IfcLabel > v2_Version, boost::optional< IfcActorSelect > v3_Publisher, boost::optional< IfcDateTime > v4_VersionDate, boost::optional< IfcURIReference > v5_Location, boost::optional< IfcText > v6_Description) : IfcExternalInformation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Version) { e->setArgument(1,(*v2_Version)); } else { e->setArgument(1); } if (v3_Publisher) { e->setArgument(2,(*v3_Publisher)); } else { e->setArgument(2); } if (v4_VersionDate) { e->setArgument(3,(*v4_VersionDate)); } else { e->setArgument(3); } if (v5_Location) { e->setArgument(4,(*v5_Location)); } else { e->setArgument(4); } if (v6_Description) { e->setArgument(5,(*v6_Description)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description) : IfcExternalInformation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Version) { e->setArgument(1,(*v2_Version)); } else { e->setArgument(1); } e->setArgument(2,(v3_Publisher)); if (v4_VersionDate) { e->setArgument(3,(*v4_VersionDate)); } else { e->setArgument(3); } if (v5_Location) { e->setArgument(4,(*v5_Location)); } else { e->setArgument(4); } if (v6_Description) { e->setArgument(5,(*v6_Description)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLibraryReference bool IfcLibraryReference::hasDescription() const { return !entity->getArgument(3)->isNull(); } -IfcText IfcLibraryReference::Description() const { return *entity->getArgument(3); } -void IfcLibraryReference::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcLibraryReference::Description() const { return *entity->getArgument(3); } +void IfcLibraryReference::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcLibraryReference::hasLanguage() const { return !entity->getArgument(4)->isNull(); } -IfcLanguageId IfcLibraryReference::Language() const { return *entity->getArgument(4); } -void IfcLibraryReference::setLanguage(IfcLanguageId v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcLibraryReference::Language() const { return *entity->getArgument(4); } +void IfcLibraryReference::setLanguage(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcLibraryReference::hasReferencedLibrary() const { return !entity->getArgument(5)->isNull(); } IfcLibraryInformation* IfcLibraryReference::ReferencedLibrary() const { return (IfcLibraryInformation*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } void IfcLibraryReference::setReferencedLibrary(IfcLibraryInformation* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } @@ -10045,20 +11592,20 @@ bool IfcLibraryReference::is(Type::Enum v) const { return v == Type::IfcLibraryR Type::Enum IfcLibraryReference::type() const { return Type::IfcLibraryReference; } Type::Enum IfcLibraryReference::Class() { return Type::IfcLibraryReference; } IfcLibraryReference::IfcLibraryReference(IfcAbstractEntity* e) : IfcExternalReference((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLibraryReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLibraryReference::IfcLibraryReference(boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLanguageId > v5_Language, IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_Language) { e->setArgument(4,(*v5_Language)); } else { e->setArgument(4); } e->setArgument(5,(v6_ReferencedLibrary)); entity = e; EntityBuffer::Add(this); } +IfcLibraryReference::IfcLibraryReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_Language, IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Location) { e->setArgument(0,(*v1_Location)); } else { e->setArgument(0); } if (v2_Identification) { e->setArgument(1,(*v2_Identification)); } else { e->setArgument(1); } if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_Language) { e->setArgument(4,(*v5_Language)); } else { e->setArgument(4); } e->setArgument(5,(v6_ReferencedLibrary)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightDistributionData -IfcPlaneAngleMeasure IfcLightDistributionData::MainPlaneAngle() const { return *entity->getArgument(0); } -void IfcLightDistributionData::setMainPlaneAngle(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ IfcLightDistributionData::SecondaryPlaneAngle() const { return *entity->getArgument(1); } -void IfcLightDistributionData::setSecondaryPlaneAngle(std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ IfcLightDistributionData::LuminousIntensity() const { return *entity->getArgument(2); } -void IfcLightDistributionData::setLuminousIntensity(std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcLightDistributionData::MainPlaneAngle() const { return *entity->getArgument(0); } +void IfcLightDistributionData::setMainPlaneAngle(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::vector< double > /*[1:?]*/ IfcLightDistributionData::SecondaryPlaneAngle() const { return *entity->getArgument(1); } +void IfcLightDistributionData::setSecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::vector< double > /*[1:?]*/ IfcLightDistributionData::LuminousIntensity() const { return *entity->getArgument(2); } +void IfcLightDistributionData::setLuminousIntensity(std::vector< double > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } 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; } IfcLightDistributionData::IfcLightDistributionData(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcLightDistributionData)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightDistributionData::IfcLightDistributionData(IfcPlaneAngleMeasure v1_MainPlaneAngle, std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MainPlaneAngle)); e->setArgument(1,(v2_SecondaryPlaneAngle)); e->setArgument(2,(v3_LuminousIntensity)); entity = e; EntityBuffer::Add(this); } +IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MainPlaneAngle)); e->setArgument(1,(v2_SecondaryPlaneAngle)); e->setArgument(2,(v3_LuminousIntensity)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightFixture bool IfcLightFixture::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -10068,7 +11615,7 @@ bool IfcLightFixture::is(Type::Enum v) const { return v == Type::IfcLightFixture Type::Enum IfcLightFixture::type() const { return Type::IfcLightFixture; } Type::Enum IfcLightFixture::Class() { return Type::IfcLightFixture; } IfcLightFixture::IfcLightFixture(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightFixture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightFixture::IfcLightFixture(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcLightFixtureTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcLightFixture::IfcLightFixture(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcLightFixtureTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightFixtureType IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum IfcLightFixtureType::PredefinedType() const { return IfcLightFixtureTypeEnum::FromString(*entity->getArgument(9)); } @@ -10077,7 +11624,7 @@ bool IfcLightFixtureType::is(Type::Enum v) const { return v == Type::IfcLightFix Type::Enum IfcLightFixtureType::type() const { return Type::IfcLightFixtureType; } Type::Enum IfcLightFixtureType::Class() { return Type::IfcLightFixtureType; } IfcLightFixtureType::IfcLightFixtureType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightFixtureType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightFixtureType::IfcLightFixtureType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcLightFixtureTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcLightFixtureTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightIntensityDistribution IfcLightDistributionCurveEnum::IfcLightDistributionCurveEnum IfcLightIntensityDistribution::LightDistributionCurve() const { return IfcLightDistributionCurveEnum::FromString(*entity->getArgument(0)); } @@ -10092,28 +11639,28 @@ IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcLightDistributio // Function implementations for IfcLightSource bool IfcLightSource::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcLightSource::Name() const { return *entity->getArgument(0); } -void IfcLightSource::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcLightSource::Name() const { return *entity->getArgument(0); } +void IfcLightSource::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } IfcColourRgb* IfcLightSource::LightColour() const { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcLightSource::setLightColour(IfcColourRgb* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcLightSource::hasAmbientIntensity() const { return !entity->getArgument(2)->isNull(); } -IfcNormalisedRatioMeasure IfcLightSource::AmbientIntensity() const { return *entity->getArgument(2); } -void IfcLightSource::setAmbientIntensity(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcLightSource::AmbientIntensity() const { return *entity->getArgument(2); } +void IfcLightSource::setAmbientIntensity(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcLightSource::hasIntensity() const { return !entity->getArgument(3)->isNull(); } -IfcNormalisedRatioMeasure IfcLightSource::Intensity() const { return *entity->getArgument(3); } -void IfcLightSource::setIntensity(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcLightSource::Intensity() const { return *entity->getArgument(3); } +void IfcLightSource::setIntensity(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcLightSource::is(Type::Enum v) const { return v == Type::IfcLightSource || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcLightSource::type() const { return Type::IfcLightSource; } Type::Enum IfcLightSource::Class() { return Type::IfcLightSource; } IfcLightSource::IfcLightSource(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSource::IfcLightSource(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightSourceAmbient bool IfcLightSourceAmbient::is(Type::Enum v) const { return v == Type::IfcLightSourceAmbient || IfcLightSource::is(v); } Type::Enum IfcLightSourceAmbient::type() const { return Type::IfcLightSourceAmbient; } Type::Enum IfcLightSourceAmbient::Class() { return Type::IfcLightSourceAmbient; } IfcLightSourceAmbient::IfcLightSourceAmbient(IfcAbstractEntity* e) : IfcLightSource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSourceAmbient)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightSourceDirectional IfcDirection* IfcLightSourceDirectional::Orientation() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -10122,7 +11669,7 @@ bool IfcLightSourceDirectional::is(Type::Enum v) const { return v == Type::IfcLi Type::Enum IfcLightSourceDirectional::type() const { return Type::IfcLightSourceDirectional; } Type::Enum IfcLightSourceDirectional::Class() { return Type::IfcLightSourceDirectional; } IfcLightSourceDirectional::IfcLightSourceDirectional(IfcAbstractEntity* e) : IfcLightSource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSourceDirectional)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcDirection* v5_Orientation) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Orientation)); entity = e; EntityBuffer::Add(this); } +IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, IfcDirection* v5_Orientation) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Orientation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightSourceGoniometric IfcAxis2Placement3D* IfcLightSourceGoniometric::Position() const { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -10130,52 +11677,52 @@ void IfcLightSourceGoniometric::setPosition(IfcAxis2Placement3D* v) { if ( ! ent bool IfcLightSourceGoniometric::hasColourAppearance() const { return !entity->getArgument(5)->isNull(); } IfcColourRgb* IfcLightSourceGoniometric::ColourAppearance() const { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } void IfcLightSourceGoniometric::setColourAppearance(IfcColourRgb* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcThermodynamicTemperatureMeasure IfcLightSourceGoniometric::ColourTemperature() const { return *entity->getArgument(6); } -void IfcLightSourceGoniometric::setColourTemperature(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcLuminousFluxMeasure IfcLightSourceGoniometric::LuminousFlux() const { return *entity->getArgument(7); } -void IfcLightSourceGoniometric::setLuminousFlux(IfcLuminousFluxMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcLightSourceGoniometric::ColourTemperature() const { return *entity->getArgument(6); } +void IfcLightSourceGoniometric::setColourTemperature(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcLightSourceGoniometric::LuminousFlux() const { return *entity->getArgument(7); } +void IfcLightSourceGoniometric::setLuminousFlux(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum IfcLightSourceGoniometric::LightEmissionSource() const { return IfcLightEmissionSourceEnum::FromString(*entity->getArgument(8)); } void IfcLightSourceGoniometric::setLightEmissionSource(IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcLightEmissionSourceEnum::ToString(v)); } -IfcLightDistributionDataSourceSelect IfcLightSourceGoniometric::LightDistributionDataSource() const { return *entity->getArgument(9); } -void IfcLightSourceGoniometric::setLightDistributionDataSource(IfcLightDistributionDataSourceSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +IfcLightDistributionDataSourceSelect* IfcLightSourceGoniometric::LightDistributionDataSource() const { return (IfcLightDistributionDataSourceSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } +void IfcLightSourceGoniometric::setLightDistributionDataSource(IfcLightDistributionDataSourceSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcLightSourceGoniometric::is(Type::Enum v) const { return v == Type::IfcLightSourceGoniometric || IfcLightSource::is(v); } Type::Enum IfcLightSourceGoniometric::type() const { return Type::IfcLightSourceGoniometric; } Type::Enum IfcLightSourceGoniometric::Class() { return Type::IfcLightSourceGoniometric; } IfcLightSourceGoniometric::IfcLightSourceGoniometric(IfcAbstractEntity* e) : IfcLightSource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSourceGoniometric)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcAxis2Placement3D* v5_Position, IfcColourRgb* v6_ColourAppearance, IfcThermodynamicTemperatureMeasure v7_ColourTemperature, IfcLuminousFluxMeasure v8_LuminousFlux, IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v9_LightEmissionSource, IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); e->setArgument(5,(v6_ColourAppearance)); e->setArgument(6,(v7_ColourTemperature)); e->setArgument(7,(v8_LuminousFlux)); e->setArgument(8,v9_LightEmissionSource,IfcLightEmissionSourceEnum::ToString(v9_LightEmissionSource)); e->setArgument(9,(v10_LightDistributionDataSource)); entity = e; EntityBuffer::Add(this); } +IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, IfcAxis2Placement3D* v5_Position, IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v9_LightEmissionSource, IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); e->setArgument(5,(v6_ColourAppearance)); e->setArgument(6,(v7_ColourTemperature)); e->setArgument(7,(v8_LuminousFlux)); e->setArgument(8,v9_LightEmissionSource,IfcLightEmissionSourceEnum::ToString(v9_LightEmissionSource)); e->setArgument(9,(v10_LightDistributionDataSource)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightSourcePositional IfcCartesianPoint* IfcLightSourcePositional::Position() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } void IfcLightSourcePositional::setPosition(IfcCartesianPoint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcLightSourcePositional::Radius() const { return *entity->getArgument(5); } -void IfcLightSourcePositional::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcReal IfcLightSourcePositional::ConstantAttenuation() const { return *entity->getArgument(6); } -void IfcLightSourcePositional::setConstantAttenuation(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcReal IfcLightSourcePositional::DistanceAttenuation() const { return *entity->getArgument(7); } -void IfcLightSourcePositional::setDistanceAttenuation(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -IfcReal IfcLightSourcePositional::QuadricAttenuation() const { return *entity->getArgument(8); } -void IfcLightSourcePositional::setQuadricAttenuation(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcLightSourcePositional::Radius() const { return *entity->getArgument(5); } +void IfcLightSourcePositional::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcLightSourcePositional::ConstantAttenuation() const { return *entity->getArgument(6); } +void IfcLightSourcePositional::setConstantAttenuation(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcLightSourcePositional::DistanceAttenuation() const { return *entity->getArgument(7); } +void IfcLightSourcePositional::setDistanceAttenuation(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcLightSourcePositional::QuadricAttenuation() const { return *entity->getArgument(8); } +void IfcLightSourcePositional::setQuadricAttenuation(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcLightSourcePositional::is(Type::Enum v) const { return v == Type::IfcLightSourcePositional || IfcLightSource::is(v); } Type::Enum IfcLightSourcePositional::type() const { return Type::IfcLightSourcePositional; } Type::Enum IfcLightSourcePositional::Class() { return Type::IfcLightSourcePositional; } IfcLightSourcePositional::IfcLightSourcePositional(IfcAbstractEntity* e) : IfcLightSource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSourcePositional)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcCartesianPoint* v5_Position, IfcPositiveLengthMeasure v6_Radius, IfcReal v7_ConstantAttenuation, IfcReal v8_DistanceAttenuation, IfcReal v9_QuadricAttenuation) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); e->setArgument(5,(v6_Radius)); e->setArgument(6,(v7_ConstantAttenuation)); e->setArgument(7,(v8_DistanceAttenuation)); e->setArgument(8,(v9_QuadricAttenuation)); entity = e; EntityBuffer::Add(this); } +IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); e->setArgument(5,(v6_Radius)); e->setArgument(6,(v7_ConstantAttenuation)); e->setArgument(7,(v8_DistanceAttenuation)); e->setArgument(8,(v9_QuadricAttenuation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLightSourceSpot IfcDirection* IfcLightSourceSpot::Orientation() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } void IfcLightSourceSpot::setOrientation(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcLightSourceSpot::hasConcentrationExponent() const { return !entity->getArgument(10)->isNull(); } -IfcReal IfcLightSourceSpot::ConcentrationExponent() const { return *entity->getArgument(10); } -void IfcLightSourceSpot::setConcentrationExponent(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -IfcPositivePlaneAngleMeasure IfcLightSourceSpot::SpreadAngle() const { return *entity->getArgument(11); } -void IfcLightSourceSpot::setSpreadAngle(IfcPositivePlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } -IfcPositivePlaneAngleMeasure IfcLightSourceSpot::BeamWidthAngle() const { return *entity->getArgument(12); } -void IfcLightSourceSpot::setBeamWidthAngle(IfcPositivePlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +double IfcLightSourceSpot::ConcentrationExponent() const { return *entity->getArgument(10); } +void IfcLightSourceSpot::setConcentrationExponent(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcLightSourceSpot::SpreadAngle() const { return *entity->getArgument(11); } +void IfcLightSourceSpot::setSpreadAngle(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcLightSourceSpot::BeamWidthAngle() const { return *entity->getArgument(12); } +void IfcLightSourceSpot::setBeamWidthAngle(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcLightSourceSpot::is(Type::Enum v) const { return v == Type::IfcLightSourceSpot || IfcLightSourcePositional::is(v); } Type::Enum IfcLightSourceSpot::type() const { return Type::IfcLightSourceSpot; } Type::Enum IfcLightSourceSpot::Class() { return Type::IfcLightSourceSpot; } IfcLightSourceSpot::IfcLightSourceSpot(IfcAbstractEntity* e) : IfcLightSourcePositional((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLightSourceSpot)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcCartesianPoint* v5_Position, IfcPositiveLengthMeasure v6_Radius, IfcReal v7_ConstantAttenuation, IfcReal v8_DistanceAttenuation, IfcReal v9_QuadricAttenuation, IfcDirection* v10_Orientation, boost::optional< IfcReal > v11_ConcentrationExponent, IfcPositivePlaneAngleMeasure v12_SpreadAngle, IfcPositivePlaneAngleMeasure v13_BeamWidthAngle) : IfcLightSourcePositional((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); e->setArgument(5,(v6_Radius)); e->setArgument(6,(v7_ConstantAttenuation)); e->setArgument(7,(v8_DistanceAttenuation)); e->setArgument(8,(v9_QuadricAttenuation)); e->setArgument(9,(v10_Orientation)); if (v11_ConcentrationExponent) { e->setArgument(10,(*v11_ConcentrationExponent)); } else { e->setArgument(10); } e->setArgument(11,(v12_SpreadAngle)); e->setArgument(12,(v13_BeamWidthAngle)); entity = e; EntityBuffer::Add(this); } +IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_LightColour)); if (v3_AmbientIntensity) { e->setArgument(2,(*v3_AmbientIntensity)); } else { e->setArgument(2); } if (v4_Intensity) { e->setArgument(3,(*v4_Intensity)); } else { e->setArgument(3); } e->setArgument(4,(v5_Position)); e->setArgument(5,(v6_Radius)); e->setArgument(6,(v7_ConstantAttenuation)); e->setArgument(7,(v8_DistanceAttenuation)); e->setArgument(8,(v9_QuadricAttenuation)); e->setArgument(9,(v10_Orientation)); if (v11_ConcentrationExponent) { e->setArgument(10,(*v11_ConcentrationExponent)); } else { e->setArgument(10); } e->setArgument(11,(v12_SpreadAngle)); e->setArgument(12,(v13_BeamWidthAngle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLine IfcCartesianPoint* IfcLine::Pnt() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -10192,13 +11739,13 @@ IfcLine::IfcLine(IfcCartesianPoint* v1_Pnt, IfcVector* v2_Dir) : IfcCurve((IfcAb bool IfcLocalPlacement::hasPlacementRelTo() const { return !entity->getArgument(0)->isNull(); } IfcObjectPlacement* IfcLocalPlacement::PlacementRelTo() const { return (IfcObjectPlacement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcLocalPlacement::setPlacementRelTo(IfcObjectPlacement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcAxis2Placement IfcLocalPlacement::RelativePlacement() const { return *entity->getArgument(1); } -void IfcLocalPlacement::setRelativePlacement(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcAxis2Placement* IfcLocalPlacement::RelativePlacement() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcLocalPlacement::setRelativePlacement(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcLocalPlacement::is(Type::Enum v) const { return v == Type::IfcLocalPlacement || IfcObjectPlacement::is(v); } Type::Enum IfcLocalPlacement::type() const { return Type::IfcLocalPlacement; } Type::Enum IfcLocalPlacement::Class() { return Type::IfcLocalPlacement; } IfcLocalPlacement::IfcLocalPlacement(IfcAbstractEntity* e) : IfcObjectPlacement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcLocalPlacement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcLocalPlacement::IfcLocalPlacement(IfcObjectPlacement* v1_PlacementRelTo, IfcAxis2Placement v2_RelativePlacement) : IfcObjectPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PlacementRelTo)); e->setArgument(1,(v2_RelativePlacement)); entity = e; EntityBuffer::Add(this); } +IfcLocalPlacement::IfcLocalPlacement(IfcObjectPlacement* v1_PlacementRelTo, IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_PlacementRelTo)); e->setArgument(1,(v2_RelativePlacement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcLoop bool IfcLoop::is(Type::Enum v) const { return v == Type::IfcLoop || IfcTopologicalRepresentationItem::is(v); } @@ -10217,26 +11764,26 @@ IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcAbstractEntity* e) : IfcSolidModel IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcClosedShell* v1_Outer) : IfcSolidModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Outer)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMapConversion -IfcLengthMeasure IfcMapConversion::Eastings() const { return *entity->getArgument(2); } -void IfcMapConversion::setEastings(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcLengthMeasure IfcMapConversion::Northings() const { return *entity->getArgument(3); } -void IfcMapConversion::setNorthings(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcLengthMeasure IfcMapConversion::OrthogonalHeight() const { return *entity->getArgument(4); } -void IfcMapConversion::setOrthogonalHeight(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcMapConversion::Eastings() const { return *entity->getArgument(2); } +void IfcMapConversion::setEastings(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcMapConversion::Northings() const { return *entity->getArgument(3); } +void IfcMapConversion::setNorthings(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcMapConversion::OrthogonalHeight() const { return *entity->getArgument(4); } +void IfcMapConversion::setOrthogonalHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcMapConversion::hasXAxisAbscissa() const { return !entity->getArgument(5)->isNull(); } -IfcReal IfcMapConversion::XAxisAbscissa() const { return *entity->getArgument(5); } -void IfcMapConversion::setXAxisAbscissa(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcMapConversion::XAxisAbscissa() const { return *entity->getArgument(5); } +void IfcMapConversion::setXAxisAbscissa(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcMapConversion::hasXAxisOrdinate() const { return !entity->getArgument(6)->isNull(); } -IfcReal IfcMapConversion::XAxisOrdinate() const { return *entity->getArgument(6); } -void IfcMapConversion::setXAxisOrdinate(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcMapConversion::XAxisOrdinate() const { return *entity->getArgument(6); } +void IfcMapConversion::setXAxisOrdinate(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcMapConversion::hasScale() const { return !entity->getArgument(7)->isNull(); } -IfcReal IfcMapConversion::Scale() const { return *entity->getArgument(7); } -void IfcMapConversion::setScale(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcMapConversion::Scale() const { return *entity->getArgument(7); } +void IfcMapConversion::setScale(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcMapConversion::is(Type::Enum v) const { return v == Type::IfcMapConversion || IfcCoordinateOperation::is(v); } Type::Enum IfcMapConversion::type() const { return Type::IfcMapConversion; } Type::Enum IfcMapConversion::Class() { return Type::IfcMapConversion; } IfcMapConversion::IfcMapConversion(IfcAbstractEntity* e) : IfcCoordinateOperation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMapConversion)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMapConversion::IfcMapConversion(IfcCoordinateReferenceSystemSelect v1_SourceCRS, IfcCoordinateReferenceSystem* v2_TargetCRS, IfcLengthMeasure v3_Eastings, IfcLengthMeasure v4_Northings, IfcLengthMeasure v5_OrthogonalHeight, boost::optional< IfcReal > v6_XAxisAbscissa, boost::optional< IfcReal > v7_XAxisOrdinate, boost::optional< IfcReal > v8_Scale) : IfcCoordinateOperation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SourceCRS)); e->setArgument(1,(v2_TargetCRS)); e->setArgument(2,(v3_Eastings)); e->setArgument(3,(v4_Northings)); e->setArgument(4,(v5_OrthogonalHeight)); if (v6_XAxisAbscissa) { e->setArgument(5,(*v6_XAxisAbscissa)); } else { e->setArgument(5); } if (v7_XAxisOrdinate) { e->setArgument(6,(*v7_XAxisOrdinate)); } else { e->setArgument(6); } if (v8_Scale) { e->setArgument(7,(*v8_Scale)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcMapConversion::IfcMapConversion(IfcCoordinateReferenceSystemSelect* v1_SourceCRS, IfcCoordinateReferenceSystem* v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, boost::optional< double > v6_XAxisAbscissa, boost::optional< double > v7_XAxisOrdinate, boost::optional< double > v8_Scale) : IfcCoordinateOperation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SourceCRS)); e->setArgument(1,(v2_TargetCRS)); e->setArgument(2,(v3_Eastings)); e->setArgument(3,(v4_Northings)); e->setArgument(4,(v5_OrthogonalHeight)); if (v6_XAxisAbscissa) { e->setArgument(5,(*v6_XAxisAbscissa)); } else { e->setArgument(5); } if (v7_XAxisOrdinate) { e->setArgument(6,(*v7_XAxisOrdinate)); } else { e->setArgument(6); } if (v8_Scale) { e->setArgument(7,(*v8_Scale)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMappedItem IfcRepresentationMap* IfcMappedItem::MappingSource() const { return (IfcRepresentationMap*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -10250,14 +11797,14 @@ IfcMappedItem::IfcMappedItem(IfcAbstractEntity* e) : IfcRepresentationItem((IfcA IfcMappedItem::IfcMappedItem(IfcRepresentationMap* v1_MappingSource, IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MappingSource)); e->setArgument(1,(v2_MappingTarget)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterial -IfcLabel IfcMaterial::Name() const { return *entity->getArgument(0); } -void IfcMaterial::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcMaterial::Name() const { return *entity->getArgument(0); } +void IfcMaterial::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcMaterial::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcMaterial::Description() const { return *entity->getArgument(1); } -void IfcMaterial::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcMaterial::Description() const { return *entity->getArgument(1); } +void IfcMaterial::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcMaterial::hasCategory() const { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcMaterial::Category() const { return *entity->getArgument(2); } -void IfcMaterial::setCategory(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcMaterial::Category() const { return *entity->getArgument(2); } +void IfcMaterial::setCategory(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcMaterialDefinitionRepresentation::list::ptr IfcMaterial::HasRepresentation() const { return entity->getInverse(Type::IfcMaterialDefinitionRepresentation)->as(); } IfcMaterialRelationship::list::ptr IfcMaterial::IsRelatedWith() const { return entity->getInverse(Type::IfcMaterialRelationship)->as(); } IfcMaterialRelationship::list::ptr IfcMaterial::RelatesTo() const { return entity->getInverse(Type::IfcMaterialRelationship)->as(); } @@ -10265,11 +11812,11 @@ bool IfcMaterial::is(Type::Enum v) const { return v == Type::IfcMaterial || IfcM Type::Enum IfcMaterial::type() const { return Type::IfcMaterial; } Type::Enum IfcMaterial::Class() { return Type::IfcMaterial; } IfcMaterial::IfcMaterial(IfcAbstractEntity* e) : IfcMaterialDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterial)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterial::IfcMaterial(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_Category) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_Category) { e->setArgument(2,(*v3_Category)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_Category) { e->setArgument(2,(*v3_Category)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialClassificationRelationship -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcMaterialClassificationRelationship::MaterialClassifications() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcMaterialClassificationRelationship::setMaterialClassifications(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcEntityList::ptr IfcMaterialClassificationRelationship::MaterialClassifications() const { return *entity->getArgument(0); } +void IfcMaterialClassificationRelationship::setMaterialClassifications(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } IfcMaterial* IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcMaterialClassificationRelationship::setClassifiedMaterial(IfcMaterial* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcMaterialClassificationRelationship::is(Type::Enum v) const { return v == Type::IfcMaterialClassificationRelationship; } @@ -10280,33 +11827,33 @@ IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(Ifc // Function implementations for IfcMaterialConstituent bool IfcMaterialConstituent::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcMaterialConstituent::Name() const { return *entity->getArgument(0); } -void IfcMaterialConstituent::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcMaterialConstituent::Name() const { return *entity->getArgument(0); } +void IfcMaterialConstituent::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcMaterialConstituent::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcMaterialConstituent::Description() const { return *entity->getArgument(1); } -void IfcMaterialConstituent::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcMaterialConstituent::Description() const { return *entity->getArgument(1); } +void IfcMaterialConstituent::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcMaterial* IfcMaterialConstituent::Material() const { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcMaterialConstituent::setMaterial(IfcMaterial* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcMaterialConstituent::hasFraction() const { return !entity->getArgument(3)->isNull(); } -IfcNormalisedRatioMeasure IfcMaterialConstituent::Fraction() const { return *entity->getArgument(3); } -void IfcMaterialConstituent::setFraction(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcMaterialConstituent::Fraction() const { return *entity->getArgument(3); } +void IfcMaterialConstituent::setFraction(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcMaterialConstituent::hasCategory() const { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcMaterialConstituent::Category() const { return *entity->getArgument(4); } -void IfcMaterialConstituent::setCategory(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcMaterialConstituent::Category() const { return *entity->getArgument(4); } +void IfcMaterialConstituent::setCategory(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } IfcMaterialConstituentSet::list::ptr IfcMaterialConstituent::ToMaterialConstituentSet() const { return entity->getInverse(Type::IfcMaterialConstituentSet)->as(); } bool IfcMaterialConstituent::is(Type::Enum v) const { return v == Type::IfcMaterialConstituent || IfcMaterialDefinition::is(v); } Type::Enum IfcMaterialConstituent::type() const { return Type::IfcMaterialConstituent; } Type::Enum IfcMaterialConstituent::Class() { return Type::IfcMaterialConstituent; } IfcMaterialConstituent::IfcMaterialConstituent(IfcAbstractEntity* e) : IfcMaterialDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialConstituent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMaterial* v3_Material, boost::optional< IfcNormalisedRatioMeasure > v4_Fraction, boost::optional< IfcLabel > v5_Category) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Material)); if (v4_Fraction) { e->setArgument(3,(*v4_Fraction)); } else { e->setArgument(3); } if (v5_Category) { e->setArgument(4,(*v5_Category)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcMaterial* v3_Material, boost::optional< double > v4_Fraction, boost::optional< std::string > v5_Category) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Material)); if (v4_Fraction) { e->setArgument(3,(*v4_Fraction)); } else { e->setArgument(3); } if (v5_Category) { e->setArgument(4,(*v5_Category)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialConstituentSet bool IfcMaterialConstituentSet::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcMaterialConstituentSet::Name() const { return *entity->getArgument(0); } -void IfcMaterialConstituentSet::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcMaterialConstituentSet::Name() const { return *entity->getArgument(0); } +void IfcMaterialConstituentSet::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcMaterialConstituentSet::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcMaterialConstituentSet::Description() const { return *entity->getArgument(1); } -void IfcMaterialConstituentSet::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcMaterialConstituentSet::Description() const { return *entity->getArgument(1); } +void IfcMaterialConstituentSet::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcMaterialConstituentSet::hasMaterialConstituents() const { return !entity->getArgument(2)->isNull(); } IfcTemplatedEntityList< IfcMaterialConstituent >::ptr IfcMaterialConstituentSet::MaterialConstituents() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } void IfcMaterialConstituentSet::setMaterialConstituents(IfcTemplatedEntityList< IfcMaterialConstituent >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } @@ -10314,7 +11861,7 @@ bool IfcMaterialConstituentSet::is(Type::Enum v) const { return v == Type::IfcMa Type::Enum IfcMaterialConstituentSet::type() const { return Type::IfcMaterialConstituentSet; } Type::Enum IfcMaterialConstituentSet::Class() { return Type::IfcMaterialConstituentSet; } IfcMaterialConstituentSet::IfcMaterialConstituentSet(IfcAbstractEntity* e) : IfcMaterialDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialConstituentSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcTemplatedEntityList< IfcMaterialConstituent >::ptr > v3_MaterialConstituents) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_MaterialConstituents) { e->setArgument(2,(*v3_MaterialConstituents)->generalize()); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcTemplatedEntityList< IfcMaterialConstituent >::ptr > v3_MaterialConstituents) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_MaterialConstituents) { e->setArgument(2,(*v3_MaterialConstituents)->generalize()); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialDefinition IfcRelAssociatesMaterial::list::ptr IfcMaterialDefinition::AssociatedTo() const { return entity->getInverse(Type::IfcRelAssociatesMaterial)->as(); } @@ -10333,50 +11880,50 @@ bool IfcMaterialDefinitionRepresentation::is(Type::Enum v) const { return v == T Type::Enum IfcMaterialDefinitionRepresentation::type() const { return Type::IfcMaterialDefinitionRepresentation; } Type::Enum IfcMaterialDefinitionRepresentation::Class() { return Type::IfcMaterialDefinitionRepresentation; } IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(IfcAbstractEntity* e) : IfcProductRepresentation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialDefinitionRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations, IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); e->setArgument(3,(v4_RepresentedMaterial)); entity = e; EntityBuffer::Add(this); } +IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations, IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); e->setArgument(3,(v4_RepresentedMaterial)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialLayer bool IfcMaterialLayer::hasMaterial() const { return !entity->getArgument(0)->isNull(); } IfcMaterial* IfcMaterialLayer::Material() const { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcMaterialLayer::setMaterial(IfcMaterial* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcNonNegativeLengthMeasure IfcMaterialLayer::LayerThickness() const { return *entity->getArgument(1); } -void IfcMaterialLayer::setLayerThickness(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcMaterialLayer::LayerThickness() const { return *entity->getArgument(1); } +void IfcMaterialLayer::setLayerThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcMaterialLayer::hasIsVentilated() const { return !entity->getArgument(2)->isNull(); } -IfcLogical IfcMaterialLayer::IsVentilated() const { return *entity->getArgument(2); } -void IfcMaterialLayer::setIsVentilated(IfcLogical v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +bool IfcMaterialLayer::IsVentilated() const { return *entity->getArgument(2); } +void IfcMaterialLayer::setIsVentilated(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcMaterialLayer::hasName() const { return !entity->getArgument(3)->isNull(); } -IfcLabel IfcMaterialLayer::Name() const { return *entity->getArgument(3); } -void IfcMaterialLayer::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcMaterialLayer::Name() const { return *entity->getArgument(3); } +void IfcMaterialLayer::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcMaterialLayer::hasDescription() const { return !entity->getArgument(4)->isNull(); } -IfcText IfcMaterialLayer::Description() const { return *entity->getArgument(4); } -void IfcMaterialLayer::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcMaterialLayer::Description() const { return *entity->getArgument(4); } +void IfcMaterialLayer::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcMaterialLayer::hasCategory() const { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcMaterialLayer::Category() const { return *entity->getArgument(5); } -void IfcMaterialLayer::setCategory(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcMaterialLayer::Category() const { return *entity->getArgument(5); } +void IfcMaterialLayer::setCategory(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcMaterialLayer::hasPriority() const { return !entity->getArgument(6)->isNull(); } -IfcNormalisedRatioMeasure IfcMaterialLayer::Priority() const { return *entity->getArgument(6); } -void IfcMaterialLayer::setPriority(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcMaterialLayer::Priority() const { return *entity->getArgument(6); } +void IfcMaterialLayer::setPriority(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } IfcMaterialLayerSet::list::ptr IfcMaterialLayer::ToMaterialLayerSet() const { return entity->getInverse(Type::IfcMaterialLayerSet)->as(); } bool IfcMaterialLayer::is(Type::Enum v) const { return v == Type::IfcMaterialLayer || IfcMaterialDefinition::is(v); } Type::Enum IfcMaterialLayer::type() const { return Type::IfcMaterialLayer; } Type::Enum IfcMaterialLayer::Class() { return Type::IfcMaterialLayer; } IfcMaterialLayer::IfcMaterialLayer(IfcAbstractEntity* e) : IfcMaterialDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialLayer)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialLayer::IfcMaterialLayer(IfcMaterial* v1_Material, IfcNonNegativeLengthMeasure v2_LayerThickness, boost::optional< IfcLogical > v3_IsVentilated, boost::optional< IfcLabel > v4_Name, boost::optional< IfcText > v5_Description, boost::optional< IfcLabel > v6_Category, boost::optional< IfcNormalisedRatioMeasure > v7_Priority) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); e->setArgument(1,(v2_LayerThickness)); if (v3_IsVentilated) { e->setArgument(2,(*v3_IsVentilated)); } else { e->setArgument(2); } if (v4_Name) { e->setArgument(3,(*v4_Name)); } else { e->setArgument(3); } if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } if (v6_Category) { e->setArgument(5,(*v6_Category)); } else { e->setArgument(5); } if (v7_Priority) { e->setArgument(6,(*v7_Priority)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcMaterialLayer::IfcMaterialLayer(IfcMaterial* v1_Material, double v2_LayerThickness, boost::optional< bool > v3_IsVentilated, boost::optional< std::string > v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Category, boost::optional< double > v7_Priority) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); e->setArgument(1,(v2_LayerThickness)); if (v3_IsVentilated) { e->setArgument(2,(*v3_IsVentilated)); } else { e->setArgument(2); } if (v4_Name) { e->setArgument(3,(*v4_Name)); } else { e->setArgument(3); } if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } if (v6_Category) { e->setArgument(5,(*v6_Category)); } else { e->setArgument(5); } if (v7_Priority) { e->setArgument(6,(*v7_Priority)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialLayerSet IfcTemplatedEntityList< IfcMaterialLayer >::ptr IfcMaterialLayerSet::MaterialLayers() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } void IfcMaterialLayerSet::setMaterialLayers(IfcTemplatedEntityList< IfcMaterialLayer >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } bool IfcMaterialLayerSet::hasLayerSetName() const { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcMaterialLayerSet::LayerSetName() const { return *entity->getArgument(1); } -void IfcMaterialLayerSet::setLayerSetName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcMaterialLayerSet::LayerSetName() const { return *entity->getArgument(1); } +void IfcMaterialLayerSet::setLayerSetName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcMaterialLayerSet::hasDescription() const { return !entity->getArgument(2)->isNull(); } -IfcText IfcMaterialLayerSet::Description() const { return *entity->getArgument(2); } -void IfcMaterialLayerSet::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcMaterialLayerSet::Description() const { return *entity->getArgument(2); } +void IfcMaterialLayerSet::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcMaterialLayerSet::is(Type::Enum v) const { return v == Type::IfcMaterialLayerSet || IfcMaterialDefinition::is(v); } Type::Enum IfcMaterialLayerSet::type() const { return Type::IfcMaterialLayerSet; } Type::Enum IfcMaterialLayerSet::Class() { return Type::IfcMaterialLayerSet; } IfcMaterialLayerSet::IfcMaterialLayerSet(IfcAbstractEntity* e) : IfcMaterialDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialLayerSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialLayerSet::IfcMaterialLayerSet(IfcTemplatedEntityList< IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< IfcLabel > v2_LayerSetName, boost::optional< IfcText > v3_Description) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MaterialLayers)->generalize()); if (v2_LayerSetName) { e->setArgument(1,(*v2_LayerSetName)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcMaterialLayerSet::IfcMaterialLayerSet(IfcTemplatedEntityList< IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MaterialLayers)->generalize()); if (v2_LayerSetName) { e->setArgument(1,(*v2_LayerSetName)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialLayerSetUsage IfcMaterialLayerSet* IfcMaterialLayerSetUsage::ForLayerSet() const { return (IfcMaterialLayerSet*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -10385,27 +11932,27 @@ IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum IfcMaterialLayerSetUsage::Lay void IfcMaterialLayerSetUsage::setLayerSetDirection(IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v,IfcLayerSetDirectionEnum::ToString(v)); } IfcDirectionSenseEnum::IfcDirectionSenseEnum IfcMaterialLayerSetUsage::DirectionSense() const { return IfcDirectionSenseEnum::FromString(*entity->getArgument(2)); } void IfcMaterialLayerSetUsage::setDirectionSense(IfcDirectionSenseEnum::IfcDirectionSenseEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcDirectionSenseEnum::ToString(v)); } -IfcLengthMeasure IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { return *entity->getArgument(3); } -void IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { return *entity->getArgument(3); } +void IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcMaterialLayerSetUsage::hasReferenceExtent() const { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcMaterialLayerSetUsage::ReferenceExtent() const { return *entity->getArgument(4); } -void IfcMaterialLayerSetUsage::setReferenceExtent(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcMaterialLayerSetUsage::ReferenceExtent() const { return *entity->getArgument(4); } +void IfcMaterialLayerSetUsage::setReferenceExtent(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcMaterialLayerSetUsage::is(Type::Enum v) const { return v == Type::IfcMaterialLayerSetUsage || IfcMaterialUsageDefinition::is(v); } Type::Enum IfcMaterialLayerSetUsage::type() const { return Type::IfcMaterialLayerSetUsage; } Type::Enum IfcMaterialLayerSetUsage::Class() { return Type::IfcMaterialLayerSetUsage; } IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcAbstractEntity* e) : IfcMaterialUsageDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialLayerSetUsage)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcMaterialLayerSet* v1_ForLayerSet, IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v2_LayerSetDirection, IfcDirectionSenseEnum::IfcDirectionSenseEnum v3_DirectionSense, IfcLengthMeasure v4_OffsetFromReferenceLine, boost::optional< IfcPositiveLengthMeasure > v5_ReferenceExtent) : IfcMaterialUsageDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ForLayerSet)); e->setArgument(1,v2_LayerSetDirection,IfcLayerSetDirectionEnum::ToString(v2_LayerSetDirection)); e->setArgument(2,v3_DirectionSense,IfcDirectionSenseEnum::ToString(v3_DirectionSense)); e->setArgument(3,(v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) { e->setArgument(4,(*v5_ReferenceExtent)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcMaterialLayerSet* v1_ForLayerSet, IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v2_LayerSetDirection, IfcDirectionSenseEnum::IfcDirectionSenseEnum v3_DirectionSense, double v4_OffsetFromReferenceLine, boost::optional< double > v5_ReferenceExtent) : IfcMaterialUsageDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ForLayerSet)); e->setArgument(1,v2_LayerSetDirection,IfcLayerSetDirectionEnum::ToString(v2_LayerSetDirection)); e->setArgument(2,v3_DirectionSense,IfcDirectionSenseEnum::ToString(v3_DirectionSense)); e->setArgument(3,(v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) { e->setArgument(4,(*v5_ReferenceExtent)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialLayerWithOffsets IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum IfcMaterialLayerWithOffsets::OffsetDirection() const { return IfcLayerSetDirectionEnum::FromString(*entity->getArgument(7)); } void IfcMaterialLayerWithOffsets::setOffsetDirection(IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcLayerSetDirectionEnum::ToString(v)); } -std::vector< IfcLengthMeasure > /*[1:2]*/ IfcMaterialLayerWithOffsets::OffsetValues() const { return *entity->getArgument(8); } -void IfcMaterialLayerWithOffsets::setOffsetValues(std::vector< IfcLengthMeasure > /*[1:2]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::vector< double > /*[1:2]*/ IfcMaterialLayerWithOffsets::OffsetValues() const { return *entity->getArgument(8); } +void IfcMaterialLayerWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcMaterialLayerWithOffsets::is(Type::Enum v) const { return v == Type::IfcMaterialLayerWithOffsets || IfcMaterialLayer::is(v); } Type::Enum IfcMaterialLayerWithOffsets::type() const { return Type::IfcMaterialLayerWithOffsets; } Type::Enum IfcMaterialLayerWithOffsets::Class() { return Type::IfcMaterialLayerWithOffsets; } IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(IfcAbstractEntity* e) : IfcMaterialLayer((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialLayerWithOffsets)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(IfcMaterial* v1_Material, IfcNonNegativeLengthMeasure v2_LayerThickness, boost::optional< IfcLogical > v3_IsVentilated, boost::optional< IfcLabel > v4_Name, boost::optional< IfcText > v5_Description, boost::optional< IfcLabel > v6_Category, boost::optional< IfcNormalisedRatioMeasure > v7_Priority, IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v8_OffsetDirection, std::vector< IfcLengthMeasure > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); e->setArgument(1,(v2_LayerThickness)); if (v3_IsVentilated) { e->setArgument(2,(*v3_IsVentilated)); } else { e->setArgument(2); } if (v4_Name) { e->setArgument(3,(*v4_Name)); } else { e->setArgument(3); } if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } if (v6_Category) { e->setArgument(5,(*v6_Category)); } else { e->setArgument(5); } if (v7_Priority) { e->setArgument(6,(*v7_Priority)); } else { e->setArgument(6); } e->setArgument(7,v8_OffsetDirection,IfcLayerSetDirectionEnum::ToString(v8_OffsetDirection)); e->setArgument(8,(v9_OffsetValues)); entity = e; EntityBuffer::Add(this); } +IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(IfcMaterial* v1_Material, double v2_LayerThickness, boost::optional< bool > v3_IsVentilated, boost::optional< std::string > v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Category, boost::optional< double > v7_Priority, IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Material)); e->setArgument(1,(v2_LayerThickness)); if (v3_IsVentilated) { e->setArgument(2,(*v3_IsVentilated)); } else { e->setArgument(2); } if (v4_Name) { e->setArgument(3,(*v4_Name)); } else { e->setArgument(3); } if (v5_Description) { e->setArgument(4,(*v5_Description)); } else { e->setArgument(4); } if (v6_Category) { e->setArgument(5,(*v6_Category)); } else { e->setArgument(5); } if (v7_Priority) { e->setArgument(6,(*v7_Priority)); } else { e->setArgument(6); } e->setArgument(7,v8_OffsetDirection,IfcLayerSetDirectionEnum::ToString(v8_OffsetDirection)); e->setArgument(8,(v9_OffsetValues)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialList IfcTemplatedEntityList< IfcMaterial >::ptr IfcMaterialList::Materials() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } @@ -10418,36 +11965,36 @@ IfcMaterialList::IfcMaterialList(IfcTemplatedEntityList< IfcMaterial >::ptr v1_M // Function implementations for IfcMaterialProfile bool IfcMaterialProfile::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcMaterialProfile::Name() const { return *entity->getArgument(0); } -void IfcMaterialProfile::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcMaterialProfile::Name() const { return *entity->getArgument(0); } +void IfcMaterialProfile::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcMaterialProfile::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcMaterialProfile::Description() const { return *entity->getArgument(1); } -void IfcMaterialProfile::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcMaterialProfile::Description() const { return *entity->getArgument(1); } +void IfcMaterialProfile::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcMaterialProfile::hasMaterial() const { return !entity->getArgument(2)->isNull(); } IfcMaterial* IfcMaterialProfile::Material() const { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcMaterialProfile::setMaterial(IfcMaterial* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcProfileDef* IfcMaterialProfile::Profile() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcMaterialProfile::setProfile(IfcProfileDef* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcMaterialProfile::hasPriority() const { return !entity->getArgument(4)->isNull(); } -IfcNormalisedRatioMeasure IfcMaterialProfile::Priority() const { return *entity->getArgument(4); } -void IfcMaterialProfile::setPriority(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcMaterialProfile::Priority() const { return *entity->getArgument(4); } +void IfcMaterialProfile::setPriority(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcMaterialProfile::hasCategory() const { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcMaterialProfile::Category() const { return *entity->getArgument(5); } -void IfcMaterialProfile::setCategory(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcMaterialProfile::Category() const { return *entity->getArgument(5); } +void IfcMaterialProfile::setCategory(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } IfcMaterialProfileSet::list::ptr IfcMaterialProfile::ToMaterialProfileSet() const { return entity->getInverse(Type::IfcMaterialProfileSet)->as(); } bool IfcMaterialProfile::is(Type::Enum v) const { return v == Type::IfcMaterialProfile || IfcMaterialDefinition::is(v); } Type::Enum IfcMaterialProfile::type() const { return Type::IfcMaterialProfile; } Type::Enum IfcMaterialProfile::Class() { return Type::IfcMaterialProfile; } IfcMaterialProfile::IfcMaterialProfile(IfcAbstractEntity* e) : IfcMaterialDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialProfile)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialProfile::IfcMaterialProfile(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMaterial* v3_Material, IfcProfileDef* v4_Profile, boost::optional< IfcNormalisedRatioMeasure > v5_Priority, boost::optional< IfcLabel > v6_Category) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Material)); e->setArgument(3,(v4_Profile)); if (v5_Priority) { e->setArgument(4,(*v5_Priority)); } else { e->setArgument(4); } if (v6_Category) { e->setArgument(5,(*v6_Category)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcMaterial* v3_Material, IfcProfileDef* v4_Profile, boost::optional< double > v5_Priority, boost::optional< std::string > v6_Category) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Material)); e->setArgument(3,(v4_Profile)); if (v5_Priority) { e->setArgument(4,(*v5_Priority)); } else { e->setArgument(4); } if (v6_Category) { e->setArgument(5,(*v6_Category)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialProfileSet bool IfcMaterialProfileSet::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcMaterialProfileSet::Name() const { return *entity->getArgument(0); } -void IfcMaterialProfileSet::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcMaterialProfileSet::Name() const { return *entity->getArgument(0); } +void IfcMaterialProfileSet::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcMaterialProfileSet::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcMaterialProfileSet::Description() const { return *entity->getArgument(1); } -void IfcMaterialProfileSet::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcMaterialProfileSet::Description() const { return *entity->getArgument(1); } +void IfcMaterialProfileSet::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcTemplatedEntityList< IfcMaterialProfile >::ptr IfcMaterialProfileSet::MaterialProfiles() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } void IfcMaterialProfileSet::setMaterialProfiles(IfcTemplatedEntityList< IfcMaterialProfile >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } bool IfcMaterialProfileSet::hasCompositeProfile() const { return !entity->getArgument(3)->isNull(); } @@ -10457,43 +12004,43 @@ bool IfcMaterialProfileSet::is(Type::Enum v) const { return v == Type::IfcMateri Type::Enum IfcMaterialProfileSet::type() const { return Type::IfcMaterialProfileSet; } Type::Enum IfcMaterialProfileSet::Class() { return Type::IfcMaterialProfileSet; } IfcMaterialProfileSet::IfcMaterialProfileSet(IfcAbstractEntity* e) : IfcMaterialDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialProfileSet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcMaterialProfile >::ptr v3_MaterialProfiles, IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_MaterialProfiles)->generalize()); e->setArgument(3,(v4_CompositeProfile)); entity = e; EntityBuffer::Add(this); } +IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcMaterialProfile >::ptr v3_MaterialProfiles, IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_MaterialProfiles)->generalize()); e->setArgument(3,(v4_CompositeProfile)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialProfileSetUsage IfcMaterialProfileSet* IfcMaterialProfileSetUsage::ForProfileSet() const { return (IfcMaterialProfileSet*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcMaterialProfileSetUsage::setForProfileSet(IfcMaterialProfileSet* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcMaterialProfileSetUsage::hasCardinalPoint() const { return !entity->getArgument(1)->isNull(); } -IfcCardinalPointReference IfcMaterialProfileSetUsage::CardinalPoint() const { return *entity->getArgument(1); } -void IfcMaterialProfileSetUsage::setCardinalPoint(IfcCardinalPointReference v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +int IfcMaterialProfileSetUsage::CardinalPoint() const { return *entity->getArgument(1); } +void IfcMaterialProfileSetUsage::setCardinalPoint(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcMaterialProfileSetUsage::hasReferenceExtent() const { return !entity->getArgument(2)->isNull(); } -IfcPositiveLengthMeasure IfcMaterialProfileSetUsage::ReferenceExtent() const { return *entity->getArgument(2); } -void IfcMaterialProfileSetUsage::setReferenceExtent(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcMaterialProfileSetUsage::ReferenceExtent() const { return *entity->getArgument(2); } +void IfcMaterialProfileSetUsage::setReferenceExtent(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcMaterialProfileSetUsage::is(Type::Enum v) const { return v == Type::IfcMaterialProfileSetUsage || IfcMaterialUsageDefinition::is(v); } Type::Enum IfcMaterialProfileSetUsage::type() const { return Type::IfcMaterialProfileSetUsage; } Type::Enum IfcMaterialProfileSetUsage::Class() { return Type::IfcMaterialProfileSetUsage; } IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcAbstractEntity* e) : IfcMaterialUsageDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialProfileSetUsage)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< IfcCardinalPointReference > v2_CardinalPoint, boost::optional< IfcPositiveLengthMeasure > v3_ReferenceExtent) : IfcMaterialUsageDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ForProfileSet)); if (v2_CardinalPoint) { e->setArgument(1,(*v2_CardinalPoint)); } else { e->setArgument(1); } if (v3_ReferenceExtent) { e->setArgument(2,(*v3_ReferenceExtent)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ForProfileSet)); if (v2_CardinalPoint) { e->setArgument(1,(*v2_CardinalPoint)); } else { e->setArgument(1); } if (v3_ReferenceExtent) { e->setArgument(2,(*v3_ReferenceExtent)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialProfileSetUsageTapering IfcMaterialProfileSet* IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return (IfcMaterialProfileSet*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcMaterialProfileSetUsageTapering::setForProfileEndSet(IfcMaterialProfileSet* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcMaterialProfileSetUsageTapering::hasCardinalEndPoint() const { return !entity->getArgument(4)->isNull(); } -IfcCardinalPointReference IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { return *entity->getArgument(4); } -void IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(IfcCardinalPointReference v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +int IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { return *entity->getArgument(4); } +void IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcMaterialProfileSetUsageTapering::is(Type::Enum v) const { return v == Type::IfcMaterialProfileSetUsageTapering || IfcMaterialProfileSetUsage::is(v); } Type::Enum IfcMaterialProfileSetUsageTapering::type() const { return Type::IfcMaterialProfileSetUsageTapering; } Type::Enum IfcMaterialProfileSetUsageTapering::Class() { return Type::IfcMaterialProfileSetUsageTapering; } IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(IfcAbstractEntity* e) : IfcMaterialProfileSetUsage((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialProfileSetUsageTapering)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< IfcCardinalPointReference > v2_CardinalPoint, boost::optional< IfcPositiveLengthMeasure > v3_ReferenceExtent, IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< IfcCardinalPointReference > v5_CardinalEndPoint) : IfcMaterialProfileSetUsage((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ForProfileSet)); if (v2_CardinalPoint) { e->setArgument(1,(*v2_CardinalPoint)); } else { e->setArgument(1); } if (v3_ReferenceExtent) { e->setArgument(2,(*v3_ReferenceExtent)); } else { e->setArgument(2); } e->setArgument(3,(v4_ForProfileEndSet)); if (v5_CardinalEndPoint) { e->setArgument(4,(*v5_CardinalEndPoint)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent, IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< int > v5_CardinalEndPoint) : IfcMaterialProfileSetUsage((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ForProfileSet)); if (v2_CardinalPoint) { e->setArgument(1,(*v2_CardinalPoint)); } else { e->setArgument(1); } if (v3_ReferenceExtent) { e->setArgument(2,(*v3_ReferenceExtent)); } else { e->setArgument(2); } e->setArgument(3,(v4_ForProfileEndSet)); if (v5_CardinalEndPoint) { e->setArgument(4,(*v5_CardinalEndPoint)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialProfileWithOffsets -std::vector< IfcLengthMeasure > /*[1:2]*/ IfcMaterialProfileWithOffsets::OffsetValues() const { return *entity->getArgument(6); } -void IfcMaterialProfileWithOffsets::setOffsetValues(std::vector< IfcLengthMeasure > /*[1:2]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::vector< double > /*[1:2]*/ IfcMaterialProfileWithOffsets::OffsetValues() const { return *entity->getArgument(6); } +void IfcMaterialProfileWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcMaterialProfileWithOffsets::is(Type::Enum v) const { return v == Type::IfcMaterialProfileWithOffsets || IfcMaterialProfile::is(v); } Type::Enum IfcMaterialProfileWithOffsets::type() const { return Type::IfcMaterialProfileWithOffsets; } Type::Enum IfcMaterialProfileWithOffsets::Class() { return Type::IfcMaterialProfileWithOffsets; } IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(IfcAbstractEntity* e) : IfcMaterialProfile((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialProfileWithOffsets)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMaterial* v3_Material, IfcProfileDef* v4_Profile, boost::optional< IfcNormalisedRatioMeasure > v5_Priority, boost::optional< IfcLabel > v6_Category, std::vector< IfcLengthMeasure > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Material)); e->setArgument(3,(v4_Profile)); if (v5_Priority) { e->setArgument(4,(*v5_Priority)); } else { e->setArgument(4); } if (v6_Category) { e->setArgument(5,(*v6_Category)); } else { e->setArgument(5); } e->setArgument(6,(v7_OffsetValues)); entity = e; EntityBuffer::Add(this); } +IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcMaterial* v3_Material, IfcProfileDef* v4_Profile, boost::optional< double > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Material)); e->setArgument(3,(v4_Profile)); if (v5_Priority) { e->setArgument(4,(*v5_Priority)); } else { e->setArgument(4); } if (v6_Category) { e->setArgument(5,(*v6_Category)); } else { e->setArgument(5); } e->setArgument(6,(v7_OffsetValues)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialProperties IfcMaterialDefinition* IfcMaterialProperties::Material() const { return (IfcMaterialDefinition*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } @@ -10502,7 +12049,7 @@ bool IfcMaterialProperties::is(Type::Enum v) const { return v == Type::IfcMateri Type::Enum IfcMaterialProperties::type() const { return Type::IfcMaterialProperties; } Type::Enum IfcMaterialProperties::Class() { return Type::IfcMaterialProperties; } IfcMaterialProperties::IfcMaterialProperties(IfcAbstractEntity* e) : IfcExtendedProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialProperties::IfcMaterialProperties(boost::optional< IfcIdentifier > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcProperty >::ptr v3_Properties, IfcMaterialDefinition* v4_Material) : IfcExtendedProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Properties)->generalize()); e->setArgument(3,(v4_Material)); entity = e; EntityBuffer::Add(this); } +IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcProperty >::ptr v3_Properties, IfcMaterialDefinition* v4_Material) : IfcExtendedProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Properties)->generalize()); e->setArgument(3,(v4_Material)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialRelationship IfcMaterial* IfcMaterialRelationship::RelatingMaterial() const { return (IfcMaterial*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } @@ -10510,13 +12057,13 @@ void IfcMaterialRelationship::setRelatingMaterial(IfcMaterial* v) { if ( ! entit IfcTemplatedEntityList< IfcMaterial >::ptr IfcMaterialRelationship::RelatedMaterials() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } void IfcMaterialRelationship::setRelatedMaterials(IfcTemplatedEntityList< IfcMaterial >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } bool IfcMaterialRelationship::hasExpression() const { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcMaterialRelationship::Expression() const { return *entity->getArgument(4); } -void IfcMaterialRelationship::setExpression(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcMaterialRelationship::Expression() const { return *entity->getArgument(4); } +void IfcMaterialRelationship::setExpression(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcMaterialRelationship::is(Type::Enum v) const { return v == Type::IfcMaterialRelationship || IfcResourceLevelRelationship::is(v); } Type::Enum IfcMaterialRelationship::type() const { return Type::IfcMaterialRelationship; } Type::Enum IfcMaterialRelationship::Class() { return Type::IfcMaterialRelationship; } IfcMaterialRelationship::IfcMaterialRelationship(IfcAbstractEntity* e) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMaterialRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMaterial* v3_RelatingMaterial, IfcTemplatedEntityList< IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< IfcLabel > v5_Expression) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingMaterial)); e->setArgument(3,(v4_RelatedMaterials)->generalize()); if (v5_Expression) { e->setArgument(4,(*v5_Expression)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcMaterial* v3_RelatingMaterial, IfcTemplatedEntityList< IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingMaterial)); e->setArgument(3,(v4_RelatedMaterials)->generalize()); if (v5_Expression) { e->setArgument(4,(*v5_Expression)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMaterialUsageDefinition IfcRelAssociatesMaterial::list::ptr IfcMaterialUsageDefinition::AssociatedTo() const { return entity->getInverse(Type::IfcRelAssociatesMaterial)->as(); } @@ -10527,23 +12074,23 @@ IfcMaterialUsageDefinition::IfcMaterialUsageDefinition(IfcAbstractEntity* e) : I IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMeasureWithUnit -IfcValue IfcMeasureWithUnit::ValueComponent() const { return *entity->getArgument(0); } -void IfcMeasureWithUnit::setValueComponent(IfcValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcUnit IfcMeasureWithUnit::UnitComponent() const { return *entity->getArgument(1); } -void IfcMeasureWithUnit::setUnitComponent(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcValue* IfcMeasureWithUnit::ValueComponent() const { return (IfcValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcMeasureWithUnit::setValueComponent(IfcValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcUnit* IfcMeasureWithUnit::UnitComponent() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcMeasureWithUnit::setUnitComponent(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcMeasureWithUnit::is(Type::Enum v) const { return v == Type::IfcMeasureWithUnit; } Type::Enum IfcMeasureWithUnit::type() const { return Type::IfcMeasureWithUnit; } Type::Enum IfcMeasureWithUnit::Class() { return Type::IfcMeasureWithUnit; } IfcMeasureWithUnit::IfcMeasureWithUnit(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMeasureWithUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMeasureWithUnit::IfcMeasureWithUnit(IfcValue v1_ValueComponent, IfcUnit v2_UnitComponent) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ValueComponent)); e->setArgument(1,(v2_UnitComponent)); entity = e; EntityBuffer::Add(this); } +IfcMeasureWithUnit::IfcMeasureWithUnit(IfcValue* v1_ValueComponent, IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ValueComponent)); e->setArgument(1,(v2_UnitComponent)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMechanicalFastener bool IfcMechanicalFastener::hasNominalDiameter() const { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcMechanicalFastener::NominalDiameter() const { return *entity->getArgument(8); } -void IfcMechanicalFastener::setNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcMechanicalFastener::NominalDiameter() const { return *entity->getArgument(8); } +void IfcMechanicalFastener::setNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcMechanicalFastener::hasNominalLength() const { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcMechanicalFastener::NominalLength() const { return *entity->getArgument(9); } -void IfcMechanicalFastener::setNominalLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcMechanicalFastener::NominalLength() const { return *entity->getArgument(9); } +void IfcMechanicalFastener::setNominalLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcMechanicalFastener::hasPredefinedType() const { return !entity->getArgument(10)->isNull(); } IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum IfcMechanicalFastener::PredefinedType() const { return IfcMechanicalFastenerTypeEnum::FromString(*entity->getArgument(10)); } void IfcMechanicalFastener::setPredefinedType(IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v,IfcMechanicalFastenerTypeEnum::ToString(v)); } @@ -10551,22 +12098,22 @@ bool IfcMechanicalFastener::is(Type::Enum v) const { return v == Type::IfcMechan Type::Enum IfcMechanicalFastener::type() const { return Type::IfcMechanicalFastener; } Type::Enum IfcMechanicalFastener::Class() { return Type::IfcMechanicalFastener; } IfcMechanicalFastener::IfcMechanicalFastener(IfcAbstractEntity* e) : IfcElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMechanicalFastener)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMechanicalFastener::IfcMechanicalFastener(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_NominalDiameter, boost::optional< IfcPositiveLengthMeasure > v10_NominalLength, boost::optional< IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum > v11_PredefinedType) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_NominalDiameter) { e->setArgument(8,(*v9_NominalDiameter)); } else { e->setArgument(8); } if (v10_NominalLength) { e->setArgument(9,(*v10_NominalLength)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcMechanicalFastenerTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum > v11_PredefinedType) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_NominalDiameter) { e->setArgument(8,(*v9_NominalDiameter)); } else { e->setArgument(8); } if (v10_NominalLength) { e->setArgument(9,(*v10_NominalLength)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcMechanicalFastenerTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMechanicalFastenerType IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum IfcMechanicalFastenerType::PredefinedType() const { return IfcMechanicalFastenerTypeEnum::FromString(*entity->getArgument(9)); } void IfcMechanicalFastenerType::setPredefinedType(IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcMechanicalFastenerTypeEnum::ToString(v)); } bool IfcMechanicalFastenerType::hasNominalDiameter() const { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcMechanicalFastenerType::NominalDiameter() const { return *entity->getArgument(10); } -void IfcMechanicalFastenerType::setNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcMechanicalFastenerType::NominalDiameter() const { return *entity->getArgument(10); } +void IfcMechanicalFastenerType::setNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcMechanicalFastenerType::hasNominalLength() const { return !entity->getArgument(11)->isNull(); } -IfcPositiveLengthMeasure IfcMechanicalFastenerType::NominalLength() const { return *entity->getArgument(11); } -void IfcMechanicalFastenerType::setNominalLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcMechanicalFastenerType::NominalLength() const { return *entity->getArgument(11); } +void IfcMechanicalFastenerType::setNominalLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcMechanicalFastenerType::is(Type::Enum v) const { return v == Type::IfcMechanicalFastenerType || IfcElementComponentType::is(v); } Type::Enum IfcMechanicalFastenerType::type() const { return Type::IfcMechanicalFastenerType; } Type::Enum IfcMechanicalFastenerType::Class() { return Type::IfcMechanicalFastenerType; } IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcAbstractEntity* e) : IfcElementComponentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMechanicalFastenerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_NominalDiameter, boost::optional< IfcPositiveLengthMeasure > v12_NominalLength) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMechanicalFastenerTypeEnum::ToString(v10_PredefinedType)); if (v11_NominalDiameter) { e->setArgument(10,(*v11_NominalDiameter)); } else { e->setArgument(10); } if (v12_NominalLength) { e->setArgument(11,(*v12_NominalLength)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } +IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMechanicalFastenerTypeEnum::ToString(v10_PredefinedType)); if (v11_NominalDiameter) { e->setArgument(10,(*v11_NominalDiameter)); } else { e->setArgument(10); } if (v12_NominalLength) { e->setArgument(11,(*v12_NominalLength)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMedicalDevice bool IfcMedicalDevice::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -10576,7 +12123,7 @@ bool IfcMedicalDevice::is(Type::Enum v) const { return v == Type::IfcMedicalDevi Type::Enum IfcMedicalDevice::type() const { return Type::IfcMedicalDevice; } Type::Enum IfcMedicalDevice::Class() { return Type::IfcMedicalDevice; } IfcMedicalDevice::IfcMedicalDevice(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMedicalDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMedicalDevice::IfcMedicalDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcMedicalDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcMedicalDevice::IfcMedicalDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcMedicalDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMedicalDeviceType IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum IfcMedicalDeviceType::PredefinedType() const { return IfcMedicalDeviceTypeEnum::FromString(*entity->getArgument(9)); } @@ -10585,7 +12132,7 @@ bool IfcMedicalDeviceType::is(Type::Enum v) const { return v == Type::IfcMedical Type::Enum IfcMedicalDeviceType::type() const { return Type::IfcMedicalDeviceType; } Type::Enum IfcMedicalDeviceType::Class() { return Type::IfcMedicalDeviceType; } IfcMedicalDeviceType::IfcMedicalDeviceType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMedicalDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMedicalDeviceType::IfcMedicalDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMedicalDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMedicalDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMember bool IfcMember::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -10595,14 +12142,14 @@ bool IfcMember::is(Type::Enum v) const { return v == Type::IfcMember || IfcBuild Type::Enum IfcMember::type() const { return Type::IfcMember; } Type::Enum IfcMember::Class() { return Type::IfcMember; } IfcMember::IfcMember(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMember::IfcMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcMemberTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcMember::IfcMember(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcMemberTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMemberStandardCase bool IfcMemberStandardCase::is(Type::Enum v) const { return v == Type::IfcMemberStandardCase || IfcMember::is(v); } Type::Enum IfcMemberStandardCase::type() const { return Type::IfcMemberStandardCase; } Type::Enum IfcMemberStandardCase::Class() { return Type::IfcMemberStandardCase; } IfcMemberStandardCase::IfcMemberStandardCase(IfcAbstractEntity* e) : IfcMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMemberStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMemberStandardCase::IfcMemberStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > v9_PredefinedType) : IfcMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcMemberTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcMemberStandardCase::IfcMemberStandardCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > v9_PredefinedType) : IfcMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcMemberTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMemberType IfcMemberTypeEnum::IfcMemberTypeEnum IfcMemberType::PredefinedType() const { return IfcMemberTypeEnum::FromString(*entity->getArgument(9)); } @@ -10611,16 +12158,16 @@ bool IfcMemberType::is(Type::Enum v) const { return v == Type::IfcMemberType || Type::Enum IfcMemberType::type() const { return Type::IfcMemberType; } Type::Enum IfcMemberType::Class() { return Type::IfcMemberType; } IfcMemberType::IfcMemberType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMemberType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMemberType::IfcMemberType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMemberTypeEnum::IfcMemberTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMemberTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcMemberType::IfcMemberType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMemberTypeEnum::IfcMemberTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMemberTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMetric IfcBenchmarkEnum::IfcBenchmarkEnum IfcMetric::Benchmark() const { return IfcBenchmarkEnum::FromString(*entity->getArgument(7)); } void IfcMetric::setBenchmark(IfcBenchmarkEnum::IfcBenchmarkEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcBenchmarkEnum::ToString(v)); } bool IfcMetric::hasValueSource() const { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcMetric::ValueSource() const { return *entity->getArgument(8); } -void IfcMetric::setValueSource(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } -IfcMetricValueSelect IfcMetric::DataValue() const { return *entity->getArgument(9); } -void IfcMetric::setDataValue(IfcMetricValueSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +std::string IfcMetric::ValueSource() const { return *entity->getArgument(8); } +void IfcMetric::setValueSource(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +IfcMetricValueSelect* IfcMetric::DataValue() const { return (IfcMetricValueSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } +void IfcMetric::setDataValue(IfcMetricValueSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcMetric::hasReferencePath() const { return !entity->getArgument(10)->isNull(); } IfcReference* IfcMetric::ReferencePath() const { return (IfcReference*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } void IfcMetric::setReferencePath(IfcReference* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } @@ -10628,23 +12175,23 @@ bool IfcMetric::is(Type::Enum v) const { return v == Type::IfcMetric || IfcConst Type::Enum IfcMetric::type() const { return Type::IfcMetric; } Type::Enum IfcMetric::Class() { return Type::IfcMetric; } IfcMetric::IfcMetric(IfcAbstractEntity* e) : IfcConstraint((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMetric)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMetric::IfcMetric(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTime > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade, IfcBenchmarkEnum::IfcBenchmarkEnum v8_Benchmark, boost::optional< IfcLabel > v9_ValueSource, IfcMetricValueSelect v10_DataValue, IfcReference* v11_ReferencePath) : IfcConstraint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } if (v5_CreatingActor) { e->setArgument(4,(*v5_CreatingActor)); } else { e->setArgument(4); } if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } e->setArgument(7,v8_Benchmark,IfcBenchmarkEnum::ToString(v8_Benchmark)); if (v9_ValueSource) { e->setArgument(8,(*v9_ValueSource)); } else { e->setArgument(8); } e->setArgument(9,(v10_DataValue)); e->setArgument(10,(v11_ReferencePath)); entity = e; EntityBuffer::Add(this); } +IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, IfcBenchmarkEnum::IfcBenchmarkEnum v8_Benchmark, boost::optional< std::string > v9_ValueSource, IfcMetricValueSelect* v10_DataValue, IfcReference* v11_ReferencePath) : IfcConstraint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } e->setArgument(4,(v5_CreatingActor)); if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } e->setArgument(7,v8_Benchmark,IfcBenchmarkEnum::ToString(v8_Benchmark)); if (v9_ValueSource) { e->setArgument(8,(*v9_ValueSource)); } else { e->setArgument(8); } e->setArgument(9,(v10_DataValue)); e->setArgument(10,(v11_ReferencePath)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMirroredProfileDef bool IfcMirroredProfileDef::is(Type::Enum v) const { return v == Type::IfcMirroredProfileDef || IfcDerivedProfileDef::is(v); } Type::Enum IfcMirroredProfileDef::type() const { return Type::IfcMirroredProfileDef; } Type::Enum IfcMirroredProfileDef::Class() { return Type::IfcMirroredProfileDef; } IfcMirroredProfileDef::IfcMirroredProfileDef(IfcAbstractEntity* e) : IfcDerivedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMirroredProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMirroredProfileDef::IfcMirroredProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcProfileDef* v3_ParentProfile, boost::optional< IfcLabel > v5_Label) : IfcDerivedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_ParentProfile)); e->setArgumentDerived(3); if (v5_Label) { e->setArgument(4,(*v5_Label)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcMirroredProfileDef::IfcMirroredProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcProfileDef* v3_ParentProfile, boost::optional< std::string > v5_Label) : IfcDerivedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_ParentProfile)); e->setArgumentDerived(3); if (v5_Label) { e->setArgument(4,(*v5_Label)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMonetaryUnit -IfcLabel IfcMonetaryUnit::Currency() const { return *entity->getArgument(0); } -void IfcMonetaryUnit::setCurrency(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcMonetaryUnit::Currency() const { return *entity->getArgument(0); } +void IfcMonetaryUnit::setCurrency(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcMonetaryUnit::is(Type::Enum v) const { return v == Type::IfcMonetaryUnit; } Type::Enum IfcMonetaryUnit::type() const { return Type::IfcMonetaryUnit; } Type::Enum IfcMonetaryUnit::Class() { return Type::IfcMonetaryUnit; } IfcMonetaryUnit::IfcMonetaryUnit(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcMonetaryUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMonetaryUnit::IfcMonetaryUnit(IfcLabel v1_Currency) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Currency)); entity = e; EntityBuffer::Add(this); } +IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Currency)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMotorConnection bool IfcMotorConnection::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -10654,7 +12201,7 @@ bool IfcMotorConnection::is(Type::Enum v) const { return v == Type::IfcMotorConn Type::Enum IfcMotorConnection::type() const { return Type::IfcMotorConnection; } Type::Enum IfcMotorConnection::Class() { return Type::IfcMotorConnection; } IfcMotorConnection::IfcMotorConnection(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMotorConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMotorConnection::IfcMotorConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcMotorConnectionTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcMotorConnection::IfcMotorConnection(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcMotorConnectionTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcMotorConnectionType IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum IfcMotorConnectionType::PredefinedType() const { return IfcMotorConnectionTypeEnum::FromString(*entity->getArgument(9)); } @@ -10663,7 +12210,7 @@ bool IfcMotorConnectionType::is(Type::Enum v) const { return v == Type::IfcMotor Type::Enum IfcMotorConnectionType::type() const { return Type::IfcMotorConnectionType; } Type::Enum IfcMotorConnectionType::Class() { return Type::IfcMotorConnectionType; } IfcMotorConnectionType::IfcMotorConnectionType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcMotorConnectionType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcMotorConnectionType::IfcMotorConnectionType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMotorConnectionTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcMotorConnectionTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcNamedUnit IfcDimensionalExponents* IfcNamedUnit::Dimensions() const { return (IfcDimensionalExponents*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -10678,8 +12225,8 @@ IfcNamedUnit::IfcNamedUnit(IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum:: // Function implementations for IfcObject bool IfcObject::hasObjectType() const { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcObject::ObjectType() const { return *entity->getArgument(4); } -void IfcObject::setObjectType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcObject::ObjectType() const { return *entity->getArgument(4); } +void IfcObject::setObjectType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } IfcRelDefinesByObject::list::ptr IfcObject::IsDeclaredBy() const { return entity->getInverse(Type::IfcRelDefinesByObject)->as(); } IfcRelDefinesByObject::list::ptr IfcObject::Declares() const { return entity->getInverse(Type::IfcRelDefinesByObject)->as(); } IfcRelDefinesByType::list::ptr IfcObject::IsTypedBy() const { return entity->getInverse(Type::IfcRelDefinesByType)->as(); } @@ -10688,7 +12235,7 @@ bool IfcObject::is(Type::Enum v) const { return v == Type::IfcObject || IfcObjec Type::Enum IfcObject::type() const { return Type::IfcObject; } Type::Enum IfcObject::Class() { return Type::IfcObject; } IfcObject::IfcObject(IfcAbstractEntity* e) : IfcObjectDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcObject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcObject::IfcObject(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcObjectDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcObject::IfcObject(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcObjectDefinition IfcRelAssigns::list::ptr IfcObjectDefinition::HasAssignments() const { return entity->getInverse(Type::IfcRelAssigns)->as(); } @@ -10702,7 +12249,7 @@ bool IfcObjectDefinition::is(Type::Enum v) const { return v == Type::IfcObjectDe Type::Enum IfcObjectDefinition::type() const { return Type::IfcObjectDefinition; } Type::Enum IfcObjectDefinition::Class() { return Type::IfcObjectDefinition; } IfcObjectDefinition::IfcObjectDefinition(IfcAbstractEntity* e) : IfcRoot((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcObjectDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcObjectDefinition::IfcObjectDefinition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRoot((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcObjectPlacement IfcProduct::list::ptr IfcObjectPlacement::PlacesObject() const { return entity->getInverse(Type::IfcProduct)->as(); } @@ -10723,13 +12270,13 @@ void IfcObjective::setLogicalAggregator(IfcLogicalOperatorEnum::IfcLogicalOperat IfcObjectiveEnum::IfcObjectiveEnum IfcObjective::ObjectiveQualifier() const { return IfcObjectiveEnum::FromString(*entity->getArgument(9)); } void IfcObjective::setObjectiveQualifier(IfcObjectiveEnum::IfcObjectiveEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcObjectiveEnum::ToString(v)); } bool IfcObjective::hasUserDefinedQualifier() const { return !entity->getArgument(10)->isNull(); } -IfcLabel IfcObjective::UserDefinedQualifier() const { return *entity->getArgument(10); } -void IfcObjective::setUserDefinedQualifier(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +std::string IfcObjective::UserDefinedQualifier() const { return *entity->getArgument(10); } +void IfcObjective::setUserDefinedQualifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcObjective::is(Type::Enum v) const { return v == Type::IfcObjective || IfcConstraint::is(v); } Type::Enum IfcObjective::type() const { return Type::IfcObjective; } Type::Enum IfcObjective::Class() { return Type::IfcObjective; } IfcObjective::IfcObjective(IfcAbstractEntity* e) : IfcConstraint((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcObjective)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcObjective::IfcObjective(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTime > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade, boost::optional< IfcTemplatedEntityList< IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< IfcLogicalOperatorEnum::IfcLogicalOperatorEnum > v9_LogicalAggregator, IfcObjectiveEnum::IfcObjectiveEnum v10_ObjectiveQualifier, boost::optional< IfcLabel > v11_UserDefinedQualifier) : IfcConstraint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } if (v5_CreatingActor) { e->setArgument(4,(*v5_CreatingActor)); } else { e->setArgument(4); } if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } if (v8_BenchmarkValues) { e->setArgument(7,(*v8_BenchmarkValues)->generalize()); } else { e->setArgument(7); } if (v9_LogicalAggregator) { e->setArgument(8,*v9_LogicalAggregator,IfcLogicalOperatorEnum::ToString(*v9_LogicalAggregator)); } else { e->setArgument(8); } e->setArgument(9,v10_ObjectiveQualifier,IfcObjectiveEnum::ToString(v10_ObjectiveQualifier)); if (v11_UserDefinedQualifier) { e->setArgument(10,(*v11_UserDefinedQualifier)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< IfcTemplatedEntityList< IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< IfcLogicalOperatorEnum::IfcLogicalOperatorEnum > v9_LogicalAggregator, IfcObjectiveEnum::IfcObjectiveEnum v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,v3_ConstraintGrade,IfcConstraintEnum::ToString(v3_ConstraintGrade)); if (v4_ConstraintSource) { e->setArgument(3,(*v4_ConstraintSource)); } else { e->setArgument(3); } e->setArgument(4,(v5_CreatingActor)); if (v6_CreationTime) { e->setArgument(5,(*v6_CreationTime)); } else { e->setArgument(5); } if (v7_UserDefinedGrade) { e->setArgument(6,(*v7_UserDefinedGrade)); } else { e->setArgument(6); } if (v8_BenchmarkValues) { e->setArgument(7,(*v8_BenchmarkValues)->generalize()); } else { e->setArgument(7); } if (v9_LogicalAggregator) { e->setArgument(8,*v9_LogicalAggregator,IfcLogicalOperatorEnum::ToString(*v9_LogicalAggregator)); } else { e->setArgument(8); } e->setArgument(9,v10_ObjectiveQualifier,IfcObjectiveEnum::ToString(v10_ObjectiveQualifier)); if (v11_UserDefinedQualifier) { e->setArgument(10,(*v11_UserDefinedQualifier)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOccupant bool IfcOccupant::hasPredefinedType() const { return !entity->getArgument(6)->isNull(); } @@ -10739,26 +12286,26 @@ bool IfcOccupant::is(Type::Enum v) const { return v == Type::IfcOccupant || IfcA Type::Enum IfcOccupant::type() const { return Type::IfcOccupant; } Type::Enum IfcOccupant::Class() { return Type::IfcOccupant; } IfcOccupant::IfcOccupant(IfcAbstractEntity* e) : IfcActor((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOccupant)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOccupant::IfcOccupant(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcActorSelect v6_TheActor, boost::optional< IfcOccupantTypeEnum::IfcOccupantTypeEnum > v7_PredefinedType) : IfcActor((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TheActor)); if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcOccupantTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcOccupant::IfcOccupant(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcActorSelect* v6_TheActor, boost::optional< IfcOccupantTypeEnum::IfcOccupantTypeEnum > v7_PredefinedType) : IfcActor((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_TheActor)); if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcOccupantTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOffsetCurve2D IfcCurve* IfcOffsetCurve2D::BasisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcOffsetCurve2D::setBasisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLengthMeasure IfcOffsetCurve2D::Distance() const { return *entity->getArgument(1); } -void IfcOffsetCurve2D::setDistance(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcOffsetCurve2D::Distance() const { return *entity->getArgument(1); } +void IfcOffsetCurve2D::setDistance(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcOffsetCurve2D::SelfIntersect() const { return *entity->getArgument(2); } void IfcOffsetCurve2D::setSelfIntersect(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcOffsetCurve2D::is(Type::Enum v) const { return v == Type::IfcOffsetCurve2D || IfcCurve::is(v); } Type::Enum IfcOffsetCurve2D::type() const { return Type::IfcOffsetCurve2D; } Type::Enum IfcOffsetCurve2D::Class() { return Type::IfcOffsetCurve2D; } IfcOffsetCurve2D::IfcOffsetCurve2D(IfcAbstractEntity* e) : IfcCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOffsetCurve2D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOffsetCurve2D::IfcOffsetCurve2D(IfcCurve* v1_BasisCurve, IfcLengthMeasure v2_Distance, bool v3_SelfIntersect) : IfcCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisCurve)); e->setArgument(1,(v2_Distance)); e->setArgument(2,(v3_SelfIntersect)); entity = e; EntityBuffer::Add(this); } +IfcOffsetCurve2D::IfcOffsetCurve2D(IfcCurve* v1_BasisCurve, double v2_Distance, bool v3_SelfIntersect) : IfcCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisCurve)); e->setArgument(1,(v2_Distance)); e->setArgument(2,(v3_SelfIntersect)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOffsetCurve3D IfcCurve* IfcOffsetCurve3D::BasisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcOffsetCurve3D::setBasisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLengthMeasure IfcOffsetCurve3D::Distance() const { return *entity->getArgument(1); } -void IfcOffsetCurve3D::setDistance(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcOffsetCurve3D::Distance() const { return *entity->getArgument(1); } +void IfcOffsetCurve3D::setDistance(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcOffsetCurve3D::SelfIntersect() const { return *entity->getArgument(2); } void IfcOffsetCurve3D::setSelfIntersect(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcDirection* IfcOffsetCurve3D::RefDirection() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } @@ -10767,7 +12314,7 @@ bool IfcOffsetCurve3D::is(Type::Enum v) const { return v == Type::IfcOffsetCurve Type::Enum IfcOffsetCurve3D::type() const { return Type::IfcOffsetCurve3D; } Type::Enum IfcOffsetCurve3D::Class() { return Type::IfcOffsetCurve3D; } IfcOffsetCurve3D::IfcOffsetCurve3D(IfcAbstractEntity* e) : IfcCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOffsetCurve3D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOffsetCurve3D::IfcOffsetCurve3D(IfcCurve* v1_BasisCurve, IfcLengthMeasure v2_Distance, bool v3_SelfIntersect, IfcDirection* v4_RefDirection) : IfcCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisCurve)); e->setArgument(1,(v2_Distance)); e->setArgument(2,(v3_SelfIntersect)); e->setArgument(3,(v4_RefDirection)); entity = e; EntityBuffer::Add(this); } +IfcOffsetCurve3D::IfcOffsetCurve3D(IfcCurve* v1_BasisCurve, double v2_Distance, bool v3_SelfIntersect, IfcDirection* v4_RefDirection) : IfcCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisCurve)); e->setArgument(1,(v2_Distance)); e->setArgument(2,(v3_SelfIntersect)); e->setArgument(3,(v4_RefDirection)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOpenShell bool IfcOpenShell::is(Type::Enum v) const { return v == Type::IfcOpenShell || IfcConnectedFaceSet::is(v); } @@ -10785,24 +12332,24 @@ bool IfcOpeningElement::is(Type::Enum v) const { return v == Type::IfcOpeningEle Type::Enum IfcOpeningElement::type() const { return Type::IfcOpeningElement; } Type::Enum IfcOpeningElement::Class() { return Type::IfcOpeningElement; } IfcOpeningElement::IfcOpeningElement(IfcAbstractEntity* e) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOpeningElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOpeningElement::IfcOpeningElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > v9_PredefinedType) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcOpeningElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > v9_PredefinedType) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcOpeningElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOpeningStandardCase bool IfcOpeningStandardCase::is(Type::Enum v) const { return v == Type::IfcOpeningStandardCase || IfcOpeningElement::is(v); } Type::Enum IfcOpeningStandardCase::type() const { return Type::IfcOpeningStandardCase; } Type::Enum IfcOpeningStandardCase::Class() { return Type::IfcOpeningStandardCase; } IfcOpeningStandardCase::IfcOpeningStandardCase(IfcAbstractEntity* e) : IfcOpeningElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOpeningStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOpeningStandardCase::IfcOpeningStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > v9_PredefinedType) : IfcOpeningElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcOpeningElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcOpeningStandardCase::IfcOpeningStandardCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > v9_PredefinedType) : IfcOpeningElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcOpeningElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOrganization bool IfcOrganization::hasIdentification() const { return !entity->getArgument(0)->isNull(); } -IfcIdentifier IfcOrganization::Identification() const { return *entity->getArgument(0); } -void IfcOrganization::setIdentification(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLabel IfcOrganization::Name() const { return *entity->getArgument(1); } -void IfcOrganization::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcOrganization::Identification() const { return *entity->getArgument(0); } +void IfcOrganization::setIdentification(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcOrganization::Name() const { return *entity->getArgument(1); } +void IfcOrganization::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcOrganization::hasDescription() const { return !entity->getArgument(2)->isNull(); } -IfcText IfcOrganization::Description() const { return *entity->getArgument(2); } -void IfcOrganization::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcOrganization::Description() const { return *entity->getArgument(2); } +void IfcOrganization::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcOrganization::hasRoles() const { return !entity->getArgument(3)->isNull(); } IfcTemplatedEntityList< IfcActorRole >::ptr IfcOrganization::Roles() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } void IfcOrganization::setRoles(IfcTemplatedEntityList< IfcActorRole >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } @@ -10816,7 +12363,7 @@ bool IfcOrganization::is(Type::Enum v) const { return v == Type::IfcOrganization Type::Enum IfcOrganization::type() const { return Type::IfcOrganization; } Type::Enum IfcOrganization::Class() { return Type::IfcOrganization; } IfcOrganization::IfcOrganization(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcOrganization)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOrganization::IfcOrganization(boost::optional< IfcIdentifier > v1_Identification, IfcLabel v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v4_Roles, boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Identification) { e->setArgument(0,(*v1_Identification)); } else { e->setArgument(0); } e->setArgument(1,(v2_Name)); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_Roles) { e->setArgument(3,(*v4_Roles)->generalize()); } else { e->setArgument(3); } if (v5_Addresses) { e->setArgument(4,(*v5_Addresses)->generalize()); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v4_Roles, boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Identification) { e->setArgument(0,(*v1_Identification)); } else { e->setArgument(0); } e->setArgument(1,(v2_Name)); if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_Roles) { e->setArgument(3,(*v4_Roles)->generalize()); } else { e->setArgument(3); } if (v5_Addresses) { e->setArgument(4,(*v5_Addresses)->generalize()); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOrganizationRelationship IfcOrganization* IfcOrganizationRelationship::RelatingOrganization() const { return (IfcOrganization*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } @@ -10827,7 +12374,7 @@ bool IfcOrganizationRelationship::is(Type::Enum v) const { return v == Type::Ifc Type::Enum IfcOrganizationRelationship::type() const { return Type::IfcOrganizationRelationship; } Type::Enum IfcOrganizationRelationship::Class() { return Type::IfcOrganizationRelationship; } IfcOrganizationRelationship::IfcOrganizationRelationship(IfcAbstractEntity* e) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOrganizationRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcOrganization* v3_RelatingOrganization, IfcTemplatedEntityList< IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingOrganization)); e->setArgument(3,(v4_RelatedOrganizations)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcOrganization* v3_RelatingOrganization, IfcTemplatedEntityList< IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingOrganization)); e->setArgument(3,(v4_RelatedOrganizations)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOrientedEdge IfcEdge* IfcOrientedEdge::EdgeElement() const { return (IfcEdge*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } @@ -10855,7 +12402,7 @@ bool IfcOutlet::is(Type::Enum v) const { return v == Type::IfcOutlet || IfcFlowT Type::Enum IfcOutlet::type() const { return Type::IfcOutlet; } Type::Enum IfcOutlet::Class() { return Type::IfcOutlet; } IfcOutlet::IfcOutlet(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOutlet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOutlet::IfcOutlet(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcOutletTypeEnum::IfcOutletTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcOutletTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcOutlet::IfcOutlet(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcOutletTypeEnum::IfcOutletTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcOutletTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOutletType IfcOutletTypeEnum::IfcOutletTypeEnum IfcOutletType::PredefinedType() const { return IfcOutletTypeEnum::FromString(*entity->getArgument(9)); } @@ -10864,7 +12411,7 @@ bool IfcOutletType::is(Type::Enum v) const { return v == Type::IfcOutletType || Type::Enum IfcOutletType::type() const { return Type::IfcOutletType; } Type::Enum IfcOutletType::Class() { return Type::IfcOutletType; } IfcOutletType::IfcOutletType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcOutletType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOutletType::IfcOutletType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcOutletTypeEnum::IfcOutletTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcOutletTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcOutletType::IfcOutletType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcOutletTypeEnum::IfcOutletTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcOutletTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcOwnerHistory IfcPersonAndOrganization* IfcOwnerHistory::OwningUser() const { return (IfcPersonAndOrganization*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -10878,21 +12425,21 @@ bool IfcOwnerHistory::hasChangeAction() const { return !entity->getArgument(3)-> IfcChangeActionEnum::IfcChangeActionEnum IfcOwnerHistory::ChangeAction() const { return IfcChangeActionEnum::FromString(*entity->getArgument(3)); } void IfcOwnerHistory::setChangeAction(IfcChangeActionEnum::IfcChangeActionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v,IfcChangeActionEnum::ToString(v)); } bool IfcOwnerHistory::hasLastModifiedDate() const { return !entity->getArgument(4)->isNull(); } -IfcTimeStamp IfcOwnerHistory::LastModifiedDate() const { return *entity->getArgument(4); } -void IfcOwnerHistory::setLastModifiedDate(IfcTimeStamp v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +int IfcOwnerHistory::LastModifiedDate() const { return *entity->getArgument(4); } +void IfcOwnerHistory::setLastModifiedDate(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcOwnerHistory::hasLastModifyingUser() const { return !entity->getArgument(5)->isNull(); } IfcPersonAndOrganization* IfcOwnerHistory::LastModifyingUser() const { return (IfcPersonAndOrganization*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } void IfcOwnerHistory::setLastModifyingUser(IfcPersonAndOrganization* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcOwnerHistory::hasLastModifyingApplication() const { return !entity->getArgument(6)->isNull(); } IfcApplication* IfcOwnerHistory::LastModifyingApplication() const { return (IfcApplication*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } void IfcOwnerHistory::setLastModifyingApplication(IfcApplication* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcTimeStamp IfcOwnerHistory::CreationDate() const { return *entity->getArgument(7); } -void IfcOwnerHistory::setCreationDate(IfcTimeStamp v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +int IfcOwnerHistory::CreationDate() const { return *entity->getArgument(7); } +void IfcOwnerHistory::setCreationDate(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcOwnerHistory::is(Type::Enum v) const { return v == Type::IfcOwnerHistory; } Type::Enum IfcOwnerHistory::type() const { return Type::IfcOwnerHistory; } Type::Enum IfcOwnerHistory::Class() { return Type::IfcOwnerHistory; } IfcOwnerHistory::IfcOwnerHistory(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcOwnerHistory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcOwnerHistory::IfcOwnerHistory(IfcPersonAndOrganization* v1_OwningUser, IfcApplication* v2_OwningApplication, boost::optional< IfcStateEnum::IfcStateEnum > v3_State, boost::optional< IfcChangeActionEnum::IfcChangeActionEnum > v4_ChangeAction, boost::optional< IfcTimeStamp > v5_LastModifiedDate, IfcPersonAndOrganization* v6_LastModifyingUser, IfcApplication* v7_LastModifyingApplication, IfcTimeStamp v8_CreationDate) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_OwningUser)); e->setArgument(1,(v2_OwningApplication)); if (v3_State) { e->setArgument(2,*v3_State,IfcStateEnum::ToString(*v3_State)); } else { e->setArgument(2); } if (v4_ChangeAction) { e->setArgument(3,*v4_ChangeAction,IfcChangeActionEnum::ToString(*v4_ChangeAction)); } else { e->setArgument(3); } if (v5_LastModifiedDate) { e->setArgument(4,(*v5_LastModifiedDate)); } else { e->setArgument(4); } e->setArgument(5,(v6_LastModifyingUser)); e->setArgument(6,(v7_LastModifyingApplication)); e->setArgument(7,(v8_CreationDate)); entity = e; EntityBuffer::Add(this); } +IfcOwnerHistory::IfcOwnerHistory(IfcPersonAndOrganization* v1_OwningUser, IfcApplication* v2_OwningApplication, boost::optional< IfcStateEnum::IfcStateEnum > v3_State, boost::optional< IfcChangeActionEnum::IfcChangeActionEnum > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, IfcPersonAndOrganization* v6_LastModifyingUser, IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_OwningUser)); e->setArgument(1,(v2_OwningApplication)); if (v3_State) { e->setArgument(2,*v3_State,IfcStateEnum::ToString(*v3_State)); } else { e->setArgument(2); } if (v4_ChangeAction) { e->setArgument(3,*v4_ChangeAction,IfcChangeActionEnum::ToString(*v4_ChangeAction)); } else { e->setArgument(3); } if (v5_LastModifiedDate) { e->setArgument(4,(*v5_LastModifiedDate)); } else { e->setArgument(4); } e->setArgument(5,(v6_LastModifyingUser)); e->setArgument(6,(v7_LastModifyingApplication)); e->setArgument(7,(v8_CreationDate)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcParameterizedProfileDef bool IfcParameterizedProfileDef::hasPosition() const { return !entity->getArgument(2)->isNull(); } @@ -10902,7 +12449,7 @@ bool IfcParameterizedProfileDef::is(Type::Enum v) const { return v == Type::IfcP Type::Enum IfcParameterizedProfileDef::type() const { return Type::IfcParameterizedProfileDef; } Type::Enum IfcParameterizedProfileDef::Class() { return Type::IfcParameterizedProfileDef; } IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcAbstractEntity* e) : IfcProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcParameterizedProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); entity = e; EntityBuffer::Add(this); } +IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position) : IfcProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPath IfcTemplatedEntityList< IfcOrientedEdge >::ptr IfcPath::EdgeList() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } @@ -10925,8 +12472,8 @@ IfcPcurve::IfcPcurve(IfcAbstractEntity* e) : IfcCurve((IfcAbstractEntity*)0) { i IfcPcurve::IfcPcurve(IfcSurface* v1_BasisSurface, IfcCurve* v2_ReferenceCurve) : IfcCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisSurface)); e->setArgument(1,(v2_ReferenceCurve)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPerformanceHistory -IfcLabel IfcPerformanceHistory::LifeCyclePhase() const { return *entity->getArgument(6); } -void IfcPerformanceHistory::setLifeCyclePhase(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcPerformanceHistory::LifeCyclePhase() const { return *entity->getArgument(6); } +void IfcPerformanceHistory::setLifeCyclePhase(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcPerformanceHistory::hasPredefinedType() const { return !entity->getArgument(7)->isNull(); } IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum IfcPerformanceHistory::PredefinedType() const { return IfcPerformanceHistoryTypeEnum::FromString(*entity->getArgument(7)); } void IfcPerformanceHistory::setPredefinedType(IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcPerformanceHistoryTypeEnum::ToString(v)); } @@ -10934,7 +12481,7 @@ bool IfcPerformanceHistory::is(Type::Enum v) const { return v == Type::IfcPerfor Type::Enum IfcPerformanceHistory::type() const { return Type::IfcPerformanceHistory; } Type::Enum IfcPerformanceHistory::Class() { return Type::IfcPerformanceHistory; } IfcPerformanceHistory::IfcPerformanceHistory(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPerformanceHistory)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPerformanceHistory::IfcPerformanceHistory(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcLabel v7_LifeCyclePhase, boost::optional< IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum > v8_PredefinedType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } e->setArgument(6,(v7_LifeCyclePhase)); if (v8_PredefinedType) { e->setArgument(7,*v8_PredefinedType,IfcPerformanceHistoryTypeEnum::ToString(*v8_PredefinedType)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, boost::optional< IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum > v8_PredefinedType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } e->setArgument(6,(v7_LifeCyclePhase)); if (v8_PredefinedType) { e->setArgument(7,*v8_PredefinedType,IfcPerformanceHistoryTypeEnum::ToString(*v8_PredefinedType)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPermeableCoveringProperties IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum IfcPermeableCoveringProperties::OperationType() const { return IfcPermeableCoveringOperationEnum::FromString(*entity->getArgument(4)); } @@ -10942,11 +12489,11 @@ void IfcPermeableCoveringProperties::setOperationType(IfcPermeableCoveringOperat IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum IfcPermeableCoveringProperties::PanelPosition() const { return IfcWindowPanelPositionEnum::FromString(*entity->getArgument(5)); } void IfcPermeableCoveringProperties::setPanelPosition(IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcWindowPanelPositionEnum::ToString(v)); } bool IfcPermeableCoveringProperties::hasFrameDepth() const { return !entity->getArgument(6)->isNull(); } -IfcPositiveLengthMeasure IfcPermeableCoveringProperties::FrameDepth() const { return *entity->getArgument(6); } -void IfcPermeableCoveringProperties::setFrameDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcPermeableCoveringProperties::FrameDepth() const { return *entity->getArgument(6); } +void IfcPermeableCoveringProperties::setFrameDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcPermeableCoveringProperties::hasFrameThickness() const { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcPermeableCoveringProperties::FrameThickness() const { return *entity->getArgument(7); } -void IfcPermeableCoveringProperties::setFrameThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcPermeableCoveringProperties::FrameThickness() const { return *entity->getArgument(7); } +void IfcPermeableCoveringProperties::setFrameThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcPermeableCoveringProperties::hasShapeAspectStyle() const { return !entity->getArgument(8)->isNull(); } IfcShapeAspect* IfcPermeableCoveringProperties::ShapeAspectStyle() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } void IfcPermeableCoveringProperties::setShapeAspectStyle(IfcShapeAspect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } @@ -10954,43 +12501,43 @@ bool IfcPermeableCoveringProperties::is(Type::Enum v) const { return v == Type:: Type::Enum IfcPermeableCoveringProperties::type() const { return Type::IfcPermeableCoveringProperties; } Type::Enum IfcPermeableCoveringProperties::Class() { return Type::IfcPermeableCoveringProperties; } IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(IfcAbstractEntity* e) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPermeableCoveringProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< IfcPositiveLengthMeasure > v7_FrameDepth, boost::optional< IfcPositiveLengthMeasure > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_OperationType,IfcPermeableCoveringOperationEnum::ToString(v5_OperationType)); e->setArgument(5,v6_PanelPosition,IfcWindowPanelPositionEnum::ToString(v6_PanelPosition)); if (v7_FrameDepth) { e->setArgument(6,(*v7_FrameDepth)); } else { e->setArgument(6); } if (v8_FrameThickness) { e->setArgument(7,(*v8_FrameThickness)); } else { e->setArgument(7); } e->setArgument(8,(v9_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } +IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_OperationType,IfcPermeableCoveringOperationEnum::ToString(v5_OperationType)); e->setArgument(5,v6_PanelPosition,IfcWindowPanelPositionEnum::ToString(v6_PanelPosition)); if (v7_FrameDepth) { e->setArgument(6,(*v7_FrameDepth)); } else { e->setArgument(6); } if (v8_FrameThickness) { e->setArgument(7,(*v8_FrameThickness)); } else { e->setArgument(7); } e->setArgument(8,(v9_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPermit bool IfcPermit::hasPredefinedType() const { return !entity->getArgument(6)->isNull(); } IfcPermitTypeEnum::IfcPermitTypeEnum IfcPermit::PredefinedType() const { return IfcPermitTypeEnum::FromString(*entity->getArgument(6)); } void IfcPermit::setPredefinedType(IfcPermitTypeEnum::IfcPermitTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcPermitTypeEnum::ToString(v)); } bool IfcPermit::hasStatus() const { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcPermit::Status() const { return *entity->getArgument(7); } -void IfcPermit::setStatus(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcPermit::Status() const { return *entity->getArgument(7); } +void IfcPermit::setStatus(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcPermit::hasLongDescription() const { return !entity->getArgument(8)->isNull(); } -IfcText IfcPermit::LongDescription() const { return *entity->getArgument(8); } -void IfcPermit::setLongDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcPermit::LongDescription() const { return *entity->getArgument(8); } +void IfcPermit::setLongDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcPermit::is(Type::Enum v) const { return v == Type::IfcPermit || IfcControl::is(v); } Type::Enum IfcPermit::type() const { return Type::IfcPermit; } Type::Enum IfcPermit::Class() { return Type::IfcPermit; } IfcPermit::IfcPermit(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPermit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPermit::IfcPermit(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcPermitTypeEnum::IfcPermitTypeEnum > v7_PredefinedType, boost::optional< IfcLabel > v8_Status, boost::optional< IfcText > v9_LongDescription) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcPermitTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } if (v9_LongDescription) { e->setArgument(8,(*v9_LongDescription)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcPermit::IfcPermit(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcPermitTypeEnum::IfcPermitTypeEnum > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcPermitTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } if (v9_LongDescription) { e->setArgument(8,(*v9_LongDescription)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPerson bool IfcPerson::hasIdentification() const { return !entity->getArgument(0)->isNull(); } -IfcIdentifier IfcPerson::Identification() const { return *entity->getArgument(0); } -void IfcPerson::setIdentification(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcPerson::Identification() const { return *entity->getArgument(0); } +void IfcPerson::setIdentification(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcPerson::hasFamilyName() const { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcPerson::FamilyName() const { return *entity->getArgument(1); } -void IfcPerson::setFamilyName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcPerson::FamilyName() const { return *entity->getArgument(1); } +void IfcPerson::setFamilyName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcPerson::hasGivenName() const { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcPerson::GivenName() const { return *entity->getArgument(2); } -void IfcPerson::setGivenName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcPerson::GivenName() const { return *entity->getArgument(2); } +void IfcPerson::setGivenName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPerson::hasMiddleNames() const { return !entity->getArgument(3)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcPerson::MiddleNames() const { return *entity->getArgument(3); } -void IfcPerson::setMiddleNames(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::vector< std::string > /*[1:?]*/ IfcPerson::MiddleNames() const { return *entity->getArgument(3); } +void IfcPerson::setMiddleNames(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcPerson::hasPrefixTitles() const { return !entity->getArgument(4)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcPerson::PrefixTitles() const { return *entity->getArgument(4); } -void IfcPerson::setPrefixTitles(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::vector< std::string > /*[1:?]*/ IfcPerson::PrefixTitles() const { return *entity->getArgument(4); } +void IfcPerson::setPrefixTitles(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcPerson::hasSuffixTitles() const { return !entity->getArgument(5)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcPerson::SuffixTitles() const { return *entity->getArgument(5); } -void IfcPerson::setSuffixTitles(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::vector< std::string > /*[1:?]*/ IfcPerson::SuffixTitles() const { return *entity->getArgument(5); } +void IfcPerson::setSuffixTitles(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcPerson::hasRoles() const { return !entity->getArgument(6)->isNull(); } IfcTemplatedEntityList< IfcActorRole >::ptr IfcPerson::Roles() const { IfcEntityList::ptr es = *entity->getArgument(6); return es->as(); } void IfcPerson::setRoles(IfcTemplatedEntityList< IfcActorRole >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } @@ -11002,7 +12549,7 @@ bool IfcPerson::is(Type::Enum v) const { return v == Type::IfcPerson; } Type::Enum IfcPerson::type() const { return Type::IfcPerson; } Type::Enum IfcPerson::Class() { return Type::IfcPerson; } IfcPerson::IfcPerson(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPerson)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPerson::IfcPerson(boost::optional< IfcIdentifier > v1_Identification, boost::optional< IfcLabel > v2_FamilyName, boost::optional< IfcLabel > v3_GivenName, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v6_SuffixTitles, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v7_Roles, boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Identification) { e->setArgument(0,(*v1_Identification)); } else { e->setArgument(0); } if (v2_FamilyName) { e->setArgument(1,(*v2_FamilyName)); } else { e->setArgument(1); } if (v3_GivenName) { e->setArgument(2,(*v3_GivenName)); } else { e->setArgument(2); } if (v4_MiddleNames) { e->setArgument(3,(*v4_MiddleNames)); } else { e->setArgument(3); } if (v5_PrefixTitles) { e->setArgument(4,(*v5_PrefixTitles)); } else { e->setArgument(4); } if (v6_SuffixTitles) { e->setArgument(5,(*v6_SuffixTitles)); } else { e->setArgument(5); } if (v7_Roles) { e->setArgument(6,(*v7_Roles)->generalize()); } else { e->setArgument(6); } if (v8_Addresses) { e->setArgument(7,(*v8_Addresses)->generalize()); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcPerson::IfcPerson(boost::optional< std::string > v1_Identification, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v7_Roles, boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Identification) { e->setArgument(0,(*v1_Identification)); } else { e->setArgument(0); } if (v2_FamilyName) { e->setArgument(1,(*v2_FamilyName)); } else { e->setArgument(1); } if (v3_GivenName) { e->setArgument(2,(*v3_GivenName)); } else { e->setArgument(2); } if (v4_MiddleNames) { e->setArgument(3,(*v4_MiddleNames)); } else { e->setArgument(3); } if (v5_PrefixTitles) { e->setArgument(4,(*v5_PrefixTitles)); } else { e->setArgument(4); } if (v6_SuffixTitles) { e->setArgument(5,(*v6_SuffixTitles)); } else { e->setArgument(5); } if (v7_Roles) { e->setArgument(6,(*v7_Roles)->generalize()); } else { e->setArgument(6); } if (v8_Addresses) { e->setArgument(7,(*v8_Addresses)->generalize()); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPersonAndOrganization IfcPerson* IfcPersonAndOrganization::ThePerson() const { return (IfcPerson*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -11021,33 +12568,33 @@ IfcPersonAndOrganization::IfcPersonAndOrganization(IfcPerson* v1_ThePerson, IfcO // Function implementations for IfcPhysicalComplexQuantity IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr IfcPhysicalComplexQuantity::HasQuantities() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } void IfcPhysicalComplexQuantity::setHasQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } -IfcLabel IfcPhysicalComplexQuantity::Discrimination() const { return *entity->getArgument(3); } -void IfcPhysicalComplexQuantity::setDiscrimination(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcPhysicalComplexQuantity::Discrimination() const { return *entity->getArgument(3); } +void IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcPhysicalComplexQuantity::hasQuality() const { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcPhysicalComplexQuantity::Quality() const { return *entity->getArgument(4); } -void IfcPhysicalComplexQuantity::setQuality(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcPhysicalComplexQuantity::Quality() const { return *entity->getArgument(4); } +void IfcPhysicalComplexQuantity::setQuality(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcPhysicalComplexQuantity::hasUsage() const { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcPhysicalComplexQuantity::Usage() const { return *entity->getArgument(5); } -void IfcPhysicalComplexQuantity::setUsage(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcPhysicalComplexQuantity::Usage() const { return *entity->getArgument(5); } +void IfcPhysicalComplexQuantity::setUsage(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcPhysicalComplexQuantity::is(Type::Enum v) const { return v == Type::IfcPhysicalComplexQuantity || IfcPhysicalQuantity::is(v); } Type::Enum IfcPhysicalComplexQuantity::type() const { return Type::IfcPhysicalComplexQuantity; } Type::Enum IfcPhysicalComplexQuantity::Class() { return Type::IfcPhysicalComplexQuantity; } IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcAbstractEntity* e) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPhysicalComplexQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v3_HasQuantities, IfcLabel v4_Discrimination, boost::optional< IfcLabel > v5_Quality, boost::optional< IfcLabel > v6_Usage) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_HasQuantities)->generalize()); e->setArgument(3,(v4_Discrimination)); if (v5_Quality) { e->setArgument(4,(*v5_Quality)); } else { e->setArgument(4); } if (v6_Usage) { e->setArgument(5,(*v6_Usage)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_HasQuantities)->generalize()); e->setArgument(3,(v4_Discrimination)); if (v5_Quality) { e->setArgument(4,(*v5_Quality)); } else { e->setArgument(4); } if (v6_Usage) { e->setArgument(5,(*v6_Usage)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPhysicalQuantity -IfcLabel IfcPhysicalQuantity::Name() const { return *entity->getArgument(0); } -void IfcPhysicalQuantity::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcPhysicalQuantity::Name() const { return *entity->getArgument(0); } +void IfcPhysicalQuantity::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcPhysicalQuantity::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcPhysicalQuantity::Description() const { return *entity->getArgument(1); } -void IfcPhysicalQuantity::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcPhysicalQuantity::Description() const { return *entity->getArgument(1); } +void IfcPhysicalQuantity::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcExternalReferenceRelationship::list::ptr IfcPhysicalQuantity::HasExternalReferences() const { return entity->getInverse(Type::IfcExternalReferenceRelationship)->as(); } IfcPhysicalComplexQuantity::list::ptr IfcPhysicalQuantity::PartOfComplex() const { return entity->getInverse(Type::IfcPhysicalComplexQuantity)->as(); } bool IfcPhysicalQuantity::is(Type::Enum v) const { return v == Type::IfcPhysicalQuantity; } Type::Enum IfcPhysicalQuantity::type() const { return Type::IfcPhysicalQuantity; } Type::Enum IfcPhysicalQuantity::Class() { return Type::IfcPhysicalQuantity; } IfcPhysicalQuantity::IfcPhysicalQuantity(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPhysicalQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPhysicalQuantity::IfcPhysicalQuantity(IfcLabel v1_Name, boost::optional< IfcText > v2_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPhysicalSimpleQuantity bool IfcPhysicalSimpleQuantity::hasUnit() const { return !entity->getArgument(2)->isNull(); } @@ -11057,7 +12604,7 @@ bool IfcPhysicalSimpleQuantity::is(Type::Enum v) const { return v == Type::IfcPh Type::Enum IfcPhysicalSimpleQuantity::type() const { return Type::IfcPhysicalSimpleQuantity; } Type::Enum IfcPhysicalSimpleQuantity::Class() { return Type::IfcPhysicalSimpleQuantity; } IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(IfcAbstractEntity* e) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPhysicalSimpleQuantity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); entity = e; EntityBuffer::Add(this); } +IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPile bool IfcPile::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -11070,7 +12617,7 @@ bool IfcPile::is(Type::Enum v) const { return v == Type::IfcPile || IfcBuildingE Type::Enum IfcPile::type() const { return Type::IfcPile; } Type::Enum IfcPile::Class() { return Type::IfcPile; } IfcPile::IfcPile(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPile)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPile::IfcPile(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPileTypeEnum::IfcPileTypeEnum > v9_PredefinedType, boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v10_ConstructionType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPileTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } if (v10_ConstructionType) { e->setArgument(9,*v10_ConstructionType,IfcPileConstructionEnum::ToString(*v10_ConstructionType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcPile::IfcPile(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPileTypeEnum::IfcPileTypeEnum > v9_PredefinedType, boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v10_ConstructionType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPileTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } if (v10_ConstructionType) { e->setArgument(9,*v10_ConstructionType,IfcPileConstructionEnum::ToString(*v10_ConstructionType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPileType IfcPileTypeEnum::IfcPileTypeEnum IfcPileType::PredefinedType() const { return IfcPileTypeEnum::FromString(*entity->getArgument(9)); } @@ -11079,7 +12626,7 @@ bool IfcPileType::is(Type::Enum v) const { return v == Type::IfcPileType || IfcB Type::Enum IfcPileType::type() const { return Type::IfcPileType; } Type::Enum IfcPileType::Class() { return Type::IfcPileType; } IfcPileType::IfcPileType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPileType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPileType::IfcPileType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPileTypeEnum::IfcPileTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPileTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcPileType::IfcPileType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPileTypeEnum::IfcPileTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPileTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPipeFitting bool IfcPipeFitting::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -11089,7 +12636,7 @@ bool IfcPipeFitting::is(Type::Enum v) const { return v == Type::IfcPipeFitting | Type::Enum IfcPipeFitting::type() const { return Type::IfcPipeFitting; } Type::Enum IfcPipeFitting::Class() { return Type::IfcPipeFitting; } IfcPipeFitting::IfcPipeFitting(IfcAbstractEntity* e) : IfcFlowFitting((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPipeFitting)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPipeFitting::IfcPipeFitting(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPipeFittingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcPipeFitting::IfcPipeFitting(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum > v9_PredefinedType) : IfcFlowFitting((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPipeFittingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPipeFittingType IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum IfcPipeFittingType::PredefinedType() const { return IfcPipeFittingTypeEnum::FromString(*entity->getArgument(9)); } @@ -11098,7 +12645,7 @@ bool IfcPipeFittingType::is(Type::Enum v) const { return v == Type::IfcPipeFitti Type::Enum IfcPipeFittingType::type() const { return Type::IfcPipeFittingType; } Type::Enum IfcPipeFittingType::Class() { return Type::IfcPipeFittingType; } IfcPipeFittingType::IfcPipeFittingType(IfcAbstractEntity* e) : IfcFlowFittingType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPipeFittingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPipeFittingType::IfcPipeFittingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPipeFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v10_PredefinedType) : IfcFlowFittingType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPipeFittingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPipeSegment bool IfcPipeSegment::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -11108,7 +12655,7 @@ bool IfcPipeSegment::is(Type::Enum v) const { return v == Type::IfcPipeSegment | Type::Enum IfcPipeSegment::type() const { return Type::IfcPipeSegment; } Type::Enum IfcPipeSegment::Class() { return Type::IfcPipeSegment; } IfcPipeSegment::IfcPipeSegment(IfcAbstractEntity* e) : IfcFlowSegment((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPipeSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPipeSegment::IfcPipeSegment(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum > v9_PredefinedType) : IfcFlowSegment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPipeSegmentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcPipeSegment::IfcPipeSegment(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum > v9_PredefinedType) : IfcFlowSegment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPipeSegmentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPipeSegmentType IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum IfcPipeSegmentType::PredefinedType() const { return IfcPipeSegmentTypeEnum::FromString(*entity->getArgument(9)); } @@ -11117,20 +12664,20 @@ bool IfcPipeSegmentType::is(Type::Enum v) const { return v == Type::IfcPipeSegme Type::Enum IfcPipeSegmentType::type() const { return Type::IfcPipeSegmentType; } Type::Enum IfcPipeSegmentType::Class() { return Type::IfcPipeSegmentType; } IfcPipeSegmentType::IfcPipeSegmentType(IfcAbstractEntity* e) : IfcFlowSegmentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPipeSegmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPipeSegmentType::IfcPipeSegmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPipeSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v10_PredefinedType) : IfcFlowSegmentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPipeSegmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPixelTexture -IfcInteger IfcPixelTexture::Width() const { return *entity->getArgument(5); } -void IfcPixelTexture::setWidth(IfcInteger v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcInteger IfcPixelTexture::Height() const { return *entity->getArgument(6); } -void IfcPixelTexture::setHeight(IfcInteger v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } -IfcInteger IfcPixelTexture::ColourComponents() const { return *entity->getArgument(7); } -void IfcPixelTexture::setColourComponents(IfcInteger v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +int IfcPixelTexture::Width() const { return *entity->getArgument(5); } +void IfcPixelTexture::setWidth(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +int IfcPixelTexture::Height() const { return *entity->getArgument(6); } +void IfcPixelTexture::setHeight(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +int IfcPixelTexture::ColourComponents() const { return *entity->getArgument(7); } +void IfcPixelTexture::setColourComponents(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } 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; } IfcPixelTexture::IfcPixelTexture(IfcAbstractEntity* e) : IfcSurfaceTexture((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPixelTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< IfcIdentifier > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< IfcIdentifier > /*[1:?]*/ > v5_Parameter, IfcInteger v6_Width, IfcInteger v7_Height, IfcInteger v8_ColourComponents) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); if (v3_Mode) { e->setArgument(2,(*v3_Mode)); } else { e->setArgument(2); } e->setArgument(3,(v4_TextureTransform)); if (v5_Parameter) { e->setArgument(4,(*v5_Parameter)); } else { e->setArgument(4); } e->setArgument(5,(v6_Width)); e->setArgument(6,(v7_Height)); e->setArgument(7,(v8_ColourComponents)); entity = e; EntityBuffer::Add(this); } +IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents) : IfcSurfaceTexture((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); if (v3_Mode) { e->setArgument(2,(*v3_Mode)); } else { e->setArgument(2); } e->setArgument(3,(v4_TextureTransform)); if (v5_Parameter) { e->setArgument(4,(*v5_Parameter)); } else { e->setArgument(4); } e->setArgument(5,(v6_Width)); e->setArgument(6,(v7_Height)); e->setArgument(7,(v8_ColourComponents)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlacement IfcCartesianPoint* IfcPlacement::Location() const { return (IfcCartesianPoint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -11142,24 +12689,24 @@ IfcPlacement::IfcPlacement(IfcAbstractEntity* e) : IfcGeometricRepresentationIte IfcPlacement::IfcPlacement(IfcCartesianPoint* v1_Location) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Location)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlanarBox -IfcAxis2Placement IfcPlanarBox::Placement() const { return *entity->getArgument(2); } -void IfcPlanarBox::setPlacement(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +IfcAxis2Placement* IfcPlanarBox::Placement() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } +void IfcPlanarBox::setPlacement(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPlanarBox::is(Type::Enum v) const { return v == Type::IfcPlanarBox || IfcPlanarExtent::is(v); } Type::Enum IfcPlanarBox::type() const { return Type::IfcPlanarBox; } Type::Enum IfcPlanarBox::Class() { return Type::IfcPlanarBox; } IfcPlanarBox::IfcPlanarBox(IfcAbstractEntity* e) : IfcPlanarExtent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlanarBox)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlanarBox::IfcPlanarBox(IfcLengthMeasure v1_SizeInX, IfcLengthMeasure v2_SizeInY, IfcAxis2Placement v3_Placement) : IfcPlanarExtent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SizeInX)); e->setArgument(1,(v2_SizeInY)); e->setArgument(2,(v3_Placement)); entity = e; EntityBuffer::Add(this); } +IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, IfcAxis2Placement* v3_Placement) : IfcPlanarExtent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SizeInX)); e->setArgument(1,(v2_SizeInY)); e->setArgument(2,(v3_Placement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlanarExtent -IfcLengthMeasure IfcPlanarExtent::SizeInX() const { return *entity->getArgument(0); } -void IfcPlanarExtent::setSizeInX(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLengthMeasure IfcPlanarExtent::SizeInY() const { return *entity->getArgument(1); } -void IfcPlanarExtent::setSizeInY(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcPlanarExtent::SizeInX() const { return *entity->getArgument(0); } +void IfcPlanarExtent::setSizeInX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +double IfcPlanarExtent::SizeInY() const { return *entity->getArgument(1); } +void IfcPlanarExtent::setSizeInY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcPlanarExtent::is(Type::Enum v) const { return v == Type::IfcPlanarExtent || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcPlanarExtent::type() const { return Type::IfcPlanarExtent; } Type::Enum IfcPlanarExtent::Class() { return Type::IfcPlanarExtent; } IfcPlanarExtent::IfcPlanarExtent(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlanarExtent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlanarExtent::IfcPlanarExtent(IfcLengthMeasure v1_SizeInX, IfcLengthMeasure v2_SizeInY) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SizeInX)); e->setArgument(1,(v2_SizeInY)); entity = e; EntityBuffer::Add(this); } +IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SizeInX)); e->setArgument(1,(v2_SizeInY)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlane bool IfcPlane::is(Type::Enum v) const { return v == Type::IfcPlane || IfcElementarySurface::is(v); } @@ -11176,14 +12723,14 @@ bool IfcPlate::is(Type::Enum v) const { return v == Type::IfcPlate || IfcBuildin Type::Enum IfcPlate::type() const { return Type::IfcPlate; } Type::Enum IfcPlate::Class() { return Type::IfcPlate; } IfcPlate::IfcPlate(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlate::IfcPlate(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPlateTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcPlate::IfcPlate(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPlateTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlateStandardCase bool IfcPlateStandardCase::is(Type::Enum v) const { return v == Type::IfcPlateStandardCase || IfcPlate::is(v); } Type::Enum IfcPlateStandardCase::type() const { return Type::IfcPlateStandardCase; } Type::Enum IfcPlateStandardCase::Class() { return Type::IfcPlateStandardCase; } IfcPlateStandardCase::IfcPlateStandardCase(IfcAbstractEntity* e) : IfcPlate((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlateStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlateStandardCase::IfcPlateStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > v9_PredefinedType) : IfcPlate((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPlateTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcPlateStandardCase::IfcPlateStandardCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > v9_PredefinedType) : IfcPlate((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPlateTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPlateType IfcPlateTypeEnum::IfcPlateTypeEnum IfcPlateType::PredefinedType() const { return IfcPlateTypeEnum::FromString(*entity->getArgument(9)); } @@ -11192,7 +12739,7 @@ bool IfcPlateType::is(Type::Enum v) const { return v == Type::IfcPlateType || If Type::Enum IfcPlateType::type() const { return Type::IfcPlateType; } Type::Enum IfcPlateType::Class() { return Type::IfcPlateType; } IfcPlateType::IfcPlateType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPlateType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPlateType::IfcPlateType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPlateTypeEnum::IfcPlateTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPlateTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcPlateType::IfcPlateType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPlateTypeEnum::IfcPlateTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPlateTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPoint bool IfcPoint::is(Type::Enum v) const { return v == Type::IfcPoint || IfcGeometricRepresentationItem::is(v); } @@ -11204,26 +12751,26 @@ IfcPoint::IfcPoint() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { I // Function implementations for IfcPointOnCurve IfcCurve* IfcPointOnCurve::BasisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcPointOnCurve::setBasisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcParameterValue IfcPointOnCurve::PointParameter() const { return *entity->getArgument(1); } -void IfcPointOnCurve::setPointParameter(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcPointOnCurve::PointParameter() const { return *entity->getArgument(1); } +void IfcPointOnCurve::setPointParameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcPointOnCurve::is(Type::Enum v) const { return v == Type::IfcPointOnCurve || IfcPoint::is(v); } Type::Enum IfcPointOnCurve::type() const { return Type::IfcPointOnCurve; } Type::Enum IfcPointOnCurve::Class() { return Type::IfcPointOnCurve; } IfcPointOnCurve::IfcPointOnCurve(IfcAbstractEntity* e) : IfcPoint((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPointOnCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPointOnCurve::IfcPointOnCurve(IfcCurve* v1_BasisCurve, IfcParameterValue v2_PointParameter) : IfcPoint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisCurve)); e->setArgument(1,(v2_PointParameter)); entity = e; EntityBuffer::Add(this); } +IfcPointOnCurve::IfcPointOnCurve(IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisCurve)); e->setArgument(1,(v2_PointParameter)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPointOnSurface IfcSurface* IfcPointOnSurface::BasisSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcPointOnSurface::setBasisSurface(IfcSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcParameterValue IfcPointOnSurface::PointParameterU() const { return *entity->getArgument(1); } -void IfcPointOnSurface::setPointParameterU(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcParameterValue IfcPointOnSurface::PointParameterV() const { return *entity->getArgument(2); } -void IfcPointOnSurface::setPointParameterV(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcPointOnSurface::PointParameterU() const { return *entity->getArgument(1); } +void IfcPointOnSurface::setPointParameterU(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcPointOnSurface::PointParameterV() const { return *entity->getArgument(2); } +void IfcPointOnSurface::setPointParameterV(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPointOnSurface::is(Type::Enum v) const { return v == Type::IfcPointOnSurface || IfcPoint::is(v); } Type::Enum IfcPointOnSurface::type() const { return Type::IfcPointOnSurface; } Type::Enum IfcPointOnSurface::Class() { return Type::IfcPointOnSurface; } IfcPointOnSurface::IfcPointOnSurface(IfcAbstractEntity* e) : IfcPoint((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPointOnSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPointOnSurface::IfcPointOnSurface(IfcSurface* v1_BasisSurface, IfcParameterValue v2_PointParameterU, IfcParameterValue v3_PointParameterV) : IfcPoint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisSurface)); e->setArgument(1,(v2_PointParameterU)); e->setArgument(2,(v3_PointParameterV)); entity = e; EntityBuffer::Add(this); } +IfcPointOnSurface::IfcPointOnSurface(IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisSurface)); e->setArgument(1,(v2_PointParameterU)); e->setArgument(2,(v3_PointParameterV)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPolyLoop IfcTemplatedEntityList< IfcCartesianPoint >::ptr IfcPolyLoop::Polygon() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } @@ -11262,58 +12809,58 @@ bool IfcPort::is(Type::Enum v) const { return v == Type::IfcPort || IfcProduct:: Type::Enum IfcPort::type() const { return Type::IfcPort; } Type::Enum IfcPort::Class() { return Type::IfcPort; } IfcPort::IfcPort(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPort)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPort::IfcPort(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } +IfcPort::IfcPort(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPostalAddress bool IfcPostalAddress::hasInternalLocation() const { return !entity->getArgument(3)->isNull(); } -IfcLabel IfcPostalAddress::InternalLocation() const { return *entity->getArgument(3); } -void IfcPostalAddress::setInternalLocation(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcPostalAddress::InternalLocation() const { return *entity->getArgument(3); } +void IfcPostalAddress::setInternalLocation(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcPostalAddress::hasAddressLines() const { return !entity->getArgument(4)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcPostalAddress::AddressLines() const { return *entity->getArgument(4); } -void IfcPostalAddress::setAddressLines(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::vector< std::string > /*[1:?]*/ IfcPostalAddress::AddressLines() const { return *entity->getArgument(4); } +void IfcPostalAddress::setAddressLines(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcPostalAddress::hasPostalBox() const { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcPostalAddress::PostalBox() const { return *entity->getArgument(5); } -void IfcPostalAddress::setPostalBox(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcPostalAddress::PostalBox() const { return *entity->getArgument(5); } +void IfcPostalAddress::setPostalBox(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcPostalAddress::hasTown() const { return !entity->getArgument(6)->isNull(); } -IfcLabel IfcPostalAddress::Town() const { return *entity->getArgument(6); } -void IfcPostalAddress::setTown(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcPostalAddress::Town() const { return *entity->getArgument(6); } +void IfcPostalAddress::setTown(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcPostalAddress::hasRegion() const { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcPostalAddress::Region() const { return *entity->getArgument(7); } -void IfcPostalAddress::setRegion(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcPostalAddress::Region() const { return *entity->getArgument(7); } +void IfcPostalAddress::setRegion(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcPostalAddress::hasPostalCode() const { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcPostalAddress::PostalCode() const { return *entity->getArgument(8); } -void IfcPostalAddress::setPostalCode(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcPostalAddress::PostalCode() const { return *entity->getArgument(8); } +void IfcPostalAddress::setPostalCode(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcPostalAddress::hasCountry() const { return !entity->getArgument(9)->isNull(); } -IfcLabel IfcPostalAddress::Country() const { return *entity->getArgument(9); } -void IfcPostalAddress::setCountry(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +std::string IfcPostalAddress::Country() const { return *entity->getArgument(9); } +void IfcPostalAddress::setCountry(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcPostalAddress::is(Type::Enum v) const { return v == Type::IfcPostalAddress || IfcAddress::is(v); } Type::Enum IfcPostalAddress::type() const { return Type::IfcPostalAddress; } Type::Enum IfcPostalAddress::Class() { return Type::IfcPostalAddress; } IfcPostalAddress::IfcPostalAddress(IfcAbstractEntity* e) : IfcAddress((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPostalAddress)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPostalAddress::IfcPostalAddress(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose, boost::optional< IfcLabel > v4_InternalLocation, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_AddressLines, boost::optional< IfcLabel > v6_PostalBox, boost::optional< IfcLabel > v7_Town, boost::optional< IfcLabel > v8_Region, boost::optional< IfcLabel > v9_PostalCode, boost::optional< IfcLabel > v10_Country) : IfcAddress((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Purpose) { e->setArgument(0,*v1_Purpose,IfcAddressTypeEnum::ToString(*v1_Purpose)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UserDefinedPurpose) { e->setArgument(2,(*v3_UserDefinedPurpose)); } else { e->setArgument(2); } if (v4_InternalLocation) { e->setArgument(3,(*v4_InternalLocation)); } else { e->setArgument(3); } if (v5_AddressLines) { e->setArgument(4,(*v5_AddressLines)); } else { e->setArgument(4); } if (v6_PostalBox) { e->setArgument(5,(*v6_PostalBox)); } else { e->setArgument(5); } if (v7_Town) { e->setArgument(6,(*v7_Town)); } else { e->setArgument(6); } if (v8_Region) { e->setArgument(7,(*v8_Region)); } else { e->setArgument(7); } if (v9_PostalCode) { e->setArgument(8,(*v9_PostalCode)); } else { e->setArgument(8); } if (v10_Country) { e->setArgument(9,(*v10_Country)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcPostalAddress::IfcPostalAddress(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose, boost::optional< std::string > v4_InternalLocation, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, boost::optional< std::string > v6_PostalBox, boost::optional< std::string > v7_Town, boost::optional< std::string > v8_Region, boost::optional< std::string > v9_PostalCode, boost::optional< std::string > v10_Country) : IfcAddress((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Purpose) { e->setArgument(0,*v1_Purpose,IfcAddressTypeEnum::ToString(*v1_Purpose)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UserDefinedPurpose) { e->setArgument(2,(*v3_UserDefinedPurpose)); } else { e->setArgument(2); } if (v4_InternalLocation) { e->setArgument(3,(*v4_InternalLocation)); } else { e->setArgument(3); } if (v5_AddressLines) { e->setArgument(4,(*v5_AddressLines)); } else { e->setArgument(4); } if (v6_PostalBox) { e->setArgument(5,(*v6_PostalBox)); } else { e->setArgument(5); } if (v7_Town) { e->setArgument(6,(*v7_Town)); } else { e->setArgument(6); } if (v8_Region) { e->setArgument(7,(*v8_Region)); } else { e->setArgument(7); } if (v9_PostalCode) { e->setArgument(8,(*v9_PostalCode)); } else { e->setArgument(8); } if (v10_Country) { e->setArgument(9,(*v10_Country)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedColour bool IfcPreDefinedColour::is(Type::Enum v) const { return v == Type::IfcPreDefinedColour || IfcPreDefinedItem::is(v); } Type::Enum IfcPreDefinedColour::type() const { return Type::IfcPreDefinedColour; } Type::Enum IfcPreDefinedColour::Class() { return Type::IfcPreDefinedColour; } IfcPreDefinedColour::IfcPreDefinedColour(IfcAbstractEntity* e) : IfcPreDefinedItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedColour)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedColour::IfcPreDefinedColour(IfcLabel v1_Name) : IfcPreDefinedItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedCurveFont bool IfcPreDefinedCurveFont::is(Type::Enum v) const { return v == Type::IfcPreDefinedCurveFont || IfcPreDefinedItem::is(v); } Type::Enum IfcPreDefinedCurveFont::type() const { return Type::IfcPreDefinedCurveFont; } Type::Enum IfcPreDefinedCurveFont::Class() { return Type::IfcPreDefinedCurveFont; } IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcAbstractEntity* e) : IfcPreDefinedItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedCurveFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcLabel v1_Name) : IfcPreDefinedItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedItem -IfcLabel IfcPreDefinedItem::Name() const { return *entity->getArgument(0); } -void IfcPreDefinedItem::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcPreDefinedItem::Name() const { return *entity->getArgument(0); } +void IfcPreDefinedItem::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcPreDefinedItem::is(Type::Enum v) const { return v == Type::IfcPreDefinedItem || IfcPresentationItem::is(v); } Type::Enum IfcPreDefinedItem::type() const { return Type::IfcPreDefinedItem; } Type::Enum IfcPreDefinedItem::Class() { return Type::IfcPreDefinedItem; } IfcPreDefinedItem::IfcPreDefinedItem(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedItem::IfcPreDefinedItem(IfcLabel v1_Name) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedProperties bool IfcPreDefinedProperties::is(Type::Enum v) const { return v == Type::IfcPreDefinedProperties || IfcPropertyAbstraction::is(v); } @@ -11327,14 +12874,14 @@ bool IfcPreDefinedPropertySet::is(Type::Enum v) const { return v == Type::IfcPre Type::Enum IfcPreDefinedPropertySet::type() const { return Type::IfcPreDefinedPropertySet; } Type::Enum IfcPreDefinedPropertySet::Class() { return Type::IfcPreDefinedPropertySet; } IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedPropertySet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPreDefinedTextFont bool IfcPreDefinedTextFont::is(Type::Enum v) const { return v == Type::IfcPreDefinedTextFont || IfcPreDefinedItem::is(v); } Type::Enum IfcPreDefinedTextFont::type() const { return Type::IfcPreDefinedTextFont; } Type::Enum IfcPreDefinedTextFont::Class() { return Type::IfcPreDefinedTextFont; } IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcAbstractEntity* e) : IfcPreDefinedItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPreDefinedTextFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcLabel v1_Name) : IfcPreDefinedItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } +IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPresentationItem bool IfcPresentationItem::is(Type::Enum v) const { return v == Type::IfcPresentationItem; } @@ -11344,21 +12891,21 @@ IfcPresentationItem::IfcPresentationItem(IfcAbstractEntity* e) : IfcUtil::IfcBas IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPresentationLayerAssignment -IfcLabel IfcPresentationLayerAssignment::Name() const { return *entity->getArgument(0); } -void IfcPresentationLayerAssignment::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcPresentationLayerAssignment::Name() const { return *entity->getArgument(0); } +void IfcPresentationLayerAssignment::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcPresentationLayerAssignment::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcPresentationLayerAssignment::Description() const { return *entity->getArgument(1); } -void IfcPresentationLayerAssignment::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPresentationLayerAssignment::AssignedItems() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcPresentationLayerAssignment::setAssignedItems(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +std::string IfcPresentationLayerAssignment::Description() const { return *entity->getArgument(1); } +void IfcPresentationLayerAssignment::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcEntityList::ptr IfcPresentationLayerAssignment::AssignedItems() const { return *entity->getArgument(2); } +void IfcPresentationLayerAssignment::setAssignedItems(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPresentationLayerAssignment::hasIdentifier() const { return !entity->getArgument(3)->isNull(); } -IfcIdentifier IfcPresentationLayerAssignment::Identifier() const { return *entity->getArgument(3); } -void IfcPresentationLayerAssignment::setIdentifier(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcPresentationLayerAssignment::Identifier() const { return *entity->getArgument(3); } +void IfcPresentationLayerAssignment::setIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcPresentationLayerAssignment::is(Type::Enum v) const { return v == Type::IfcPresentationLayerAssignment; } Type::Enum IfcPresentationLayerAssignment::type() const { return Type::IfcPresentationLayerAssignment; } Type::Enum IfcPresentationLayerAssignment::Class() { return Type::IfcPresentationLayerAssignment; } IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPresentationLayerAssignment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< IfcIdentifier > v4_Identifier) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AssignedItems)); if (v4_Identifier) { e->setArgument(3,(*v4_Identifier)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AssignedItems)); if (v4_Identifier) { e->setArgument(3,(*v4_Identifier)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPresentationLayerWithStyle bool IfcPresentationLayerWithStyle::LayerOn() const { return *entity->getArgument(4); } @@ -11373,21 +12920,21 @@ bool IfcPresentationLayerWithStyle::is(Type::Enum v) const { return v == Type::I Type::Enum IfcPresentationLayerWithStyle::type() const { return Type::IfcPresentationLayerWithStyle; } Type::Enum IfcPresentationLayerWithStyle::Class() { return Type::IfcPresentationLayerWithStyle; } IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcAbstractEntity* e) : IfcPresentationLayerAssignment((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPresentationLayerWithStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< IfcIdentifier > v4_Identifier, bool v5_LayerOn, bool v6_LayerFrozen, bool v7_LayerBlocked, IfcTemplatedEntityList< IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AssignedItems)); if (v4_Identifier) { e->setArgument(3,(*v4_Identifier)); } else { e->setArgument(3); } e->setArgument(4,(v5_LayerOn)); e->setArgument(5,(v6_LayerFrozen)); e->setArgument(6,(v7_LayerBlocked)); e->setArgument(7,(v8_LayerStyles)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, bool v5_LayerOn, bool v6_LayerFrozen, bool v7_LayerBlocked, IfcTemplatedEntityList< IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_AssignedItems)); if (v4_Identifier) { e->setArgument(3,(*v4_Identifier)); } else { e->setArgument(3); } e->setArgument(4,(v5_LayerOn)); e->setArgument(5,(v6_LayerFrozen)); e->setArgument(6,(v7_LayerBlocked)); e->setArgument(7,(v8_LayerStyles)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPresentationStyle bool IfcPresentationStyle::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcPresentationStyle::Name() const { return *entity->getArgument(0); } -void IfcPresentationStyle::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcPresentationStyle::Name() const { return *entity->getArgument(0); } +void IfcPresentationStyle::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcPresentationStyle::is(Type::Enum v) const { return v == Type::IfcPresentationStyle; } Type::Enum IfcPresentationStyle::type() const { return Type::IfcPresentationStyle; } Type::Enum IfcPresentationStyle::Class() { return Type::IfcPresentationStyle; } IfcPresentationStyle::IfcPresentationStyle(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcPresentationStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPresentationStyle::IfcPresentationStyle(boost::optional< IfcLabel > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } +IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPresentationStyleAssignment -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPresentationStyleAssignment::Styles() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcPresentationStyleAssignment::setStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcEntityList::ptr IfcPresentationStyleAssignment::Styles() const { return *entity->getArgument(0); } +void IfcPresentationStyleAssignment::setStyles(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } 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; } @@ -11402,7 +12949,7 @@ bool IfcProcedure::is(Type::Enum v) const { return v == Type::IfcProcedure || If Type::Enum IfcProcedure::type() const { return Type::IfcProcedure; } Type::Enum IfcProcedure::Class() { return Type::IfcProcedure; } IfcProcedure::IfcProcedure(IfcAbstractEntity* e) : IfcProcess((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProcedure)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProcedure::IfcProcedure(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, boost::optional< IfcProcedureTypeEnum::IfcProcedureTypeEnum > v8_PredefinedType) : IfcProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } if (v8_PredefinedType) { e->setArgument(7,*v8_PredefinedType,IfcProcedureTypeEnum::ToString(*v8_PredefinedType)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcProcedure::IfcProcedure(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcProcedureTypeEnum::IfcProcedureTypeEnum > v8_PredefinedType) : IfcProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } if (v8_PredefinedType) { e->setArgument(7,*v8_PredefinedType,IfcProcedureTypeEnum::ToString(*v8_PredefinedType)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProcedureType IfcProcedureTypeEnum::IfcProcedureTypeEnum IfcProcedureType::PredefinedType() const { return IfcProcedureTypeEnum::FromString(*entity->getArgument(9)); } @@ -11411,15 +12958,15 @@ bool IfcProcedureType::is(Type::Enum v) const { return v == Type::IfcProcedureTy Type::Enum IfcProcedureType::type() const { return Type::IfcProcedureType; } Type::Enum IfcProcedureType::Class() { return Type::IfcProcedureType; } IfcProcedureType::IfcProcedureType(IfcAbstractEntity* e) : IfcTypeProcess((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProcedureType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProcedureType::IfcProcedureType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ProcessType, IfcProcedureTypeEnum::IfcProcedureTypeEnum v10_PredefinedType) : IfcTypeProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ProcessType) { e->setArgument(8,(*v9_ProcessType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcProcedureTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, IfcProcedureTypeEnum::IfcProcedureTypeEnum v10_PredefinedType) : IfcTypeProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ProcessType) { e->setArgument(8,(*v9_ProcessType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcProcedureTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProcess bool IfcProcess::hasIdentification() const { return !entity->getArgument(5)->isNull(); } -IfcIdentifier IfcProcess::Identification() const { return *entity->getArgument(5); } -void IfcProcess::setIdentification(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcProcess::Identification() const { return *entity->getArgument(5); } +void IfcProcess::setIdentification(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcProcess::hasLongDescription() const { return !entity->getArgument(6)->isNull(); } -IfcText IfcProcess::LongDescription() const { return *entity->getArgument(6); } -void IfcProcess::setLongDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcProcess::LongDescription() const { return *entity->getArgument(6); } +void IfcProcess::setLongDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } IfcRelSequence::list::ptr IfcProcess::IsPredecessorTo() const { return entity->getInverse(Type::IfcRelSequence)->as(); } IfcRelSequence::list::ptr IfcProcess::IsSuccessorFrom() const { return entity->getInverse(Type::IfcRelSequence)->as(); } IfcRelAssignsToProcess::list::ptr IfcProcess::OperatesOn() const { return entity->getInverse(Type::IfcRelAssignsToProcess)->as(); } @@ -11427,7 +12974,7 @@ bool IfcProcess::is(Type::Enum v) const { return v == Type::IfcProcess || IfcObj Type::Enum IfcProcess::type() const { return Type::IfcProcess; } Type::Enum IfcProcess::Class() { return Type::IfcProcess; } IfcProcess::IfcProcess(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProcess)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProcess::IfcProcess(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcProcess::IfcProcess(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProduct bool IfcProduct::hasObjectPlacement() const { return !entity->getArgument(5)->isNull(); } @@ -11441,7 +12988,7 @@ bool IfcProduct::is(Type::Enum v) const { return v == Type::IfcProduct || IfcObj Type::Enum IfcProduct::type() const { return Type::IfcProduct; } Type::Enum IfcProduct::Class() { return Type::IfcProduct; } IfcProduct::IfcProduct(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProduct)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProduct::IfcProduct(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } +IfcProduct::IfcProduct(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProductDefinitionShape IfcProduct::list::ptr IfcProductDefinitionShape::ShapeOfProduct() const { return entity->getInverse(Type::IfcProduct)->as(); } @@ -11450,36 +12997,36 @@ bool IfcProductDefinitionShape::is(Type::Enum v) const { return v == Type::IfcPr Type::Enum IfcProductDefinitionShape::type() const { return Type::IfcProductDefinitionShape; } Type::Enum IfcProductDefinitionShape::Class() { return Type::IfcProductDefinitionShape; } IfcProductDefinitionShape::IfcProductDefinitionShape(IfcAbstractEntity* e) : IfcProductRepresentation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProductDefinitionShape)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProductRepresentation bool IfcProductRepresentation::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcProductRepresentation::Name() const { return *entity->getArgument(0); } -void IfcProductRepresentation::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcProductRepresentation::Name() const { return *entity->getArgument(0); } +void IfcProductRepresentation::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcProductRepresentation::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcProductRepresentation::Description() const { return *entity->getArgument(1); } -void IfcProductRepresentation::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcProductRepresentation::Description() const { return *entity->getArgument(1); } +void IfcProductRepresentation::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcTemplatedEntityList< IfcRepresentation >::ptr IfcProductRepresentation::Representations() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } void IfcProductRepresentation::setRepresentations(IfcTemplatedEntityList< IfcRepresentation >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } 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; } IfcProductRepresentation::IfcProductRepresentation(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcProductRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProductRepresentation::IfcProductRepresentation(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Representations)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProfileDef IfcProfileTypeEnum::IfcProfileTypeEnum IfcProfileDef::ProfileType() const { return IfcProfileTypeEnum::FromString(*entity->getArgument(0)); } void IfcProfileDef::setProfileType(IfcProfileTypeEnum::IfcProfileTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcProfileTypeEnum::ToString(v)); } bool IfcProfileDef::hasProfileName() const { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcProfileDef::ProfileName() const { return *entity->getArgument(1); } -void IfcProfileDef::setProfileName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcProfileDef::ProfileName() const { return *entity->getArgument(1); } +void IfcProfileDef::setProfileName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcExternalReferenceRelationship::list::ptr IfcProfileDef::HasExternalReference() const { return entity->getInverse(Type::IfcExternalReferenceRelationship)->as(); } IfcProfileProperties::list::ptr IfcProfileDef::HasProperties() const { return entity->getInverse(Type::IfcProfileProperties)->as(); } bool IfcProfileDef::is(Type::Enum v) const { return v == Type::IfcProfileDef; } Type::Enum IfcProfileDef::type() const { return Type::IfcProfileDef; } Type::Enum IfcProfileDef::Class() { return Type::IfcProfileDef; } IfcProfileDef::IfcProfileDef(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProfileDef::IfcProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcProfileDef::IfcProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProfileProperties IfcProfileDef* IfcProfileProperties::ProfileDefinition() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } @@ -11488,45 +13035,45 @@ bool IfcProfileProperties::is(Type::Enum v) const { return v == Type::IfcProfile Type::Enum IfcProfileProperties::type() const { return Type::IfcProfileProperties; } Type::Enum IfcProfileProperties::Class() { return Type::IfcProfileProperties; } IfcProfileProperties::IfcProfileProperties(IfcAbstractEntity* e) : IfcExtendedProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProfileProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProfileProperties::IfcProfileProperties(boost::optional< IfcIdentifier > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcProperty >::ptr v3_Properties, IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Properties)->generalize()); e->setArgument(3,(v4_ProfileDefinition)); entity = e; EntityBuffer::Add(this); } +IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcProperty >::ptr v3_Properties, IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Properties)->generalize()); e->setArgument(3,(v4_ProfileDefinition)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProject bool IfcProject::is(Type::Enum v) const { return v == Type::IfcProject || IfcContext::is(v); } Type::Enum IfcProject::type() const { return Type::IfcProject; } Type::Enum IfcProject::Class() { return Type::IfcProject; } IfcProject::IfcProject(IfcAbstractEntity* e) : IfcContext((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProject::IfcProject(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcLabel > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext) : IfcContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_Phase) { e->setArgument(6,(*v7_Phase)); } else { e->setArgument(6); } if (v8_RepresentationContexts) { e->setArgument(7,(*v8_RepresentationContexts)->generalize()); } else { e->setArgument(7); } e->setArgument(8,(v9_UnitsInContext)); entity = e; EntityBuffer::Add(this); } +IfcProject::IfcProject(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext) : IfcContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_Phase) { e->setArgument(6,(*v7_Phase)); } else { e->setArgument(6); } if (v8_RepresentationContexts) { e->setArgument(7,(*v8_RepresentationContexts)->generalize()); } else { e->setArgument(7); } e->setArgument(8,(v9_UnitsInContext)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProjectLibrary bool IfcProjectLibrary::is(Type::Enum v) const { return v == Type::IfcProjectLibrary || IfcContext::is(v); } Type::Enum IfcProjectLibrary::type() const { return Type::IfcProjectLibrary; } Type::Enum IfcProjectLibrary::Class() { return Type::IfcProjectLibrary; } IfcProjectLibrary::IfcProjectLibrary(IfcAbstractEntity* e) : IfcContext((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProjectLibrary)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProjectLibrary::IfcProjectLibrary(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcLabel > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext) : IfcContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_Phase) { e->setArgument(6,(*v7_Phase)); } else { e->setArgument(6); } if (v8_RepresentationContexts) { e->setArgument(7,(*v8_RepresentationContexts)->generalize()); } else { e->setArgument(7); } e->setArgument(8,(v9_UnitsInContext)); entity = e; EntityBuffer::Add(this); } +IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext) : IfcContext((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } if (v7_Phase) { e->setArgument(6,(*v7_Phase)); } else { e->setArgument(6); } if (v8_RepresentationContexts) { e->setArgument(7,(*v8_RepresentationContexts)->generalize()); } else { e->setArgument(7); } e->setArgument(8,(v9_UnitsInContext)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProjectOrder bool IfcProjectOrder::hasPredefinedType() const { return !entity->getArgument(6)->isNull(); } IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum IfcProjectOrder::PredefinedType() const { return IfcProjectOrderTypeEnum::FromString(*entity->getArgument(6)); } void IfcProjectOrder::setPredefinedType(IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v,IfcProjectOrderTypeEnum::ToString(v)); } bool IfcProjectOrder::hasStatus() const { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcProjectOrder::Status() const { return *entity->getArgument(7); } -void IfcProjectOrder::setStatus(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcProjectOrder::Status() const { return *entity->getArgument(7); } +void IfcProjectOrder::setStatus(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcProjectOrder::hasLongDescription() const { return !entity->getArgument(8)->isNull(); } -IfcText IfcProjectOrder::LongDescription() const { return *entity->getArgument(8); } -void IfcProjectOrder::setLongDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcProjectOrder::LongDescription() const { return *entity->getArgument(8); } +void IfcProjectOrder::setLongDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcProjectOrder::is(Type::Enum v) const { return v == Type::IfcProjectOrder || IfcControl::is(v); } Type::Enum IfcProjectOrder::type() const { return Type::IfcProjectOrder; } Type::Enum IfcProjectOrder::Class() { return Type::IfcProjectOrder; } IfcProjectOrder::IfcProjectOrder(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProjectOrder)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProjectOrder::IfcProjectOrder(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum > v7_PredefinedType, boost::optional< IfcLabel > v8_Status, boost::optional< IfcText > v9_LongDescription) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcProjectOrderTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } if (v9_LongDescription) { e->setArgument(8,(*v9_LongDescription)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_PredefinedType) { e->setArgument(6,*v7_PredefinedType,IfcProjectOrderTypeEnum::ToString(*v7_PredefinedType)); } else { e->setArgument(6); } if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } if (v9_LongDescription) { e->setArgument(8,(*v9_LongDescription)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProjectedCRS bool IfcProjectedCRS::hasMapProjection() const { return !entity->getArgument(4)->isNull(); } -IfcIdentifier IfcProjectedCRS::MapProjection() const { return *entity->getArgument(4); } -void IfcProjectedCRS::setMapProjection(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcProjectedCRS::MapProjection() const { return *entity->getArgument(4); } +void IfcProjectedCRS::setMapProjection(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcProjectedCRS::hasMapZone() const { return !entity->getArgument(5)->isNull(); } -IfcIdentifier IfcProjectedCRS::MapZone() const { return *entity->getArgument(5); } -void IfcProjectedCRS::setMapZone(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcProjectedCRS::MapZone() const { return *entity->getArgument(5); } +void IfcProjectedCRS::setMapZone(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcProjectedCRS::hasMapUnit() const { return !entity->getArgument(6)->isNull(); } IfcNamedUnit* IfcProjectedCRS::MapUnit() const { return (IfcNamedUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } void IfcProjectedCRS::setMapUnit(IfcNamedUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } @@ -11534,7 +13081,7 @@ bool IfcProjectedCRS::is(Type::Enum v) const { return v == Type::IfcProjectedCRS Type::Enum IfcProjectedCRS::type() const { return Type::IfcProjectedCRS; } Type::Enum IfcProjectedCRS::Class() { return Type::IfcProjectedCRS; } IfcProjectedCRS::IfcProjectedCRS(IfcAbstractEntity* e) : IfcCoordinateReferenceSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProjectedCRS)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProjectedCRS::IfcProjectedCRS(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcIdentifier v3_GeodeticDatum, boost::optional< IfcIdentifier > v4_VerticalDatum, boost::optional< IfcIdentifier > v5_MapProjection, boost::optional< IfcIdentifier > v6_MapZone, IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_GeodeticDatum)); if (v4_VerticalDatum) { e->setArgument(3,(*v4_VerticalDatum)); } else { e->setArgument(3); } if (v5_MapProjection) { e->setArgument(4,(*v5_MapProjection)); } else { e->setArgument(4); } if (v6_MapZone) { e->setArgument(5,(*v6_MapZone)); } else { e->setArgument(5); } e->setArgument(6,(v7_MapUnit)); entity = e; EntityBuffer::Add(this); } +IfcProjectedCRS::IfcProjectedCRS(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, std::string v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum, boost::optional< std::string > v5_MapProjection, boost::optional< std::string > v6_MapZone, IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_GeodeticDatum)); if (v4_VerticalDatum) { e->setArgument(3,(*v4_VerticalDatum)); } else { e->setArgument(3); } if (v5_MapProjection) { e->setArgument(4,(*v5_MapProjection)); } else { e->setArgument(4); } if (v6_MapZone) { e->setArgument(5,(*v6_MapZone)); } else { e->setArgument(5); } e->setArgument(6,(v7_MapUnit)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProjectionElement bool IfcProjectionElement::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -11544,14 +13091,14 @@ bool IfcProjectionElement::is(Type::Enum v) const { return v == Type::IfcProject Type::Enum IfcProjectionElement::type() const { return Type::IfcProjectionElement; } Type::Enum IfcProjectionElement::Class() { return Type::IfcProjectionElement; } IfcProjectionElement::IfcProjectionElement(IfcAbstractEntity* e) : IfcFeatureElementAddition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProjectionElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProjectionElement::IfcProjectionElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum > v9_PredefinedType) : IfcFeatureElementAddition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcProjectionElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum > v9_PredefinedType) : IfcFeatureElementAddition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcProjectionElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProperty -IfcIdentifier IfcProperty::Name() const { return *entity->getArgument(0); } -void IfcProperty::setName(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcProperty::Name() const { return *entity->getArgument(0); } +void IfcProperty::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcProperty::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcProperty::Description() const { return *entity->getArgument(1); } -void IfcProperty::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcProperty::Description() const { return *entity->getArgument(1); } +void IfcProperty::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcPropertySet::list::ptr IfcProperty::PartOfPset() const { return entity->getInverse(Type::IfcPropertySet)->as(); } IfcPropertyDependencyRelationship::list::ptr IfcProperty::PropertyForDependance() const { return entity->getInverse(Type::IfcPropertyDependencyRelationship)->as(); } IfcPropertyDependencyRelationship::list::ptr IfcProperty::PropertyDependsOn() const { return entity->getInverse(Type::IfcPropertyDependencyRelationship)->as(); } @@ -11560,7 +13107,7 @@ bool IfcProperty::is(Type::Enum v) const { return v == Type::IfcProperty || IfcP Type::Enum IfcProperty::type() const { return Type::IfcProperty; } Type::Enum IfcProperty::Class() { return Type::IfcProperty; } IfcProperty::IfcProperty(IfcAbstractEntity* e) : IfcPropertyAbstraction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProperty)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProperty::IfcProperty(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description) : IfcPropertyAbstraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcPropertyAbstraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyAbstraction IfcExternalReferenceRelationship::list::ptr IfcPropertyAbstraction::HasExternalReferences() const { return entity->getInverse(Type::IfcExternalReferenceRelationship)->as(); } @@ -11572,22 +13119,22 @@ IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity() { If // Function implementations for IfcPropertyBoundedValue bool IfcPropertyBoundedValue::hasUpperBoundValue() const { return !entity->getArgument(2)->isNull(); } -IfcValue IfcPropertyBoundedValue::UpperBoundValue() const { return *entity->getArgument(2); } -void IfcPropertyBoundedValue::setUpperBoundValue(IfcValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +IfcValue* IfcPropertyBoundedValue::UpperBoundValue() const { return (IfcValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } +void IfcPropertyBoundedValue::setUpperBoundValue(IfcValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPropertyBoundedValue::hasLowerBoundValue() const { return !entity->getArgument(3)->isNull(); } -IfcValue IfcPropertyBoundedValue::LowerBoundValue() const { return *entity->getArgument(3); } -void IfcPropertyBoundedValue::setLowerBoundValue(IfcValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +IfcValue* IfcPropertyBoundedValue::LowerBoundValue() const { return (IfcValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } +void IfcPropertyBoundedValue::setLowerBoundValue(IfcValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcPropertyBoundedValue::hasUnit() const { return !entity->getArgument(4)->isNull(); } -IfcUnit IfcPropertyBoundedValue::Unit() const { return *entity->getArgument(4); } -void IfcPropertyBoundedValue::setUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +IfcUnit* IfcPropertyBoundedValue::Unit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } +void IfcPropertyBoundedValue::setUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcPropertyBoundedValue::hasSetPointValue() const { return !entity->getArgument(5)->isNull(); } -IfcValue IfcPropertyBoundedValue::SetPointValue() const { return *entity->getArgument(5); } -void IfcPropertyBoundedValue::setSetPointValue(IfcValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +IfcValue* IfcPropertyBoundedValue::SetPointValue() const { return (IfcValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcPropertyBoundedValue::setSetPointValue(IfcValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcPropertyBoundedValue::is(Type::Enum v) const { return v == Type::IfcPropertyBoundedValue || IfcSimpleProperty::is(v); } Type::Enum IfcPropertyBoundedValue::type() const { return Type::IfcPropertyBoundedValue; } Type::Enum IfcPropertyBoundedValue::Class() { return Type::IfcPropertyBoundedValue; } IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyBoundedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcValue > v3_UpperBoundValue, boost::optional< IfcValue > v4_LowerBoundValue, boost::optional< IfcUnit > v5_Unit, boost::optional< IfcValue > v6_SetPointValue) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UpperBoundValue) { e->setArgument(2,(*v3_UpperBoundValue)); } else { e->setArgument(2); } if (v4_LowerBoundValue) { e->setArgument(3,(*v4_LowerBoundValue)); } else { e->setArgument(3); } if (v5_Unit) { e->setArgument(4,(*v5_Unit)); } else { e->setArgument(4); } if (v6_SetPointValue) { e->setArgument(5,(*v6_SetPointValue)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Description, IfcValue* v3_UpperBoundValue, IfcValue* v4_LowerBoundValue, IfcUnit* v5_Unit, IfcValue* v6_SetPointValue) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_UpperBoundValue)); e->setArgument(3,(v4_LowerBoundValue)); e->setArgument(4,(v5_Unit)); e->setArgument(5,(v6_SetPointValue)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyDefinition IfcRelDeclares::list::ptr IfcPropertyDefinition::HasContext() const { return entity->getInverse(Type::IfcRelDeclares)->as(); } @@ -11596,7 +13143,7 @@ bool IfcPropertyDefinition::is(Type::Enum v) const { return v == Type::IfcProper Type::Enum IfcPropertyDefinition::type() const { return Type::IfcPropertyDefinition; } Type::Enum IfcPropertyDefinition::Class() { return Type::IfcPropertyDefinition; } IfcPropertyDefinition::IfcPropertyDefinition(IfcAbstractEntity* e) : IfcRoot((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyDefinition::IfcPropertyDefinition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRoot((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyDependencyRelationship IfcProperty* IfcPropertyDependencyRelationship::DependingProperty() const { return (IfcProperty*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } @@ -11604,18 +13151,18 @@ void IfcPropertyDependencyRelationship::setDependingProperty(IfcProperty* v) { i IfcProperty* IfcPropertyDependencyRelationship::DependantProperty() const { return (IfcProperty*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcPropertyDependencyRelationship::setDependantProperty(IfcProperty* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcPropertyDependencyRelationship::hasExpression() const { return !entity->getArgument(4)->isNull(); } -IfcText IfcPropertyDependencyRelationship::Expression() const { return *entity->getArgument(4); } -void IfcPropertyDependencyRelationship::setExpression(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcPropertyDependencyRelationship::Expression() const { return *entity->getArgument(4); } +void IfcPropertyDependencyRelationship::setExpression(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcPropertyDependencyRelationship::is(Type::Enum v) const { return v == Type::IfcPropertyDependencyRelationship || IfcResourceLevelRelationship::is(v); } Type::Enum IfcPropertyDependencyRelationship::type() const { return Type::IfcPropertyDependencyRelationship; } Type::Enum IfcPropertyDependencyRelationship::Class() { return Type::IfcPropertyDependencyRelationship; } IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcAbstractEntity* e) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyDependencyRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcProperty* v3_DependingProperty, IfcProperty* v4_DependantProperty, boost::optional< IfcText > v5_Expression) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_DependingProperty)); e->setArgument(3,(v4_DependantProperty)); if (v5_Expression) { e->setArgument(4,(*v5_Expression)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcProperty* v3_DependingProperty, IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_DependingProperty)); e->setArgument(3,(v4_DependantProperty)); if (v5_Expression) { e->setArgument(4,(*v5_Expression)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyEnumeratedValue bool IfcPropertyEnumeratedValue::hasEnumerationValues() const { return !entity->getArgument(2)->isNull(); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPropertyEnumeratedValue::EnumerationValues() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcPropertyEnumeratedValue::setEnumerationValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +IfcEntityList::ptr IfcPropertyEnumeratedValue::EnumerationValues() const { return *entity->getArgument(2); } +void IfcPropertyEnumeratedValue::setEnumerationValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPropertyEnumeratedValue::hasEnumerationReference() const { return !entity->getArgument(3)->isNull(); } IfcPropertyEnumeration* IfcPropertyEnumeratedValue::EnumerationReference() const { return (IfcPropertyEnumeration*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcPropertyEnumeratedValue::setEnumerationReference(IfcPropertyEnumeration* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } @@ -11623,47 +13170,47 @@ bool IfcPropertyEnumeratedValue::is(Type::Enum v) const { return v == Type::IfcP Type::Enum IfcPropertyEnumeratedValue::type() const { return Type::IfcPropertyEnumeratedValue; } Type::Enum IfcPropertyEnumeratedValue::Class() { return Type::IfcPropertyEnumeratedValue; } IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyEnumeratedValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcEntityList::ptr > v3_EnumerationValues, IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_EnumerationValues) { e->setArgument(2,(*v3_EnumerationValues)); } else { e->setArgument(2); } e->setArgument(3,(v4_EnumerationReference)); entity = e; EntityBuffer::Add(this); } +IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcEntityList::ptr > v3_EnumerationValues, IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_EnumerationValues) { e->setArgument(2,(*v3_EnumerationValues)); } else { e->setArgument(2); } e->setArgument(3,(v4_EnumerationReference)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyEnumeration -IfcLabel IfcPropertyEnumeration::Name() const { return *entity->getArgument(0); } -void IfcPropertyEnumeration::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPropertyEnumeration::EnumerationValues() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcPropertyEnumeration::setEnumerationValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +std::string IfcPropertyEnumeration::Name() const { return *entity->getArgument(0); } +void IfcPropertyEnumeration::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcEntityList::ptr IfcPropertyEnumeration::EnumerationValues() const { return *entity->getArgument(1); } +void IfcPropertyEnumeration::setEnumerationValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcPropertyEnumeration::hasUnit() const { return !entity->getArgument(2)->isNull(); } -IfcUnit IfcPropertyEnumeration::Unit() const { return *entity->getArgument(2); } -void IfcPropertyEnumeration::setUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +IfcUnit* IfcPropertyEnumeration::Unit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } +void IfcPropertyEnumeration::setUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPropertyEnumeration::is(Type::Enum v) const { return v == Type::IfcPropertyEnumeration || IfcPropertyAbstraction::is(v); } Type::Enum IfcPropertyEnumeration::type() const { return Type::IfcPropertyEnumeration; } Type::Enum IfcPropertyEnumeration::Class() { return Type::IfcPropertyEnumeration; } IfcPropertyEnumeration::IfcPropertyEnumeration(IfcAbstractEntity* e) : IfcPropertyAbstraction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyEnumeration)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyEnumeration::IfcPropertyEnumeration(IfcLabel v1_Name, IfcEntityList::ptr v2_EnumerationValues, boost::optional< IfcUnit > v3_Unit) : IfcPropertyAbstraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); e->setArgument(1,(v2_EnumerationValues)); if (v3_Unit) { e->setArgument(2,(*v3_Unit)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, IfcEntityList::ptr v2_EnumerationValues, IfcUnit* v3_Unit) : IfcPropertyAbstraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); e->setArgument(1,(v2_EnumerationValues)); e->setArgument(2,(v3_Unit)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyListValue bool IfcPropertyListValue::hasListValues() const { return !entity->getArgument(2)->isNull(); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPropertyListValue::ListValues() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcPropertyListValue::setListValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +IfcEntityList::ptr IfcPropertyListValue::ListValues() const { return *entity->getArgument(2); } +void IfcPropertyListValue::setListValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPropertyListValue::hasUnit() const { return !entity->getArgument(3)->isNull(); } -IfcUnit IfcPropertyListValue::Unit() const { return *entity->getArgument(3); } -void IfcPropertyListValue::setUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +IfcUnit* IfcPropertyListValue::Unit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } +void IfcPropertyListValue::setUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcPropertyListValue::is(Type::Enum v) const { return v == Type::IfcPropertyListValue || IfcSimpleProperty::is(v); } Type::Enum IfcPropertyListValue::type() const { return Type::IfcPropertyListValue; } Type::Enum IfcPropertyListValue::Class() { return Type::IfcPropertyListValue; } IfcPropertyListValue::IfcPropertyListValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyListValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyListValue::IfcPropertyListValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcEntityList::ptr > v3_ListValues, boost::optional< IfcUnit > v4_Unit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_ListValues) { e->setArgument(2,(*v3_ListValues)); } else { e->setArgument(2); } if (v4_Unit) { e->setArgument(3,(*v4_Unit)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcEntityList::ptr > v3_ListValues, IfcUnit* v4_Unit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_ListValues) { e->setArgument(2,(*v3_ListValues)); } else { e->setArgument(2); } e->setArgument(3,(v4_Unit)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyReferenceValue bool IfcPropertyReferenceValue::hasUsageName() const { return !entity->getArgument(2)->isNull(); } -IfcText IfcPropertyReferenceValue::UsageName() const { return *entity->getArgument(2); } -void IfcPropertyReferenceValue::setUsageName(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcPropertyReferenceValue::UsageName() const { return *entity->getArgument(2); } +void IfcPropertyReferenceValue::setUsageName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPropertyReferenceValue::hasPropertyReference() const { return !entity->getArgument(3)->isNull(); } -IfcObjectReferenceSelect IfcPropertyReferenceValue::PropertyReference() const { return *entity->getArgument(3); } -void IfcPropertyReferenceValue::setPropertyReference(IfcObjectReferenceSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +IfcObjectReferenceSelect* IfcPropertyReferenceValue::PropertyReference() const { return (IfcObjectReferenceSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } +void IfcPropertyReferenceValue::setPropertyReference(IfcObjectReferenceSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcPropertyReferenceValue::is(Type::Enum v) const { return v == Type::IfcPropertyReferenceValue || IfcSimpleProperty::is(v); } Type::Enum IfcPropertyReferenceValue::type() const { return Type::IfcPropertyReferenceValue; } Type::Enum IfcPropertyReferenceValue::Class() { return Type::IfcPropertyReferenceValue; } IfcPropertyReferenceValue::IfcPropertyReferenceValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyReferenceValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyReferenceValue::IfcPropertyReferenceValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcText > v3_UsageName, boost::optional< IfcObjectReferenceSelect > v4_PropertyReference) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UsageName) { e->setArgument(2,(*v3_UsageName)); } else { e->setArgument(2); } if (v4_PropertyReference) { e->setArgument(3,(*v4_PropertyReference)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UsageName, IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UsageName) { e->setArgument(2,(*v3_UsageName)); } else { e->setArgument(2); } e->setArgument(3,(v4_PropertyReference)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertySet IfcTemplatedEntityList< IfcProperty >::ptr IfcPropertySet::HasProperties() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } @@ -11672,7 +13219,7 @@ bool IfcPropertySet::is(Type::Enum v) const { return v == Type::IfcPropertySet | Type::Enum IfcPropertySet::type() const { return Type::IfcPropertySet; } Type::Enum IfcPropertySet::Class() { return Type::IfcPropertySet; } IfcPropertySet::IfcPropertySet(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertySet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertySet::IfcPropertySet(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_HasProperties)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_HasProperties)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertySetDefinition IfcTypeObject::list::ptr IfcPropertySetDefinition::DefinesType() const { return entity->getInverse(Type::IfcTypeObject)->as(); } @@ -11682,15 +13229,15 @@ bool IfcPropertySetDefinition::is(Type::Enum v) const { return v == Type::IfcPro Type::Enum IfcPropertySetDefinition::type() const { return Type::IfcPropertySetDefinition; } Type::Enum IfcPropertySetDefinition::Class() { return Type::IfcPropertySetDefinition; } IfcPropertySetDefinition::IfcPropertySetDefinition(IfcAbstractEntity* e) : IfcPropertyDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertySetDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertySetDefinition::IfcPropertySetDefinition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcPropertyDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertySetTemplate bool IfcPropertySetTemplate::hasTemplateType() const { return !entity->getArgument(4)->isNull(); } IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum IfcPropertySetTemplate::TemplateType() const { return IfcPropertySetTemplateTypeEnum::FromString(*entity->getArgument(4)); } void IfcPropertySetTemplate::setTemplateType(IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcPropertySetTemplateTypeEnum::ToString(v)); } bool IfcPropertySetTemplate::hasApplicableEntity() const { return !entity->getArgument(5)->isNull(); } -IfcIdentifier IfcPropertySetTemplate::ApplicableEntity() const { return *entity->getArgument(5); } -void IfcPropertySetTemplate::setApplicableEntity(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcPropertySetTemplate::ApplicableEntity() const { return *entity->getArgument(5); } +void IfcPropertySetTemplate::setApplicableEntity(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } IfcTemplatedEntityList< IfcPropertyTemplate >::ptr IfcPropertySetTemplate::HasPropertyTemplates() const { IfcEntityList::ptr es = *entity->getArgument(6); return es->as(); } void IfcPropertySetTemplate::setHasPropertyTemplates(IfcTemplatedEntityList< IfcPropertyTemplate >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } IfcRelDefinesByTemplate::list::ptr IfcPropertySetTemplate::Defines() const { return entity->getInverse(Type::IfcRelDefinesByTemplate)->as(); } @@ -11698,37 +13245,37 @@ bool IfcPropertySetTemplate::is(Type::Enum v) const { return v == Type::IfcPrope Type::Enum IfcPropertySetTemplate::type() const { return Type::IfcPropertySetTemplate; } Type::Enum IfcPropertySetTemplate::Class() { return Type::IfcPropertySetTemplate; } IfcPropertySetTemplate::IfcPropertySetTemplate(IfcAbstractEntity* e) : IfcPropertyTemplateDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertySetTemplate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertySetTemplate::IfcPropertySetTemplate(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum > v5_TemplateType, boost::optional< IfcIdentifier > v6_ApplicableEntity, IfcTemplatedEntityList< IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_TemplateType) { e->setArgument(4,*v5_TemplateType,IfcPropertySetTemplateTypeEnum::ToString(*v5_TemplateType)); } else { e->setArgument(4); } if (v6_ApplicableEntity) { e->setArgument(5,(*v6_ApplicableEntity)); } else { e->setArgument(5); } e->setArgument(6,(v7_HasPropertyTemplates)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, IfcTemplatedEntityList< IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_TemplateType) { e->setArgument(4,*v5_TemplateType,IfcPropertySetTemplateTypeEnum::ToString(*v5_TemplateType)); } else { e->setArgument(4); } if (v6_ApplicableEntity) { e->setArgument(5,(*v6_ApplicableEntity)); } else { e->setArgument(5); } e->setArgument(6,(v7_HasPropertyTemplates)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertySingleValue bool IfcPropertySingleValue::hasNominalValue() const { return !entity->getArgument(2)->isNull(); } -IfcValue IfcPropertySingleValue::NominalValue() const { return *entity->getArgument(2); } -void IfcPropertySingleValue::setNominalValue(IfcValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +IfcValue* IfcPropertySingleValue::NominalValue() const { return (IfcValue*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } +void IfcPropertySingleValue::setNominalValue(IfcValue* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPropertySingleValue::hasUnit() const { return !entity->getArgument(3)->isNull(); } -IfcUnit IfcPropertySingleValue::Unit() const { return *entity->getArgument(3); } -void IfcPropertySingleValue::setUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +IfcUnit* IfcPropertySingleValue::Unit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } +void IfcPropertySingleValue::setUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcPropertySingleValue::is(Type::Enum v) const { return v == Type::IfcPropertySingleValue || IfcSimpleProperty::is(v); } Type::Enum IfcPropertySingleValue::type() const { return Type::IfcPropertySingleValue; } Type::Enum IfcPropertySingleValue::Class() { return Type::IfcPropertySingleValue; } IfcPropertySingleValue::IfcPropertySingleValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertySingleValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertySingleValue::IfcPropertySingleValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcValue > v3_NominalValue, boost::optional< IfcUnit > v4_Unit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_NominalValue) { e->setArgument(2,(*v3_NominalValue)); } else { e->setArgument(2); } if (v4_Unit) { e->setArgument(3,(*v4_Unit)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, IfcValue* v3_NominalValue, IfcUnit* v4_Unit) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_NominalValue)); e->setArgument(3,(v4_Unit)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyTableValue bool IfcPropertyTableValue::hasDefiningValues() const { return !entity->getArgument(2)->isNull(); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPropertyTableValue::DefiningValues() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcPropertyTableValue::setDefiningValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +IfcEntityList::ptr IfcPropertyTableValue::DefiningValues() const { return *entity->getArgument(2); } +void IfcPropertyTableValue::setDefiningValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcPropertyTableValue::hasDefinedValues() const { return !entity->getArgument(3)->isNull(); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcPropertyTableValue::DefinedValues() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } -void IfcPropertyTableValue::setDefinedValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +IfcEntityList::ptr IfcPropertyTableValue::DefinedValues() const { return *entity->getArgument(3); } +void IfcPropertyTableValue::setDefinedValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcPropertyTableValue::hasExpression() const { return !entity->getArgument(4)->isNull(); } -IfcText IfcPropertyTableValue::Expression() const { return *entity->getArgument(4); } -void IfcPropertyTableValue::setExpression(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcPropertyTableValue::Expression() const { return *entity->getArgument(4); } +void IfcPropertyTableValue::setExpression(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcPropertyTableValue::hasDefiningUnit() const { return !entity->getArgument(5)->isNull(); } -IfcUnit IfcPropertyTableValue::DefiningUnit() const { return *entity->getArgument(5); } -void IfcPropertyTableValue::setDefiningUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +IfcUnit* IfcPropertyTableValue::DefiningUnit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcPropertyTableValue::setDefiningUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcPropertyTableValue::hasDefinedUnit() const { return !entity->getArgument(6)->isNull(); } -IfcUnit IfcPropertyTableValue::DefinedUnit() const { return *entity->getArgument(6); } -void IfcPropertyTableValue::setDefinedUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +IfcUnit* IfcPropertyTableValue::DefinedUnit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } +void IfcPropertyTableValue::setDefinedUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcPropertyTableValue::hasCurveInterpolation() const { return !entity->getArgument(7)->isNull(); } IfcCurveInterpolationEnum::IfcCurveInterpolationEnum IfcPropertyTableValue::CurveInterpolation() const { return IfcCurveInterpolationEnum::FromString(*entity->getArgument(7)); } void IfcPropertyTableValue::setCurveInterpolation(IfcCurveInterpolationEnum::IfcCurveInterpolationEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcCurveInterpolationEnum::ToString(v)); } @@ -11736,7 +13283,7 @@ bool IfcPropertyTableValue::is(Type::Enum v) const { return v == Type::IfcProper Type::Enum IfcPropertyTableValue::type() const { return Type::IfcPropertyTableValue; } Type::Enum IfcPropertyTableValue::Class() { return Type::IfcPropertyTableValue; } IfcPropertyTableValue::IfcPropertyTableValue(IfcAbstractEntity* e) : IfcSimpleProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyTableValue)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyTableValue::IfcPropertyTableValue(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcEntityList::ptr > v3_DefiningValues, boost::optional< IfcEntityList::ptr > v4_DefinedValues, boost::optional< IfcText > v5_Expression, boost::optional< IfcUnit > v6_DefiningUnit, boost::optional< IfcUnit > v7_DefinedUnit, boost::optional< IfcCurveInterpolationEnum::IfcCurveInterpolationEnum > v8_CurveInterpolation) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_DefiningValues) { e->setArgument(2,(*v3_DefiningValues)); } else { e->setArgument(2); } if (v4_DefinedValues) { e->setArgument(3,(*v4_DefinedValues)); } else { e->setArgument(3); } if (v5_Expression) { e->setArgument(4,(*v5_Expression)); } else { e->setArgument(4); } if (v6_DefiningUnit) { e->setArgument(5,(*v6_DefiningUnit)); } else { e->setArgument(5); } if (v7_DefinedUnit) { e->setArgument(6,(*v7_DefinedUnit)); } else { e->setArgument(6); } if (v8_CurveInterpolation) { e->setArgument(7,*v8_CurveInterpolation,IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcEntityList::ptr > v3_DefiningValues, boost::optional< IfcEntityList::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, IfcUnit* v6_DefiningUnit, IfcUnit* v7_DefinedUnit, boost::optional< IfcCurveInterpolationEnum::IfcCurveInterpolationEnum > v8_CurveInterpolation) : IfcSimpleProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_DefiningValues) { e->setArgument(2,(*v3_DefiningValues)); } else { e->setArgument(2); } if (v4_DefinedValues) { e->setArgument(3,(*v4_DefinedValues)); } else { e->setArgument(3); } if (v5_Expression) { e->setArgument(4,(*v5_Expression)); } else { e->setArgument(4); } e->setArgument(5,(v6_DefiningUnit)); e->setArgument(6,(v7_DefinedUnit)); if (v8_CurveInterpolation) { e->setArgument(7,*v8_CurveInterpolation,IfcCurveInterpolationEnum::ToString(*v8_CurveInterpolation)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyTemplate IfcComplexPropertyTemplate::list::ptr IfcPropertyTemplate::PartOfComplexTemplate() const { return entity->getInverse(Type::IfcComplexPropertyTemplate)->as(); } @@ -11745,14 +13292,14 @@ bool IfcPropertyTemplate::is(Type::Enum v) const { return v == Type::IfcProperty Type::Enum IfcPropertyTemplate::type() const { return Type::IfcPropertyTemplate; } Type::Enum IfcPropertyTemplate::Class() { return Type::IfcPropertyTemplate; } IfcPropertyTemplate::IfcPropertyTemplate(IfcAbstractEntity* e) : IfcPropertyTemplateDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyTemplate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyTemplate::IfcPropertyTemplate(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcPropertyTemplateDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyTemplateDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPropertyTemplateDefinition bool IfcPropertyTemplateDefinition::is(Type::Enum v) const { return v == Type::IfcPropertyTemplateDefinition || IfcPropertyDefinition::is(v); } Type::Enum IfcPropertyTemplateDefinition::type() const { return Type::IfcPropertyTemplateDefinition; } Type::Enum IfcPropertyTemplateDefinition::Class() { return Type::IfcPropertyTemplateDefinition; } IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(IfcAbstractEntity* e) : IfcPropertyDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPropertyTemplateDefinition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcPropertyDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProtectiveDevice bool IfcProtectiveDevice::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -11762,7 +13309,7 @@ bool IfcProtectiveDevice::is(Type::Enum v) const { return v == Type::IfcProtecti Type::Enum IfcProtectiveDevice::type() const { return Type::IfcProtectiveDevice; } Type::Enum IfcProtectiveDevice::Class() { return Type::IfcProtectiveDevice; } IfcProtectiveDevice::IfcProtectiveDevice(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProtectiveDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProtectiveDevice::IfcProtectiveDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcProtectiveDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcProtectiveDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProtectiveDeviceTrippingUnit bool IfcProtectiveDeviceTrippingUnit::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -11772,7 +13319,7 @@ bool IfcProtectiveDeviceTrippingUnit::is(Type::Enum v) const { return v == Type: Type::Enum IfcProtectiveDeviceTrippingUnit::type() const { return Type::IfcProtectiveDeviceTrippingUnit; } Type::Enum IfcProtectiveDeviceTrippingUnit::Class() { return Type::IfcProtectiveDeviceTrippingUnit; } IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(IfcAbstractEntity* e) : IfcDistributionControlElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProtectiveDeviceTrippingUnit)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProtectiveDeviceTrippingUnitType IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(*entity->getArgument(9)); } @@ -11781,7 +13328,7 @@ bool IfcProtectiveDeviceTrippingUnitType::is(Type::Enum v) const { return v == T Type::Enum IfcProtectiveDeviceTrippingUnitType::type() const { return Type::IfcProtectiveDeviceTrippingUnitType; } Type::Enum IfcProtectiveDeviceTrippingUnitType::Class() { return Type::IfcProtectiveDeviceTrippingUnitType; } IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProtectiveDeviceTrippingUnitType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcProtectiveDeviceTrippingUnitTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProtectiveDeviceType IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum IfcProtectiveDeviceType::PredefinedType() const { return IfcProtectiveDeviceTypeEnum::FromString(*entity->getArgument(9)); } @@ -11790,19 +13337,19 @@ bool IfcProtectiveDeviceType::is(Type::Enum v) const { return v == Type::IfcProt Type::Enum IfcProtectiveDeviceType::type() const { return Type::IfcProtectiveDeviceType; } Type::Enum IfcProtectiveDeviceType::Class() { return Type::IfcProtectiveDeviceType; } IfcProtectiveDeviceType::IfcProtectiveDeviceType(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProtectiveDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProtectiveDeviceType::IfcProtectiveDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcProtectiveDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcProtectiveDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProxy IfcObjectTypeEnum::IfcObjectTypeEnum IfcProxy::ProxyType() const { return IfcObjectTypeEnum::FromString(*entity->getArgument(7)); } void IfcProxy::setProxyType(IfcObjectTypeEnum::IfcObjectTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcObjectTypeEnum::ToString(v)); } bool IfcProxy::hasTag() const { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcProxy::Tag() const { return *entity->getArgument(8); } -void IfcProxy::setTag(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcProxy::Tag() const { return *entity->getArgument(8); } +void IfcProxy::setTag(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcProxy::is(Type::Enum v) const { return v == Type::IfcProxy || IfcProduct::is(v); } Type::Enum IfcProxy::type() const { return Type::IfcProxy; } Type::Enum IfcProxy::Class() { return Type::IfcProxy; } IfcProxy::IfcProxy(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProxy)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProxy::IfcProxy(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcObjectTypeEnum::IfcObjectTypeEnum v8_ProxyType, boost::optional< IfcLabel > v9_Tag) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_ProxyType,IfcObjectTypeEnum::ToString(v8_ProxyType)); if (v9_Tag) { e->setArgument(8,(*v9_Tag)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcProxy::IfcProxy(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcObjectTypeEnum::IfcObjectTypeEnum v8_ProxyType, boost::optional< std::string > v9_Tag) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_ProxyType,IfcObjectTypeEnum::ToString(v8_ProxyType)); if (v9_Tag) { e->setArgument(8,(*v9_Tag)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPump bool IfcPump::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -11812,7 +13359,7 @@ bool IfcPump::is(Type::Enum v) const { return v == Type::IfcPump || IfcFlowMovin Type::Enum IfcPump::type() const { return Type::IfcPump; } Type::Enum IfcPump::Class() { return Type::IfcPump; } IfcPump::IfcPump(IfcAbstractEntity* e) : IfcFlowMovingDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPump)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPump::IfcPump(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPumpTypeEnum::IfcPumpTypeEnum > v9_PredefinedType) : IfcFlowMovingDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPumpTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcPump::IfcPump(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPumpTypeEnum::IfcPumpTypeEnum > v9_PredefinedType) : IfcFlowMovingDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcPumpTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcPumpType IfcPumpTypeEnum::IfcPumpTypeEnum IfcPumpType::PredefinedType() const { return IfcPumpTypeEnum::FromString(*entity->getArgument(9)); } @@ -11821,86 +13368,86 @@ bool IfcPumpType::is(Type::Enum v) const { return v == Type::IfcPumpType || IfcF Type::Enum IfcPumpType::type() const { return Type::IfcPumpType; } Type::Enum IfcPumpType::Class() { return Type::IfcPumpType; } IfcPumpType::IfcPumpType(IfcAbstractEntity* e) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcPumpType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcPumpType::IfcPumpType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPumpTypeEnum::IfcPumpTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPumpTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcPumpType::IfcPumpType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPumpTypeEnum::IfcPumpTypeEnum v10_PredefinedType) : IfcFlowMovingDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcPumpTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityArea -IfcAreaMeasure IfcQuantityArea::AreaValue() const { return *entity->getArgument(3); } -void IfcQuantityArea::setAreaValue(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcQuantityArea::AreaValue() const { return *entity->getArgument(3); } +void IfcQuantityArea::setAreaValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcQuantityArea::hasFormula() const { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcQuantityArea::Formula() const { return *entity->getArgument(4); } -void IfcQuantityArea::setFormula(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcQuantityArea::Formula() const { return *entity->getArgument(4); } +void IfcQuantityArea::setFormula(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcQuantityArea::is(Type::Enum v) const { return v == Type::IfcQuantityArea || IfcPhysicalSimpleQuantity::is(v); } Type::Enum IfcQuantityArea::type() const { return Type::IfcQuantityArea; } Type::Enum IfcQuantityArea::Class() { return Type::IfcQuantityArea; } IfcQuantityArea::IfcQuantityArea(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityArea)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityArea::IfcQuantityArea(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcAreaMeasure v4_AreaValue, boost::optional< IfcLabel > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_AreaValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_AreaValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityCount -IfcCountMeasure IfcQuantityCount::CountValue() const { return *entity->getArgument(3); } -void IfcQuantityCount::setCountValue(IfcCountMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcQuantityCount::CountValue() const { return *entity->getArgument(3); } +void IfcQuantityCount::setCountValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcQuantityCount::hasFormula() const { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcQuantityCount::Formula() const { return *entity->getArgument(4); } -void IfcQuantityCount::setFormula(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcQuantityCount::Formula() const { return *entity->getArgument(4); } +void IfcQuantityCount::setFormula(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcQuantityCount::is(Type::Enum v) const { return v == Type::IfcQuantityCount || IfcPhysicalSimpleQuantity::is(v); } Type::Enum IfcQuantityCount::type() const { return Type::IfcQuantityCount; } Type::Enum IfcQuantityCount::Class() { return Type::IfcQuantityCount; } IfcQuantityCount::IfcQuantityCount(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityCount)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityCount::IfcQuantityCount(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcCountMeasure v4_CountValue, boost::optional< IfcLabel > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_CountValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_CountValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_CountValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityLength -IfcLengthMeasure IfcQuantityLength::LengthValue() const { return *entity->getArgument(3); } -void IfcQuantityLength::setLengthValue(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcQuantityLength::LengthValue() const { return *entity->getArgument(3); } +void IfcQuantityLength::setLengthValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcQuantityLength::hasFormula() const { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcQuantityLength::Formula() const { return *entity->getArgument(4); } -void IfcQuantityLength::setFormula(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcQuantityLength::Formula() const { return *entity->getArgument(4); } +void IfcQuantityLength::setFormula(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcQuantityLength::is(Type::Enum v) const { return v == Type::IfcQuantityLength || IfcPhysicalSimpleQuantity::is(v); } Type::Enum IfcQuantityLength::type() const { return Type::IfcQuantityLength; } Type::Enum IfcQuantityLength::Class() { return Type::IfcQuantityLength; } IfcQuantityLength::IfcQuantityLength(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityLength)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityLength::IfcQuantityLength(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcLengthMeasure v4_LengthValue, boost::optional< IfcLabel > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_LengthValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_LengthValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantitySet bool IfcQuantitySet::is(Type::Enum v) const { return v == Type::IfcQuantitySet || IfcPropertySetDefinition::is(v); } Type::Enum IfcQuantitySet::type() const { return Type::IfcQuantitySet; } Type::Enum IfcQuantitySet::Class() { return Type::IfcQuantitySet; } IfcQuantitySet::IfcQuantitySet(IfcAbstractEntity* e) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantitySet)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantitySet::IfcQuantitySet(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityTime -IfcTimeMeasure IfcQuantityTime::TimeValue() const { return *entity->getArgument(3); } -void IfcQuantityTime::setTimeValue(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcQuantityTime::TimeValue() const { return *entity->getArgument(3); } +void IfcQuantityTime::setTimeValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcQuantityTime::hasFormula() const { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcQuantityTime::Formula() const { return *entity->getArgument(4); } -void IfcQuantityTime::setFormula(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcQuantityTime::Formula() const { return *entity->getArgument(4); } +void IfcQuantityTime::setFormula(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcQuantityTime::is(Type::Enum v) const { return v == Type::IfcQuantityTime || IfcPhysicalSimpleQuantity::is(v); } Type::Enum IfcQuantityTime::type() const { return Type::IfcQuantityTime; } Type::Enum IfcQuantityTime::Class() { return Type::IfcQuantityTime; } IfcQuantityTime::IfcQuantityTime(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityTime::IfcQuantityTime(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcTimeMeasure v4_TimeValue, boost::optional< IfcLabel > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_TimeValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_TimeValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityVolume -IfcVolumeMeasure IfcQuantityVolume::VolumeValue() const { return *entity->getArgument(3); } -void IfcQuantityVolume::setVolumeValue(IfcVolumeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcQuantityVolume::VolumeValue() const { return *entity->getArgument(3); } +void IfcQuantityVolume::setVolumeValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcQuantityVolume::hasFormula() const { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcQuantityVolume::Formula() const { return *entity->getArgument(4); } -void IfcQuantityVolume::setFormula(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcQuantityVolume::Formula() const { return *entity->getArgument(4); } +void IfcQuantityVolume::setFormula(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcQuantityVolume::is(Type::Enum v) const { return v == Type::IfcQuantityVolume || IfcPhysicalSimpleQuantity::is(v); } Type::Enum IfcQuantityVolume::type() const { return Type::IfcQuantityVolume; } Type::Enum IfcQuantityVolume::Class() { return Type::IfcQuantityVolume; } IfcQuantityVolume::IfcQuantityVolume(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityVolume)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityVolume::IfcQuantityVolume(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcVolumeMeasure v4_VolumeValue, boost::optional< IfcLabel > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_VolumeValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_VolumeValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcQuantityWeight -IfcMassMeasure IfcQuantityWeight::WeightValue() const { return *entity->getArgument(3); } -void IfcQuantityWeight::setWeightValue(IfcMassMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcQuantityWeight::WeightValue() const { return *entity->getArgument(3); } +void IfcQuantityWeight::setWeightValue(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcQuantityWeight::hasFormula() const { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcQuantityWeight::Formula() const { return *entity->getArgument(4); } -void IfcQuantityWeight::setFormula(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcQuantityWeight::Formula() const { return *entity->getArgument(4); } +void IfcQuantityWeight::setFormula(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcQuantityWeight::is(Type::Enum v) const { return v == Type::IfcQuantityWeight || IfcPhysicalSimpleQuantity::is(v); } Type::Enum IfcQuantityWeight::type() const { return Type::IfcQuantityWeight; } Type::Enum IfcQuantityWeight::Class() { return Type::IfcQuantityWeight; } IfcQuantityWeight::IfcQuantityWeight(IfcAbstractEntity* e) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcQuantityWeight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcQuantityWeight::IfcQuantityWeight(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcMassMeasure v4_WeightValue, boost::optional< IfcLabel > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_WeightValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_Unit)); e->setArgument(3,(v4_WeightValue)); if (v5_Formula) { e->setArgument(4,(*v5_Formula)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRailing bool IfcRailing::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -11910,7 +13457,7 @@ bool IfcRailing::is(Type::Enum v) const { return v == Type::IfcRailing || IfcBui Type::Enum IfcRailing::type() const { return Type::IfcRailing; } Type::Enum IfcRailing::Class() { return Type::IfcRailing; } IfcRailing::IfcRailing(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRailing)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRailing::IfcRailing(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcRailingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcRailing::IfcRailing(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcRailingTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRailingType IfcRailingTypeEnum::IfcRailingTypeEnum IfcRailingType::PredefinedType() const { return IfcRailingTypeEnum::FromString(*entity->getArgument(9)); } @@ -11919,7 +13466,7 @@ bool IfcRailingType::is(Type::Enum v) const { return v == Type::IfcRailingType | Type::Enum IfcRailingType::type() const { return Type::IfcRailingType; } Type::Enum IfcRailingType::Class() { return Type::IfcRailingType; } IfcRailingType::IfcRailingType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRailingType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRailingType::IfcRailingType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRailingTypeEnum::IfcRailingTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRailingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcRailingType::IfcRailingType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRailingTypeEnum::IfcRailingTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRailingTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRamp bool IfcRamp::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -11929,7 +13476,7 @@ bool IfcRamp::is(Type::Enum v) const { return v == Type::IfcRamp || IfcBuildingE Type::Enum IfcRamp::type() const { return Type::IfcRamp; } Type::Enum IfcRamp::Class() { return Type::IfcRamp; } IfcRamp::IfcRamp(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRamp)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRamp::IfcRamp(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcRampTypeEnum::IfcRampTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcRampTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcRamp::IfcRamp(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRampTypeEnum::IfcRampTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcRampTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRampFlight bool IfcRampFlight::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -11939,7 +13486,7 @@ bool IfcRampFlight::is(Type::Enum v) const { return v == Type::IfcRampFlight || Type::Enum IfcRampFlight::type() const { return Type::IfcRampFlight; } Type::Enum IfcRampFlight::Class() { return Type::IfcRampFlight; } IfcRampFlight::IfcRampFlight(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRampFlight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRampFlight::IfcRampFlight(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcRampFlightTypeEnum::IfcRampFlightTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcRampFlightTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRampFlightTypeEnum::IfcRampFlightTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcRampFlightTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRampFlightType IfcRampFlightTypeEnum::IfcRampFlightTypeEnum IfcRampFlightType::PredefinedType() const { return IfcRampFlightTypeEnum::FromString(*entity->getArgument(9)); } @@ -11948,7 +13495,7 @@ bool IfcRampFlightType::is(Type::Enum v) const { return v == Type::IfcRampFlight Type::Enum IfcRampFlightType::type() const { return Type::IfcRampFlightType; } Type::Enum IfcRampFlightType::Class() { return Type::IfcRampFlightType; } IfcRampFlightType::IfcRampFlightType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRampFlightType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRampFlightType::IfcRampFlightType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRampFlightTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRampFlightTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRampType IfcRampTypeEnum::IfcRampTypeEnum IfcRampType::PredefinedType() const { return IfcRampTypeEnum::FromString(*entity->getArgument(9)); } @@ -11957,7 +13504,7 @@ bool IfcRampType::is(Type::Enum v) const { return v == Type::IfcRampType || IfcB Type::Enum IfcRampType::type() const { return Type::IfcRampType; } Type::Enum IfcRampType::Class() { return Type::IfcRampType; } IfcRampType::IfcRampType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRampType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRampType::IfcRampType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRampTypeEnum::IfcRampTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRampTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcRampType::IfcRampType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRampTypeEnum::IfcRampTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRampTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRationalBSplineCurveWithKnots std::vector< double > /*[2:?]*/ IfcRationalBSplineCurveWithKnots::WeightsData() const { return *entity->getArgument(8); } @@ -11966,65 +13513,65 @@ bool IfcRationalBSplineCurveWithKnots::is(Type::Enum v) const { return v == Type Type::Enum IfcRationalBSplineCurveWithKnots::type() const { return Type::IfcRationalBSplineCurveWithKnots; } Type::Enum IfcRationalBSplineCurveWithKnots::Class() { return Type::IfcRationalBSplineCurveWithKnots; } IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(IfcAbstractEntity* e) : IfcBSplineCurveWithKnots((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRationalBSplineCurveWithKnots)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, IfcTemplatedEntityList< IfcCartesianPoint >::ptr v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< IfcParameterValue > /*[2:?]*/ v7_Knots, IfcKnotType::IfcKnotType v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Degree)); e->setArgument(1,(v2_ControlPointsList)->generalize()); e->setArgument(2,v3_CurveForm,IfcBSplineCurveForm::ToString(v3_CurveForm)); e->setArgument(3,(v4_ClosedCurve)); e->setArgument(4,(v5_SelfIntersect)); e->setArgument(5,(v6_KnotMultiplicities)); e->setArgument(6,(v7_Knots)); e->setArgument(7,v8_KnotSpec,IfcKnotType::ToString(v8_KnotSpec)); e->setArgument(8,(v9_WeightsData)); entity = e; EntityBuffer::Add(this); } +IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, IfcTemplatedEntityList< IfcCartesianPoint >::ptr v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, IfcKnotType::IfcKnotType v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Degree)); e->setArgument(1,(v2_ControlPointsList)->generalize()); e->setArgument(2,v3_CurveForm,IfcBSplineCurveForm::ToString(v3_CurveForm)); e->setArgument(3,(v4_ClosedCurve)); e->setArgument(4,(v5_SelfIntersect)); e->setArgument(5,(v6_KnotMultiplicities)); e->setArgument(6,(v7_Knots)); e->setArgument(7,v8_KnotSpec,IfcKnotType::ToString(v8_KnotSpec)); e->setArgument(8,(v9_WeightsData)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRationalBSplineSurfaceWithKnots bool IfcRationalBSplineSurfaceWithKnots::is(Type::Enum v) const { return v == Type::IfcRationalBSplineSurfaceWithKnots || IfcBSplineSurfaceWithKnots::is(v); } Type::Enum IfcRationalBSplineSurfaceWithKnots::type() const { return Type::IfcRationalBSplineSurfaceWithKnots; } Type::Enum IfcRationalBSplineSurfaceWithKnots::Class() { return Type::IfcRationalBSplineSurfaceWithKnots; } IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(IfcAbstractEntity* e) : IfcBSplineSurfaceWithKnots((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRationalBSplineSurfaceWithKnots)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, IfcTemplatedEntityListList< IfcCartesianPoint >::ptr v3_ControlPointsList, IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< IfcParameterValue > /*[2:?]*/ v10_UKnots, std::vector< IfcParameterValue > /*[2:?]*/ v11_VKnots, IfcKnotType::IfcKnotType v12_KnotSpec) : IfcBSplineSurfaceWithKnots((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_UDegree)); e->setArgument(1,(v2_VDegree)); e->setArgument(2,(v3_ControlPointsList)->generalize()); e->setArgument(3,v4_SurfaceForm,IfcBSplineSurfaceForm::ToString(v4_SurfaceForm)); e->setArgument(4,(v5_UClosed)); e->setArgument(5,(v6_VClosed)); e->setArgument(6,(v7_SelfIntersect)); e->setArgument(7,(v8_UMultiplicities)); e->setArgument(8,(v9_VMultiplicities)); e->setArgument(9,(v10_UKnots)); e->setArgument(10,(v11_VKnots)); e->setArgument(11,v12_KnotSpec,IfcKnotType::ToString(v12_KnotSpec)); entity = e; EntityBuffer::Add(this); } +IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, IfcTemplatedEntityListList< IfcCartesianPoint >::ptr v3_ControlPointsList, IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, IfcKnotType::IfcKnotType v12_KnotSpec) : IfcBSplineSurfaceWithKnots((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_UDegree)); e->setArgument(1,(v2_VDegree)); e->setArgument(2,(v3_ControlPointsList)->generalize()); e->setArgument(3,v4_SurfaceForm,IfcBSplineSurfaceForm::ToString(v4_SurfaceForm)); e->setArgument(4,(v5_UClosed)); e->setArgument(5,(v6_VClosed)); e->setArgument(6,(v7_SelfIntersect)); e->setArgument(7,(v8_UMultiplicities)); e->setArgument(8,(v9_VMultiplicities)); e->setArgument(9,(v10_UKnots)); e->setArgument(10,(v11_VKnots)); e->setArgument(11,v12_KnotSpec,IfcKnotType::ToString(v12_KnotSpec)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRectangleHollowProfileDef -IfcPositiveLengthMeasure IfcRectangleHollowProfileDef::WallThickness() const { return *entity->getArgument(5); } -void IfcRectangleHollowProfileDef::setWallThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcRectangleHollowProfileDef::WallThickness() const { return *entity->getArgument(5); } +void IfcRectangleHollowProfileDef::setWallThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcRectangleHollowProfileDef::hasInnerFilletRadius() const { return !entity->getArgument(6)->isNull(); } -IfcNonNegativeLengthMeasure IfcRectangleHollowProfileDef::InnerFilletRadius() const { return *entity->getArgument(6); } -void IfcRectangleHollowProfileDef::setInnerFilletRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcRectangleHollowProfileDef::InnerFilletRadius() const { return *entity->getArgument(6); } +void IfcRectangleHollowProfileDef::setInnerFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcRectangleHollowProfileDef::hasOuterFilletRadius() const { return !entity->getArgument(7)->isNull(); } -IfcNonNegativeLengthMeasure IfcRectangleHollowProfileDef::OuterFilletRadius() const { return *entity->getArgument(7); } -void IfcRectangleHollowProfileDef::setOuterFilletRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcRectangleHollowProfileDef::OuterFilletRadius() const { return *entity->getArgument(7); } +void IfcRectangleHollowProfileDef::setOuterFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcRectangleHollowProfileDef::is(Type::Enum v) const { return v == Type::IfcRectangleHollowProfileDef || IfcRectangleProfileDef::is(v); } Type::Enum IfcRectangleHollowProfileDef::type() const { return Type::IfcRectangleHollowProfileDef; } Type::Enum IfcRectangleHollowProfileDef::Class() { return Type::IfcRectangleHollowProfileDef; } IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcAbstractEntity* e) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRectangleHollowProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim, IfcPositiveLengthMeasure v6_WallThickness, boost::optional< IfcNonNegativeLengthMeasure > v7_InnerFilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v8_OuterFilletRadius) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_XDim)); e->setArgument(4,(v5_YDim)); e->setArgument(5,(v6_WallThickness)); if (v7_InnerFilletRadius) { e->setArgument(6,(*v7_InnerFilletRadius)); } else { e->setArgument(6); } if (v8_OuterFilletRadius) { e->setArgument(7,(*v8_OuterFilletRadius)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_XDim)); e->setArgument(4,(v5_YDim)); e->setArgument(5,(v6_WallThickness)); if (v7_InnerFilletRadius) { e->setArgument(6,(*v7_InnerFilletRadius)); } else { e->setArgument(6); } if (v8_OuterFilletRadius) { e->setArgument(7,(*v8_OuterFilletRadius)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRectangleProfileDef -IfcPositiveLengthMeasure IfcRectangleProfileDef::XDim() const { return *entity->getArgument(3); } -void IfcRectangleProfileDef::setXDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcRectangleProfileDef::YDim() const { return *entity->getArgument(4); } -void IfcRectangleProfileDef::setYDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcRectangleProfileDef::XDim() const { return *entity->getArgument(3); } +void IfcRectangleProfileDef::setXDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcRectangleProfileDef::YDim() const { return *entity->getArgument(4); } +void IfcRectangleProfileDef::setYDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcRectangleProfileDef::is(Type::Enum v) const { return v == Type::IfcRectangleProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcRectangleProfileDef::type() const { return Type::IfcRectangleProfileDef; } Type::Enum IfcRectangleProfileDef::Class() { return Type::IfcRectangleProfileDef; } IfcRectangleProfileDef::IfcRectangleProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRectangleProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRectangleProfileDef::IfcRectangleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_XDim)); e->setArgument(4,(v5_YDim)); entity = e; EntityBuffer::Add(this); } +IfcRectangleProfileDef::IfcRectangleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_XDim)); e->setArgument(4,(v5_YDim)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRectangularPyramid -IfcPositiveLengthMeasure IfcRectangularPyramid::XLength() const { return *entity->getArgument(1); } -void IfcRectangularPyramid::setXLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveLengthMeasure IfcRectangularPyramid::YLength() const { return *entity->getArgument(2); } -void IfcRectangularPyramid::setYLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcPositiveLengthMeasure IfcRectangularPyramid::Height() const { return *entity->getArgument(3); } -void IfcRectangularPyramid::setHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcRectangularPyramid::XLength() const { return *entity->getArgument(1); } +void IfcRectangularPyramid::setXLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcRectangularPyramid::YLength() const { return *entity->getArgument(2); } +void IfcRectangularPyramid::setYLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcRectangularPyramid::Height() const { return *entity->getArgument(3); } +void IfcRectangularPyramid::setHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcRectangularPyramid::is(Type::Enum v) const { return v == Type::IfcRectangularPyramid || IfcCsgPrimitive3D::is(v); } Type::Enum IfcRectangularPyramid::type() const { return Type::IfcRectangularPyramid; } Type::Enum IfcRectangularPyramid::Class() { return Type::IfcRectangularPyramid; } IfcRectangularPyramid::IfcRectangularPyramid(IfcAbstractEntity* e) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRectangularPyramid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRectangularPyramid::IfcRectangularPyramid(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_XLength, IfcPositiveLengthMeasure v3_YLength, IfcPositiveLengthMeasure v4_Height) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_XLength)); e->setArgument(2,(v3_YLength)); e->setArgument(3,(v4_Height)); entity = e; EntityBuffer::Add(this); } +IfcRectangularPyramid::IfcRectangularPyramid(IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_XLength)); e->setArgument(2,(v3_YLength)); e->setArgument(3,(v4_Height)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRectangularTrimmedSurface IfcSurface* IfcRectangularTrimmedSurface::BasisSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcRectangularTrimmedSurface::setBasisSurface(IfcSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcParameterValue IfcRectangularTrimmedSurface::U1() const { return *entity->getArgument(1); } -void IfcRectangularTrimmedSurface::setU1(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcParameterValue IfcRectangularTrimmedSurface::V1() const { return *entity->getArgument(2); } -void IfcRectangularTrimmedSurface::setV1(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcParameterValue IfcRectangularTrimmedSurface::U2() const { return *entity->getArgument(3); } -void IfcRectangularTrimmedSurface::setU2(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcParameterValue IfcRectangularTrimmedSurface::V2() const { return *entity->getArgument(4); } -void IfcRectangularTrimmedSurface::setV2(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcRectangularTrimmedSurface::U1() const { return *entity->getArgument(1); } +void IfcRectangularTrimmedSurface::setU1(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcRectangularTrimmedSurface::V1() const { return *entity->getArgument(2); } +void IfcRectangularTrimmedSurface::setV1(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcRectangularTrimmedSurface::U2() const { return *entity->getArgument(3); } +void IfcRectangularTrimmedSurface::setU2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcRectangularTrimmedSurface::V2() const { return *entity->getArgument(4); } +void IfcRectangularTrimmedSurface::setV2(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcRectangularTrimmedSurface::Usense() const { return *entity->getArgument(5); } void IfcRectangularTrimmedSurface::setUsense(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcRectangularTrimmedSurface::Vsense() const { return *entity->getArgument(6); } @@ -12033,29 +13580,29 @@ bool IfcRectangularTrimmedSurface::is(Type::Enum v) const { return v == Type::If Type::Enum IfcRectangularTrimmedSurface::type() const { return Type::IfcRectangularTrimmedSurface; } Type::Enum IfcRectangularTrimmedSurface::Class() { return Type::IfcRectangularTrimmedSurface; } IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcAbstractEntity* e) : IfcBoundedSurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRectangularTrimmedSurface)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcSurface* v1_BasisSurface, IfcParameterValue v2_U1, IfcParameterValue v3_V1, IfcParameterValue v4_U2, IfcParameterValue v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisSurface)); e->setArgument(1,(v2_U1)); e->setArgument(2,(v3_V1)); e->setArgument(3,(v4_U2)); e->setArgument(4,(v5_V2)); e->setArgument(5,(v6_Usense)); e->setArgument(6,(v7_Vsense)); entity = e; EntityBuffer::Add(this); } +IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_BasisSurface)); e->setArgument(1,(v2_U1)); e->setArgument(2,(v3_V1)); e->setArgument(3,(v4_U2)); e->setArgument(4,(v5_V2)); e->setArgument(5,(v6_Usense)); e->setArgument(6,(v7_Vsense)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRecurrencePattern IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum IfcRecurrencePattern::RecurrenceType() const { return IfcRecurrenceTypeEnum::FromString(*entity->getArgument(0)); } void IfcRecurrencePattern::setRecurrenceType(IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v,IfcRecurrenceTypeEnum::ToString(v)); } bool IfcRecurrencePattern::hasDayComponent() const { return !entity->getArgument(1)->isNull(); } -std::vector< IfcDayInMonthNumber > /*[1:?]*/ IfcRecurrencePattern::DayComponent() const { return *entity->getArgument(1); } -void IfcRecurrencePattern::setDayComponent(std::vector< IfcDayInMonthNumber > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::vector< int > /*[1:?]*/ IfcRecurrencePattern::DayComponent() const { return *entity->getArgument(1); } +void IfcRecurrencePattern::setDayComponent(std::vector< int > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcRecurrencePattern::hasWeekdayComponent() const { return !entity->getArgument(2)->isNull(); } -std::vector< IfcDayInWeekNumber > /*[1:?]*/ IfcRecurrencePattern::WeekdayComponent() const { return *entity->getArgument(2); } -void IfcRecurrencePattern::setWeekdayComponent(std::vector< IfcDayInWeekNumber > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::vector< int > /*[1:?]*/ IfcRecurrencePattern::WeekdayComponent() const { return *entity->getArgument(2); } +void IfcRecurrencePattern::setWeekdayComponent(std::vector< int > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcRecurrencePattern::hasMonthComponent() const { return !entity->getArgument(3)->isNull(); } -std::vector< IfcMonthInYearNumber > /*[1:?]*/ IfcRecurrencePattern::MonthComponent() const { return *entity->getArgument(3); } -void IfcRecurrencePattern::setMonthComponent(std::vector< IfcMonthInYearNumber > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::vector< int > /*[1:?]*/ IfcRecurrencePattern::MonthComponent() const { return *entity->getArgument(3); } +void IfcRecurrencePattern::setMonthComponent(std::vector< int > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcRecurrencePattern::hasPosition() const { return !entity->getArgument(4)->isNull(); } -IfcInteger IfcRecurrencePattern::Position() const { return *entity->getArgument(4); } -void IfcRecurrencePattern::setPosition(IfcInteger v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +int IfcRecurrencePattern::Position() const { return *entity->getArgument(4); } +void IfcRecurrencePattern::setPosition(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcRecurrencePattern::hasInterval() const { return !entity->getArgument(5)->isNull(); } -IfcInteger IfcRecurrencePattern::Interval() const { return *entity->getArgument(5); } -void IfcRecurrencePattern::setInterval(IfcInteger v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +int IfcRecurrencePattern::Interval() const { return *entity->getArgument(5); } +void IfcRecurrencePattern::setInterval(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcRecurrencePattern::hasOccurrences() const { return !entity->getArgument(6)->isNull(); } -IfcInteger IfcRecurrencePattern::Occurrences() const { return *entity->getArgument(6); } -void IfcRecurrencePattern::setOccurrences(IfcInteger v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +int IfcRecurrencePattern::Occurrences() const { return *entity->getArgument(6); } +void IfcRecurrencePattern::setOccurrences(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcRecurrencePattern::hasTimePeriods() const { return !entity->getArgument(7)->isNull(); } IfcTemplatedEntityList< IfcTimePeriod >::ptr IfcRecurrencePattern::TimePeriods() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } void IfcRecurrencePattern::setTimePeriods(IfcTemplatedEntityList< IfcTimePeriod >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } @@ -12063,18 +13610,18 @@ bool IfcRecurrencePattern::is(Type::Enum v) const { return v == Type::IfcRecurre Type::Enum IfcRecurrencePattern::type() const { return Type::IfcRecurrencePattern; } Type::Enum IfcRecurrencePattern::Class() { return Type::IfcRecurrencePattern; } IfcRecurrencePattern::IfcRecurrencePattern(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRecurrencePattern)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRecurrencePattern::IfcRecurrencePattern(IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum v1_RecurrenceType, boost::optional< std::vector< IfcDayInMonthNumber > /*[1:?]*/ > v2_DayComponent, boost::optional< std::vector< IfcDayInWeekNumber > /*[1:?]*/ > v3_WeekdayComponent, boost::optional< std::vector< IfcMonthInYearNumber > /*[1:?]*/ > v4_MonthComponent, boost::optional< IfcInteger > v5_Position, boost::optional< IfcInteger > v6_Interval, boost::optional< IfcInteger > v7_Occurrences, boost::optional< IfcTemplatedEntityList< IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_RecurrenceType,IfcRecurrenceTypeEnum::ToString(v1_RecurrenceType)); if (v2_DayComponent) { e->setArgument(1,(*v2_DayComponent)); } else { e->setArgument(1); } if (v3_WeekdayComponent) { e->setArgument(2,(*v3_WeekdayComponent)); } else { e->setArgument(2); } if (v4_MonthComponent) { e->setArgument(3,(*v4_MonthComponent)); } else { e->setArgument(3); } if (v5_Position) { e->setArgument(4,(*v5_Position)); } else { e->setArgument(4); } if (v6_Interval) { e->setArgument(5,(*v6_Interval)); } else { e->setArgument(5); } if (v7_Occurrences) { e->setArgument(6,(*v7_Occurrences)); } else { e->setArgument(6); } if (v8_TimePeriods) { e->setArgument(7,(*v8_TimePeriods)->generalize()); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcRecurrencePattern::IfcRecurrencePattern(IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum v1_RecurrenceType, boost::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, boost::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, boost::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, boost::optional< int > v5_Position, boost::optional< int > v6_Interval, boost::optional< int > v7_Occurrences, boost::optional< IfcTemplatedEntityList< IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_RecurrenceType,IfcRecurrenceTypeEnum::ToString(v1_RecurrenceType)); if (v2_DayComponent) { e->setArgument(1,(*v2_DayComponent)); } else { e->setArgument(1); } if (v3_WeekdayComponent) { e->setArgument(2,(*v3_WeekdayComponent)); } else { e->setArgument(2); } if (v4_MonthComponent) { e->setArgument(3,(*v4_MonthComponent)); } else { e->setArgument(3); } if (v5_Position) { e->setArgument(4,(*v5_Position)); } else { e->setArgument(4); } if (v6_Interval) { e->setArgument(5,(*v6_Interval)); } else { e->setArgument(5); } if (v7_Occurrences) { e->setArgument(6,(*v7_Occurrences)); } else { e->setArgument(6); } if (v8_TimePeriods) { e->setArgument(7,(*v8_TimePeriods)->generalize()); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReference bool IfcReference::hasTypeIdentifier() const { return !entity->getArgument(0)->isNull(); } -IfcIdentifier IfcReference::TypeIdentifier() const { return *entity->getArgument(0); } -void IfcReference::setTypeIdentifier(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcReference::TypeIdentifier() const { return *entity->getArgument(0); } +void IfcReference::setTypeIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcReference::hasAttributeIdentifier() const { return !entity->getArgument(1)->isNull(); } -IfcIdentifier IfcReference::AttributeIdentifier() const { return *entity->getArgument(1); } -void IfcReference::setAttributeIdentifier(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcReference::AttributeIdentifier() const { return *entity->getArgument(1); } +void IfcReference::setAttributeIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcReference::hasInstanceName() const { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcReference::InstanceName() const { return *entity->getArgument(2); } -void IfcReference::setInstanceName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcReference::InstanceName() const { return *entity->getArgument(2); } +void IfcReference::setInstanceName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcReference::hasListPositions() const { return !entity->getArgument(3)->isNull(); } std::vector< int > /*[1:?]*/ IfcReference::ListPositions() const { return *entity->getArgument(3); } void IfcReference::setListPositions(std::vector< int > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } @@ -12085,64 +13632,64 @@ bool IfcReference::is(Type::Enum v) const { return v == Type::IfcReference; } Type::Enum IfcReference::type() const { return Type::IfcReference; } Type::Enum IfcReference::Class() { return Type::IfcReference; } IfcReference::IfcReference(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcReference)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReference::IfcReference(boost::optional< IfcIdentifier > v1_TypeIdentifier, boost::optional< IfcIdentifier > v2_AttributeIdentifier, boost::optional< IfcLabel > v3_InstanceName, boost::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, IfcReference* v5_InnerReference) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_TypeIdentifier) { e->setArgument(0,(*v1_TypeIdentifier)); } else { e->setArgument(0); } if (v2_AttributeIdentifier) { e->setArgument(1,(*v2_AttributeIdentifier)); } else { e->setArgument(1); } if (v3_InstanceName) { e->setArgument(2,(*v3_InstanceName)); } else { e->setArgument(2); } if (v4_ListPositions) { e->setArgument(3,(*v4_ListPositions)); } else { e->setArgument(3); } e->setArgument(4,(v5_InnerReference)); entity = e; EntityBuffer::Add(this); } +IfcReference::IfcReference(boost::optional< std::string > v1_TypeIdentifier, boost::optional< std::string > v2_AttributeIdentifier, boost::optional< std::string > v3_InstanceName, boost::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, IfcReference* v5_InnerReference) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_TypeIdentifier) { e->setArgument(0,(*v1_TypeIdentifier)); } else { e->setArgument(0); } if (v2_AttributeIdentifier) { e->setArgument(1,(*v2_AttributeIdentifier)); } else { e->setArgument(1); } if (v3_InstanceName) { e->setArgument(2,(*v3_InstanceName)); } else { e->setArgument(2); } if (v4_ListPositions) { e->setArgument(3,(*v4_ListPositions)); } else { e->setArgument(3); } e->setArgument(4,(v5_InnerReference)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRegularTimeSeries -IfcTimeMeasure IfcRegularTimeSeries::TimeStep() const { return *entity->getArgument(8); } -void IfcRegularTimeSeries::setTimeStep(IfcTimeMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcRegularTimeSeries::TimeStep() const { return *entity->getArgument(8); } +void IfcRegularTimeSeries::setTimeStep(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr IfcRegularTimeSeries::Values() const { IfcEntityList::ptr es = *entity->getArgument(9); return es->as(); } void IfcRegularTimeSeries::setValues(IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v->generalize()); } 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; } IfcRegularTimeSeries::IfcRegularTimeSeries(IfcAbstractEntity* e) : IfcTimeSeries((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRegularTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRegularTimeSeries::IfcRegularTimeSeries(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTime v3_StartTime, IfcDateTime v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit, IfcTimeMeasure v9_TimeStep, IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } if (v8_Unit) { e->setArgument(7,(*v8_Unit)); } else { e->setArgument(7); } e->setArgument(8,(v9_TimeStep)); e->setArgument(9,(v10_Values)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, IfcUnit* v8_Unit, double v9_TimeStep, IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } e->setArgument(7,(v8_Unit)); e->setArgument(8,(v9_TimeStep)); e->setArgument(9,(v10_Values)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcementBarProperties -IfcAreaMeasure IfcReinforcementBarProperties::TotalCrossSectionArea() const { return *entity->getArgument(0); } -void IfcReinforcementBarProperties::setTotalCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLabel IfcReinforcementBarProperties::SteelGrade() const { return *entity->getArgument(1); } -void IfcReinforcementBarProperties::setSteelGrade(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcReinforcementBarProperties::TotalCrossSectionArea() const { return *entity->getArgument(0); } +void IfcReinforcementBarProperties::setTotalCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcReinforcementBarProperties::SteelGrade() const { return *entity->getArgument(1); } +void IfcReinforcementBarProperties::setSteelGrade(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcReinforcementBarProperties::hasBarSurface() const { return !entity->getArgument(2)->isNull(); } IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum IfcReinforcementBarProperties::BarSurface() const { return IfcReinforcingBarSurfaceEnum::FromString(*entity->getArgument(2)); } void IfcReinforcementBarProperties::setBarSurface(IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcReinforcingBarSurfaceEnum::ToString(v)); } bool IfcReinforcementBarProperties::hasEffectiveDepth() const { return !entity->getArgument(3)->isNull(); } -IfcLengthMeasure IfcReinforcementBarProperties::EffectiveDepth() const { return *entity->getArgument(3); } -void IfcReinforcementBarProperties::setEffectiveDepth(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcReinforcementBarProperties::EffectiveDepth() const { return *entity->getArgument(3); } +void IfcReinforcementBarProperties::setEffectiveDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcReinforcementBarProperties::hasNominalBarDiameter() const { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcementBarProperties::NominalBarDiameter() const { return *entity->getArgument(4); } -void IfcReinforcementBarProperties::setNominalBarDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcReinforcementBarProperties::NominalBarDiameter() const { return *entity->getArgument(4); } +void IfcReinforcementBarProperties::setNominalBarDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcReinforcementBarProperties::hasBarCount() const { return !entity->getArgument(5)->isNull(); } -IfcCountMeasure IfcReinforcementBarProperties::BarCount() const { return *entity->getArgument(5); } -void IfcReinforcementBarProperties::setBarCount(IfcCountMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcReinforcementBarProperties::BarCount() const { return *entity->getArgument(5); } +void IfcReinforcementBarProperties::setBarCount(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcReinforcementBarProperties::is(Type::Enum v) const { return v == Type::IfcReinforcementBarProperties || IfcPreDefinedProperties::is(v); } Type::Enum IfcReinforcementBarProperties::type() const { return Type::IfcReinforcementBarProperties; } Type::Enum IfcReinforcementBarProperties::Class() { return Type::IfcReinforcementBarProperties; } IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcAbstractEntity* e) : IfcPreDefinedProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcementBarProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcAreaMeasure v1_TotalCrossSectionArea, IfcLabel v2_SteelGrade, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v3_BarSurface, boost::optional< IfcLengthMeasure > v4_EffectiveDepth, boost::optional< IfcPositiveLengthMeasure > v5_NominalBarDiameter, boost::optional< IfcCountMeasure > v6_BarCount) : IfcPreDefinedProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TotalCrossSectionArea)); e->setArgument(1,(v2_SteelGrade)); if (v3_BarSurface) { e->setArgument(2,*v3_BarSurface,IfcReinforcingBarSurfaceEnum::ToString(*v3_BarSurface)); } else { e->setArgument(2); } if (v4_EffectiveDepth) { e->setArgument(3,(*v4_EffectiveDepth)); } else { e->setArgument(3); } if (v5_NominalBarDiameter) { e->setArgument(4,(*v5_NominalBarDiameter)); } else { e->setArgument(4); } if (v6_BarCount) { e->setArgument(5,(*v6_BarCount)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< double > v6_BarCount) : IfcPreDefinedProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TotalCrossSectionArea)); e->setArgument(1,(v2_SteelGrade)); if (v3_BarSurface) { e->setArgument(2,*v3_BarSurface,IfcReinforcingBarSurfaceEnum::ToString(*v3_BarSurface)); } else { e->setArgument(2); } if (v4_EffectiveDepth) { e->setArgument(3,(*v4_EffectiveDepth)); } else { e->setArgument(3); } if (v5_NominalBarDiameter) { e->setArgument(4,(*v5_NominalBarDiameter)); } else { e->setArgument(4); } if (v6_BarCount) { e->setArgument(5,(*v6_BarCount)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcementDefinitionProperties bool IfcReinforcementDefinitionProperties::hasDefinitionType() const { return !entity->getArgument(4)->isNull(); } -IfcLabel IfcReinforcementDefinitionProperties::DefinitionType() const { return *entity->getArgument(4); } -void IfcReinforcementDefinitionProperties::setDefinitionType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcReinforcementDefinitionProperties::DefinitionType() const { return *entity->getArgument(4); } +void IfcReinforcementDefinitionProperties::setDefinitionType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } void IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } bool IfcReinforcementDefinitionProperties::is(Type::Enum v) const { return v == Type::IfcReinforcementDefinitionProperties || IfcPreDefinedPropertySet::is(v); } Type::Enum IfcReinforcementDefinitionProperties::type() const { return Type::IfcReinforcementDefinitionProperties; } Type::Enum IfcReinforcementDefinitionProperties::Class() { return Type::IfcReinforcementDefinitionProperties; } IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(IfcAbstractEntity* e) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcementDefinitionProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_DefinitionType, IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_DefinitionType) { e->setArgument(4,(*v5_DefinitionType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ReinforcementSectionDefinitions)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_DefinitionType) { e->setArgument(4,(*v5_DefinitionType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ReinforcementSectionDefinitions)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcingBar bool IfcReinforcingBar::hasNominalDiameter() const { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingBar::NominalDiameter() const { return *entity->getArgument(9); } -void IfcReinforcingBar::setNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcReinforcingBar::NominalDiameter() const { return *entity->getArgument(9); } +void IfcReinforcingBar::setNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcReinforcingBar::hasCrossSectionArea() const { return !entity->getArgument(10)->isNull(); } -IfcAreaMeasure IfcReinforcingBar::CrossSectionArea() const { return *entity->getArgument(10); } -void IfcReinforcingBar::setCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcReinforcingBar::CrossSectionArea() const { return *entity->getArgument(10); } +void IfcReinforcingBar::setCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcReinforcingBar::hasBarLength() const { return !entity->getArgument(11)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingBar::BarLength() const { return *entity->getArgument(11); } -void IfcReinforcingBar::setBarLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcReinforcingBar::BarLength() const { return *entity->getArgument(11); } +void IfcReinforcingBar::setBarLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcReinforcingBar::hasPredefinedType() const { return !entity->getArgument(12)->isNull(); } IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum IfcReinforcingBar::PredefinedType() const { return IfcReinforcingBarTypeEnum::FromString(*entity->getArgument(12)); } void IfcReinforcingBar::setPredefinedType(IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v,IfcReinforcingBarTypeEnum::ToString(v)); } @@ -12153,77 +13700,77 @@ bool IfcReinforcingBar::is(Type::Enum v) const { return v == Type::IfcReinforcin Type::Enum IfcReinforcingBar::type() const { return Type::IfcReinforcingBar; } Type::Enum IfcReinforcingBar::Class() { return Type::IfcReinforcingBar; } IfcReinforcingBar::IfcReinforcingBar(IfcAbstractEntity* e) : IfcReinforcingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingBar)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingBar::IfcReinforcingBar(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, boost::optional< IfcPositiveLengthMeasure > v10_NominalDiameter, boost::optional< IfcAreaMeasure > v11_CrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v12_BarLength, boost::optional< IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum > v13_PredefinedType, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } if (v10_NominalDiameter) { e->setArgument(9,(*v10_NominalDiameter)); } else { e->setArgument(9); } if (v11_CrossSectionArea) { e->setArgument(10,(*v11_CrossSectionArea)); } else { e->setArgument(10); } if (v12_BarLength) { e->setArgument(11,(*v12_BarLength)); } else { e->setArgument(11); } if (v13_PredefinedType) { e->setArgument(12,*v13_PredefinedType,IfcReinforcingBarTypeEnum::ToString(*v13_PredefinedType)); } else { e->setArgument(12); } if (v14_BarSurface) { e->setArgument(13,*v14_BarSurface,IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface)); } else { e->setArgument(13); } entity = e; EntityBuffer::Add(this); } +IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_NominalDiameter, boost::optional< double > v11_CrossSectionArea, boost::optional< double > v12_BarLength, boost::optional< IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum > v13_PredefinedType, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } if (v10_NominalDiameter) { e->setArgument(9,(*v10_NominalDiameter)); } else { e->setArgument(9); } if (v11_CrossSectionArea) { e->setArgument(10,(*v11_CrossSectionArea)); } else { e->setArgument(10); } if (v12_BarLength) { e->setArgument(11,(*v12_BarLength)); } else { e->setArgument(11); } if (v13_PredefinedType) { e->setArgument(12,*v13_PredefinedType,IfcReinforcingBarTypeEnum::ToString(*v13_PredefinedType)); } else { e->setArgument(12); } if (v14_BarSurface) { e->setArgument(13,*v14_BarSurface,IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface)); } else { e->setArgument(13); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcingBarType IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum IfcReinforcingBarType::PredefinedType() const { return IfcReinforcingBarTypeEnum::FromString(*entity->getArgument(9)); } void IfcReinforcingBarType::setPredefinedType(IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcReinforcingBarTypeEnum::ToString(v)); } bool IfcReinforcingBarType::hasNominalDiameter() const { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingBarType::NominalDiameter() const { return *entity->getArgument(10); } -void IfcReinforcingBarType::setNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcReinforcingBarType::NominalDiameter() const { return *entity->getArgument(10); } +void IfcReinforcingBarType::setNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcReinforcingBarType::hasCrossSectionArea() const { return !entity->getArgument(11)->isNull(); } -IfcAreaMeasure IfcReinforcingBarType::CrossSectionArea() const { return *entity->getArgument(11); } -void IfcReinforcingBarType::setCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcReinforcingBarType::CrossSectionArea() const { return *entity->getArgument(11); } +void IfcReinforcingBarType::setCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcReinforcingBarType::hasBarLength() const { return !entity->getArgument(12)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingBarType::BarLength() const { return *entity->getArgument(12); } -void IfcReinforcingBarType::setBarLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +double IfcReinforcingBarType::BarLength() const { return *entity->getArgument(12); } +void IfcReinforcingBarType::setBarLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcReinforcingBarType::hasBarSurface() const { return !entity->getArgument(13)->isNull(); } IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum IfcReinforcingBarType::BarSurface() const { return IfcReinforcingBarSurfaceEnum::FromString(*entity->getArgument(13)); } void IfcReinforcingBarType::setBarSurface(IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v,IfcReinforcingBarSurfaceEnum::ToString(v)); } bool IfcReinforcingBarType::hasBendingShapeCode() const { return !entity->getArgument(14)->isNull(); } -IfcLabel IfcReinforcingBarType::BendingShapeCode() const { return *entity->getArgument(14); } -void IfcReinforcingBarType::setBendingShapeCode(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } +std::string IfcReinforcingBarType::BendingShapeCode() const { return *entity->getArgument(14); } +void IfcReinforcingBarType::setBendingShapeCode(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } bool IfcReinforcingBarType::hasBendingParameters() const { return !entity->getArgument(15)->isNull(); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcReinforcingBarType::BendingParameters() const { IfcEntityList::ptr es = *entity->getArgument(15); return es->as(); } -void IfcReinforcingBarType::setBendingParameters(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v->generalize()); } +IfcEntityList::ptr IfcReinforcingBarType::BendingParameters() const { return *entity->getArgument(15); } +void IfcReinforcingBarType::setBendingParameters(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } bool IfcReinforcingBarType::is(Type::Enum v) const { return v == Type::IfcReinforcingBarType || IfcReinforcingElementType::is(v); } Type::Enum IfcReinforcingBarType::type() const { return Type::IfcReinforcingBarType; } Type::Enum IfcReinforcingBarType::Class() { return Type::IfcReinforcingBarType; } IfcReinforcingBarType::IfcReinforcingBarType(IfcAbstractEntity* e) : IfcReinforcingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingBarType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingBarType::IfcReinforcingBarType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_NominalDiameter, boost::optional< IfcAreaMeasure > v12_CrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v13_BarLength, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface, boost::optional< IfcLabel > v15_BendingShapeCode, boost::optional< IfcEntityList::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType)); if (v11_NominalDiameter) { e->setArgument(10,(*v11_NominalDiameter)); } else { e->setArgument(10); } if (v12_CrossSectionArea) { e->setArgument(11,(*v12_CrossSectionArea)); } else { e->setArgument(11); } if (v13_BarLength) { e->setArgument(12,(*v13_BarLength)); } else { e->setArgument(12); } if (v14_BarSurface) { e->setArgument(13,*v14_BarSurface,IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface)); } else { e->setArgument(13); } if (v15_BendingShapeCode) { e->setArgument(14,(*v15_BendingShapeCode)); } else { e->setArgument(14); } if (v16_BendingParameters) { e->setArgument(15,(*v16_BendingParameters)); } else { e->setArgument(15); } entity = e; EntityBuffer::Add(this); } +IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< IfcEntityList::ptr > v16_BendingParameters) : IfcReinforcingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcReinforcingBarTypeEnum::ToString(v10_PredefinedType)); if (v11_NominalDiameter) { e->setArgument(10,(*v11_NominalDiameter)); } else { e->setArgument(10); } if (v12_CrossSectionArea) { e->setArgument(11,(*v12_CrossSectionArea)); } else { e->setArgument(11); } if (v13_BarLength) { e->setArgument(12,(*v13_BarLength)); } else { e->setArgument(12); } if (v14_BarSurface) { e->setArgument(13,*v14_BarSurface,IfcReinforcingBarSurfaceEnum::ToString(*v14_BarSurface)); } else { e->setArgument(13); } if (v15_BendingShapeCode) { e->setArgument(14,(*v15_BendingShapeCode)); } else { e->setArgument(14); } if (v16_BendingParameters) { e->setArgument(15,(*v16_BendingParameters)); } else { e->setArgument(15); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcingElement bool IfcReinforcingElement::hasSteelGrade() const { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcReinforcingElement::SteelGrade() const { return *entity->getArgument(8); } -void IfcReinforcingElement::setSteelGrade(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcReinforcingElement::SteelGrade() const { return *entity->getArgument(8); } +void IfcReinforcingElement::setSteelGrade(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcReinforcingElement::is(Type::Enum v) const { return v == Type::IfcReinforcingElement || IfcElementComponent::is(v); } Type::Enum IfcReinforcingElement::type() const { return Type::IfcReinforcingElement; } Type::Enum IfcReinforcingElement::Class() { return Type::IfcReinforcingElement; } IfcReinforcingElement::IfcReinforcingElement(IfcAbstractEntity* e) : IfcElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingElement::IfcReinforcingElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcingElementType bool IfcReinforcingElementType::is(Type::Enum v) const { return v == Type::IfcReinforcingElementType || IfcElementComponentType::is(v); } Type::Enum IfcReinforcingElementType::type() const { return Type::IfcReinforcingElementType; } Type::Enum IfcReinforcingElementType::Class() { return Type::IfcReinforcingElementType; } IfcReinforcingElementType::IfcReinforcingElementType(IfcAbstractEntity* e) : IfcElementComponentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingElementType::IfcReinforcingElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcingMesh bool IfcReinforcingMesh::hasMeshLength() const { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMesh::MeshLength() const { return *entity->getArgument(9); } -void IfcReinforcingMesh::setMeshLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcReinforcingMesh::MeshLength() const { return *entity->getArgument(9); } +void IfcReinforcingMesh::setMeshLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcReinforcingMesh::hasMeshWidth() const { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMesh::MeshWidth() const { return *entity->getArgument(10); } -void IfcReinforcingMesh::setMeshWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcReinforcingMesh::MeshWidth() const { return *entity->getArgument(10); } +void IfcReinforcingMesh::setMeshWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcReinforcingMesh::hasLongitudinalBarNominalDiameter() const { return !entity->getArgument(11)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { return *entity->getArgument(11); } -void IfcReinforcingMesh::setLongitudinalBarNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { return *entity->getArgument(11); } +void IfcReinforcingMesh::setLongitudinalBarNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcReinforcingMesh::hasTransverseBarNominalDiameter() const { return !entity->getArgument(12)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMesh::TransverseBarNominalDiameter() const { return *entity->getArgument(12); } -void IfcReinforcingMesh::setTransverseBarNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +double IfcReinforcingMesh::TransverseBarNominalDiameter() const { return *entity->getArgument(12); } +void IfcReinforcingMesh::setTransverseBarNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcReinforcingMesh::hasLongitudinalBarCrossSectionArea() const { return !entity->getArgument(13)->isNull(); } -IfcAreaMeasure IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { return *entity->getArgument(13); } -void IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } +double IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { return *entity->getArgument(13); } +void IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } bool IfcReinforcingMesh::hasTransverseBarCrossSectionArea() const { return !entity->getArgument(14)->isNull(); } -IfcAreaMeasure IfcReinforcingMesh::TransverseBarCrossSectionArea() const { return *entity->getArgument(14); } -void IfcReinforcingMesh::setTransverseBarCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } +double IfcReinforcingMesh::TransverseBarCrossSectionArea() const { return *entity->getArgument(14); } +void IfcReinforcingMesh::setTransverseBarCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } bool IfcReinforcingMesh::hasLongitudinalBarSpacing() const { return !entity->getArgument(15)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMesh::LongitudinalBarSpacing() const { return *entity->getArgument(15); } -void IfcReinforcingMesh::setLongitudinalBarSpacing(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } +double IfcReinforcingMesh::LongitudinalBarSpacing() const { return *entity->getArgument(15); } +void IfcReinforcingMesh::setLongitudinalBarSpacing(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } bool IfcReinforcingMesh::hasTransverseBarSpacing() const { return !entity->getArgument(16)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMesh::TransverseBarSpacing() const { return *entity->getArgument(16); } -void IfcReinforcingMesh::setTransverseBarSpacing(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } +double IfcReinforcingMesh::TransverseBarSpacing() const { return *entity->getArgument(16); } +void IfcReinforcingMesh::setTransverseBarSpacing(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } bool IfcReinforcingMesh::hasPredefinedType() const { return !entity->getArgument(17)->isNull(); } IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum IfcReinforcingMesh::PredefinedType() const { return IfcReinforcingMeshTypeEnum::FromString(*entity->getArgument(17)); } void IfcReinforcingMesh::setPredefinedType(IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v,IfcReinforcingMeshTypeEnum::ToString(v)); } @@ -12231,46 +13778,46 @@ bool IfcReinforcingMesh::is(Type::Enum v) const { return v == Type::IfcReinforci Type::Enum IfcReinforcingMesh::type() const { return Type::IfcReinforcingMesh; } Type::Enum IfcReinforcingMesh::Class() { return Type::IfcReinforcingMesh; } IfcReinforcingMesh::IfcReinforcingMesh(IfcAbstractEntity* e) : IfcReinforcingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingMesh)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingMesh::IfcReinforcingMesh(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, boost::optional< IfcPositiveLengthMeasure > v10_MeshLength, boost::optional< IfcPositiveLengthMeasure > v11_MeshWidth, boost::optional< IfcPositiveLengthMeasure > v12_LongitudinalBarNominalDiameter, boost::optional< IfcPositiveLengthMeasure > v13_TransverseBarNominalDiameter, boost::optional< IfcAreaMeasure > v14_LongitudinalBarCrossSectionArea, boost::optional< IfcAreaMeasure > v15_TransverseBarCrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v16_LongitudinalBarSpacing, boost::optional< IfcPositiveLengthMeasure > v17_TransverseBarSpacing, boost::optional< IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum > v18_PredefinedType) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } if (v10_MeshLength) { e->setArgument(9,(*v10_MeshLength)); } else { e->setArgument(9); } if (v11_MeshWidth) { e->setArgument(10,(*v11_MeshWidth)); } else { e->setArgument(10); } if (v12_LongitudinalBarNominalDiameter) { e->setArgument(11,(*v12_LongitudinalBarNominalDiameter)); } else { e->setArgument(11); } if (v13_TransverseBarNominalDiameter) { e->setArgument(12,(*v13_TransverseBarNominalDiameter)); } else { e->setArgument(12); } if (v14_LongitudinalBarCrossSectionArea) { e->setArgument(13,(*v14_LongitudinalBarCrossSectionArea)); } else { e->setArgument(13); } if (v15_TransverseBarCrossSectionArea) { e->setArgument(14,(*v15_TransverseBarCrossSectionArea)); } else { e->setArgument(14); } if (v16_LongitudinalBarSpacing) { e->setArgument(15,(*v16_LongitudinalBarSpacing)); } else { e->setArgument(15); } if (v17_TransverseBarSpacing) { e->setArgument(16,(*v17_TransverseBarSpacing)); } else { e->setArgument(16); } if (v18_PredefinedType) { e->setArgument(17,*v18_PredefinedType,IfcReinforcingMeshTypeEnum::ToString(*v18_PredefinedType)); } else { e->setArgument(17); } entity = e; EntityBuffer::Add(this); } +IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_MeshLength, boost::optional< double > v11_MeshWidth, boost::optional< double > v12_LongitudinalBarNominalDiameter, boost::optional< double > v13_TransverseBarNominalDiameter, boost::optional< double > v14_LongitudinalBarCrossSectionArea, boost::optional< double > v15_TransverseBarCrossSectionArea, boost::optional< double > v16_LongitudinalBarSpacing, boost::optional< double > v17_TransverseBarSpacing, boost::optional< IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum > v18_PredefinedType) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } if (v10_MeshLength) { e->setArgument(9,(*v10_MeshLength)); } else { e->setArgument(9); } if (v11_MeshWidth) { e->setArgument(10,(*v11_MeshWidth)); } else { e->setArgument(10); } if (v12_LongitudinalBarNominalDiameter) { e->setArgument(11,(*v12_LongitudinalBarNominalDiameter)); } else { e->setArgument(11); } if (v13_TransverseBarNominalDiameter) { e->setArgument(12,(*v13_TransverseBarNominalDiameter)); } else { e->setArgument(12); } if (v14_LongitudinalBarCrossSectionArea) { e->setArgument(13,(*v14_LongitudinalBarCrossSectionArea)); } else { e->setArgument(13); } if (v15_TransverseBarCrossSectionArea) { e->setArgument(14,(*v15_TransverseBarCrossSectionArea)); } else { e->setArgument(14); } if (v16_LongitudinalBarSpacing) { e->setArgument(15,(*v16_LongitudinalBarSpacing)); } else { e->setArgument(15); } if (v17_TransverseBarSpacing) { e->setArgument(16,(*v17_TransverseBarSpacing)); } else { e->setArgument(16); } if (v18_PredefinedType) { e->setArgument(17,*v18_PredefinedType,IfcReinforcingMeshTypeEnum::ToString(*v18_PredefinedType)); } else { e->setArgument(17); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReinforcingMeshType IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum IfcReinforcingMeshType::PredefinedType() const { return IfcReinforcingMeshTypeEnum::FromString(*entity->getArgument(9)); } void IfcReinforcingMeshType::setPredefinedType(IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcReinforcingMeshTypeEnum::ToString(v)); } bool IfcReinforcingMeshType::hasMeshLength() const { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMeshType::MeshLength() const { return *entity->getArgument(10); } -void IfcReinforcingMeshType::setMeshLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcReinforcingMeshType::MeshLength() const { return *entity->getArgument(10); } +void IfcReinforcingMeshType::setMeshLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcReinforcingMeshType::hasMeshWidth() const { return !entity->getArgument(11)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMeshType::MeshWidth() const { return *entity->getArgument(11); } -void IfcReinforcingMeshType::setMeshWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcReinforcingMeshType::MeshWidth() const { return *entity->getArgument(11); } +void IfcReinforcingMeshType::setMeshWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcReinforcingMeshType::hasLongitudinalBarNominalDiameter() const { return !entity->getArgument(12)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { return *entity->getArgument(12); } -void IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +double IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { return *entity->getArgument(12); } +void IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcReinforcingMeshType::hasTransverseBarNominalDiameter() const { return !entity->getArgument(13)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMeshType::TransverseBarNominalDiameter() const { return *entity->getArgument(13); } -void IfcReinforcingMeshType::setTransverseBarNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } +double IfcReinforcingMeshType::TransverseBarNominalDiameter() const { return *entity->getArgument(13); } +void IfcReinforcingMeshType::setTransverseBarNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } bool IfcReinforcingMeshType::hasLongitudinalBarCrossSectionArea() const { return !entity->getArgument(14)->isNull(); } -IfcAreaMeasure IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { return *entity->getArgument(14); } -void IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } +double IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { return *entity->getArgument(14); } +void IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } bool IfcReinforcingMeshType::hasTransverseBarCrossSectionArea() const { return !entity->getArgument(15)->isNull(); } -IfcAreaMeasure IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { return *entity->getArgument(15); } -void IfcReinforcingMeshType::setTransverseBarCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } +double IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { return *entity->getArgument(15); } +void IfcReinforcingMeshType::setTransverseBarCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } bool IfcReinforcingMeshType::hasLongitudinalBarSpacing() const { return !entity->getArgument(16)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMeshType::LongitudinalBarSpacing() const { return *entity->getArgument(16); } -void IfcReinforcingMeshType::setLongitudinalBarSpacing(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } +double IfcReinforcingMeshType::LongitudinalBarSpacing() const { return *entity->getArgument(16); } +void IfcReinforcingMeshType::setLongitudinalBarSpacing(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } bool IfcReinforcingMeshType::hasTransverseBarSpacing() const { return !entity->getArgument(17)->isNull(); } -IfcPositiveLengthMeasure IfcReinforcingMeshType::TransverseBarSpacing() const { return *entity->getArgument(17); } -void IfcReinforcingMeshType::setTransverseBarSpacing(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v); } +double IfcReinforcingMeshType::TransverseBarSpacing() const { return *entity->getArgument(17); } +void IfcReinforcingMeshType::setTransverseBarSpacing(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v); } bool IfcReinforcingMeshType::hasBendingShapeCode() const { return !entity->getArgument(18)->isNull(); } -IfcLabel IfcReinforcingMeshType::BendingShapeCode() const { return *entity->getArgument(18); } -void IfcReinforcingMeshType::setBendingShapeCode(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(18,v); } +std::string IfcReinforcingMeshType::BendingShapeCode() const { return *entity->getArgument(18); } +void IfcReinforcingMeshType::setBendingShapeCode(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(18,v); } bool IfcReinforcingMeshType::hasBendingParameters() const { return !entity->getArgument(19)->isNull(); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcReinforcingMeshType::BendingParameters() const { IfcEntityList::ptr es = *entity->getArgument(19); return es->as(); } -void IfcReinforcingMeshType::setBendingParameters(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(19,v->generalize()); } +IfcEntityList::ptr IfcReinforcingMeshType::BendingParameters() const { return *entity->getArgument(19); } +void IfcReinforcingMeshType::setBendingParameters(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(19,v); } bool IfcReinforcingMeshType::is(Type::Enum v) const { return v == Type::IfcReinforcingMeshType || IfcReinforcingElementType::is(v); } Type::Enum IfcReinforcingMeshType::type() const { return Type::IfcReinforcingMeshType; } Type::Enum IfcReinforcingMeshType::Class() { return Type::IfcReinforcingMeshType; } IfcReinforcingMeshType::IfcReinforcingMeshType(IfcAbstractEntity* e) : IfcReinforcingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReinforcingMeshType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReinforcingMeshType::IfcReinforcingMeshType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_MeshLength, boost::optional< IfcPositiveLengthMeasure > v12_MeshWidth, boost::optional< IfcPositiveLengthMeasure > v13_LongitudinalBarNominalDiameter, boost::optional< IfcPositiveLengthMeasure > v14_TransverseBarNominalDiameter, boost::optional< IfcAreaMeasure > v15_LongitudinalBarCrossSectionArea, boost::optional< IfcAreaMeasure > v16_TransverseBarCrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v17_LongitudinalBarSpacing, boost::optional< IfcPositiveLengthMeasure > v18_TransverseBarSpacing, boost::optional< IfcLabel > v19_BendingShapeCode, boost::optional< IfcEntityList::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType)); if (v11_MeshLength) { e->setArgument(10,(*v11_MeshLength)); } else { e->setArgument(10); } if (v12_MeshWidth) { e->setArgument(11,(*v12_MeshWidth)); } else { e->setArgument(11); } if (v13_LongitudinalBarNominalDiameter) { e->setArgument(12,(*v13_LongitudinalBarNominalDiameter)); } else { e->setArgument(12); } if (v14_TransverseBarNominalDiameter) { e->setArgument(13,(*v14_TransverseBarNominalDiameter)); } else { e->setArgument(13); } if (v15_LongitudinalBarCrossSectionArea) { e->setArgument(14,(*v15_LongitudinalBarCrossSectionArea)); } else { e->setArgument(14); } if (v16_TransverseBarCrossSectionArea) { e->setArgument(15,(*v16_TransverseBarCrossSectionArea)); } else { e->setArgument(15); } if (v17_LongitudinalBarSpacing) { e->setArgument(16,(*v17_LongitudinalBarSpacing)); } else { e->setArgument(16); } if (v18_TransverseBarSpacing) { e->setArgument(17,(*v18_TransverseBarSpacing)); } else { e->setArgument(17); } if (v19_BendingShapeCode) { e->setArgument(18,(*v19_BendingShapeCode)); } else { e->setArgument(18); } if (v20_BendingParameters) { e->setArgument(19,(*v20_BendingParameters)); } else { e->setArgument(19); } entity = e; EntityBuffer::Add(this); } +IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< IfcEntityList::ptr > v20_BendingParameters) : IfcReinforcingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcReinforcingMeshTypeEnum::ToString(v10_PredefinedType)); if (v11_MeshLength) { e->setArgument(10,(*v11_MeshLength)); } else { e->setArgument(10); } if (v12_MeshWidth) { e->setArgument(11,(*v12_MeshWidth)); } else { e->setArgument(11); } if (v13_LongitudinalBarNominalDiameter) { e->setArgument(12,(*v13_LongitudinalBarNominalDiameter)); } else { e->setArgument(12); } if (v14_TransverseBarNominalDiameter) { e->setArgument(13,(*v14_TransverseBarNominalDiameter)); } else { e->setArgument(13); } if (v15_LongitudinalBarCrossSectionArea) { e->setArgument(14,(*v15_LongitudinalBarCrossSectionArea)); } else { e->setArgument(14); } if (v16_TransverseBarCrossSectionArea) { e->setArgument(15,(*v16_TransverseBarCrossSectionArea)); } else { e->setArgument(15); } if (v17_LongitudinalBarSpacing) { e->setArgument(16,(*v17_LongitudinalBarSpacing)); } else { e->setArgument(16); } if (v18_TransverseBarSpacing) { e->setArgument(17,(*v18_TransverseBarSpacing)); } else { e->setArgument(17); } if (v19_BendingShapeCode) { e->setArgument(18,(*v19_BendingShapeCode)); } else { e->setArgument(18); } if (v20_BendingParameters) { e->setArgument(19,(*v20_BendingParameters)); } else { e->setArgument(19); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAggregates IfcObjectDefinition* IfcRelAggregates::RelatingObject() const { return (IfcObjectDefinition*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -12281,7 +13828,7 @@ bool IfcRelAggregates::is(Type::Enum v) const { return v == Type::IfcRelAggregat Type::Enum IfcRelAggregates::type() const { return Type::IfcRelAggregates; } Type::Enum IfcRelAggregates::Class() { return Type::IfcRelAggregates; } IfcRelAggregates::IfcRelAggregates(IfcAbstractEntity* e) : IfcRelDecomposes((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAggregates)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAggregates::IfcRelAggregates(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingObject)); e->setArgument(5,(v6_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingObject)); e->setArgument(5,(v6_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssigns IfcTemplatedEntityList< IfcObjectDefinition >::ptr IfcRelAssigns::RelatedObjects() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } @@ -12293,7 +13840,7 @@ bool IfcRelAssigns::is(Type::Enum v) const { return v == Type::IfcRelAssigns || Type::Enum IfcRelAssigns::type() const { return Type::IfcRelAssigns; } Type::Enum IfcRelAssigns::Class() { return Type::IfcRelAssigns; } IfcRelAssigns::IfcRelAssigns(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssigns)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssigns::IfcRelAssigns(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToActor IfcActor* IfcRelAssignsToActor::RelatingActor() const { return (IfcActor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } @@ -12305,7 +13852,7 @@ bool IfcRelAssignsToActor::is(Type::Enum v) const { return v == Type::IfcRelAssi Type::Enum IfcRelAssignsToActor::type() const { return Type::IfcRelAssignsToActor; } Type::Enum IfcRelAssignsToActor::Class() { return Type::IfcRelAssignsToActor; } IfcRelAssignsToActor::IfcRelAssignsToActor(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToActor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToActor::IfcRelAssignsToActor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingActor)); e->setArgument(7,(v8_ActingRole)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingActor)); e->setArgument(7,(v8_ActingRole)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToControl IfcControl* IfcRelAssignsToControl::RelatingControl() const { return (IfcControl*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } @@ -12314,7 +13861,7 @@ bool IfcRelAssignsToControl::is(Type::Enum v) const { return v == Type::IfcRelAs Type::Enum IfcRelAssignsToControl::type() const { return Type::IfcRelAssignsToControl; } Type::Enum IfcRelAssignsToControl::Class() { return Type::IfcRelAssignsToControl; } IfcRelAssignsToControl::IfcRelAssignsToControl(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToControl::IfcRelAssignsToControl(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingControl)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingControl)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToGroup IfcGroup* IfcRelAssignsToGroup::RelatingGroup() const { return (IfcGroup*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } @@ -12323,20 +13870,20 @@ bool IfcRelAssignsToGroup::is(Type::Enum v) const { return v == Type::IfcRelAssi Type::Enum IfcRelAssignsToGroup::type() const { return Type::IfcRelAssignsToGroup; } Type::Enum IfcRelAssignsToGroup::Class() { return Type::IfcRelAssignsToGroup; } IfcRelAssignsToGroup::IfcRelAssignsToGroup(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToGroup::IfcRelAssignsToGroup(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingGroup)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingGroup)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToGroupByFactor -IfcRatioMeasure IfcRelAssignsToGroupByFactor::Factor() const { return *entity->getArgument(7); } -void IfcRelAssignsToGroupByFactor::setFactor(IfcRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcRelAssignsToGroupByFactor::Factor() const { return *entity->getArgument(7); } +void IfcRelAssignsToGroupByFactor::setFactor(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcRelAssignsToGroupByFactor::is(Type::Enum v) const { return v == Type::IfcRelAssignsToGroupByFactor || IfcRelAssignsToGroup::is(v); } Type::Enum IfcRelAssignsToGroupByFactor::type() const { return Type::IfcRelAssignsToGroupByFactor; } Type::Enum IfcRelAssignsToGroupByFactor::Class() { return Type::IfcRelAssignsToGroupByFactor; } IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(IfcAbstractEntity* e) : IfcRelAssignsToGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToGroupByFactor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup, IfcRatioMeasure v8_Factor) : IfcRelAssignsToGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingGroup)); e->setArgument(7,(v8_Factor)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingGroup)); e->setArgument(7,(v8_Factor)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToProcess -IfcProcessSelect IfcRelAssignsToProcess::RelatingProcess() const { return *entity->getArgument(6); } -void IfcRelAssignsToProcess::setRelatingProcess(IfcProcessSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +IfcProcessSelect* IfcRelAssignsToProcess::RelatingProcess() const { return (IfcProcessSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } +void IfcRelAssignsToProcess::setRelatingProcess(IfcProcessSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcRelAssignsToProcess::hasQuantityInProcess() const { return !entity->getArgument(7)->isNull(); } IfcMeasureWithUnit* IfcRelAssignsToProcess::QuantityInProcess() const { return (IfcMeasureWithUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } void IfcRelAssignsToProcess::setQuantityInProcess(IfcMeasureWithUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } @@ -12344,34 +13891,34 @@ bool IfcRelAssignsToProcess::is(Type::Enum v) const { return v == Type::IfcRelAs Type::Enum IfcRelAssignsToProcess::type() const { return Type::IfcRelAssignsToProcess; } Type::Enum IfcRelAssignsToProcess::Class() { return Type::IfcRelAssignsToProcess; } IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToProcess)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProcessSelect v7_RelatingProcess, IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingProcess)); e->setArgument(7,(v8_QuantityInProcess)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProcessSelect* v7_RelatingProcess, IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingProcess)); e->setArgument(7,(v8_QuantityInProcess)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToProduct -IfcProductSelect IfcRelAssignsToProduct::RelatingProduct() const { return *entity->getArgument(6); } -void IfcRelAssignsToProduct::setRelatingProduct(IfcProductSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +IfcProductSelect* IfcRelAssignsToProduct::RelatingProduct() const { return (IfcProductSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } +void IfcRelAssignsToProduct::setRelatingProduct(IfcProductSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcRelAssignsToProduct::is(Type::Enum v) const { return v == Type::IfcRelAssignsToProduct || IfcRelAssigns::is(v); } Type::Enum IfcRelAssignsToProduct::type() const { return Type::IfcRelAssignsToProduct; } Type::Enum IfcRelAssignsToProduct::Class() { return Type::IfcRelAssignsToProduct; } IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToProduct)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProductSelect v7_RelatingProduct) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingProduct)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingProduct)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssignsToResource -IfcResourceSelect IfcRelAssignsToResource::RelatingResource() const { return *entity->getArgument(6); } -void IfcRelAssignsToResource::setRelatingResource(IfcResourceSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +IfcResourceSelect* IfcRelAssignsToResource::RelatingResource() const { return (IfcResourceSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } +void IfcRelAssignsToResource::setRelatingResource(IfcResourceSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcRelAssignsToResource::is(Type::Enum v) const { return v == Type::IfcRelAssignsToResource || IfcRelAssigns::is(v); } Type::Enum IfcRelAssignsToResource::type() const { return Type::IfcRelAssignsToResource; } Type::Enum IfcRelAssignsToResource::Class() { return Type::IfcRelAssignsToResource; } IfcRelAssignsToResource::IfcRelAssignsToResource(IfcAbstractEntity* e) : IfcRelAssigns((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssignsToResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssignsToResource::IfcRelAssignsToResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcResourceSelect v7_RelatingResource) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingResource)); entity = e; EntityBuffer::Add(this); } +IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) { e->setArgument(5,*v6_RelatedObjectsType,IfcObjectTypeEnum::ToString(*v6_RelatedObjectsType)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingResource)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociates -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcRelAssociates::RelatedObjects() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } -void IfcRelAssociates::setRelatedObjects(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } +IfcEntityList::ptr IfcRelAssociates::RelatedObjects() const { return *entity->getArgument(4); } +void IfcRelAssociates::setRelatedObjects(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } 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; } IfcRelAssociates::IfcRelAssociates(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociates)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociates::IfcRelAssociates(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesApproval IfcApproval* IfcRelAssociatesApproval::RelatingApproval() const { return (IfcApproval*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } @@ -12380,62 +13927,62 @@ bool IfcRelAssociatesApproval::is(Type::Enum v) const { return v == Type::IfcRel Type::Enum IfcRelAssociatesApproval::type() const { return Type::IfcRelAssociatesApproval; } Type::Enum IfcRelAssociatesApproval::Class() { return Type::IfcRelAssociatesApproval; } IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesApproval)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); e->setArgument(5,(v6_RelatingApproval)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcApproval* v6_RelatingApproval) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); e->setArgument(5,(v6_RelatingApproval)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesClassification -IfcClassificationSelect IfcRelAssociatesClassification::RelatingClassification() const { return *entity->getArgument(5); } -void IfcRelAssociatesClassification::setRelatingClassification(IfcClassificationSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +IfcClassificationSelect* IfcRelAssociatesClassification::RelatingClassification() const { return (IfcClassificationSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcRelAssociatesClassification::setRelatingClassification(IfcClassificationSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcRelAssociatesClassification::is(Type::Enum v) const { return v == Type::IfcRelAssociatesClassification || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesClassification::type() const { return Type::IfcRelAssociatesClassification; } Type::Enum IfcRelAssociatesClassification::Class() { return Type::IfcRelAssociatesClassification; } IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesClassification)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcClassificationSelect v6_RelatingClassification) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); e->setArgument(5,(v6_RelatingClassification)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); e->setArgument(5,(v6_RelatingClassification)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesConstraint bool IfcRelAssociatesConstraint::hasIntent() const { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcRelAssociatesConstraint::Intent() const { return *entity->getArgument(5); } -void IfcRelAssociatesConstraint::setIntent(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcRelAssociatesConstraint::Intent() const { return *entity->getArgument(5); } +void IfcRelAssociatesConstraint::setIntent(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } IfcConstraint* IfcRelAssociatesConstraint::RelatingConstraint() const { return (IfcConstraint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } void IfcRelAssociatesConstraint::setRelatingConstraint(IfcConstraint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcRelAssociatesConstraint::is(Type::Enum v) const { return v == Type::IfcRelAssociatesConstraint || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesConstraint::type() const { return Type::IfcRelAssociatesConstraint; } Type::Enum IfcRelAssociatesConstraint::Class() { return Type::IfcRelAssociatesConstraint; } IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesConstraint)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects, boost::optional< IfcLabel > v6_Intent, IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); if (v6_Intent) { e->setArgument(5,(*v6_Intent)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingConstraint)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); if (v6_Intent) { e->setArgument(5,(*v6_Intent)); } else { e->setArgument(5); } e->setArgument(6,(v7_RelatingConstraint)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesDocument -IfcDocumentSelect IfcRelAssociatesDocument::RelatingDocument() const { return *entity->getArgument(5); } -void IfcRelAssociatesDocument::setRelatingDocument(IfcDocumentSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +IfcDocumentSelect* IfcRelAssociatesDocument::RelatingDocument() const { return (IfcDocumentSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcRelAssociatesDocument::setRelatingDocument(IfcDocumentSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcRelAssociatesDocument::is(Type::Enum v) const { return v == Type::IfcRelAssociatesDocument || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesDocument::type() const { return Type::IfcRelAssociatesDocument; } Type::Enum IfcRelAssociatesDocument::Class() { return Type::IfcRelAssociatesDocument; } IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesDocument)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcDocumentSelect v6_RelatingDocument) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); e->setArgument(5,(v6_RelatingDocument)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); e->setArgument(5,(v6_RelatingDocument)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesLibrary -IfcLibrarySelect IfcRelAssociatesLibrary::RelatingLibrary() const { return *entity->getArgument(5); } -void IfcRelAssociatesLibrary::setRelatingLibrary(IfcLibrarySelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +IfcLibrarySelect* IfcRelAssociatesLibrary::RelatingLibrary() const { return (IfcLibrarySelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcRelAssociatesLibrary::setRelatingLibrary(IfcLibrarySelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcRelAssociatesLibrary::is(Type::Enum v) const { return v == Type::IfcRelAssociatesLibrary || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesLibrary::type() const { return Type::IfcRelAssociatesLibrary; } Type::Enum IfcRelAssociatesLibrary::Class() { return Type::IfcRelAssociatesLibrary; } IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesLibrary)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcLibrarySelect v6_RelatingLibrary) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); e->setArgument(5,(v6_RelatingLibrary)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); e->setArgument(5,(v6_RelatingLibrary)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelAssociatesMaterial -IfcMaterialSelect IfcRelAssociatesMaterial::RelatingMaterial() const { return *entity->getArgument(5); } -void IfcRelAssociatesMaterial::setRelatingMaterial(IfcMaterialSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +IfcMaterialSelect* IfcRelAssociatesMaterial::RelatingMaterial() const { return (IfcMaterialSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcRelAssociatesMaterial::setRelatingMaterial(IfcMaterialSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcRelAssociatesMaterial::is(Type::Enum v) const { return v == Type::IfcRelAssociatesMaterial || IfcRelAssociates::is(v); } Type::Enum IfcRelAssociatesMaterial::type() const { return Type::IfcRelAssociatesMaterial; } Type::Enum IfcRelAssociatesMaterial::Class() { return Type::IfcRelAssociatesMaterial; } IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcAbstractEntity* e) : IfcRelAssociates((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelAssociatesMaterial)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcMaterialSelect v6_RelatingMaterial) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); e->setArgument(5,(v6_RelatingMaterial)); entity = e; EntityBuffer::Add(this); } +IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)); e->setArgument(5,(v6_RelatingMaterial)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnects bool IfcRelConnects::is(Type::Enum v) const { return v == Type::IfcRelConnects || IfcRelationship::is(v); } Type::Enum IfcRelConnects::type() const { return Type::IfcRelConnects; } Type::Enum IfcRelConnects::Class() { return Type::IfcRelConnects; } IfcRelConnects::IfcRelConnects(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnects)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnects::IfcRelConnects(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsElements bool IfcRelConnectsElements::hasConnectionGeometry() const { return !entity->getArgument(4)->isNull(); } @@ -12449,7 +13996,7 @@ bool IfcRelConnectsElements::is(Type::Enum v) const { return v == Type::IfcRelCo Type::Enum IfcRelConnectsElements::type() const { return Type::IfcRelConnectsElements; } Type::Enum IfcRelConnectsElements::Class() { return Type::IfcRelConnectsElements; } IfcRelConnectsElements::IfcRelConnectsElements(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsElements::IfcRelConnectsElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsPathElements std::vector< double > /*[0:?]*/ IfcRelConnectsPathElements::RelatingPriorities() const { return *entity->getArgument(7); } @@ -12464,7 +14011,7 @@ bool IfcRelConnectsPathElements::is(Type::Enum v) const { return v == Type::IfcR Type::Enum IfcRelConnectsPathElements::type() const { return Type::IfcRelConnectsPathElements; } Type::Enum IfcRelConnectsPathElements::Class() { return Type::IfcRelConnectsPathElements; } IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcAbstractEntity* e) : IfcRelConnectsElements((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsPathElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< double > /*[0:?]*/ v8_RelatingPriorities, std::vector< double > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType) : IfcRelConnectsElements((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); e->setArgument(7,(v8_RelatingPriorities)); e->setArgument(8,(v9_RelatedPriorities)); e->setArgument(9,v10_RelatedConnectionType,IfcConnectionTypeEnum::ToString(v10_RelatedConnectionType)); e->setArgument(10,v11_RelatingConnectionType,IfcConnectionTypeEnum::ToString(v11_RelatingConnectionType)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< double > /*[0:?]*/ v8_RelatingPriorities, std::vector< double > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType) : IfcRelConnectsElements((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); e->setArgument(7,(v8_RelatingPriorities)); e->setArgument(8,(v9_RelatedPriorities)); e->setArgument(9,v10_RelatedConnectionType,IfcConnectionTypeEnum::ToString(v10_RelatedConnectionType)); e->setArgument(10,v11_RelatingConnectionType,IfcConnectionTypeEnum::ToString(v11_RelatingConnectionType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsPortToElement IfcPort* IfcRelConnectsPortToElement::RelatingPort() const { return (IfcPort*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -12475,7 +14022,7 @@ bool IfcRelConnectsPortToElement::is(Type::Enum v) const { return v == Type::Ifc Type::Enum IfcRelConnectsPortToElement::type() const { return Type::IfcRelConnectsPortToElement; } Type::Enum IfcRelConnectsPortToElement::Class() { return Type::IfcRelConnectsPortToElement; } IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsPortToElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPort* v5_RelatingPort, IfcDistributionElement* v6_RelatedElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingPort)); e->setArgument(5,(v6_RelatedElement)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPort* v5_RelatingPort, IfcDistributionElement* v6_RelatedElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingPort)); e->setArgument(5,(v6_RelatedElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsPorts IfcPort* IfcRelConnectsPorts::RelatingPort() const { return (IfcPort*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -12489,18 +14036,18 @@ bool IfcRelConnectsPorts::is(Type::Enum v) const { return v == Type::IfcRelConne Type::Enum IfcRelConnectsPorts::type() const { return Type::IfcRelConnectsPorts; } Type::Enum IfcRelConnectsPorts::Class() { return Type::IfcRelConnectsPorts; } IfcRelConnectsPorts::IfcRelConnectsPorts(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsPorts)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsPorts::IfcRelConnectsPorts(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPort* v5_RelatingPort, IfcPort* v6_RelatedPort, IfcElement* v7_RealizingElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingPort)); e->setArgument(5,(v6_RelatedPort)); e->setArgument(6,(v7_RealizingElement)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPort* v5_RelatingPort, IfcPort* v6_RelatedPort, IfcElement* v7_RealizingElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingPort)); e->setArgument(5,(v6_RelatedPort)); e->setArgument(6,(v7_RealizingElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsStructuralActivity -IfcStructuralActivityAssignmentSelect IfcRelConnectsStructuralActivity::RelatingElement() const { return *entity->getArgument(4); } -void IfcRelConnectsStructuralActivity::setRelatingElement(IfcStructuralActivityAssignmentSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +IfcStructuralActivityAssignmentSelect* IfcRelConnectsStructuralActivity::RelatingElement() const { return (IfcStructuralActivityAssignmentSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } +void IfcRelConnectsStructuralActivity::setRelatingElement(IfcStructuralActivityAssignmentSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } IfcStructuralActivity* IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return (IfcStructuralActivity*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } void IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(IfcStructuralActivity* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcRelConnectsStructuralActivity::is(Type::Enum v) const { return v == Type::IfcRelConnectsStructuralActivity || IfcRelConnects::is(v); } Type::Enum IfcRelConnectsStructuralActivity::type() const { return Type::IfcRelConnectsStructuralActivity; } Type::Enum IfcRelConnectsStructuralActivity::Class() { return Type::IfcRelConnectsStructuralActivity; } IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsStructuralActivity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralActivityAssignmentSelect v5_RelatingElement, IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingElement)); e->setArgument(5,(v6_RelatedStructuralActivity)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralActivityAssignmentSelect* v5_RelatingElement, IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingElement)); e->setArgument(5,(v6_RelatedStructuralActivity)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsStructuralMember IfcStructuralMember* IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return (IfcStructuralMember*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -12514,8 +14061,8 @@ bool IfcRelConnectsStructuralMember::hasAdditionalConditions() const { return !e IfcStructuralConnectionCondition* IfcRelConnectsStructuralMember::AdditionalConditions() const { return (IfcStructuralConnectionCondition*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } void IfcRelConnectsStructuralMember::setAdditionalConditions(IfcStructuralConnectionCondition* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcRelConnectsStructuralMember::hasSupportedLength() const { return !entity->getArgument(8)->isNull(); } -IfcLengthMeasure IfcRelConnectsStructuralMember::SupportedLength() const { return *entity->getArgument(8); } -void IfcRelConnectsStructuralMember::setSupportedLength(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcRelConnectsStructuralMember::SupportedLength() const { return *entity->getArgument(8); } +void IfcRelConnectsStructuralMember::setSupportedLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcRelConnectsStructuralMember::hasConditionCoordinateSystem() const { return !entity->getArgument(9)->isNull(); } IfcAxis2Placement3D* IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { return (IfcAxis2Placement3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } void IfcRelConnectsStructuralMember::setConditionCoordinateSystem(IfcAxis2Placement3D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } @@ -12523,7 +14070,7 @@ bool IfcRelConnectsStructuralMember::is(Type::Enum v) const { return v == Type:: Type::Enum IfcRelConnectsStructuralMember::type() const { return Type::IfcRelConnectsStructuralMember; } Type::Enum IfcRelConnectsStructuralMember::Class() { return Type::IfcRelConnectsStructuralMember; } IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsStructuralMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< IfcLengthMeasure > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingStructuralMember)); e->setArgument(5,(v6_RelatedStructuralConnection)); e->setArgument(6,(v7_AppliedCondition)); e->setArgument(7,(v8_AdditionalConditions)); if (v9_SupportedLength) { e->setArgument(8,(*v9_SupportedLength)); } else { e->setArgument(8); } e->setArgument(9,(v10_ConditionCoordinateSystem)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingStructuralMember)); e->setArgument(5,(v6_RelatedStructuralConnection)); e->setArgument(6,(v7_AppliedCondition)); e->setArgument(7,(v8_AdditionalConditions)); if (v9_SupportedLength) { e->setArgument(8,(*v9_SupportedLength)); } else { e->setArgument(8); } e->setArgument(9,(v10_ConditionCoordinateSystem)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsWithEccentricity IfcConnectionGeometry* IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return (IfcConnectionGeometry*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(10))); } @@ -12532,19 +14079,19 @@ bool IfcRelConnectsWithEccentricity::is(Type::Enum v) const { return v == Type:: Type::Enum IfcRelConnectsWithEccentricity::type() const { return Type::IfcRelConnectsWithEccentricity; } Type::Enum IfcRelConnectsWithEccentricity::Class() { return Type::IfcRelConnectsWithEccentricity; } IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(IfcAbstractEntity* e) : IfcRelConnectsStructuralMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsWithEccentricity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< IfcLengthMeasure > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem, IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingStructuralMember)); e->setArgument(5,(v6_RelatedStructuralConnection)); e->setArgument(6,(v7_AppliedCondition)); e->setArgument(7,(v8_AdditionalConditions)); if (v9_SupportedLength) { e->setArgument(8,(*v9_SupportedLength)); } else { e->setArgument(8); } e->setArgument(9,(v10_ConditionCoordinateSystem)); e->setArgument(10,(v11_ConnectionConstraint)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem, IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingStructuralMember)); e->setArgument(5,(v6_RelatedStructuralConnection)); e->setArgument(6,(v7_AppliedCondition)); e->setArgument(7,(v8_AdditionalConditions)); if (v9_SupportedLength) { e->setArgument(8,(*v9_SupportedLength)); } else { e->setArgument(8); } e->setArgument(9,(v10_ConditionCoordinateSystem)); e->setArgument(10,(v11_ConnectionConstraint)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsWithRealizingElements IfcTemplatedEntityList< IfcElement >::ptr IfcRelConnectsWithRealizingElements::RealizingElements() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } void IfcRelConnectsWithRealizingElements::setRealizingElements(IfcTemplatedEntityList< IfcElement >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } bool IfcRelConnectsWithRealizingElements::hasConnectionType() const { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcRelConnectsWithRealizingElements::ConnectionType() const { return *entity->getArgument(8); } -void IfcRelConnectsWithRealizingElements::setConnectionType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcRelConnectsWithRealizingElements::ConnectionType() const { return *entity->getArgument(8); } +void IfcRelConnectsWithRealizingElements::setConnectionType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcRelConnectsWithRealizingElements::is(Type::Enum v) const { return v == Type::IfcRelConnectsWithRealizingElements || IfcRelConnectsElements::is(v); } Type::Enum IfcRelConnectsWithRealizingElements::type() const { return Type::IfcRelConnectsWithRealizingElements; } Type::Enum IfcRelConnectsWithRealizingElements::Class() { return Type::IfcRelConnectsWithRealizingElements; } IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(IfcAbstractEntity* e) : IfcRelConnectsElements((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsWithRealizingElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, IfcTemplatedEntityList< IfcElement >::ptr v8_RealizingElements, boost::optional< IfcLabel > v9_ConnectionType) : IfcRelConnectsElements((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); e->setArgument(7,(v8_RealizingElements)->generalize()); if (v9_ConnectionType) { e->setArgument(8,(*v9_ConnectionType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, IfcTemplatedEntityList< IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); e->setArgument(7,(v8_RealizingElements)->generalize()); if (v9_ConnectionType) { e->setArgument(8,(*v9_ConnectionType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelContainedInSpatialStructure IfcTemplatedEntityList< IfcProduct >::ptr IfcRelContainedInSpatialStructure::RelatedElements() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } @@ -12555,7 +14102,7 @@ bool IfcRelContainedInSpatialStructure::is(Type::Enum v) const { return v == Typ Type::Enum IfcRelContainedInSpatialStructure::type() const { return Type::IfcRelContainedInSpatialStructure; } Type::Enum IfcRelContainedInSpatialStructure::Class() { return Type::IfcRelContainedInSpatialStructure; } IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelContainedInSpatialStructure)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedElements)->generalize()); e->setArgument(5,(v6_RelatingStructure)); entity = e; EntityBuffer::Add(this); } +IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedElements)->generalize()); e->setArgument(5,(v6_RelatingStructure)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelCoversBldgElements IfcElement* IfcRelCoversBldgElements::RelatingBuildingElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -12566,7 +14113,7 @@ bool IfcRelCoversBldgElements::is(Type::Enum v) const { return v == Type::IfcRel Type::Enum IfcRelCoversBldgElements::type() const { return Type::IfcRelCoversBldgElements; } Type::Enum IfcRelCoversBldgElements::Class() { return Type::IfcRelCoversBldgElements; } IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelCoversBldgElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingBuildingElement)); e->setArgument(5,(v6_RelatedCoverings)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingBuildingElement)); e->setArgument(5,(v6_RelatedCoverings)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelCoversSpaces IfcSpace* IfcRelCoversSpaces::RelatingSpace() const { return (IfcSpace*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -12577,32 +14124,32 @@ bool IfcRelCoversSpaces::is(Type::Enum v) const { return v == Type::IfcRelCovers Type::Enum IfcRelCoversSpaces::type() const { return Type::IfcRelCoversSpaces; } Type::Enum IfcRelCoversSpaces::Class() { return Type::IfcRelCoversSpaces; } IfcRelCoversSpaces::IfcRelCoversSpaces(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelCoversSpaces)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelCoversSpaces::IfcRelCoversSpaces(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpace* v5_RelatingSpace, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSpace)); e->setArgument(5,(v6_RelatedCoverings)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpace* v5_RelatingSpace, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSpace)); e->setArgument(5,(v6_RelatedCoverings)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDeclares IfcContext* IfcRelDeclares::RelatingContext() const { return (IfcContext*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } void IfcRelDeclares::setRelatingContext(IfcContext* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcRelDeclares::RelatedDefinitions() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } -void IfcRelDeclares::setRelatedDefinitions(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } +IfcEntityList::ptr IfcRelDeclares::RelatedDefinitions() const { return *entity->getArgument(5); } +void IfcRelDeclares::setRelatedDefinitions(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcRelDeclares::is(Type::Enum v) const { return v == Type::IfcRelDeclares || IfcRelationship::is(v); } Type::Enum IfcRelDeclares::type() const { return Type::IfcRelDeclares; } Type::Enum IfcRelDeclares::Class() { return Type::IfcRelDeclares; } IfcRelDeclares::IfcRelDeclares(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDeclares)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDeclares::IfcRelDeclares(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcContext* v5_RelatingContext, IfcEntityList::ptr v6_RelatedDefinitions) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingContext)); e->setArgument(5,(v6_RelatedDefinitions)); entity = e; EntityBuffer::Add(this); } +IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcContext* v5_RelatingContext, IfcEntityList::ptr v6_RelatedDefinitions) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingContext)); e->setArgument(5,(v6_RelatedDefinitions)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDecomposes 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(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDecomposes)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDecomposes::IfcRelDecomposes(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDefines 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; } IfcRelDefines::IfcRelDefines(IfcAbstractEntity* e) : IfcRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDefines)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDefines::IfcRelDefines(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDefinesByObject IfcTemplatedEntityList< IfcObject >::ptr IfcRelDefinesByObject::RelatedObjects() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } @@ -12613,18 +14160,18 @@ bool IfcRelDefinesByObject::is(Type::Enum v) const { return v == Type::IfcRelDef Type::Enum IfcRelDefinesByObject::type() const { return Type::IfcRelDefinesByObject; } Type::Enum IfcRelDefinesByObject::Class() { return Type::IfcRelDefinesByObject; } IfcRelDefinesByObject::IfcRelDefinesByObject(IfcAbstractEntity* e) : IfcRelDefines((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDefinesByObject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDefinesByObject::IfcRelDefinesByObject(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcObject* v6_RelatingObject) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingObject)); entity = e; EntityBuffer::Add(this); } +IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcObject* v6_RelatingObject) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingObject)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDefinesByProperties IfcTemplatedEntityList< IfcObjectDefinition >::ptr IfcRelDefinesByProperties::RelatedObjects() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } void IfcRelDefinesByProperties::setRelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v->generalize()); } -IfcPropertySetDefinitionSelect IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return *entity->getArgument(5); } -void IfcRelDefinesByProperties::setRelatingPropertyDefinition(IfcPropertySetDefinitionSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +IfcPropertySetDefinitionSelect* IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return (IfcPropertySetDefinitionSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcRelDefinesByProperties::setRelatingPropertyDefinition(IfcPropertySetDefinitionSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcRelDefinesByProperties::is(Type::Enum v) const { return v == Type::IfcRelDefinesByProperties || IfcRelDefines::is(v); } Type::Enum IfcRelDefinesByProperties::type() const { return Type::IfcRelDefinesByProperties; } Type::Enum IfcRelDefinesByProperties::Class() { return Type::IfcRelDefinesByProperties; } IfcRelDefinesByProperties::IfcRelDefinesByProperties(IfcAbstractEntity* e) : IfcRelDefines((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDefinesByProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDefinesByProperties::IfcRelDefinesByProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingPropertyDefinition)); entity = e; EntityBuffer::Add(this); } +IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingPropertyDefinition)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDefinesByTemplate IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr IfcRelDefinesByTemplate::RelatedPropertySets() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } @@ -12635,7 +14182,7 @@ bool IfcRelDefinesByTemplate::is(Type::Enum v) const { return v == Type::IfcRelD Type::Enum IfcRelDefinesByTemplate::type() const { return Type::IfcRelDefinesByTemplate; } Type::Enum IfcRelDefinesByTemplate::Class() { return Type::IfcRelDefinesByTemplate; } IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(IfcAbstractEntity* e) : IfcRelDefines((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDefinesByTemplate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedPropertySets)->generalize()); e->setArgument(5,(v6_RelatingTemplate)); entity = e; EntityBuffer::Add(this); } +IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedPropertySets)->generalize()); e->setArgument(5,(v6_RelatingTemplate)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelDefinesByType IfcTemplatedEntityList< IfcObject >::ptr IfcRelDefinesByType::RelatedObjects() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } @@ -12646,7 +14193,7 @@ bool IfcRelDefinesByType::is(Type::Enum v) const { return v == Type::IfcRelDefin Type::Enum IfcRelDefinesByType::type() const { return Type::IfcRelDefinesByType; } Type::Enum IfcRelDefinesByType::Class() { return Type::IfcRelDefinesByType; } IfcRelDefinesByType::IfcRelDefinesByType(IfcAbstractEntity* e) : IfcRelDefines((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelDefinesByType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelDefinesByType::IfcRelDefinesByType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcTypeObject* v6_RelatingType) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingType)); entity = e; EntityBuffer::Add(this); } +IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcTypeObject* v6_RelatingType) : IfcRelDefines((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedObjects)->generalize()); e->setArgument(5,(v6_RelatingType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelFillsElement IfcOpeningElement* IfcRelFillsElement::RelatingOpeningElement() const { return (IfcOpeningElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -12657,7 +14204,7 @@ bool IfcRelFillsElement::is(Type::Enum v) const { return v == Type::IfcRelFillsE Type::Enum IfcRelFillsElement::type() const { return Type::IfcRelFillsElement; } Type::Enum IfcRelFillsElement::Class() { return Type::IfcRelFillsElement; } IfcRelFillsElement::IfcRelFillsElement(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelFillsElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelFillsElement::IfcRelFillsElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcOpeningElement* v5_RelatingOpeningElement, IfcElement* v6_RelatedBuildingElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingOpeningElement)); e->setArgument(5,(v6_RelatedBuildingElement)); entity = e; EntityBuffer::Add(this); } +IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcOpeningElement* v5_RelatingOpeningElement, IfcElement* v6_RelatedBuildingElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingOpeningElement)); e->setArgument(5,(v6_RelatedBuildingElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelFlowControlElements IfcTemplatedEntityList< IfcDistributionControlElement >::ptr IfcRelFlowControlElements::RelatedControlElements() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } @@ -12668,7 +14215,7 @@ bool IfcRelFlowControlElements::is(Type::Enum v) const { return v == Type::IfcRe Type::Enum IfcRelFlowControlElements::type() const { return Type::IfcRelFlowControlElements; } Type::Enum IfcRelFlowControlElements::Class() { return Type::IfcRelFlowControlElements; } IfcRelFlowControlElements::IfcRelFlowControlElements(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelFlowControlElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelFlowControlElements::IfcRelFlowControlElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v5_RelatedControlElements, IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedControlElements)->generalize()); e->setArgument(5,(v6_RelatingFlowElement)); entity = e; EntityBuffer::Add(this); } +IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v5_RelatedControlElements, IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedControlElements)->generalize()); e->setArgument(5,(v6_RelatingFlowElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelInterferesElements IfcElement* IfcRelInterferesElements::RelatingElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -12679,15 +14226,15 @@ bool IfcRelInterferesElements::hasInterferenceGeometry() const { return !entity- IfcConnectionGeometry* IfcRelInterferesElements::InterferenceGeometry() const { return (IfcConnectionGeometry*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } void IfcRelInterferesElements::setInterferenceGeometry(IfcConnectionGeometry* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcRelInterferesElements::hasInterferenceType() const { return !entity->getArgument(7)->isNull(); } -IfcIdentifier IfcRelInterferesElements::InterferenceType() const { return *entity->getArgument(7); } -void IfcRelInterferesElements::setInterferenceType(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcRelInterferesElements::InterferenceType() const { return *entity->getArgument(7); } +void IfcRelInterferesElements::setInterferenceType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcRelInterferesElements::ImpliedOrder() const { return *entity->getArgument(8); } void IfcRelInterferesElements::setImpliedOrder(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcRelInterferesElements::is(Type::Enum v) const { return v == Type::IfcRelInterferesElements || IfcRelConnects::is(v); } Type::Enum IfcRelInterferesElements::type() const { return Type::IfcRelInterferesElements; } Type::Enum IfcRelInterferesElements::Class() { return Type::IfcRelInterferesElements; } IfcRelInterferesElements::IfcRelInterferesElements(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelInterferesElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelInterferesElements::IfcRelInterferesElements(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingElement, IfcElement* v6_RelatedElement, IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< IfcIdentifier > v8_InterferenceType, bool v9_ImpliedOrder) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingElement)); e->setArgument(5,(v6_RelatedElement)); e->setArgument(6,(v7_InterferenceGeometry)); if (v8_InterferenceType) { e->setArgument(7,(*v8_InterferenceType)); } else { e->setArgument(7); } e->setArgument(8,(v9_ImpliedOrder)); entity = e; EntityBuffer::Add(this); } +IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingElement, IfcElement* v6_RelatedElement, IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, bool v9_ImpliedOrder) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingElement)); e->setArgument(5,(v6_RelatedElement)); e->setArgument(6,(v7_InterferenceGeometry)); if (v8_InterferenceType) { e->setArgument(7,(*v8_InterferenceType)); } else { e->setArgument(7); } e->setArgument(8,(v9_ImpliedOrder)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelNests IfcObjectDefinition* IfcRelNests::RelatingObject() const { return (IfcObjectDefinition*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -12698,7 +14245,7 @@ bool IfcRelNests::is(Type::Enum v) const { return v == Type::IfcRelNests || IfcR Type::Enum IfcRelNests::type() const { return Type::IfcRelNests; } Type::Enum IfcRelNests::Class() { return Type::IfcRelNests; } IfcRelNests::IfcRelNests(IfcAbstractEntity* e) : IfcRelDecomposes((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelNests)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelNests::IfcRelNests(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingObject)); e->setArgument(5,(v6_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRelNests::IfcRelNests(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingObject)); e->setArgument(5,(v6_RelatedObjects)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelProjectsElement IfcElement* IfcRelProjectsElement::RelatingElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -12709,7 +14256,7 @@ bool IfcRelProjectsElement::is(Type::Enum v) const { return v == Type::IfcRelPro Type::Enum IfcRelProjectsElement::type() const { return Type::IfcRelProjectsElement; } Type::Enum IfcRelProjectsElement::Class() { return Type::IfcRelProjectsElement; } IfcRelProjectsElement::IfcRelProjectsElement(IfcAbstractEntity* e) : IfcRelDecomposes((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelProjectsElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelProjectsElement::IfcRelProjectsElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingElement, IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingElement)); e->setArgument(5,(v6_RelatedFeatureElement)); entity = e; EntityBuffer::Add(this); } +IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingElement, IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingElement)); e->setArgument(5,(v6_RelatedFeatureElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelReferencedInSpatialStructure IfcTemplatedEntityList< IfcProduct >::ptr IfcRelReferencedInSpatialStructure::RelatedElements() const { IfcEntityList::ptr es = *entity->getArgument(4); return es->as(); } @@ -12720,7 +14267,7 @@ bool IfcRelReferencedInSpatialStructure::is(Type::Enum v) const { return v == Ty Type::Enum IfcRelReferencedInSpatialStructure::type() const { return Type::IfcRelReferencedInSpatialStructure; } Type::Enum IfcRelReferencedInSpatialStructure::Class() { return Type::IfcRelReferencedInSpatialStructure; } IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelReferencedInSpatialStructure)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedElements)->generalize()); e->setArgument(5,(v6_RelatingStructure)); entity = e; EntityBuffer::Add(this); } +IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatedElements)->generalize()); e->setArgument(5,(v6_RelatingStructure)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelSequence IfcProcess* IfcRelSequence::RelatingProcess() const { return (IfcProcess*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -12734,13 +14281,13 @@ bool IfcRelSequence::hasSequenceType() const { return !entity->getArgument(7)->i IfcSequenceEnum::IfcSequenceEnum IfcRelSequence::SequenceType() const { return IfcSequenceEnum::FromString(*entity->getArgument(7)); } void IfcRelSequence::setSequenceType(IfcSequenceEnum::IfcSequenceEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcSequenceEnum::ToString(v)); } bool IfcRelSequence::hasUserDefinedSequenceType() const { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcRelSequence::UserDefinedSequenceType() const { return *entity->getArgument(8); } -void IfcRelSequence::setUserDefinedSequenceType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcRelSequence::UserDefinedSequenceType() const { return *entity->getArgument(8); } +void IfcRelSequence::setUserDefinedSequenceType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcRelSequence::is(Type::Enum v) const { return v == Type::IfcRelSequence || IfcRelConnects::is(v); } Type::Enum IfcRelSequence::type() const { return Type::IfcRelSequence; } Type::Enum IfcRelSequence::Class() { return Type::IfcRelSequence; } IfcRelSequence::IfcRelSequence(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelSequence)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelSequence::IfcRelSequence(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcProcess* v5_RelatingProcess, IfcProcess* v6_RelatedProcess, IfcLagTime* v7_TimeLag, boost::optional< IfcSequenceEnum::IfcSequenceEnum > v8_SequenceType, boost::optional< IfcLabel > v9_UserDefinedSequenceType) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingProcess)); e->setArgument(5,(v6_RelatedProcess)); e->setArgument(6,(v7_TimeLag)); if (v8_SequenceType) { e->setArgument(7,*v8_SequenceType,IfcSequenceEnum::ToString(*v8_SequenceType)); } else { e->setArgument(7); } if (v9_UserDefinedSequenceType) { e->setArgument(8,(*v9_UserDefinedSequenceType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcProcess* v5_RelatingProcess, IfcProcess* v6_RelatedProcess, IfcLagTime* v7_TimeLag, boost::optional< IfcSequenceEnum::IfcSequenceEnum > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingProcess)); e->setArgument(5,(v6_RelatedProcess)); e->setArgument(6,(v7_TimeLag)); if (v8_SequenceType) { e->setArgument(7,*v8_SequenceType,IfcSequenceEnum::ToString(*v8_SequenceType)); } else { e->setArgument(7); } if (v9_UserDefinedSequenceType) { e->setArgument(8,(*v9_UserDefinedSequenceType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelServicesBuildings IfcSystem* IfcRelServicesBuildings::RelatingSystem() const { return (IfcSystem*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -12751,11 +14298,11 @@ bool IfcRelServicesBuildings::is(Type::Enum v) const { return v == Type::IfcRelS Type::Enum IfcRelServicesBuildings::type() const { return Type::IfcRelServicesBuildings; } Type::Enum IfcRelServicesBuildings::Class() { return Type::IfcRelServicesBuildings; } IfcRelServicesBuildings::IfcRelServicesBuildings(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelServicesBuildings)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelServicesBuildings::IfcRelServicesBuildings(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSystem* v5_RelatingSystem, IfcTemplatedEntityList< IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSystem)); e->setArgument(5,(v6_RelatedBuildings)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSystem* v5_RelatingSystem, IfcTemplatedEntityList< IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSystem)); e->setArgument(5,(v6_RelatedBuildings)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelSpaceBoundary -IfcSpaceBoundarySelect IfcRelSpaceBoundary::RelatingSpace() const { return *entity->getArgument(4); } -void IfcRelSpaceBoundary::setRelatingSpace(IfcSpaceBoundarySelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +IfcSpaceBoundarySelect* IfcRelSpaceBoundary::RelatingSpace() const { return (IfcSpaceBoundarySelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } +void IfcRelSpaceBoundary::setRelatingSpace(IfcSpaceBoundarySelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } IfcElement* IfcRelSpaceBoundary::RelatedBuildingElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } void IfcRelSpaceBoundary::setRelatedBuildingElement(IfcElement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcRelSpaceBoundary::hasConnectionGeometry() const { return !entity->getArgument(6)->isNull(); } @@ -12769,7 +14316,7 @@ bool IfcRelSpaceBoundary::is(Type::Enum v) const { return v == Type::IfcRelSpace Type::Enum IfcRelSpaceBoundary::type() const { return Type::IfcRelSpaceBoundary; } Type::Enum IfcRelSpaceBoundary::Class() { return Type::IfcRelSpaceBoundary; } IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcAbstractEntity* e) : IfcRelConnects((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelSpaceBoundary)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpaceBoundarySelect v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSpace)); e->setArgument(5,(v6_RelatedBuildingElement)); e->setArgument(6,(v7_ConnectionGeometry)); e->setArgument(7,v8_PhysicalOrVirtualBoundary,IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary)); e->setArgument(8,v9_InternalOrExternalBoundary,IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary)); entity = e; EntityBuffer::Add(this); } +IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpaceBoundarySelect* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSpace)); e->setArgument(5,(v6_RelatedBuildingElement)); e->setArgument(6,(v7_ConnectionGeometry)); e->setArgument(7,v8_PhysicalOrVirtualBoundary,IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary)); e->setArgument(8,v9_InternalOrExternalBoundary,IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelSpaceBoundary1stLevel bool IfcRelSpaceBoundary1stLevel::hasParentBoundary() const { return !entity->getArgument(9)->isNull(); } @@ -12780,7 +14327,7 @@ bool IfcRelSpaceBoundary1stLevel::is(Type::Enum v) const { return v == Type::Ifc Type::Enum IfcRelSpaceBoundary1stLevel::type() const { return Type::IfcRelSpaceBoundary1stLevel; } Type::Enum IfcRelSpaceBoundary1stLevel::Class() { return Type::IfcRelSpaceBoundary1stLevel; } IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(IfcAbstractEntity* e) : IfcRelSpaceBoundary((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelSpaceBoundary1stLevel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpaceBoundarySelect v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary, IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSpace)); e->setArgument(5,(v6_RelatedBuildingElement)); e->setArgument(6,(v7_ConnectionGeometry)); e->setArgument(7,v8_PhysicalOrVirtualBoundary,IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary)); e->setArgument(8,v9_InternalOrExternalBoundary,IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary)); e->setArgument(9,(v10_ParentBoundary)); entity = e; EntityBuffer::Add(this); } +IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpaceBoundarySelect* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary, IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSpace)); e->setArgument(5,(v6_RelatedBuildingElement)); e->setArgument(6,(v7_ConnectionGeometry)); e->setArgument(7,v8_PhysicalOrVirtualBoundary,IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary)); e->setArgument(8,v9_InternalOrExternalBoundary,IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary)); e->setArgument(9,(v10_ParentBoundary)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelSpaceBoundary2ndLevel bool IfcRelSpaceBoundary2ndLevel::hasCorrespondingBoundary() const { return !entity->getArgument(10)->isNull(); } @@ -12791,7 +14338,7 @@ bool IfcRelSpaceBoundary2ndLevel::is(Type::Enum v) const { return v == Type::Ifc Type::Enum IfcRelSpaceBoundary2ndLevel::type() const { return Type::IfcRelSpaceBoundary2ndLevel; } Type::Enum IfcRelSpaceBoundary2ndLevel::Class() { return Type::IfcRelSpaceBoundary2ndLevel; } IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(IfcAbstractEntity* e) : IfcRelSpaceBoundary1stLevel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelSpaceBoundary2ndLevel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpaceBoundarySelect v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary, IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSpace)); e->setArgument(5,(v6_RelatedBuildingElement)); e->setArgument(6,(v7_ConnectionGeometry)); e->setArgument(7,v8_PhysicalOrVirtualBoundary,IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary)); e->setArgument(8,v9_InternalOrExternalBoundary,IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary)); e->setArgument(9,(v10_ParentBoundary)); e->setArgument(10,(v11_CorrespondingBoundary)); entity = e; EntityBuffer::Add(this); } +IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpaceBoundarySelect* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary, IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingSpace)); e->setArgument(5,(v6_RelatedBuildingElement)); e->setArgument(6,(v7_ConnectionGeometry)); e->setArgument(7,v8_PhysicalOrVirtualBoundary,IfcPhysicalOrVirtualEnum::ToString(v8_PhysicalOrVirtualBoundary)); e->setArgument(8,v9_InternalOrExternalBoundary,IfcInternalOrExternalEnum::ToString(v9_InternalOrExternalBoundary)); e->setArgument(9,(v10_ParentBoundary)); e->setArgument(10,(v11_CorrespondingBoundary)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelVoidsElement IfcElement* IfcRelVoidsElement::RelatingBuildingElement() const { return (IfcElement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -12802,33 +14349,33 @@ bool IfcRelVoidsElement::is(Type::Enum v) const { return v == Type::IfcRelVoidsE Type::Enum IfcRelVoidsElement::type() const { return Type::IfcRelVoidsElement; } Type::Enum IfcRelVoidsElement::Class() { return Type::IfcRelVoidsElement; } IfcRelVoidsElement::IfcRelVoidsElement(IfcAbstractEntity* e) : IfcRelDecomposes((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelVoidsElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelVoidsElement::IfcRelVoidsElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingBuildingElement)); e->setArgument(5,(v6_RelatedOpeningElement)); entity = e; EntityBuffer::Add(this); } +IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_RelatingBuildingElement)); e->setArgument(5,(v6_RelatedOpeningElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelationship bool IfcRelationship::is(Type::Enum v) const { return v == Type::IfcRelationship || IfcRoot::is(v); } Type::Enum IfcRelationship::type() const { return Type::IfcRelationship; } Type::Enum IfcRelationship::Class() { return Type::IfcRelationship; } IfcRelationship::IfcRelationship(IfcAbstractEntity* e) : IfcRoot((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelationship::IfcRelationship(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcRoot((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcRelationship::IfcRelationship(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcReparametrisedCompositeCurveSegment -IfcParameterValue IfcReparametrisedCompositeCurveSegment::ParamLength() const { return *entity->getArgument(3); } -void IfcReparametrisedCompositeCurveSegment::setParamLength(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcReparametrisedCompositeCurveSegment::ParamLength() const { return *entity->getArgument(3); } +void IfcReparametrisedCompositeCurveSegment::setParamLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcReparametrisedCompositeCurveSegment::is(Type::Enum v) const { return v == Type::IfcReparametrisedCompositeCurveSegment || IfcCompositeCurveSegment::is(v); } Type::Enum IfcReparametrisedCompositeCurveSegment::type() const { return Type::IfcReparametrisedCompositeCurveSegment; } Type::Enum IfcReparametrisedCompositeCurveSegment::Class() { return Type::IfcReparametrisedCompositeCurveSegment; } IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(IfcAbstractEntity* e) : IfcCompositeCurveSegment((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcReparametrisedCompositeCurveSegment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(IfcTransitionCode::IfcTransitionCode v1_Transition, bool v2_SameSense, IfcCurve* v3_ParentCurve, IfcParameterValue v4_ParamLength) : IfcCompositeCurveSegment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Transition,IfcTransitionCode::ToString(v1_Transition)); e->setArgument(1,(v2_SameSense)); e->setArgument(2,(v3_ParentCurve)); e->setArgument(3,(v4_ParamLength)); entity = e; EntityBuffer::Add(this); } +IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(IfcTransitionCode::IfcTransitionCode v1_Transition, bool v2_SameSense, IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_Transition,IfcTransitionCode::ToString(v1_Transition)); e->setArgument(1,(v2_SameSense)); e->setArgument(2,(v3_ParentCurve)); e->setArgument(3,(v4_ParamLength)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRepresentation IfcRepresentationContext* IfcRepresentation::ContextOfItems() const { return (IfcRepresentationContext*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcRepresentation::setContextOfItems(IfcRepresentationContext* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcRepresentation::hasRepresentationIdentifier() const { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcRepresentation::RepresentationIdentifier() const { return *entity->getArgument(1); } -void IfcRepresentation::setRepresentationIdentifier(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcRepresentation::RepresentationIdentifier() const { return *entity->getArgument(1); } +void IfcRepresentation::setRepresentationIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcRepresentation::hasRepresentationType() const { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcRepresentation::RepresentationType() const { return *entity->getArgument(2); } -void IfcRepresentation::setRepresentationType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcRepresentation::RepresentationType() const { return *entity->getArgument(2); } +void IfcRepresentation::setRepresentationType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcTemplatedEntityList< IfcRepresentationItem >::ptr IfcRepresentation::Items() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } void IfcRepresentation::setItems(IfcTemplatedEntityList< IfcRepresentationItem >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } IfcRepresentationMap::list::ptr IfcRepresentation::RepresentationMap() const { return entity->getInverse(Type::IfcRepresentationMap)->as(); } @@ -12838,21 +14385,21 @@ bool IfcRepresentation::is(Type::Enum v) const { return v == Type::IfcRepresenta Type::Enum IfcRepresentation::type() const { return Type::IfcRepresentation; } Type::Enum IfcRepresentation::Class() { return Type::IfcRepresentation; } IfcRepresentation::IfcRepresentation(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRepresentation::IfcRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcRepresentation::IfcRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRepresentationContext bool IfcRepresentationContext::hasContextIdentifier() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcRepresentationContext::ContextIdentifier() const { return *entity->getArgument(0); } -void IfcRepresentationContext::setContextIdentifier(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcRepresentationContext::ContextIdentifier() const { return *entity->getArgument(0); } +void IfcRepresentationContext::setContextIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcRepresentationContext::hasContextType() const { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcRepresentationContext::ContextType() const { return *entity->getArgument(1); } -void IfcRepresentationContext::setContextType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcRepresentationContext::ContextType() const { return *entity->getArgument(1); } +void IfcRepresentationContext::setContextType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcRepresentation::list::ptr IfcRepresentationContext::RepresentationsInContext() const { return entity->getInverse(Type::IfcRepresentation)->as(); } bool IfcRepresentationContext::is(Type::Enum v) const { return v == Type::IfcRepresentationContext; } Type::Enum IfcRepresentationContext::type() const { return Type::IfcRepresentationContext; } Type::Enum IfcRepresentationContext::Class() { return Type::IfcRepresentationContext; } IfcRepresentationContext::IfcRepresentationContext(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRepresentationContext)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRepresentationContext::IfcRepresentationContext(boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ContextIdentifier) { e->setArgument(0,(*v1_ContextIdentifier)); } else { e->setArgument(0); } if (v2_ContextType) { e->setArgument(1,(*v2_ContextType)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_ContextIdentifier) { e->setArgument(0,(*v1_ContextIdentifier)); } else { e->setArgument(0); } if (v2_ContextType) { e->setArgument(1,(*v2_ContextType)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRepresentationItem IfcPresentationLayerAssignment::list::ptr IfcRepresentationItem::LayerAssignment() const { return entity->getInverse(Type::IfcPresentationLayerAssignment)->as(); } @@ -12864,8 +14411,8 @@ IfcRepresentationItem::IfcRepresentationItem(IfcAbstractEntity* e) : IfcUtil::If IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRepresentationMap -IfcAxis2Placement IfcRepresentationMap::MappingOrigin() const { return *entity->getArgument(0); } -void IfcRepresentationMap::setMappingOrigin(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcAxis2Placement* IfcRepresentationMap::MappingOrigin() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcRepresentationMap::setMappingOrigin(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } IfcRepresentation* IfcRepresentationMap::MappedRepresentation() const { return (IfcRepresentation*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcRepresentationMap::setMappedRepresentation(IfcRepresentation* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcShapeAspect::list::ptr IfcRepresentationMap::HasShapeAspects() const { return entity->getInverse(Type::IfcShapeAspect)->as(); } @@ -12874,119 +14421,119 @@ bool IfcRepresentationMap::is(Type::Enum v) const { return v == Type::IfcReprese Type::Enum IfcRepresentationMap::type() const { return Type::IfcRepresentationMap; } Type::Enum IfcRepresentationMap::Class() { return Type::IfcRepresentationMap; } IfcRepresentationMap::IfcRepresentationMap(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRepresentationMap)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRepresentationMap::IfcRepresentationMap(IfcAxis2Placement v1_MappingOrigin, IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MappingOrigin)); e->setArgument(1,(v2_MappedRepresentation)); entity = e; EntityBuffer::Add(this); } +IfcRepresentationMap::IfcRepresentationMap(IfcAxis2Placement* v1_MappingOrigin, IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MappingOrigin)); e->setArgument(1,(v2_MappedRepresentation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcResource bool IfcResource::hasIdentification() const { return !entity->getArgument(5)->isNull(); } -IfcIdentifier IfcResource::Identification() const { return *entity->getArgument(5); } -void IfcResource::setIdentification(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcResource::Identification() const { return *entity->getArgument(5); } +void IfcResource::setIdentification(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcResource::hasLongDescription() const { return !entity->getArgument(6)->isNull(); } -IfcText IfcResource::LongDescription() const { return *entity->getArgument(6); } -void IfcResource::setLongDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcResource::LongDescription() const { return *entity->getArgument(6); } +void IfcResource::setLongDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } IfcRelAssignsToResource::list::ptr IfcResource::ResourceOf() const { return entity->getInverse(Type::IfcRelAssignsToResource)->as(); } bool IfcResource::is(Type::Enum v) const { return v == Type::IfcResource || IfcObject::is(v); } Type::Enum IfcResource::type() const { return Type::IfcResource; } Type::Enum IfcResource::Class() { return Type::IfcResource; } IfcResource::IfcResource(IfcAbstractEntity* e) : IfcObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcResource::IfcResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcResource::IfcResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcResourceApprovalRelationship -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcResourceApprovalRelationship::RelatedResourceObjects() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcResourceApprovalRelationship::setRelatedResourceObjects(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +IfcEntityList::ptr IfcResourceApprovalRelationship::RelatedResourceObjects() const { return *entity->getArgument(2); } +void IfcResourceApprovalRelationship::setRelatedResourceObjects(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcApproval* IfcResourceApprovalRelationship::RelatingApproval() const { return (IfcApproval*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcResourceApprovalRelationship::setRelatingApproval(IfcApproval* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcResourceApprovalRelationship::is(Type::Enum v) const { return v == Type::IfcResourceApprovalRelationship || IfcResourceLevelRelationship::is(v); } Type::Enum IfcResourceApprovalRelationship::type() const { return Type::IfcResourceApprovalRelationship; } Type::Enum IfcResourceApprovalRelationship::Class() { return Type::IfcResourceApprovalRelationship; } IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcAbstractEntity* e) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcResourceApprovalRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_RelatedResourceObjects, IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatedResourceObjects)); e->setArgument(3,(v4_RelatingApproval)); entity = e; EntityBuffer::Add(this); } +IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_RelatedResourceObjects, IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatedResourceObjects)); e->setArgument(3,(v4_RelatingApproval)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcResourceConstraintRelationship IfcConstraint* IfcResourceConstraintRelationship::RelatingConstraint() const { return (IfcConstraint*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcResourceConstraintRelationship::setRelatingConstraint(IfcConstraint* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcResourceConstraintRelationship::RelatedResourceObjects() const { IfcEntityList::ptr es = *entity->getArgument(3); return es->as(); } -void IfcResourceConstraintRelationship::setRelatedResourceObjects(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v->generalize()); } +IfcEntityList::ptr IfcResourceConstraintRelationship::RelatedResourceObjects() const { return *entity->getArgument(3); } +void IfcResourceConstraintRelationship::setRelatedResourceObjects(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcResourceConstraintRelationship::is(Type::Enum v) const { return v == Type::IfcResourceConstraintRelationship || IfcResourceLevelRelationship::is(v); } Type::Enum IfcResourceConstraintRelationship::type() const { return Type::IfcResourceConstraintRelationship; } Type::Enum IfcResourceConstraintRelationship::Class() { return Type::IfcResourceConstraintRelationship; } IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcAbstractEntity* e) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcResourceConstraintRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcConstraint* v3_RelatingConstraint, IfcEntityList::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingConstraint)); e->setArgument(3,(v4_RelatedResourceObjects)); entity = e; EntityBuffer::Add(this); } +IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcConstraint* v3_RelatingConstraint, IfcEntityList::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_RelatingConstraint)); e->setArgument(3,(v4_RelatedResourceObjects)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcResourceLevelRelationship bool IfcResourceLevelRelationship::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcResourceLevelRelationship::Name() const { return *entity->getArgument(0); } -void IfcResourceLevelRelationship::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcResourceLevelRelationship::Name() const { return *entity->getArgument(0); } +void IfcResourceLevelRelationship::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcResourceLevelRelationship::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcResourceLevelRelationship::Description() const { return *entity->getArgument(1); } -void IfcResourceLevelRelationship::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcResourceLevelRelationship::Description() const { return *entity->getArgument(1); } +void IfcResourceLevelRelationship::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcResourceLevelRelationship::is(Type::Enum v) const { return v == Type::IfcResourceLevelRelationship; } Type::Enum IfcResourceLevelRelationship::type() const { return Type::IfcResourceLevelRelationship; } Type::Enum IfcResourceLevelRelationship::Class() { return Type::IfcResourceLevelRelationship; } IfcResourceLevelRelationship::IfcResourceLevelRelationship(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcResourceLevelRelationship)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcResourceTime bool IfcResourceTime::hasScheduleWork() const { return !entity->getArgument(3)->isNull(); } -IfcDuration IfcResourceTime::ScheduleWork() const { return *entity->getArgument(3); } -void IfcResourceTime::setScheduleWork(IfcDuration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcResourceTime::ScheduleWork() const { return *entity->getArgument(3); } +void IfcResourceTime::setScheduleWork(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcResourceTime::hasScheduleUsage() const { return !entity->getArgument(4)->isNull(); } -IfcPositiveRatioMeasure IfcResourceTime::ScheduleUsage() const { return *entity->getArgument(4); } -void IfcResourceTime::setScheduleUsage(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcResourceTime::ScheduleUsage() const { return *entity->getArgument(4); } +void IfcResourceTime::setScheduleUsage(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcResourceTime::hasScheduleStart() const { return !entity->getArgument(5)->isNull(); } -IfcDateTime IfcResourceTime::ScheduleStart() const { return *entity->getArgument(5); } -void IfcResourceTime::setScheduleStart(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcResourceTime::ScheduleStart() const { return *entity->getArgument(5); } +void IfcResourceTime::setScheduleStart(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcResourceTime::hasScheduleFinish() const { return !entity->getArgument(6)->isNull(); } -IfcDateTime IfcResourceTime::ScheduleFinish() const { return *entity->getArgument(6); } -void IfcResourceTime::setScheduleFinish(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcResourceTime::ScheduleFinish() const { return *entity->getArgument(6); } +void IfcResourceTime::setScheduleFinish(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcResourceTime::hasScheduleContour() const { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcResourceTime::ScheduleContour() const { return *entity->getArgument(7); } -void IfcResourceTime::setScheduleContour(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcResourceTime::ScheduleContour() const { return *entity->getArgument(7); } +void IfcResourceTime::setScheduleContour(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcResourceTime::hasLevelingDelay() const { return !entity->getArgument(8)->isNull(); } -IfcDuration IfcResourceTime::LevelingDelay() const { return *entity->getArgument(8); } -void IfcResourceTime::setLevelingDelay(IfcDuration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcResourceTime::LevelingDelay() const { return *entity->getArgument(8); } +void IfcResourceTime::setLevelingDelay(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcResourceTime::hasIsOverAllocated() const { return !entity->getArgument(9)->isNull(); } bool IfcResourceTime::IsOverAllocated() const { return *entity->getArgument(9); } void IfcResourceTime::setIsOverAllocated(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcResourceTime::hasStatusTime() const { return !entity->getArgument(10)->isNull(); } -IfcDateTime IfcResourceTime::StatusTime() const { return *entity->getArgument(10); } -void IfcResourceTime::setStatusTime(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +std::string IfcResourceTime::StatusTime() const { return *entity->getArgument(10); } +void IfcResourceTime::setStatusTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcResourceTime::hasActualWork() const { return !entity->getArgument(11)->isNull(); } -IfcDuration IfcResourceTime::ActualWork() const { return *entity->getArgument(11); } -void IfcResourceTime::setActualWork(IfcDuration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +std::string IfcResourceTime::ActualWork() const { return *entity->getArgument(11); } +void IfcResourceTime::setActualWork(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcResourceTime::hasActualUsage() const { return !entity->getArgument(12)->isNull(); } -IfcPositiveRatioMeasure IfcResourceTime::ActualUsage() const { return *entity->getArgument(12); } -void IfcResourceTime::setActualUsage(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +double IfcResourceTime::ActualUsage() const { return *entity->getArgument(12); } +void IfcResourceTime::setActualUsage(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcResourceTime::hasActualStart() const { return !entity->getArgument(13)->isNull(); } -IfcDateTime IfcResourceTime::ActualStart() const { return *entity->getArgument(13); } -void IfcResourceTime::setActualStart(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } +std::string IfcResourceTime::ActualStart() const { return *entity->getArgument(13); } +void IfcResourceTime::setActualStart(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } bool IfcResourceTime::hasActualFinish() const { return !entity->getArgument(14)->isNull(); } -IfcDateTime IfcResourceTime::ActualFinish() const { return *entity->getArgument(14); } -void IfcResourceTime::setActualFinish(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } +std::string IfcResourceTime::ActualFinish() const { return *entity->getArgument(14); } +void IfcResourceTime::setActualFinish(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } bool IfcResourceTime::hasRemainingWork() const { return !entity->getArgument(15)->isNull(); } -IfcDuration IfcResourceTime::RemainingWork() const { return *entity->getArgument(15); } -void IfcResourceTime::setRemainingWork(IfcDuration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } +std::string IfcResourceTime::RemainingWork() const { return *entity->getArgument(15); } +void IfcResourceTime::setRemainingWork(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } bool IfcResourceTime::hasRemainingUsage() const { return !entity->getArgument(16)->isNull(); } -IfcPositiveRatioMeasure IfcResourceTime::RemainingUsage() const { return *entity->getArgument(16); } -void IfcResourceTime::setRemainingUsage(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } +double IfcResourceTime::RemainingUsage() const { return *entity->getArgument(16); } +void IfcResourceTime::setRemainingUsage(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } bool IfcResourceTime::hasCompletion() const { return !entity->getArgument(17)->isNull(); } -IfcPositiveRatioMeasure IfcResourceTime::Completion() const { return *entity->getArgument(17); } -void IfcResourceTime::setCompletion(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v); } +double IfcResourceTime::Completion() const { return *entity->getArgument(17); } +void IfcResourceTime::setCompletion(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v); } bool IfcResourceTime::is(Type::Enum v) const { return v == Type::IfcResourceTime || IfcSchedulingTime::is(v); } Type::Enum IfcResourceTime::type() const { return Type::IfcResourceTime; } Type::Enum IfcResourceTime::Class() { return Type::IfcResourceTime; } IfcResourceTime::IfcResourceTime(IfcAbstractEntity* e) : IfcSchedulingTime((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcResourceTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcResourceTime::IfcResourceTime(boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, boost::optional< IfcDuration > v4_ScheduleWork, boost::optional< IfcPositiveRatioMeasure > v5_ScheduleUsage, boost::optional< IfcDateTime > v6_ScheduleStart, boost::optional< IfcDateTime > v7_ScheduleFinish, boost::optional< IfcLabel > v8_ScheduleContour, boost::optional< IfcDuration > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< IfcDateTime > v11_StatusTime, boost::optional< IfcDuration > v12_ActualWork, boost::optional< IfcPositiveRatioMeasure > v13_ActualUsage, boost::optional< IfcDateTime > v14_ActualStart, boost::optional< IfcDateTime > v15_ActualFinish, boost::optional< IfcDuration > v16_RemainingWork, boost::optional< IfcPositiveRatioMeasure > v17_RemainingUsage, boost::optional< IfcPositiveRatioMeasure > v18_Completion) : IfcSchedulingTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } if (v4_ScheduleWork) { e->setArgument(3,(*v4_ScheduleWork)); } else { e->setArgument(3); } if (v5_ScheduleUsage) { e->setArgument(4,(*v5_ScheduleUsage)); } else { e->setArgument(4); } if (v6_ScheduleStart) { e->setArgument(5,(*v6_ScheduleStart)); } else { e->setArgument(5); } if (v7_ScheduleFinish) { e->setArgument(6,(*v7_ScheduleFinish)); } else { e->setArgument(6); } if (v8_ScheduleContour) { e->setArgument(7,(*v8_ScheduleContour)); } else { e->setArgument(7); } if (v9_LevelingDelay) { e->setArgument(8,(*v9_LevelingDelay)); } else { e->setArgument(8); } if (v10_IsOverAllocated) { e->setArgument(9,(*v10_IsOverAllocated)); } else { e->setArgument(9); } if (v11_StatusTime) { e->setArgument(10,(*v11_StatusTime)); } else { e->setArgument(10); } if (v12_ActualWork) { e->setArgument(11,(*v12_ActualWork)); } else { e->setArgument(11); } if (v13_ActualUsage) { e->setArgument(12,(*v13_ActualUsage)); } else { e->setArgument(12); } if (v14_ActualStart) { e->setArgument(13,(*v14_ActualStart)); } else { e->setArgument(13); } if (v15_ActualFinish) { e->setArgument(14,(*v15_ActualFinish)); } else { e->setArgument(14); } if (v16_RemainingWork) { e->setArgument(15,(*v16_RemainingWork)); } else { e->setArgument(15); } if (v17_RemainingUsage) { e->setArgument(16,(*v17_RemainingUsage)); } else { e->setArgument(16); } if (v18_Completion) { e->setArgument(17,(*v18_Completion)); } else { e->setArgument(17); } entity = e; EntityBuffer::Add(this); } +IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ScheduleWork, boost::optional< double > v5_ScheduleUsage, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_ScheduleContour, boost::optional< std::string > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< std::string > v11_StatusTime, boost::optional< std::string > v12_ActualWork, boost::optional< double > v13_ActualUsage, boost::optional< std::string > v14_ActualStart, boost::optional< std::string > v15_ActualFinish, boost::optional< std::string > v16_RemainingWork, boost::optional< double > v17_RemainingUsage, boost::optional< double > v18_Completion) : IfcSchedulingTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } if (v4_ScheduleWork) { e->setArgument(3,(*v4_ScheduleWork)); } else { e->setArgument(3); } if (v5_ScheduleUsage) { e->setArgument(4,(*v5_ScheduleUsage)); } else { e->setArgument(4); } if (v6_ScheduleStart) { e->setArgument(5,(*v6_ScheduleStart)); } else { e->setArgument(5); } if (v7_ScheduleFinish) { e->setArgument(6,(*v7_ScheduleFinish)); } else { e->setArgument(6); } if (v8_ScheduleContour) { e->setArgument(7,(*v8_ScheduleContour)); } else { e->setArgument(7); } if (v9_LevelingDelay) { e->setArgument(8,(*v9_LevelingDelay)); } else { e->setArgument(8); } if (v10_IsOverAllocated) { e->setArgument(9,(*v10_IsOverAllocated)); } else { e->setArgument(9); } if (v11_StatusTime) { e->setArgument(10,(*v11_StatusTime)); } else { e->setArgument(10); } if (v12_ActualWork) { e->setArgument(11,(*v12_ActualWork)); } else { e->setArgument(11); } if (v13_ActualUsage) { e->setArgument(12,(*v13_ActualUsage)); } else { e->setArgument(12); } if (v14_ActualStart) { e->setArgument(13,(*v14_ActualStart)); } else { e->setArgument(13); } if (v15_ActualFinish) { e->setArgument(14,(*v15_ActualFinish)); } else { e->setArgument(14); } if (v16_RemainingWork) { e->setArgument(15,(*v16_RemainingWork)); } else { e->setArgument(15); } if (v17_RemainingUsage) { e->setArgument(16,(*v17_RemainingUsage)); } else { e->setArgument(16); } if (v18_Completion) { e->setArgument(17,(*v18_Completion)); } else { e->setArgument(17); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRevolvedAreaSolid IfcAxis1Placement* IfcRevolvedAreaSolid::Axis() const { return (IfcAxis1Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcRevolvedAreaSolid::setAxis(IfcAxis1Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcPlaneAngleMeasure IfcRevolvedAreaSolid::Angle() const { return *entity->getArgument(3); } -void IfcRevolvedAreaSolid::setAngle(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcRevolvedAreaSolid::Angle() const { return *entity->getArgument(3); } +void IfcRevolvedAreaSolid::setAngle(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcRevolvedAreaSolid::is(Type::Enum v) const { return v == Type::IfcRevolvedAreaSolid || IfcSweptAreaSolid::is(v); } Type::Enum IfcRevolvedAreaSolid::type() const { return Type::IfcRevolvedAreaSolid; } Type::Enum IfcRevolvedAreaSolid::Class() { return Type::IfcRevolvedAreaSolid; } IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcAbstractEntity* e) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRevolvedAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, IfcPlaneAngleMeasure v4_Angle) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_Axis)); e->setArgument(3,(v4_Angle)); entity = e; EntityBuffer::Add(this); } +IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_Axis)); e->setArgument(3,(v4_Angle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRevolvedAreaSolidTapered IfcProfileDef* IfcRevolvedAreaSolidTapered::EndSweptArea() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -12995,29 +14542,29 @@ bool IfcRevolvedAreaSolidTapered::is(Type::Enum v) const { return v == Type::Ifc Type::Enum IfcRevolvedAreaSolidTapered::type() const { return Type::IfcRevolvedAreaSolidTapered; } Type::Enum IfcRevolvedAreaSolidTapered::Class() { return Type::IfcRevolvedAreaSolidTapered; } IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(IfcAbstractEntity* e) : IfcRevolvedAreaSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRevolvedAreaSolidTapered)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, IfcPlaneAngleMeasure v4_Angle, IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_Axis)); e->setArgument(3,(v4_Angle)); e->setArgument(4,(v5_EndSweptArea)); entity = e; EntityBuffer::Add(this); } +IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, double v4_Angle, IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_Axis)); e->setArgument(3,(v4_Angle)); e->setArgument(4,(v5_EndSweptArea)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRightCircularCone -IfcPositiveLengthMeasure IfcRightCircularCone::Height() const { return *entity->getArgument(1); } -void IfcRightCircularCone::setHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveLengthMeasure IfcRightCircularCone::BottomRadius() const { return *entity->getArgument(2); } -void IfcRightCircularCone::setBottomRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcRightCircularCone::Height() const { return *entity->getArgument(1); } +void IfcRightCircularCone::setHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcRightCircularCone::BottomRadius() const { return *entity->getArgument(2); } +void IfcRightCircularCone::setBottomRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcRightCircularCone::is(Type::Enum v) const { return v == Type::IfcRightCircularCone || IfcCsgPrimitive3D::is(v); } Type::Enum IfcRightCircularCone::type() const { return Type::IfcRightCircularCone; } Type::Enum IfcRightCircularCone::Class() { return Type::IfcRightCircularCone; } IfcRightCircularCone::IfcRightCircularCone(IfcAbstractEntity* e) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRightCircularCone)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRightCircularCone::IfcRightCircularCone(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Height, IfcPositiveLengthMeasure v3_BottomRadius) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Height)); e->setArgument(2,(v3_BottomRadius)); entity = e; EntityBuffer::Add(this); } +IfcRightCircularCone::IfcRightCircularCone(IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Height)); e->setArgument(2,(v3_BottomRadius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRightCircularCylinder -IfcPositiveLengthMeasure IfcRightCircularCylinder::Height() const { return *entity->getArgument(1); } -void IfcRightCircularCylinder::setHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcPositiveLengthMeasure IfcRightCircularCylinder::Radius() const { return *entity->getArgument(2); } -void IfcRightCircularCylinder::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcRightCircularCylinder::Height() const { return *entity->getArgument(1); } +void IfcRightCircularCylinder::setHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcRightCircularCylinder::Radius() const { return *entity->getArgument(2); } +void IfcRightCircularCylinder::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcRightCircularCylinder::is(Type::Enum v) const { return v == Type::IfcRightCircularCylinder || IfcCsgPrimitive3D::is(v); } Type::Enum IfcRightCircularCylinder::type() const { return Type::IfcRightCircularCylinder; } Type::Enum IfcRightCircularCylinder::Class() { return Type::IfcRightCircularCylinder; } IfcRightCircularCylinder::IfcRightCircularCylinder(IfcAbstractEntity* e) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRightCircularCylinder)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRightCircularCylinder::IfcRightCircularCylinder(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Height, IfcPositiveLengthMeasure v3_Radius) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Height)); e->setArgument(2,(v3_Radius)); entity = e; EntityBuffer::Add(this); } +IfcRightCircularCylinder::IfcRightCircularCylinder(IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Height)); e->setArgument(2,(v3_Radius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRoof bool IfcRoof::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -13027,7 +14574,7 @@ bool IfcRoof::is(Type::Enum v) const { return v == Type::IfcRoof || IfcBuildingE Type::Enum IfcRoof::type() const { return Type::IfcRoof; } Type::Enum IfcRoof::Class() { return Type::IfcRoof; } IfcRoof::IfcRoof(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRoof)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRoof::IfcRoof(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcRoofTypeEnum::IfcRoofTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcRoofTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcRoof::IfcRoof(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRoofTypeEnum::IfcRoofTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcRoofTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRoofType IfcRoofTypeEnum::IfcRoofTypeEnum IfcRoofType::PredefinedType() const { return IfcRoofTypeEnum::FromString(*entity->getArgument(9)); } @@ -13036,34 +14583,34 @@ bool IfcRoofType::is(Type::Enum v) const { return v == Type::IfcRoofType || IfcB Type::Enum IfcRoofType::type() const { return Type::IfcRoofType; } Type::Enum IfcRoofType::Class() { return Type::IfcRoofType; } IfcRoofType::IfcRoofType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRoofType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRoofType::IfcRoofType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRoofTypeEnum::IfcRoofTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRoofTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcRoofType::IfcRoofType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRoofTypeEnum::IfcRoofTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcRoofTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRoot -IfcGloballyUniqueId IfcRoot::GlobalId() const { return *entity->getArgument(0); } -void IfcRoot::setGlobalId(IfcGloballyUniqueId v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcRoot::GlobalId() const { return *entity->getArgument(0); } +void IfcRoot::setGlobalId(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcRoot::hasOwnerHistory() const { return !entity->getArgument(1)->isNull(); } IfcOwnerHistory* IfcRoot::OwnerHistory() const { return (IfcOwnerHistory*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcRoot::setOwnerHistory(IfcOwnerHistory* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcRoot::hasName() const { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcRoot::Name() const { return *entity->getArgument(2); } -void IfcRoot::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcRoot::Name() const { return *entity->getArgument(2); } +void IfcRoot::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcRoot::hasDescription() const { return !entity->getArgument(3)->isNull(); } -IfcText IfcRoot::Description() const { return *entity->getArgument(3); } -void IfcRoot::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcRoot::Description() const { return *entity->getArgument(3); } +void IfcRoot::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcRoot::is(Type::Enum v) const { return v == Type::IfcRoot; } Type::Enum IfcRoot::type() const { return Type::IfcRoot; } Type::Enum IfcRoot::Class() { return Type::IfcRoot; } IfcRoot::IfcRoot(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcRoot)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRoot::IfcRoot(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcRoot::IfcRoot(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRoundedRectangleProfileDef -IfcPositiveLengthMeasure IfcRoundedRectangleProfileDef::RoundingRadius() const { return *entity->getArgument(5); } -void IfcRoundedRectangleProfileDef::setRoundingRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcRoundedRectangleProfileDef::RoundingRadius() const { return *entity->getArgument(5); } +void IfcRoundedRectangleProfileDef::setRoundingRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcRoundedRectangleProfileDef::is(Type::Enum v) const { return v == Type::IfcRoundedRectangleProfileDef || IfcRectangleProfileDef::is(v); } Type::Enum IfcRoundedRectangleProfileDef::type() const { return Type::IfcRoundedRectangleProfileDef; } Type::Enum IfcRoundedRectangleProfileDef::Class() { return Type::IfcRoundedRectangleProfileDef; } IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcAbstractEntity* e) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRoundedRectangleProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim, IfcPositiveLengthMeasure v6_RoundingRadius) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_XDim)); e->setArgument(4,(v5_YDim)); e->setArgument(5,(v6_RoundingRadius)); entity = e; EntityBuffer::Add(this); } +IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_XDim)); e->setArgument(4,(v5_YDim)); e->setArgument(5,(v6_RoundingRadius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSIUnit bool IfcSIUnit::hasPrefix() const { return !entity->getArgument(2)->isNull(); } @@ -13085,7 +14632,7 @@ bool IfcSanitaryTerminal::is(Type::Enum v) const { return v == Type::IfcSanitary Type::Enum IfcSanitaryTerminal::type() const { return Type::IfcSanitaryTerminal; } Type::Enum IfcSanitaryTerminal::Class() { return Type::IfcSanitaryTerminal; } IfcSanitaryTerminal::IfcSanitaryTerminal(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSanitaryTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSanitaryTerminal::IfcSanitaryTerminal(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSanitaryTerminalTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSanitaryTerminal::IfcSanitaryTerminal(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSanitaryTerminalTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSanitaryTerminalType IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum IfcSanitaryTerminalType::PredefinedType() const { return IfcSanitaryTerminalTypeEnum::FromString(*entity->getArgument(9)); } @@ -13094,23 +14641,23 @@ bool IfcSanitaryTerminalType::is(Type::Enum v) const { return v == Type::IfcSani Type::Enum IfcSanitaryTerminalType::type() const { return Type::IfcSanitaryTerminalType; } Type::Enum IfcSanitaryTerminalType::Class() { return Type::IfcSanitaryTerminalType; } IfcSanitaryTerminalType::IfcSanitaryTerminalType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSanitaryTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSanitaryTerminalType::IfcSanitaryTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSanitaryTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSanitaryTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSchedulingTime bool IfcSchedulingTime::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcSchedulingTime::Name() const { return *entity->getArgument(0); } -void IfcSchedulingTime::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcSchedulingTime::Name() const { return *entity->getArgument(0); } +void IfcSchedulingTime::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcSchedulingTime::hasDataOrigin() const { return !entity->getArgument(1)->isNull(); } IfcDataOriginEnum::IfcDataOriginEnum IfcSchedulingTime::DataOrigin() const { return IfcDataOriginEnum::FromString(*entity->getArgument(1)); } void IfcSchedulingTime::setDataOrigin(IfcDataOriginEnum::IfcDataOriginEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v,IfcDataOriginEnum::ToString(v)); } bool IfcSchedulingTime::hasUserDefinedDataOrigin() const { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcSchedulingTime::UserDefinedDataOrigin() const { return *entity->getArgument(2); } -void IfcSchedulingTime::setUserDefinedDataOrigin(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcSchedulingTime::UserDefinedDataOrigin() const { return *entity->getArgument(2); } +void IfcSchedulingTime::setUserDefinedDataOrigin(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcSchedulingTime::is(Type::Enum v) const { return v == Type::IfcSchedulingTime; } Type::Enum IfcSchedulingTime::type() const { return Type::IfcSchedulingTime; } Type::Enum IfcSchedulingTime::Class() { return Type::IfcSchedulingTime; } IfcSchedulingTime::IfcSchedulingTime(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcSchedulingTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSchedulingTime::IfcSchedulingTime(boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSectionProperties IfcSectionTypeEnum::IfcSectionTypeEnum IfcSectionProperties::SectionType() const { return IfcSectionTypeEnum::FromString(*entity->getArgument(0)); } @@ -13127,13 +14674,13 @@ IfcSectionProperties::IfcSectionProperties(IfcAbstractEntity* e) : IfcPreDefined IfcSectionProperties::IfcSectionProperties(IfcSectionTypeEnum::IfcSectionTypeEnum v1_SectionType, IfcProfileDef* v2_StartProfile, IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_SectionType,IfcSectionTypeEnum::ToString(v1_SectionType)); e->setArgument(1,(v2_StartProfile)); e->setArgument(2,(v3_EndProfile)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSectionReinforcementProperties -IfcLengthMeasure IfcSectionReinforcementProperties::LongitudinalStartPosition() const { return *entity->getArgument(0); } -void IfcSectionReinforcementProperties::setLongitudinalStartPosition(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLengthMeasure IfcSectionReinforcementProperties::LongitudinalEndPosition() const { return *entity->getArgument(1); } -void IfcSectionReinforcementProperties::setLongitudinalEndPosition(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcSectionReinforcementProperties::LongitudinalStartPosition() const { return *entity->getArgument(0); } +void IfcSectionReinforcementProperties::setLongitudinalStartPosition(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +double IfcSectionReinforcementProperties::LongitudinalEndPosition() const { return *entity->getArgument(1); } +void IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcSectionReinforcementProperties::hasTransversePosition() const { return !entity->getArgument(2)->isNull(); } -IfcLengthMeasure IfcSectionReinforcementProperties::TransversePosition() const { return *entity->getArgument(2); } -void IfcSectionReinforcementProperties::setTransversePosition(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcSectionReinforcementProperties::TransversePosition() const { return *entity->getArgument(2); } +void IfcSectionReinforcementProperties::setTransversePosition(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum IfcSectionReinforcementProperties::ReinforcementRole() const { return IfcReinforcingBarRoleEnum::FromString(*entity->getArgument(3)); } void IfcSectionReinforcementProperties::setReinforcementRole(IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v,IfcReinforcingBarRoleEnum::ToString(v)); } IfcSectionProperties* IfcSectionReinforcementProperties::SectionDefinition() const { return (IfcSectionProperties*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -13144,7 +14691,7 @@ bool IfcSectionReinforcementProperties::is(Type::Enum v) const { return v == Typ Type::Enum IfcSectionReinforcementProperties::type() const { return Type::IfcSectionReinforcementProperties; } Type::Enum IfcSectionReinforcementProperties::Class() { return Type::IfcSectionReinforcementProperties; } IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcAbstractEntity* e) : IfcPreDefinedProperties((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSectionReinforcementProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcLengthMeasure v1_LongitudinalStartPosition, IfcLengthMeasure v2_LongitudinalEndPosition, boost::optional< IfcLengthMeasure > v3_TransversePosition, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v4_ReinforcementRole, IfcSectionProperties* v5_SectionDefinition, IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_LongitudinalStartPosition)); e->setArgument(1,(v2_LongitudinalEndPosition)); if (v3_TransversePosition) { e->setArgument(2,(*v3_TransversePosition)); } else { e->setArgument(2); } e->setArgument(3,v4_ReinforcementRole,IfcReinforcingBarRoleEnum::ToString(v4_ReinforcementRole)); e->setArgument(4,(v5_SectionDefinition)); e->setArgument(5,(v6_CrossSectionReinforcementDefinitions)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v4_ReinforcementRole, IfcSectionProperties* v5_SectionDefinition, IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_LongitudinalStartPosition)); e->setArgument(1,(v2_LongitudinalEndPosition)); if (v3_TransversePosition) { e->setArgument(2,(*v3_TransversePosition)); } else { e->setArgument(2); } e->setArgument(3,v4_ReinforcementRole,IfcReinforcingBarRoleEnum::ToString(v4_ReinforcementRole)); e->setArgument(4,(v5_SectionDefinition)); e->setArgument(5,(v6_CrossSectionReinforcementDefinitions)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSectionedSpine IfcCompositeCurve* IfcSectionedSpine::SpineCurve() const { return (IfcCompositeCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -13167,7 +14714,7 @@ bool IfcSensor::is(Type::Enum v) const { return v == Type::IfcSensor || IfcDistr Type::Enum IfcSensor::type() const { return Type::IfcSensor; } Type::Enum IfcSensor::Class() { return Type::IfcSensor; } IfcSensor::IfcSensor(IfcAbstractEntity* e) : IfcDistributionControlElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSensor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSensor::IfcSensor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSensorTypeEnum::IfcSensorTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSensorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSensor::IfcSensor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSensorTypeEnum::IfcSensorTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSensorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSensorType IfcSensorTypeEnum::IfcSensorTypeEnum IfcSensorType::PredefinedType() const { return IfcSensorTypeEnum::FromString(*entity->getArgument(9)); } @@ -13176,7 +14723,7 @@ bool IfcSensorType::is(Type::Enum v) const { return v == Type::IfcSensorType || Type::Enum IfcSensorType::type() const { return Type::IfcSensorType; } Type::Enum IfcSensorType::Class() { return Type::IfcSensorType; } IfcSensorType::IfcSensorType(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSensorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSensorType::IfcSensorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSensorTypeEnum::IfcSensorTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSensorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcSensorType::IfcSensorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSensorTypeEnum::IfcSensorTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSensorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcShadingDevice bool IfcShadingDevice::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -13186,7 +14733,7 @@ bool IfcShadingDevice::is(Type::Enum v) const { return v == Type::IfcShadingDevi Type::Enum IfcShadingDevice::type() const { return Type::IfcShadingDevice; } Type::Enum IfcShadingDevice::Class() { return Type::IfcShadingDevice; } IfcShadingDevice::IfcShadingDevice(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcShadingDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcShadingDevice::IfcShadingDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcShadingDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcShadingDevice::IfcShadingDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcShadingDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcShadingDeviceType IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum IfcShadingDeviceType::PredefinedType() const { return IfcShadingDeviceTypeEnum::FromString(*entity->getArgument(9)); } @@ -13195,27 +14742,27 @@ bool IfcShadingDeviceType::is(Type::Enum v) const { return v == Type::IfcShading Type::Enum IfcShadingDeviceType::type() const { return Type::IfcShadingDeviceType; } Type::Enum IfcShadingDeviceType::Class() { return Type::IfcShadingDeviceType; } IfcShadingDeviceType::IfcShadingDeviceType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcShadingDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcShadingDeviceType::IfcShadingDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcShadingDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcShadingDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcShapeAspect IfcTemplatedEntityList< IfcShapeModel >::ptr IfcShapeAspect::ShapeRepresentations() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } void IfcShapeAspect::setShapeRepresentations(IfcTemplatedEntityList< IfcShapeModel >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } bool IfcShapeAspect::hasName() const { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcShapeAspect::Name() const { return *entity->getArgument(1); } -void IfcShapeAspect::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcShapeAspect::Name() const { return *entity->getArgument(1); } +void IfcShapeAspect::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcShapeAspect::hasDescription() const { return !entity->getArgument(2)->isNull(); } -IfcText IfcShapeAspect::Description() const { return *entity->getArgument(2); } -void IfcShapeAspect::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcShapeAspect::Description() const { return *entity->getArgument(2); } +void IfcShapeAspect::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcShapeAspect::ProductDefinitional() const { return *entity->getArgument(3); } void IfcShapeAspect::setProductDefinitional(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcShapeAspect::hasPartOfProductDefinitionShape() const { return !entity->getArgument(4)->isNull(); } -IfcProductRepresentationSelect IfcShapeAspect::PartOfProductDefinitionShape() const { return *entity->getArgument(4); } -void IfcShapeAspect::setPartOfProductDefinitionShape(IfcProductRepresentationSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +IfcProductRepresentationSelect* IfcShapeAspect::PartOfProductDefinitionShape() const { return (IfcProductRepresentationSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } +void IfcShapeAspect::setPartOfProductDefinitionShape(IfcProductRepresentationSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcShapeAspect::is(Type::Enum v) const { return v == Type::IfcShapeAspect; } Type::Enum IfcShapeAspect::type() const { return Type::IfcShapeAspect; } Type::Enum IfcShapeAspect::Class() { return Type::IfcShapeAspect; } IfcShapeAspect::IfcShapeAspect(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcShapeAspect)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcShapeAspect::IfcShapeAspect(IfcTemplatedEntityList< IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< IfcLabel > v2_Name, boost::optional< IfcText > v3_Description, bool v4_ProductDefinitional, boost::optional< IfcProductRepresentationSelect > v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ShapeRepresentations)->generalize()); if (v2_Name) { e->setArgument(1,(*v2_Name)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } e->setArgument(3,(v4_ProductDefinitional)); if (v5_PartOfProductDefinitionShape) { e->setArgument(4,(*v5_PartOfProductDefinitionShape)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcShapeAspect::IfcShapeAspect(IfcTemplatedEntityList< IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, bool v4_ProductDefinitional, IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ShapeRepresentations)->generalize()); if (v2_Name) { e->setArgument(1,(*v2_Name)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } e->setArgument(3,(v4_ProductDefinitional)); e->setArgument(4,(v5_PartOfProductDefinitionShape)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcShapeModel IfcShapeAspect::list::ptr IfcShapeModel::OfShapeAspect() const { return entity->getInverse(Type::IfcShapeAspect)->as(); } @@ -13223,18 +14770,18 @@ bool IfcShapeModel::is(Type::Enum v) const { return v == Type::IfcShapeModel || Type::Enum IfcShapeModel::type() const { return Type::IfcShapeModel; } Type::Enum IfcShapeModel::Class() { return Type::IfcShapeModel; } IfcShapeModel::IfcShapeModel(IfcAbstractEntity* e) : IfcRepresentation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcShapeModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcShapeModel::IfcShapeModel(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcShapeModel::IfcShapeModel(IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcShapeRepresentation bool IfcShapeRepresentation::is(Type::Enum v) const { return v == Type::IfcShapeRepresentation || IfcShapeModel::is(v); } Type::Enum IfcShapeRepresentation::type() const { return Type::IfcShapeRepresentation; } Type::Enum IfcShapeRepresentation::Class() { return Type::IfcShapeRepresentation; } IfcShapeRepresentation::IfcShapeRepresentation(IfcAbstractEntity* e) : IfcShapeModel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcShapeRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcShapeRepresentation::IfcShapeRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcShapeRepresentation::IfcShapeRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcShellBasedSurfaceModel -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcShellBasedSurfaceModel::SbsmBoundary() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcShellBasedSurfaceModel::setSbsmBoundary(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcEntityList::ptr IfcShellBasedSurfaceModel::SbsmBoundary() const { return *entity->getArgument(0); } +void IfcShellBasedSurfaceModel::setSbsmBoundary(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } 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; } @@ -13246,30 +14793,30 @@ bool IfcSimpleProperty::is(Type::Enum v) const { return v == Type::IfcSimpleProp Type::Enum IfcSimpleProperty::type() const { return Type::IfcSimpleProperty; } Type::Enum IfcSimpleProperty::Class() { return Type::IfcSimpleProperty; } IfcSimpleProperty::IfcSimpleProperty(IfcAbstractEntity* e) : IfcProperty((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSimpleProperty)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSimpleProperty::IfcSimpleProperty(IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description) : IfcProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcProperty((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSimplePropertyTemplate bool IfcSimplePropertyTemplate::hasTemplateType() const { return !entity->getArgument(4)->isNull(); } IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum IfcSimplePropertyTemplate::TemplateType() const { return IfcSimplePropertyTemplateTypeEnum::FromString(*entity->getArgument(4)); } void IfcSimplePropertyTemplate::setTemplateType(IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcSimplePropertyTemplateTypeEnum::ToString(v)); } bool IfcSimplePropertyTemplate::hasPrimaryMeasureType() const { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcSimplePropertyTemplate::PrimaryMeasureType() const { return *entity->getArgument(5); } -void IfcSimplePropertyTemplate::setPrimaryMeasureType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcSimplePropertyTemplate::PrimaryMeasureType() const { return *entity->getArgument(5); } +void IfcSimplePropertyTemplate::setPrimaryMeasureType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcSimplePropertyTemplate::hasSecondaryMeasureType() const { return !entity->getArgument(6)->isNull(); } -IfcLabel IfcSimplePropertyTemplate::SecondaryMeasureType() const { return *entity->getArgument(6); } -void IfcSimplePropertyTemplate::setSecondaryMeasureType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcSimplePropertyTemplate::SecondaryMeasureType() const { return *entity->getArgument(6); } +void IfcSimplePropertyTemplate::setSecondaryMeasureType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcSimplePropertyTemplate::hasEnumerators() const { return !entity->getArgument(7)->isNull(); } IfcPropertyEnumeration* IfcSimplePropertyTemplate::Enumerators() const { return (IfcPropertyEnumeration*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } void IfcSimplePropertyTemplate::setEnumerators(IfcPropertyEnumeration* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcSimplePropertyTemplate::hasPrimaryUnit() const { return !entity->getArgument(8)->isNull(); } -IfcUnit IfcSimplePropertyTemplate::PrimaryUnit() const { return *entity->getArgument(8); } -void IfcSimplePropertyTemplate::setPrimaryUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +IfcUnit* IfcSimplePropertyTemplate::PrimaryUnit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } +void IfcSimplePropertyTemplate::setPrimaryUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcSimplePropertyTemplate::hasSecondaryUnit() const { return !entity->getArgument(9)->isNull(); } -IfcUnit IfcSimplePropertyTemplate::SecondaryUnit() const { return *entity->getArgument(9); } -void IfcSimplePropertyTemplate::setSecondaryUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +IfcUnit* IfcSimplePropertyTemplate::SecondaryUnit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } +void IfcSimplePropertyTemplate::setSecondaryUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcSimplePropertyTemplate::hasExpression() const { return !entity->getArgument(10)->isNull(); } -IfcLabel IfcSimplePropertyTemplate::Expression() const { return *entity->getArgument(10); } -void IfcSimplePropertyTemplate::setExpression(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +std::string IfcSimplePropertyTemplate::Expression() const { return *entity->getArgument(10); } +void IfcSimplePropertyTemplate::setExpression(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcSimplePropertyTemplate::hasAccessState() const { return !entity->getArgument(11)->isNull(); } IfcStateEnum::IfcStateEnum IfcSimplePropertyTemplate::AccessState() const { return IfcStateEnum::FromString(*entity->getArgument(11)); } void IfcSimplePropertyTemplate::setAccessState(IfcStateEnum::IfcStateEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v,IfcStateEnum::ToString(v)); } @@ -13277,21 +14824,21 @@ bool IfcSimplePropertyTemplate::is(Type::Enum v) const { return v == Type::IfcSi Type::Enum IfcSimplePropertyTemplate::type() const { return Type::IfcSimplePropertyTemplate; } Type::Enum IfcSimplePropertyTemplate::Class() { return Type::IfcSimplePropertyTemplate; } IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(IfcAbstractEntity* e) : IfcPropertyTemplate((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSimplePropertyTemplate)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum > v5_TemplateType, boost::optional< IfcLabel > v6_PrimaryMeasureType, boost::optional< IfcLabel > v7_SecondaryMeasureType, IfcPropertyEnumeration* v8_Enumerators, boost::optional< IfcUnit > v9_PrimaryUnit, boost::optional< IfcUnit > v10_SecondaryUnit, boost::optional< IfcLabel > v11_Expression, boost::optional< IfcStateEnum::IfcStateEnum > v12_AccessState) : IfcPropertyTemplate((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_TemplateType) { e->setArgument(4,*v5_TemplateType,IfcSimplePropertyTemplateTypeEnum::ToString(*v5_TemplateType)); } else { e->setArgument(4); } if (v6_PrimaryMeasureType) { e->setArgument(5,(*v6_PrimaryMeasureType)); } else { e->setArgument(5); } if (v7_SecondaryMeasureType) { e->setArgument(6,(*v7_SecondaryMeasureType)); } else { e->setArgument(6); } e->setArgument(7,(v8_Enumerators)); if (v9_PrimaryUnit) { e->setArgument(8,(*v9_PrimaryUnit)); } else { e->setArgument(8); } if (v10_SecondaryUnit) { e->setArgument(9,(*v10_SecondaryUnit)); } else { e->setArgument(9); } if (v11_Expression) { e->setArgument(10,(*v11_Expression)); } else { e->setArgument(10); } if (v12_AccessState) { e->setArgument(11,*v12_AccessState,IfcStateEnum::ToString(*v12_AccessState)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } +IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, IfcPropertyEnumeration* v8_Enumerators, IfcUnit* v9_PrimaryUnit, IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< IfcStateEnum::IfcStateEnum > v12_AccessState) : IfcPropertyTemplate((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_TemplateType) { e->setArgument(4,*v5_TemplateType,IfcSimplePropertyTemplateTypeEnum::ToString(*v5_TemplateType)); } else { e->setArgument(4); } if (v6_PrimaryMeasureType) { e->setArgument(5,(*v6_PrimaryMeasureType)); } else { e->setArgument(5); } if (v7_SecondaryMeasureType) { e->setArgument(6,(*v7_SecondaryMeasureType)); } else { e->setArgument(6); } e->setArgument(7,(v8_Enumerators)); e->setArgument(8,(v9_PrimaryUnit)); e->setArgument(9,(v10_SecondaryUnit)); if (v11_Expression) { e->setArgument(10,(*v11_Expression)); } else { e->setArgument(10); } if (v12_AccessState) { e->setArgument(11,*v12_AccessState,IfcStateEnum::ToString(*v12_AccessState)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSite bool IfcSite::hasRefLatitude() const { return !entity->getArgument(9)->isNull(); } -IfcCompoundPlaneAngleMeasure IfcSite::RefLatitude() const { return *entity->getArgument(9); } -void IfcSite::setRefLatitude(IfcCompoundPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +std::vector< int > /*[3:4]*/ IfcSite::RefLatitude() const { return *entity->getArgument(9); } +void IfcSite::setRefLatitude(std::vector< int > /*[3:4]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcSite::hasRefLongitude() const { return !entity->getArgument(10)->isNull(); } -IfcCompoundPlaneAngleMeasure IfcSite::RefLongitude() const { return *entity->getArgument(10); } -void IfcSite::setRefLongitude(IfcCompoundPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +std::vector< int > /*[3:4]*/ IfcSite::RefLongitude() const { return *entity->getArgument(10); } +void IfcSite::setRefLongitude(std::vector< int > /*[3:4]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcSite::hasRefElevation() const { return !entity->getArgument(11)->isNull(); } -IfcLengthMeasure IfcSite::RefElevation() const { return *entity->getArgument(11); } -void IfcSite::setRefElevation(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcSite::RefElevation() const { return *entity->getArgument(11); } +void IfcSite::setRefElevation(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcSite::hasLandTitleNumber() const { return !entity->getArgument(12)->isNull(); } -IfcLabel IfcSite::LandTitleNumber() const { return *entity->getArgument(12); } -void IfcSite::setLandTitleNumber(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +std::string IfcSite::LandTitleNumber() const { return *entity->getArgument(12); } +void IfcSite::setLandTitleNumber(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcSite::hasSiteAddress() const { return !entity->getArgument(13)->isNull(); } IfcPostalAddress* IfcSite::SiteAddress() const { return (IfcPostalAddress*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(13))); } void IfcSite::setSiteAddress(IfcPostalAddress* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } @@ -13299,7 +14846,7 @@ bool IfcSite::is(Type::Enum v) const { return v == Type::IfcSite || IfcSpatialSt Type::Enum IfcSite::type() const { return Type::IfcSite; } Type::Enum IfcSite::Class() { return Type::IfcSite; } IfcSite::IfcSite(IfcAbstractEntity* e) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSite)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSite::IfcSite(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcCompoundPlaneAngleMeasure > v10_RefLatitude, boost::optional< IfcCompoundPlaneAngleMeasure > v11_RefLongitude, boost::optional< IfcLengthMeasure > v12_RefElevation, boost::optional< IfcLabel > v13_LandTitleNumber, IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } if (v10_RefLatitude) { e->setArgument(9,(*v10_RefLatitude)); } else { e->setArgument(9); } if (v11_RefLongitude) { e->setArgument(10,(*v11_RefLongitude)); } else { e->setArgument(10); } if (v12_RefElevation) { e->setArgument(11,(*v12_RefElevation)); } else { e->setArgument(11); } if (v13_LandTitleNumber) { e->setArgument(12,(*v13_LandTitleNumber)); } else { e->setArgument(12); } e->setArgument(13,(v14_SiteAddress)); entity = e; EntityBuffer::Add(this); } +IfcSite::IfcSite(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, boost::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, boost::optional< double > v12_RefElevation, boost::optional< std::string > v13_LandTitleNumber, IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } if (v10_RefLatitude) { e->setArgument(9,(*v10_RefLatitude)); } else { e->setArgument(9); } if (v11_RefLongitude) { e->setArgument(10,(*v11_RefLongitude)); } else { e->setArgument(10); } if (v12_RefElevation) { e->setArgument(11,(*v12_RefElevation)); } else { e->setArgument(11); } if (v13_LandTitleNumber) { e->setArgument(12,(*v13_LandTitleNumber)); } else { e->setArgument(12); } e->setArgument(13,(v14_SiteAddress)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSlab bool IfcSlab::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -13309,21 +14856,21 @@ bool IfcSlab::is(Type::Enum v) const { return v == Type::IfcSlab || IfcBuildingE Type::Enum IfcSlab::type() const { return Type::IfcSlab; } Type::Enum IfcSlab::Class() { return Type::IfcSlab; } IfcSlab::IfcSlab(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSlab)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSlab::IfcSlab(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSlabTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSlab::IfcSlab(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSlabTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSlabElementedCase bool IfcSlabElementedCase::is(Type::Enum v) const { return v == Type::IfcSlabElementedCase || IfcSlab::is(v); } Type::Enum IfcSlabElementedCase::type() const { return Type::IfcSlabElementedCase; } Type::Enum IfcSlabElementedCase::Class() { return Type::IfcSlabElementedCase; } IfcSlabElementedCase::IfcSlabElementedCase(IfcAbstractEntity* e) : IfcSlab((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSlabElementedCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSlabElementedCase::IfcSlabElementedCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType) : IfcSlab((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSlabTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSlabElementedCase::IfcSlabElementedCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType) : IfcSlab((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSlabTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSlabStandardCase bool IfcSlabStandardCase::is(Type::Enum v) const { return v == Type::IfcSlabStandardCase || IfcSlab::is(v); } Type::Enum IfcSlabStandardCase::type() const { return Type::IfcSlabStandardCase; } Type::Enum IfcSlabStandardCase::Class() { return Type::IfcSlabStandardCase; } IfcSlabStandardCase::IfcSlabStandardCase(IfcAbstractEntity* e) : IfcSlab((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSlabStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSlabStandardCase::IfcSlabStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType) : IfcSlab((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSlabTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSlabStandardCase::IfcSlabStandardCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType) : IfcSlab((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSlabTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSlabType IfcSlabTypeEnum::IfcSlabTypeEnum IfcSlabType::PredefinedType() const { return IfcSlabTypeEnum::FromString(*entity->getArgument(9)); } @@ -13332,23 +14879,23 @@ bool IfcSlabType::is(Type::Enum v) const { return v == Type::IfcSlabType || IfcB Type::Enum IfcSlabType::type() const { return Type::IfcSlabType; } Type::Enum IfcSlabType::Class() { return Type::IfcSlabType; } IfcSlabType::IfcSlabType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSlabType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSlabType::IfcSlabType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSlabTypeEnum::IfcSlabTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSlabTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcSlabType::IfcSlabType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSlabTypeEnum::IfcSlabTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSlabTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSlippageConnectionCondition bool IfcSlippageConnectionCondition::hasSlippageX() const { return !entity->getArgument(1)->isNull(); } -IfcLengthMeasure IfcSlippageConnectionCondition::SlippageX() const { return *entity->getArgument(1); } -void IfcSlippageConnectionCondition::setSlippageX(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcSlippageConnectionCondition::SlippageX() const { return *entity->getArgument(1); } +void IfcSlippageConnectionCondition::setSlippageX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcSlippageConnectionCondition::hasSlippageY() const { return !entity->getArgument(2)->isNull(); } -IfcLengthMeasure IfcSlippageConnectionCondition::SlippageY() const { return *entity->getArgument(2); } -void IfcSlippageConnectionCondition::setSlippageY(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcSlippageConnectionCondition::SlippageY() const { return *entity->getArgument(2); } +void IfcSlippageConnectionCondition::setSlippageY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcSlippageConnectionCondition::hasSlippageZ() const { return !entity->getArgument(3)->isNull(); } -IfcLengthMeasure IfcSlippageConnectionCondition::SlippageZ() const { return *entity->getArgument(3); } -void IfcSlippageConnectionCondition::setSlippageZ(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcSlippageConnectionCondition::SlippageZ() const { return *entity->getArgument(3); } +void IfcSlippageConnectionCondition::setSlippageZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcSlippageConnectionCondition::is(Type::Enum v) const { return v == Type::IfcSlippageConnectionCondition || IfcStructuralConnectionCondition::is(v); } Type::Enum IfcSlippageConnectionCondition::type() const { return Type::IfcSlippageConnectionCondition; } Type::Enum IfcSlippageConnectionCondition::Class() { return Type::IfcSlippageConnectionCondition; } IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(IfcAbstractEntity* e) : IfcStructuralConnectionCondition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSlippageConnectionCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_SlippageX, boost::optional< IfcLengthMeasure > v3_SlippageY, boost::optional< IfcLengthMeasure > v4_SlippageZ) : IfcStructuralConnectionCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_SlippageX) { e->setArgument(1,(*v2_SlippageX)); } else { e->setArgument(1); } if (v3_SlippageY) { e->setArgument(2,(*v3_SlippageY)); } else { e->setArgument(2); } if (v4_SlippageZ) { e->setArgument(3,(*v4_SlippageZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(boost::optional< std::string > v1_Name, boost::optional< double > v2_SlippageX, boost::optional< double > v3_SlippageY, boost::optional< double > v4_SlippageZ) : IfcStructuralConnectionCondition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_SlippageX) { e->setArgument(1,(*v2_SlippageX)); } else { e->setArgument(1); } if (v3_SlippageY) { e->setArgument(2,(*v3_SlippageY)); } else { e->setArgument(2); } if (v4_SlippageZ) { e->setArgument(3,(*v4_SlippageZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSolarDevice bool IfcSolarDevice::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -13358,7 +14905,7 @@ bool IfcSolarDevice::is(Type::Enum v) const { return v == Type::IfcSolarDevice | Type::Enum IfcSolarDevice::type() const { return Type::IfcSolarDevice; } Type::Enum IfcSolarDevice::Class() { return Type::IfcSolarDevice; } IfcSolarDevice::IfcSolarDevice(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSolarDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSolarDevice::IfcSolarDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSolarDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSolarDevice::IfcSolarDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSolarDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSolarDeviceType IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum IfcSolarDeviceType::PredefinedType() const { return IfcSolarDeviceTypeEnum::FromString(*entity->getArgument(9)); } @@ -13367,7 +14914,7 @@ bool IfcSolarDeviceType::is(Type::Enum v) const { return v == Type::IfcSolarDevi Type::Enum IfcSolarDeviceType::type() const { return Type::IfcSolarDeviceType; } Type::Enum IfcSolarDeviceType::Class() { return Type::IfcSolarDeviceType; } IfcSolarDeviceType::IfcSolarDeviceType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSolarDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSolarDeviceType::IfcSolarDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSolarDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSolarDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSolidModel bool IfcSolidModel::is(Type::Enum v) const { return v == Type::IfcSolidModel || IfcGeometricRepresentationItem::is(v); } @@ -13381,15 +14928,15 @@ bool IfcSpace::hasPredefinedType() const { return !entity->getArgument(9)->isNul IfcSpaceTypeEnum::IfcSpaceTypeEnum IfcSpace::PredefinedType() const { return IfcSpaceTypeEnum::FromString(*entity->getArgument(9)); } void IfcSpace::setPredefinedType(IfcSpaceTypeEnum::IfcSpaceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcSpaceTypeEnum::ToString(v)); } bool IfcSpace::hasElevationWithFlooring() const { return !entity->getArgument(10)->isNull(); } -IfcLengthMeasure IfcSpace::ElevationWithFlooring() const { return *entity->getArgument(10); } -void IfcSpace::setElevationWithFlooring(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcSpace::ElevationWithFlooring() const { return *entity->getArgument(10); } +void IfcSpace::setElevationWithFlooring(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } IfcRelCoversSpaces::list::ptr IfcSpace::HasCoverings() const { return entity->getInverse(Type::IfcRelCoversSpaces)->as(); } IfcRelSpaceBoundary::list::ptr IfcSpace::BoundedBy() const { return entity->getInverse(Type::IfcRelSpaceBoundary)->as(); } bool IfcSpace::is(Type::Enum v) const { return v == Type::IfcSpace || IfcSpatialStructureElement::is(v); } Type::Enum IfcSpace::type() const { return Type::IfcSpace; } Type::Enum IfcSpace::Class() { return Type::IfcSpace; } IfcSpace::IfcSpace(IfcAbstractEntity* e) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpace)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpace::IfcSpace(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcSpaceTypeEnum::IfcSpaceTypeEnum > v10_PredefinedType, boost::optional< IfcLengthMeasure > v11_ElevationWithFlooring) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } if (v10_PredefinedType) { e->setArgument(9,*v10_PredefinedType,IfcSpaceTypeEnum::ToString(*v10_PredefinedType)); } else { e->setArgument(9); } if (v11_ElevationWithFlooring) { e->setArgument(10,(*v11_ElevationWithFlooring)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcSpace::IfcSpace(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcSpaceTypeEnum::IfcSpaceTypeEnum > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } if (v10_PredefinedType) { e->setArgument(9,*v10_PredefinedType,IfcSpaceTypeEnum::ToString(*v10_PredefinedType)); } else { e->setArgument(9); } if (v11_ElevationWithFlooring) { e->setArgument(10,(*v11_ElevationWithFlooring)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpaceHeater bool IfcSpaceHeater::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -13399,7 +14946,7 @@ bool IfcSpaceHeater::is(Type::Enum v) const { return v == Type::IfcSpaceHeater | Type::Enum IfcSpaceHeater::type() const { return Type::IfcSpaceHeater; } Type::Enum IfcSpaceHeater::Class() { return Type::IfcSpaceHeater; } IfcSpaceHeater::IfcSpaceHeater(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpaceHeater)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpaceHeater::IfcSpaceHeater(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSpaceHeaterTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSpaceHeater::IfcSpaceHeater(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSpaceHeaterTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpaceHeaterType IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum IfcSpaceHeaterType::PredefinedType() const { return IfcSpaceHeaterTypeEnum::FromString(*entity->getArgument(9)); } @@ -13408,24 +14955,24 @@ bool IfcSpaceHeaterType::is(Type::Enum v) const { return v == Type::IfcSpaceHeat Type::Enum IfcSpaceHeaterType::type() const { return Type::IfcSpaceHeaterType; } Type::Enum IfcSpaceHeaterType::Class() { return Type::IfcSpaceHeaterType; } IfcSpaceHeaterType::IfcSpaceHeaterType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpaceHeaterType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpaceHeaterType::IfcSpaceHeaterType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSpaceHeaterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSpaceHeaterTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpaceType IfcSpaceTypeEnum::IfcSpaceTypeEnum IfcSpaceType::PredefinedType() const { return IfcSpaceTypeEnum::FromString(*entity->getArgument(9)); } void IfcSpaceType::setPredefinedType(IfcSpaceTypeEnum::IfcSpaceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcSpaceTypeEnum::ToString(v)); } bool IfcSpaceType::hasLongName() const { return !entity->getArgument(10)->isNull(); } -IfcLabel IfcSpaceType::LongName() const { return *entity->getArgument(10); } -void IfcSpaceType::setLongName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +std::string IfcSpaceType::LongName() const { return *entity->getArgument(10); } +void IfcSpaceType::setLongName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcSpaceType::is(Type::Enum v) const { return v == Type::IfcSpaceType || IfcSpatialStructureElementType::is(v); } Type::Enum IfcSpaceType::type() const { return Type::IfcSpaceType; } Type::Enum IfcSpaceType::Class() { return Type::IfcSpaceType; } IfcSpaceType::IfcSpaceType(IfcAbstractEntity* e) : IfcSpatialStructureElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpaceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpaceType::IfcSpaceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpaceTypeEnum::IfcSpaceTypeEnum v10_PredefinedType, boost::optional< IfcLabel > v11_LongName) : IfcSpatialStructureElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSpaceTypeEnum::ToString(v10_PredefinedType)); if (v11_LongName) { e->setArgument(10,(*v11_LongName)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSpaceTypeEnum::IfcSpaceTypeEnum v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialStructureElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSpaceTypeEnum::ToString(v10_PredefinedType)); if (v11_LongName) { e->setArgument(10,(*v11_LongName)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpatialElement bool IfcSpatialElement::hasLongName() const { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcSpatialElement::LongName() const { return *entity->getArgument(7); } -void IfcSpatialElement::setLongName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcSpatialElement::LongName() const { return *entity->getArgument(7); } +void IfcSpatialElement::setLongName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } IfcRelContainedInSpatialStructure::list::ptr IfcSpatialElement::ContainsElements() const { return entity->getInverse(Type::IfcRelContainedInSpatialStructure)->as(); } IfcRelServicesBuildings::list::ptr IfcSpatialElement::ServicedBySystems() const { return entity->getInverse(Type::IfcRelServicesBuildings)->as(); } IfcRelReferencedInSpatialStructure::list::ptr IfcSpatialElement::ReferencesElements() const { return entity->getInverse(Type::IfcRelReferencedInSpatialStructure)->as(); } @@ -13433,17 +14980,17 @@ bool IfcSpatialElement::is(Type::Enum v) const { return v == Type::IfcSpatialEle Type::Enum IfcSpatialElement::type() const { return Type::IfcSpatialElement; } Type::Enum IfcSpatialElement::Class() { return Type::IfcSpatialElement; } IfcSpatialElement::IfcSpatialElement(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpatialElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpatialElement::IfcSpatialElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpatialElementType bool IfcSpatialElementType::hasElementType() const { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcSpatialElementType::ElementType() const { return *entity->getArgument(8); } -void IfcSpatialElementType::setElementType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcSpatialElementType::ElementType() const { return *entity->getArgument(8); } +void IfcSpatialElementType::setElementType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcSpatialElementType::is(Type::Enum v) const { return v == Type::IfcSpatialElementType || IfcTypeProduct::is(v); } Type::Enum IfcSpatialElementType::type() const { return Type::IfcSpatialElementType; } Type::Enum IfcSpatialElementType::Class() { return Type::IfcSpatialElementType; } IfcSpatialElementType::IfcSpatialElementType(IfcAbstractEntity* e) : IfcTypeProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpatialElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpatialElementType::IfcSpatialElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpatialStructureElement bool IfcSpatialStructureElement::hasCompositionType() const { return !entity->getArgument(8)->isNull(); } @@ -13453,14 +15000,14 @@ bool IfcSpatialStructureElement::is(Type::Enum v) const { return v == Type::IfcS Type::Enum IfcSpatialStructureElement::type() const { return Type::IfcSpatialStructureElement; } Type::Enum IfcSpatialStructureElement::Class() { return Type::IfcSpatialStructureElement; } IfcSpatialStructureElement::IfcSpatialStructureElement(IfcAbstractEntity* e) : IfcSpatialElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpatialStructureElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpatialStructureElement::IfcSpatialStructureElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType) : IfcSpatialElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType) : IfcSpatialElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpatialStructureElementType bool IfcSpatialStructureElementType::is(Type::Enum v) const { return v == Type::IfcSpatialStructureElementType || IfcSpatialElementType::is(v); } Type::Enum IfcSpatialStructureElementType::type() const { return Type::IfcSpatialStructureElementType; } Type::Enum IfcSpatialStructureElementType::Class() { return Type::IfcSpatialStructureElementType; } IfcSpatialStructureElementType::IfcSpatialStructureElementType(IfcAbstractEntity* e) : IfcSpatialElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpatialStructureElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpatialStructureElementType::IfcSpatialStructureElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType) : IfcSpatialElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcSpatialElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpatialZone bool IfcSpatialZone::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -13470,28 +15017,28 @@ bool IfcSpatialZone::is(Type::Enum v) const { return v == Type::IfcSpatialZone | Type::Enum IfcSpatialZone::type() const { return Type::IfcSpatialZone; } Type::Enum IfcSpatialZone::Class() { return Type::IfcSpatialZone; } IfcSpatialZone::IfcSpatialZone(IfcAbstractEntity* e) : IfcSpatialElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpatialZone)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpatialZone::IfcSpatialZone(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum > v9_PredefinedType) : IfcSpatialElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSpatialZoneTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum > v9_PredefinedType) : IfcSpatialElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSpatialZoneTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSpatialZoneType IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum IfcSpatialZoneType::PredefinedType() const { return IfcSpatialZoneTypeEnum::FromString(*entity->getArgument(9)); } void IfcSpatialZoneType::setPredefinedType(IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcSpatialZoneTypeEnum::ToString(v)); } bool IfcSpatialZoneType::hasLongName() const { return !entity->getArgument(10)->isNull(); } -IfcLabel IfcSpatialZoneType::LongName() const { return *entity->getArgument(10); } -void IfcSpatialZoneType::setLongName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +std::string IfcSpatialZoneType::LongName() const { return *entity->getArgument(10); } +void IfcSpatialZoneType::setLongName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcSpatialZoneType::is(Type::Enum v) const { return v == Type::IfcSpatialZoneType || IfcSpatialElementType::is(v); } Type::Enum IfcSpatialZoneType::type() const { return Type::IfcSpatialZoneType; } Type::Enum IfcSpatialZoneType::Class() { return Type::IfcSpatialZoneType; } IfcSpatialZoneType::IfcSpatialZoneType(IfcAbstractEntity* e) : IfcSpatialElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSpatialZoneType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSpatialZoneType::IfcSpatialZoneType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum v10_PredefinedType, boost::optional< IfcLabel > v11_LongName) : IfcSpatialElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSpatialZoneTypeEnum::ToString(v10_PredefinedType)); if (v11_LongName) { e->setArgument(10,(*v11_LongName)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcSpatialZoneType::IfcSpatialZoneType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSpatialZoneTypeEnum::ToString(v10_PredefinedType)); if (v11_LongName) { e->setArgument(10,(*v11_LongName)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSphere -IfcPositiveLengthMeasure IfcSphere::Radius() const { return *entity->getArgument(1); } -void IfcSphere::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcSphere::Radius() const { return *entity->getArgument(1); } +void IfcSphere::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcSphere::is(Type::Enum v) const { return v == Type::IfcSphere || IfcCsgPrimitive3D::is(v); } Type::Enum IfcSphere::type() const { return Type::IfcSphere; } Type::Enum IfcSphere::Class() { return Type::IfcSphere; } IfcSphere::IfcSphere(IfcAbstractEntity* e) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSphere)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSphere::IfcSphere(IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Radius) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Radius)); entity = e; EntityBuffer::Add(this); } +IfcSphere::IfcSphere(IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Position)); e->setArgument(1,(v2_Radius)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStackTerminal bool IfcStackTerminal::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -13501,7 +15048,7 @@ bool IfcStackTerminal::is(Type::Enum v) const { return v == Type::IfcStackTermin Type::Enum IfcStackTerminal::type() const { return Type::IfcStackTerminal; } Type::Enum IfcStackTerminal::Class() { return Type::IfcStackTerminal; } IfcStackTerminal::IfcStackTerminal(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStackTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStackTerminal::IfcStackTerminal(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcStackTerminalTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcStackTerminal::IfcStackTerminal(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcStackTerminalTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStackTerminalType IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum IfcStackTerminalType::PredefinedType() const { return IfcStackTerminalTypeEnum::FromString(*entity->getArgument(9)); } @@ -13510,7 +15057,7 @@ bool IfcStackTerminalType::is(Type::Enum v) const { return v == Type::IfcStackTe Type::Enum IfcStackTerminalType::type() const { return Type::IfcStackTerminalType; } Type::Enum IfcStackTerminalType::Class() { return Type::IfcStackTerminalType; } IfcStackTerminalType::IfcStackTerminalType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStackTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStackTerminalType::IfcStackTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcStackTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcStackTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStair bool IfcStair::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -13520,7 +15067,7 @@ bool IfcStair::is(Type::Enum v) const { return v == Type::IfcStair || IfcBuildin Type::Enum IfcStair::type() const { return Type::IfcStair; } Type::Enum IfcStair::Class() { return Type::IfcStair; } IfcStair::IfcStair(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStair)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStair::IfcStair(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcStairTypeEnum::IfcStairTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcStairTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcStair::IfcStair(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcStairTypeEnum::IfcStairTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcStairTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStairFlight bool IfcStairFlight::hasNumberOfRiser() const { return !entity->getArgument(8)->isNull(); } @@ -13530,11 +15077,11 @@ bool IfcStairFlight::hasNumberOfTreads() const { return !entity->getArgument(9)- int IfcStairFlight::NumberOfTreads() const { return *entity->getArgument(9); } void IfcStairFlight::setNumberOfTreads(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcStairFlight::hasRiserHeight() const { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcStairFlight::RiserHeight() const { return *entity->getArgument(10); } -void IfcStairFlight::setRiserHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcStairFlight::RiserHeight() const { return *entity->getArgument(10); } +void IfcStairFlight::setRiserHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcStairFlight::hasTreadLength() const { return !entity->getArgument(11)->isNull(); } -IfcPositiveLengthMeasure IfcStairFlight::TreadLength() const { return *entity->getArgument(11); } -void IfcStairFlight::setTreadLength(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcStairFlight::TreadLength() const { return *entity->getArgument(11); } +void IfcStairFlight::setTreadLength(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcStairFlight::hasPredefinedType() const { return !entity->getArgument(12)->isNull(); } IfcStairFlightTypeEnum::IfcStairFlightTypeEnum IfcStairFlight::PredefinedType() const { return IfcStairFlightTypeEnum::FromString(*entity->getArgument(12)); } void IfcStairFlight::setPredefinedType(IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v,IfcStairFlightTypeEnum::ToString(v)); } @@ -13542,7 +15089,7 @@ bool IfcStairFlight::is(Type::Enum v) const { return v == Type::IfcStairFlight | Type::Enum IfcStairFlight::type() const { return Type::IfcStairFlight; } Type::Enum IfcStairFlight::Class() { return Type::IfcStairFlight; } IfcStairFlight::IfcStairFlight(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStairFlight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStairFlight::IfcStairFlight(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< IfcPositiveLengthMeasure > v11_RiserHeight, boost::optional< IfcPositiveLengthMeasure > v12_TreadLength, boost::optional< IfcStairFlightTypeEnum::IfcStairFlightTypeEnum > v13_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_NumberOfRiser) { e->setArgument(8,(*v9_NumberOfRiser)); } else { e->setArgument(8); } if (v10_NumberOfTreads) { e->setArgument(9,(*v10_NumberOfTreads)); } else { e->setArgument(9); } if (v11_RiserHeight) { e->setArgument(10,(*v11_RiserHeight)); } else { e->setArgument(10); } if (v12_TreadLength) { e->setArgument(11,(*v12_TreadLength)); } else { e->setArgument(11); } if (v13_PredefinedType) { e->setArgument(12,*v13_PredefinedType,IfcStairFlightTypeEnum::ToString(*v13_PredefinedType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< IfcStairFlightTypeEnum::IfcStairFlightTypeEnum > v13_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_NumberOfRiser) { e->setArgument(8,(*v9_NumberOfRiser)); } else { e->setArgument(8); } if (v10_NumberOfTreads) { e->setArgument(9,(*v10_NumberOfTreads)); } else { e->setArgument(9); } if (v11_RiserHeight) { e->setArgument(10,(*v11_RiserHeight)); } else { e->setArgument(10); } if (v12_TreadLength) { e->setArgument(11,(*v12_TreadLength)); } else { e->setArgument(11); } if (v13_PredefinedType) { e->setArgument(12,*v13_PredefinedType,IfcStairFlightTypeEnum::ToString(*v13_PredefinedType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStairFlightType IfcStairFlightTypeEnum::IfcStairFlightTypeEnum IfcStairFlightType::PredefinedType() const { return IfcStairFlightTypeEnum::FromString(*entity->getArgument(9)); } @@ -13551,7 +15098,7 @@ bool IfcStairFlightType::is(Type::Enum v) const { return v == Type::IfcStairFlig Type::Enum IfcStairFlightType::type() const { return Type::IfcStairFlightType; } Type::Enum IfcStairFlightType::Class() { return Type::IfcStairFlightType; } IfcStairFlightType::IfcStairFlightType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStairFlightType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStairFlightType::IfcStairFlightType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcStairFlightTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcStairFlightTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStairType IfcStairTypeEnum::IfcStairTypeEnum IfcStairType::PredefinedType() const { return IfcStairTypeEnum::FromString(*entity->getArgument(9)); } @@ -13560,7 +15107,7 @@ bool IfcStairType::is(Type::Enum v) const { return v == Type::IfcStairType || If Type::Enum IfcStairType::type() const { return Type::IfcStairType; } Type::Enum IfcStairType::Class() { return Type::IfcStairType; } IfcStairType::IfcStairType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStairType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStairType::IfcStairType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStairTypeEnum::IfcStairTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcStairTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcStairType::IfcStairType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcStairTypeEnum::IfcStairTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcStairTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralAction bool IfcStructuralAction::hasDestabilizingLoad() const { return !entity->getArgument(9)->isNull(); } @@ -13570,7 +15117,7 @@ bool IfcStructuralAction::is(Type::Enum v) const { return v == Type::IfcStructur Type::Enum IfcStructuralAction::type() const { return Type::IfcStructuralAction; } Type::Enum IfcStructuralAction::Class() { return Type::IfcStructuralAction; } IfcStructuralAction::IfcStructuralAction(IfcAbstractEntity* e) : IfcStructuralActivity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralAction::IfcStructuralAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralActivity IfcStructuralLoad* IfcStructuralActivity::AppliedLoad() const { return (IfcStructuralLoad*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } @@ -13582,7 +15129,7 @@ bool IfcStructuralActivity::is(Type::Enum v) const { return v == Type::IfcStruct Type::Enum IfcStructuralActivity::type() const { return Type::IfcStructuralActivity; } Type::Enum IfcStructuralActivity::Class() { return Type::IfcStructuralActivity; } IfcStructuralActivity::IfcStructuralActivity(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralActivity)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralActivity::IfcStructuralActivity(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } +IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralAnalysisModel IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum IfcStructuralAnalysisModel::PredefinedType() const { return IfcAnalysisModelTypeEnum::FromString(*entity->getArgument(5)); } @@ -13603,7 +15150,7 @@ bool IfcStructuralAnalysisModel::is(Type::Enum v) const { return v == Type::IfcS Type::Enum IfcStructuralAnalysisModel::type() const { return Type::IfcStructuralAnalysisModel; } Type::Enum IfcStructuralAnalysisModel::Class() { return Type::IfcStructuralAnalysisModel; } IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcAbstractEntity* e) : IfcSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralAnalysisModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v6_PredefinedType, IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > v9_HasResults, IfcObjectPlacement* v10_SharedPlacement) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_PredefinedType,IfcAnalysisModelTypeEnum::ToString(v6_PredefinedType)); e->setArgument(6,(v7_OrientationOf2DPlane)); if (v8_LoadedBy) { e->setArgument(7,(*v8_LoadedBy)->generalize()); } else { e->setArgument(7); } if (v9_HasResults) { e->setArgument(8,(*v9_HasResults)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_SharedPlacement)); entity = e; EntityBuffer::Add(this); } +IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v6_PredefinedType, IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > v9_HasResults, IfcObjectPlacement* v10_SharedPlacement) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_PredefinedType,IfcAnalysisModelTypeEnum::ToString(v6_PredefinedType)); e->setArgument(6,(v7_OrientationOf2DPlane)); if (v8_LoadedBy) { e->setArgument(7,(*v8_LoadedBy)->generalize()); } else { e->setArgument(7); } if (v9_HasResults) { e->setArgument(8,(*v9_HasResults)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_SharedPlacement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralConnection bool IfcStructuralConnection::hasAppliedCondition() const { return !entity->getArgument(7)->isNull(); } @@ -13614,17 +15161,17 @@ bool IfcStructuralConnection::is(Type::Enum v) const { return v == Type::IfcStru Type::Enum IfcStructuralConnection::type() const { return Type::IfcStructuralConnection; } Type::Enum IfcStructuralConnection::Class() { return Type::IfcStructuralConnection; } IfcStructuralConnection::IfcStructuralConnection(IfcAbstractEntity* e) : IfcStructuralItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralConnection::IfcStructuralConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); entity = e; EntityBuffer::Add(this); } +IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralConnectionCondition bool IfcStructuralConnectionCondition::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcStructuralConnectionCondition::Name() const { return *entity->getArgument(0); } -void IfcStructuralConnectionCondition::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcStructuralConnectionCondition::Name() const { return *entity->getArgument(0); } +void IfcStructuralConnectionCondition::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcStructuralConnectionCondition::is(Type::Enum v) const { return v == Type::IfcStructuralConnectionCondition; } Type::Enum IfcStructuralConnectionCondition::type() const { return Type::IfcStructuralConnectionCondition; } Type::Enum IfcStructuralConnectionCondition::Class() { return Type::IfcStructuralConnectionCondition; } IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcStructuralConnectionCondition)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< IfcLabel > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } +IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralCurveAction bool IfcStructuralCurveAction::hasProjectedOrTrue() const { return !entity->getArgument(10)->isNull(); } @@ -13636,7 +15183,7 @@ bool IfcStructuralCurveAction::is(Type::Enum v) const { return v == Type::IfcStr Type::Enum IfcStructuralCurveAction::type() const { return Type::IfcStructuralCurveAction; } Type::Enum IfcStructuralCurveAction::Class() { return Type::IfcStructuralCurveAction; } IfcStructuralCurveAction::IfcStructuralCurveAction(IfcAbstractEntity* e) : IfcStructuralAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralCurveAction::IfcStructuralCurveAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v12_PredefinedType) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } if (v11_ProjectedOrTrue) { e->setArgument(10,*v11_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcStructuralCurveActivityTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v12_PredefinedType) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } if (v11_ProjectedOrTrue) { e->setArgument(10,*v11_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcStructuralCurveActivityTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralCurveConnection IfcDirection* IfcStructuralCurveConnection::Axis() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } @@ -13645,7 +15192,7 @@ bool IfcStructuralCurveConnection::is(Type::Enum v) const { return v == Type::If Type::Enum IfcStructuralCurveConnection::type() const { return Type::IfcStructuralCurveConnection; } Type::Enum IfcStructuralCurveConnection::Class() { return Type::IfcStructuralCurveConnection; } IfcStructuralCurveConnection::IfcStructuralCurveConnection(IfcAbstractEntity* e) : IfcStructuralConnection((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralCurveConnection::IfcStructuralCurveConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition, IfcDirection* v9_Axis) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); e->setArgument(8,(v9_Axis)); entity = e; EntityBuffer::Add(this); } +IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition, IfcDirection* v9_Axis) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); e->setArgument(8,(v9_Axis)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralCurveMember IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum IfcStructuralCurveMember::PredefinedType() const { return IfcStructuralCurveMemberTypeEnum::FromString(*entity->getArgument(7)); } @@ -13656,14 +15203,14 @@ bool IfcStructuralCurveMember::is(Type::Enum v) const { return v == Type::IfcStr Type::Enum IfcStructuralCurveMember::type() const { return Type::IfcStructuralCurveMember; } Type::Enum IfcStructuralCurveMember::Class() { return Type::IfcStructuralCurveMember; } IfcStructuralCurveMember::IfcStructuralCurveMember(IfcAbstractEntity* e) : IfcStructuralMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralCurveMember::IfcStructuralCurveMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v8_PredefinedType, IfcDirection* v9_Axis) : IfcStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralCurveMemberTypeEnum::ToString(v8_PredefinedType)); e->setArgument(8,(v9_Axis)); entity = e; EntityBuffer::Add(this); } +IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v8_PredefinedType, IfcDirection* v9_Axis) : IfcStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralCurveMemberTypeEnum::ToString(v8_PredefinedType)); e->setArgument(8,(v9_Axis)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralCurveMemberVarying bool IfcStructuralCurveMemberVarying::is(Type::Enum v) const { return v == Type::IfcStructuralCurveMemberVarying || IfcStructuralCurveMember::is(v); } Type::Enum IfcStructuralCurveMemberVarying::type() const { return Type::IfcStructuralCurveMemberVarying; } Type::Enum IfcStructuralCurveMemberVarying::Class() { return Type::IfcStructuralCurveMemberVarying; } IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(IfcAbstractEntity* e) : IfcStructuralCurveMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveMemberVarying)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v8_PredefinedType, IfcDirection* v9_Axis) : IfcStructuralCurveMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralCurveMemberTypeEnum::ToString(v8_PredefinedType)); e->setArgument(8,(v9_Axis)); entity = e; EntityBuffer::Add(this); } +IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v8_PredefinedType, IfcDirection* v9_Axis) : IfcStructuralCurveMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralCurveMemberTypeEnum::ToString(v8_PredefinedType)); e->setArgument(8,(v9_Axis)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralCurveReaction IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum IfcStructuralCurveReaction::PredefinedType() const { return IfcStructuralCurveActivityTypeEnum::FromString(*entity->getArgument(9)); } @@ -13672,7 +15219,7 @@ bool IfcStructuralCurveReaction::is(Type::Enum v) const { return v == Type::IfcS Type::Enum IfcStructuralCurveReaction::type() const { return Type::IfcStructuralCurveReaction; } Type::Enum IfcStructuralCurveReaction::Class() { return Type::IfcStructuralCurveReaction; } IfcStructuralCurveReaction::IfcStructuralCurveReaction(IfcAbstractEntity* e) : IfcStructuralReaction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralCurveReaction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralCurveReaction::IfcStructuralCurveReaction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v10_PredefinedType) : IfcStructuralReaction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,v10_PredefinedType,IfcStructuralCurveActivityTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v10_PredefinedType) : IfcStructuralReaction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,v10_PredefinedType,IfcStructuralCurveActivityTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralItem IfcRelConnectsStructuralActivity::list::ptr IfcStructuralItem::AssignedStructuralActivity() const { return entity->getInverse(Type::IfcRelConnectsStructuralActivity)->as(); } @@ -13680,34 +15227,34 @@ bool IfcStructuralItem::is(Type::Enum v) const { return v == Type::IfcStructural Type::Enum IfcStructuralItem::type() const { return Type::IfcStructuralItem; } Type::Enum IfcStructuralItem::Class() { return Type::IfcStructuralItem; } IfcStructuralItem::IfcStructuralItem(IfcAbstractEntity* e) : IfcProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralItem::IfcStructuralItem(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } +IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLinearAction bool IfcStructuralLinearAction::is(Type::Enum v) const { return v == Type::IfcStructuralLinearAction || IfcStructuralCurveAction::is(v); } Type::Enum IfcStructuralLinearAction::type() const { return Type::IfcStructuralLinearAction; } Type::Enum IfcStructuralLinearAction::Class() { return Type::IfcStructuralLinearAction; } IfcStructuralLinearAction::IfcStructuralLinearAction(IfcAbstractEntity* e) : IfcStructuralCurveAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLinearAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLinearAction::IfcStructuralLinearAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v12_PredefinedType) : IfcStructuralCurveAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } if (v11_ProjectedOrTrue) { e->setArgument(10,*v11_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcStructuralCurveActivityTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v12_PredefinedType) : IfcStructuralCurveAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } if (v11_ProjectedOrTrue) { e->setArgument(10,*v11_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcStructuralCurveActivityTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoad bool IfcStructuralLoad::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcStructuralLoad::Name() const { return *entity->getArgument(0); } -void IfcStructuralLoad::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcStructuralLoad::Name() const { return *entity->getArgument(0); } +void IfcStructuralLoad::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcStructuralLoad::is(Type::Enum v) const { return v == Type::IfcStructuralLoad; } Type::Enum IfcStructuralLoad::type() const { return Type::IfcStructuralLoad; } Type::Enum IfcStructuralLoad::Class() { return Type::IfcStructuralLoad; } IfcStructuralLoad::IfcStructuralLoad(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcStructuralLoad)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoad::IfcStructuralLoad(boost::optional< IfcLabel > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadCase bool IfcStructuralLoadCase::hasSelfWeightCoefficients() const { return !entity->getArgument(10)->isNull(); } -std::vector< IfcRatioMeasure > /*[3:3]*/ IfcStructuralLoadCase::SelfWeightCoefficients() const { return *entity->getArgument(10); } -void IfcStructuralLoadCase::setSelfWeightCoefficients(std::vector< IfcRatioMeasure > /*[3:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +std::vector< double > /*[3:3]*/ IfcStructuralLoadCase::SelfWeightCoefficients() const { return *entity->getArgument(10); } +void IfcStructuralLoadCase::setSelfWeightCoefficients(std::vector< double > /*[3:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcStructuralLoadCase::is(Type::Enum v) const { return v == Type::IfcStructuralLoadCase || IfcStructuralLoadGroup::is(v); } Type::Enum IfcStructuralLoadCase::type() const { return Type::IfcStructuralLoadCase; } Type::Enum IfcStructuralLoadCase::Class() { return Type::IfcStructuralLoadCase; } IfcStructuralLoadCase::IfcStructuralLoadCase(IfcAbstractEntity* e) : IfcStructuralLoadGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadCase::IfcStructuralLoadCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< IfcRatioMeasure > v9_Coefficient, boost::optional< IfcLabel > v10_Purpose, boost::optional< std::vector< IfcRatioMeasure > /*[3:3]*/ > v11_SelfWeightCoefficients) : IfcStructuralLoadGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_PredefinedType,IfcLoadGroupTypeEnum::ToString(v6_PredefinedType)); e->setArgument(6,v7_ActionType,IfcActionTypeEnum::ToString(v7_ActionType)); e->setArgument(7,v8_ActionSource,IfcActionSourceTypeEnum::ToString(v8_ActionSource)); if (v9_Coefficient) { e->setArgument(8,(*v9_Coefficient)); } else { e->setArgument(8); } if (v10_Purpose) { e->setArgument(9,(*v10_Purpose)); } else { e->setArgument(9); } if (v11_SelfWeightCoefficients) { e->setArgument(10,(*v11_SelfWeightCoefficients)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose, boost::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients) : IfcStructuralLoadGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_PredefinedType,IfcLoadGroupTypeEnum::ToString(v6_PredefinedType)); e->setArgument(6,v7_ActionType,IfcActionTypeEnum::ToString(v7_ActionType)); e->setArgument(7,v8_ActionSource,IfcActionSourceTypeEnum::ToString(v8_ActionSource)); if (v9_Coefficient) { e->setArgument(8,(*v9_Coefficient)); } else { e->setArgument(8); } if (v10_Purpose) { e->setArgument(9,(*v10_Purpose)); } else { e->setArgument(9); } if (v11_SelfWeightCoefficients) { e->setArgument(10,(*v11_SelfWeightCoefficients)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadConfiguration IfcTemplatedEntityList< IfcStructuralLoadOrResult >::ptr IfcStructuralLoadConfiguration::Values() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } @@ -13716,7 +15263,7 @@ bool IfcStructuralLoadConfiguration::is(Type::Enum v) const { return v == Type:: Type::Enum IfcStructuralLoadConfiguration::type() const { return Type::IfcStructuralLoadConfiguration; } Type::Enum IfcStructuralLoadConfiguration::Class() { return Type::IfcStructuralLoadConfiguration; } IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(IfcAbstractEntity* e) : IfcStructuralLoad((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadConfiguration)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< IfcLabel > v1_Name, IfcTemplatedEntityList< IfcStructuralLoadOrResult >::ptr v2_Values) : IfcStructuralLoad((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_Values)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< std::string > v1_Name, IfcTemplatedEntityList< IfcStructuralLoadOrResult >::ptr v2_Values) : IfcStructuralLoad((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_Values)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadGroup IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum IfcStructuralLoadGroup::PredefinedType() const { return IfcLoadGroupTypeEnum::FromString(*entity->getArgument(5)); } @@ -13726,159 +15273,159 @@ void IfcStructuralLoadGroup::setActionType(IfcActionTypeEnum::IfcActionTypeEnum IfcActionSourceTypeEnum::IfcActionSourceTypeEnum IfcStructuralLoadGroup::ActionSource() const { return IfcActionSourceTypeEnum::FromString(*entity->getArgument(7)); } void IfcStructuralLoadGroup::setActionSource(IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcActionSourceTypeEnum::ToString(v)); } bool IfcStructuralLoadGroup::hasCoefficient() const { return !entity->getArgument(8)->isNull(); } -IfcRatioMeasure IfcStructuralLoadGroup::Coefficient() const { return *entity->getArgument(8); } -void IfcStructuralLoadGroup::setCoefficient(IfcRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcStructuralLoadGroup::Coefficient() const { return *entity->getArgument(8); } +void IfcStructuralLoadGroup::setCoefficient(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcStructuralLoadGroup::hasPurpose() const { return !entity->getArgument(9)->isNull(); } -IfcLabel IfcStructuralLoadGroup::Purpose() const { return *entity->getArgument(9); } -void IfcStructuralLoadGroup::setPurpose(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +std::string IfcStructuralLoadGroup::Purpose() const { return *entity->getArgument(9); } +void IfcStructuralLoadGroup::setPurpose(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } IfcStructuralResultGroup::list::ptr IfcStructuralLoadGroup::SourceOfResultGroup() const { return entity->getInverse(Type::IfcStructuralResultGroup)->as(); } IfcStructuralAnalysisModel::list::ptr IfcStructuralLoadGroup::LoadGroupFor() const { return entity->getInverse(Type::IfcStructuralAnalysisModel)->as(); } bool IfcStructuralLoadGroup::is(Type::Enum v) const { return v == Type::IfcStructuralLoadGroup || IfcGroup::is(v); } Type::Enum IfcStructuralLoadGroup::type() const { return Type::IfcStructuralLoadGroup; } Type::Enum IfcStructuralLoadGroup::Class() { return Type::IfcStructuralLoadGroup; } IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< IfcRatioMeasure > v9_Coefficient, boost::optional< IfcLabel > v10_Purpose) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_PredefinedType,IfcLoadGroupTypeEnum::ToString(v6_PredefinedType)); e->setArgument(6,v7_ActionType,IfcActionTypeEnum::ToString(v7_ActionType)); e->setArgument(7,v8_ActionSource,IfcActionSourceTypeEnum::ToString(v8_ActionSource)); if (v9_Coefficient) { e->setArgument(8,(*v9_Coefficient)); } else { e->setArgument(8); } if (v10_Purpose) { e->setArgument(9,(*v10_Purpose)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_PredefinedType,IfcLoadGroupTypeEnum::ToString(v6_PredefinedType)); e->setArgument(6,v7_ActionType,IfcActionTypeEnum::ToString(v7_ActionType)); e->setArgument(7,v8_ActionSource,IfcActionSourceTypeEnum::ToString(v8_ActionSource)); if (v9_Coefficient) { e->setArgument(8,(*v9_Coefficient)); } else { e->setArgument(8); } if (v10_Purpose) { e->setArgument(9,(*v10_Purpose)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadLinearForce bool IfcStructuralLoadLinearForce::hasLinearForceX() const { return !entity->getArgument(1)->isNull(); } -IfcLinearForceMeasure IfcStructuralLoadLinearForce::LinearForceX() const { return *entity->getArgument(1); } -void IfcStructuralLoadLinearForce::setLinearForceX(IfcLinearForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcStructuralLoadLinearForce::LinearForceX() const { return *entity->getArgument(1); } +void IfcStructuralLoadLinearForce::setLinearForceX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcStructuralLoadLinearForce::hasLinearForceY() const { return !entity->getArgument(2)->isNull(); } -IfcLinearForceMeasure IfcStructuralLoadLinearForce::LinearForceY() const { return *entity->getArgument(2); } -void IfcStructuralLoadLinearForce::setLinearForceY(IfcLinearForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcStructuralLoadLinearForce::LinearForceY() const { return *entity->getArgument(2); } +void IfcStructuralLoadLinearForce::setLinearForceY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcStructuralLoadLinearForce::hasLinearForceZ() const { return !entity->getArgument(3)->isNull(); } -IfcLinearForceMeasure IfcStructuralLoadLinearForce::LinearForceZ() const { return *entity->getArgument(3); } -void IfcStructuralLoadLinearForce::setLinearForceZ(IfcLinearForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcStructuralLoadLinearForce::LinearForceZ() const { return *entity->getArgument(3); } +void IfcStructuralLoadLinearForce::setLinearForceZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcStructuralLoadLinearForce::hasLinearMomentX() const { return !entity->getArgument(4)->isNull(); } -IfcLinearMomentMeasure IfcStructuralLoadLinearForce::LinearMomentX() const { return *entity->getArgument(4); } -void IfcStructuralLoadLinearForce::setLinearMomentX(IfcLinearMomentMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcStructuralLoadLinearForce::LinearMomentX() const { return *entity->getArgument(4); } +void IfcStructuralLoadLinearForce::setLinearMomentX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcStructuralLoadLinearForce::hasLinearMomentY() const { return !entity->getArgument(5)->isNull(); } -IfcLinearMomentMeasure IfcStructuralLoadLinearForce::LinearMomentY() const { return *entity->getArgument(5); } -void IfcStructuralLoadLinearForce::setLinearMomentY(IfcLinearMomentMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcStructuralLoadLinearForce::LinearMomentY() const { return *entity->getArgument(5); } +void IfcStructuralLoadLinearForce::setLinearMomentY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcStructuralLoadLinearForce::hasLinearMomentZ() const { return !entity->getArgument(6)->isNull(); } -IfcLinearMomentMeasure IfcStructuralLoadLinearForce::LinearMomentZ() const { return *entity->getArgument(6); } -void IfcStructuralLoadLinearForce::setLinearMomentZ(IfcLinearMomentMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcStructuralLoadLinearForce::LinearMomentZ() const { return *entity->getArgument(6); } +void IfcStructuralLoadLinearForce::setLinearMomentZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcStructuralLoadLinearForce::is(Type::Enum v) const { return v == Type::IfcStructuralLoadLinearForce || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadLinearForce::type() const { return Type::IfcStructuralLoadLinearForce; } Type::Enum IfcStructuralLoadLinearForce::Class() { return Type::IfcStructuralLoadLinearForce; } IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(IfcAbstractEntity* e) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadLinearForce)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLinearForceMeasure > v2_LinearForceX, boost::optional< IfcLinearForceMeasure > v3_LinearForceY, boost::optional< IfcLinearForceMeasure > v4_LinearForceZ, boost::optional< IfcLinearMomentMeasure > v5_LinearMomentX, boost::optional< IfcLinearMomentMeasure > v6_LinearMomentY, boost::optional< IfcLinearMomentMeasure > v7_LinearMomentZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearForceX) { e->setArgument(1,(*v2_LinearForceX)); } else { e->setArgument(1); } if (v3_LinearForceY) { e->setArgument(2,(*v3_LinearForceY)); } else { e->setArgument(2); } if (v4_LinearForceZ) { e->setArgument(3,(*v4_LinearForceZ)); } else { e->setArgument(3); } if (v5_LinearMomentX) { e->setArgument(4,(*v5_LinearMomentX)); } else { e->setArgument(4); } if (v6_LinearMomentY) { e->setArgument(5,(*v6_LinearMomentY)); } else { e->setArgument(5); } if (v7_LinearMomentZ) { e->setArgument(6,(*v7_LinearMomentZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(boost::optional< std::string > v1_Name, boost::optional< double > v2_LinearForceX, boost::optional< double > v3_LinearForceY, boost::optional< double > v4_LinearForceZ, boost::optional< double > v5_LinearMomentX, boost::optional< double > v6_LinearMomentY, boost::optional< double > v7_LinearMomentZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_LinearForceX) { e->setArgument(1,(*v2_LinearForceX)); } else { e->setArgument(1); } if (v3_LinearForceY) { e->setArgument(2,(*v3_LinearForceY)); } else { e->setArgument(2); } if (v4_LinearForceZ) { e->setArgument(3,(*v4_LinearForceZ)); } else { e->setArgument(3); } if (v5_LinearMomentX) { e->setArgument(4,(*v5_LinearMomentX)); } else { e->setArgument(4); } if (v6_LinearMomentY) { e->setArgument(5,(*v6_LinearMomentY)); } else { e->setArgument(5); } if (v7_LinearMomentZ) { e->setArgument(6,(*v7_LinearMomentZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadOrResult bool IfcStructuralLoadOrResult::is(Type::Enum v) const { return v == Type::IfcStructuralLoadOrResult || IfcStructuralLoad::is(v); } Type::Enum IfcStructuralLoadOrResult::type() const { return Type::IfcStructuralLoadOrResult; } Type::Enum IfcStructuralLoadOrResult::Class() { return Type::IfcStructuralLoadOrResult; } IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(IfcAbstractEntity* e) : IfcStructuralLoad((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadOrResult)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< IfcLabel > v1_Name) : IfcStructuralLoad((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadPlanarForce bool IfcStructuralLoadPlanarForce::hasPlanarForceX() const { return !entity->getArgument(1)->isNull(); } -IfcPlanarForceMeasure IfcStructuralLoadPlanarForce::PlanarForceX() const { return *entity->getArgument(1); } -void IfcStructuralLoadPlanarForce::setPlanarForceX(IfcPlanarForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcStructuralLoadPlanarForce::PlanarForceX() const { return *entity->getArgument(1); } +void IfcStructuralLoadPlanarForce::setPlanarForceX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcStructuralLoadPlanarForce::hasPlanarForceY() const { return !entity->getArgument(2)->isNull(); } -IfcPlanarForceMeasure IfcStructuralLoadPlanarForce::PlanarForceY() const { return *entity->getArgument(2); } -void IfcStructuralLoadPlanarForce::setPlanarForceY(IfcPlanarForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcStructuralLoadPlanarForce::PlanarForceY() const { return *entity->getArgument(2); } +void IfcStructuralLoadPlanarForce::setPlanarForceY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcStructuralLoadPlanarForce::hasPlanarForceZ() const { return !entity->getArgument(3)->isNull(); } -IfcPlanarForceMeasure IfcStructuralLoadPlanarForce::PlanarForceZ() const { return *entity->getArgument(3); } -void IfcStructuralLoadPlanarForce::setPlanarForceZ(IfcPlanarForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcStructuralLoadPlanarForce::PlanarForceZ() const { return *entity->getArgument(3); } +void IfcStructuralLoadPlanarForce::setPlanarForceZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcStructuralLoadPlanarForce::is(Type::Enum v) const { return v == Type::IfcStructuralLoadPlanarForce || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadPlanarForce::type() const { return Type::IfcStructuralLoadPlanarForce; } Type::Enum IfcStructuralLoadPlanarForce::Class() { return Type::IfcStructuralLoadPlanarForce; } IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(IfcAbstractEntity* e) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadPlanarForce)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(boost::optional< IfcLabel > v1_Name, boost::optional< IfcPlanarForceMeasure > v2_PlanarForceX, boost::optional< IfcPlanarForceMeasure > v3_PlanarForceY, boost::optional< IfcPlanarForceMeasure > v4_PlanarForceZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_PlanarForceX) { e->setArgument(1,(*v2_PlanarForceX)); } else { e->setArgument(1); } if (v3_PlanarForceY) { e->setArgument(2,(*v3_PlanarForceY)); } else { e->setArgument(2); } if (v4_PlanarForceZ) { e->setArgument(3,(*v4_PlanarForceZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(boost::optional< std::string > v1_Name, boost::optional< double > v2_PlanarForceX, boost::optional< double > v3_PlanarForceY, boost::optional< double > v4_PlanarForceZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_PlanarForceX) { e->setArgument(1,(*v2_PlanarForceX)); } else { e->setArgument(1); } if (v3_PlanarForceY) { e->setArgument(2,(*v3_PlanarForceY)); } else { e->setArgument(2); } if (v4_PlanarForceZ) { e->setArgument(3,(*v4_PlanarForceZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadSingleDisplacement bool IfcStructuralLoadSingleDisplacement::hasDisplacementX() const { return !entity->getArgument(1)->isNull(); } -IfcLengthMeasure IfcStructuralLoadSingleDisplacement::DisplacementX() const { return *entity->getArgument(1); } -void IfcStructuralLoadSingleDisplacement::setDisplacementX(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcStructuralLoadSingleDisplacement::DisplacementX() const { return *entity->getArgument(1); } +void IfcStructuralLoadSingleDisplacement::setDisplacementX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcStructuralLoadSingleDisplacement::hasDisplacementY() const { return !entity->getArgument(2)->isNull(); } -IfcLengthMeasure IfcStructuralLoadSingleDisplacement::DisplacementY() const { return *entity->getArgument(2); } -void IfcStructuralLoadSingleDisplacement::setDisplacementY(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcStructuralLoadSingleDisplacement::DisplacementY() const { return *entity->getArgument(2); } +void IfcStructuralLoadSingleDisplacement::setDisplacementY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcStructuralLoadSingleDisplacement::hasDisplacementZ() const { return !entity->getArgument(3)->isNull(); } -IfcLengthMeasure IfcStructuralLoadSingleDisplacement::DisplacementZ() const { return *entity->getArgument(3); } -void IfcStructuralLoadSingleDisplacement::setDisplacementZ(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcStructuralLoadSingleDisplacement::DisplacementZ() const { return *entity->getArgument(3); } +void IfcStructuralLoadSingleDisplacement::setDisplacementZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRX() const { return !entity->getArgument(4)->isNull(); } -IfcPlaneAngleMeasure IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { return *entity->getArgument(4); } -void IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { return *entity->getArgument(4); } +void IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRY() const { return !entity->getArgument(5)->isNull(); } -IfcPlaneAngleMeasure IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { return *entity->getArgument(5); } -void IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { return *entity->getArgument(5); } +void IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcStructuralLoadSingleDisplacement::hasRotationalDisplacementRZ() const { return !entity->getArgument(6)->isNull(); } -IfcPlaneAngleMeasure IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { return *entity->getArgument(6); } -void IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { return *entity->getArgument(6); } +void IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcStructuralLoadSingleDisplacement::is(Type::Enum v) const { return v == Type::IfcStructuralLoadSingleDisplacement || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadSingleDisplacement::type() const { return Type::IfcStructuralLoadSingleDisplacement; } Type::Enum IfcStructuralLoadSingleDisplacement::Class() { return Type::IfcStructuralLoadSingleDisplacement; } IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(IfcAbstractEntity* e) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadSingleDisplacement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_DisplacementX, boost::optional< IfcLengthMeasure > v3_DisplacementY, boost::optional< IfcLengthMeasure > v4_DisplacementZ, boost::optional< IfcPlaneAngleMeasure > v5_RotationalDisplacementRX, boost::optional< IfcPlaneAngleMeasure > v6_RotationalDisplacementRY, boost::optional< IfcPlaneAngleMeasure > v7_RotationalDisplacementRZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DisplacementX) { e->setArgument(1,(*v2_DisplacementX)); } else { e->setArgument(1); } if (v3_DisplacementY) { e->setArgument(2,(*v3_DisplacementY)); } else { e->setArgument(2); } if (v4_DisplacementZ) { e->setArgument(3,(*v4_DisplacementZ)); } else { e->setArgument(3); } if (v5_RotationalDisplacementRX) { e->setArgument(4,(*v5_RotationalDisplacementRX)); } else { e->setArgument(4); } if (v6_RotationalDisplacementRY) { e->setArgument(5,(*v6_RotationalDisplacementRY)); } else { e->setArgument(5); } if (v7_RotationalDisplacementRZ) { e->setArgument(6,(*v7_RotationalDisplacementRZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(boost::optional< std::string > v1_Name, boost::optional< double > v2_DisplacementX, boost::optional< double > v3_DisplacementY, boost::optional< double > v4_DisplacementZ, boost::optional< double > v5_RotationalDisplacementRX, boost::optional< double > v6_RotationalDisplacementRY, boost::optional< double > v7_RotationalDisplacementRZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DisplacementX) { e->setArgument(1,(*v2_DisplacementX)); } else { e->setArgument(1); } if (v3_DisplacementY) { e->setArgument(2,(*v3_DisplacementY)); } else { e->setArgument(2); } if (v4_DisplacementZ) { e->setArgument(3,(*v4_DisplacementZ)); } else { e->setArgument(3); } if (v5_RotationalDisplacementRX) { e->setArgument(4,(*v5_RotationalDisplacementRX)); } else { e->setArgument(4); } if (v6_RotationalDisplacementRY) { e->setArgument(5,(*v6_RotationalDisplacementRY)); } else { e->setArgument(5); } if (v7_RotationalDisplacementRZ) { e->setArgument(6,(*v7_RotationalDisplacementRZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion bool IfcStructuralLoadSingleDisplacementDistortion::hasDistortion() const { return !entity->getArgument(7)->isNull(); } -IfcCurvatureMeasure IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { return *entity->getArgument(7); } -void IfcStructuralLoadSingleDisplacementDistortion::setDistortion(IfcCurvatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { return *entity->getArgument(7); } +void IfcStructuralLoadSingleDisplacementDistortion::setDistortion(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcStructuralLoadSingleDisplacementDistortion::is(Type::Enum v) const { return v == Type::IfcStructuralLoadSingleDisplacementDistortion || IfcStructuralLoadSingleDisplacement::is(v); } Type::Enum IfcStructuralLoadSingleDisplacementDistortion::type() const { return Type::IfcStructuralLoadSingleDisplacementDistortion; } Type::Enum IfcStructuralLoadSingleDisplacementDistortion::Class() { return Type::IfcStructuralLoadSingleDisplacementDistortion; } IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(IfcAbstractEntity* e) : IfcStructuralLoadSingleDisplacement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadSingleDisplacementDistortion)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_DisplacementX, boost::optional< IfcLengthMeasure > v3_DisplacementY, boost::optional< IfcLengthMeasure > v4_DisplacementZ, boost::optional< IfcPlaneAngleMeasure > v5_RotationalDisplacementRX, boost::optional< IfcPlaneAngleMeasure > v6_RotationalDisplacementRY, boost::optional< IfcPlaneAngleMeasure > v7_RotationalDisplacementRZ, boost::optional< IfcCurvatureMeasure > v8_Distortion) : IfcStructuralLoadSingleDisplacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DisplacementX) { e->setArgument(1,(*v2_DisplacementX)); } else { e->setArgument(1); } if (v3_DisplacementY) { e->setArgument(2,(*v3_DisplacementY)); } else { e->setArgument(2); } if (v4_DisplacementZ) { e->setArgument(3,(*v4_DisplacementZ)); } else { e->setArgument(3); } if (v5_RotationalDisplacementRX) { e->setArgument(4,(*v5_RotationalDisplacementRX)); } else { e->setArgument(4); } if (v6_RotationalDisplacementRY) { e->setArgument(5,(*v6_RotationalDisplacementRY)); } else { e->setArgument(5); } if (v7_RotationalDisplacementRZ) { e->setArgument(6,(*v7_RotationalDisplacementRZ)); } else { e->setArgument(6); } if (v8_Distortion) { e->setArgument(7,(*v8_Distortion)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(boost::optional< std::string > v1_Name, boost::optional< double > v2_DisplacementX, boost::optional< double > v3_DisplacementY, boost::optional< double > v4_DisplacementZ, boost::optional< double > v5_RotationalDisplacementRX, boost::optional< double > v6_RotationalDisplacementRY, boost::optional< double > v7_RotationalDisplacementRZ, boost::optional< double > v8_Distortion) : IfcStructuralLoadSingleDisplacement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DisplacementX) { e->setArgument(1,(*v2_DisplacementX)); } else { e->setArgument(1); } if (v3_DisplacementY) { e->setArgument(2,(*v3_DisplacementY)); } else { e->setArgument(2); } if (v4_DisplacementZ) { e->setArgument(3,(*v4_DisplacementZ)); } else { e->setArgument(3); } if (v5_RotationalDisplacementRX) { e->setArgument(4,(*v5_RotationalDisplacementRX)); } else { e->setArgument(4); } if (v6_RotationalDisplacementRY) { e->setArgument(5,(*v6_RotationalDisplacementRY)); } else { e->setArgument(5); } if (v7_RotationalDisplacementRZ) { e->setArgument(6,(*v7_RotationalDisplacementRZ)); } else { e->setArgument(6); } if (v8_Distortion) { e->setArgument(7,(*v8_Distortion)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadSingleForce bool IfcStructuralLoadSingleForce::hasForceX() const { return !entity->getArgument(1)->isNull(); } -IfcForceMeasure IfcStructuralLoadSingleForce::ForceX() const { return *entity->getArgument(1); } -void IfcStructuralLoadSingleForce::setForceX(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcStructuralLoadSingleForce::ForceX() const { return *entity->getArgument(1); } +void IfcStructuralLoadSingleForce::setForceX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcStructuralLoadSingleForce::hasForceY() const { return !entity->getArgument(2)->isNull(); } -IfcForceMeasure IfcStructuralLoadSingleForce::ForceY() const { return *entity->getArgument(2); } -void IfcStructuralLoadSingleForce::setForceY(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcStructuralLoadSingleForce::ForceY() const { return *entity->getArgument(2); } +void IfcStructuralLoadSingleForce::setForceY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcStructuralLoadSingleForce::hasForceZ() const { return !entity->getArgument(3)->isNull(); } -IfcForceMeasure IfcStructuralLoadSingleForce::ForceZ() const { return *entity->getArgument(3); } -void IfcStructuralLoadSingleForce::setForceZ(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcStructuralLoadSingleForce::ForceZ() const { return *entity->getArgument(3); } +void IfcStructuralLoadSingleForce::setForceZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcStructuralLoadSingleForce::hasMomentX() const { return !entity->getArgument(4)->isNull(); } -IfcTorqueMeasure IfcStructuralLoadSingleForce::MomentX() const { return *entity->getArgument(4); } -void IfcStructuralLoadSingleForce::setMomentX(IfcTorqueMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcStructuralLoadSingleForce::MomentX() const { return *entity->getArgument(4); } +void IfcStructuralLoadSingleForce::setMomentX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcStructuralLoadSingleForce::hasMomentY() const { return !entity->getArgument(5)->isNull(); } -IfcTorqueMeasure IfcStructuralLoadSingleForce::MomentY() const { return *entity->getArgument(5); } -void IfcStructuralLoadSingleForce::setMomentY(IfcTorqueMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcStructuralLoadSingleForce::MomentY() const { return *entity->getArgument(5); } +void IfcStructuralLoadSingleForce::setMomentY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcStructuralLoadSingleForce::hasMomentZ() const { return !entity->getArgument(6)->isNull(); } -IfcTorqueMeasure IfcStructuralLoadSingleForce::MomentZ() const { return *entity->getArgument(6); } -void IfcStructuralLoadSingleForce::setMomentZ(IfcTorqueMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcStructuralLoadSingleForce::MomentZ() const { return *entity->getArgument(6); } +void IfcStructuralLoadSingleForce::setMomentZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcStructuralLoadSingleForce::is(Type::Enum v) const { return v == Type::IfcStructuralLoadSingleForce || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadSingleForce::type() const { return Type::IfcStructuralLoadSingleForce; } Type::Enum IfcStructuralLoadSingleForce::Class() { return Type::IfcStructuralLoadSingleForce; } IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(IfcAbstractEntity* e) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadSingleForce)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_ForceX, boost::optional< IfcForceMeasure > v3_ForceY, boost::optional< IfcForceMeasure > v4_ForceZ, boost::optional< IfcTorqueMeasure > v5_MomentX, boost::optional< IfcTorqueMeasure > v6_MomentY, boost::optional< IfcTorqueMeasure > v7_MomentZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_ForceX) { e->setArgument(1,(*v2_ForceX)); } else { e->setArgument(1); } if (v3_ForceY) { e->setArgument(2,(*v3_ForceY)); } else { e->setArgument(2); } if (v4_ForceZ) { e->setArgument(3,(*v4_ForceZ)); } else { e->setArgument(3); } if (v5_MomentX) { e->setArgument(4,(*v5_MomentX)); } else { e->setArgument(4); } if (v6_MomentY) { e->setArgument(5,(*v6_MomentY)); } else { e->setArgument(5); } if (v7_MomentZ) { e->setArgument(6,(*v7_MomentZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(boost::optional< std::string > v1_Name, boost::optional< double > v2_ForceX, boost::optional< double > v3_ForceY, boost::optional< double > v4_ForceZ, boost::optional< double > v5_MomentX, boost::optional< double > v6_MomentY, boost::optional< double > v7_MomentZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_ForceX) { e->setArgument(1,(*v2_ForceX)); } else { e->setArgument(1); } if (v3_ForceY) { e->setArgument(2,(*v3_ForceY)); } else { e->setArgument(2); } if (v4_ForceZ) { e->setArgument(3,(*v4_ForceZ)); } else { e->setArgument(3); } if (v5_MomentX) { e->setArgument(4,(*v5_MomentX)); } else { e->setArgument(4); } if (v6_MomentY) { e->setArgument(5,(*v6_MomentY)); } else { e->setArgument(5); } if (v7_MomentZ) { e->setArgument(6,(*v7_MomentZ)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadSingleForceWarping bool IfcStructuralLoadSingleForceWarping::hasWarpingMoment() const { return !entity->getArgument(7)->isNull(); } -IfcWarpingMomentMeasure IfcStructuralLoadSingleForceWarping::WarpingMoment() const { return *entity->getArgument(7); } -void IfcStructuralLoadSingleForceWarping::setWarpingMoment(IfcWarpingMomentMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcStructuralLoadSingleForceWarping::WarpingMoment() const { return *entity->getArgument(7); } +void IfcStructuralLoadSingleForceWarping::setWarpingMoment(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcStructuralLoadSingleForceWarping::is(Type::Enum v) const { return v == Type::IfcStructuralLoadSingleForceWarping || IfcStructuralLoadSingleForce::is(v); } Type::Enum IfcStructuralLoadSingleForceWarping::type() const { return Type::IfcStructuralLoadSingleForceWarping; } Type::Enum IfcStructuralLoadSingleForceWarping::Class() { return Type::IfcStructuralLoadSingleForceWarping; } IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(IfcAbstractEntity* e) : IfcStructuralLoadSingleForce((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadSingleForceWarping)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_ForceX, boost::optional< IfcForceMeasure > v3_ForceY, boost::optional< IfcForceMeasure > v4_ForceZ, boost::optional< IfcTorqueMeasure > v5_MomentX, boost::optional< IfcTorqueMeasure > v6_MomentY, boost::optional< IfcTorqueMeasure > v7_MomentZ, boost::optional< IfcWarpingMomentMeasure > v8_WarpingMoment) : IfcStructuralLoadSingleForce((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_ForceX) { e->setArgument(1,(*v2_ForceX)); } else { e->setArgument(1); } if (v3_ForceY) { e->setArgument(2,(*v3_ForceY)); } else { e->setArgument(2); } if (v4_ForceZ) { e->setArgument(3,(*v4_ForceZ)); } else { e->setArgument(3); } if (v5_MomentX) { e->setArgument(4,(*v5_MomentX)); } else { e->setArgument(4); } if (v6_MomentY) { e->setArgument(5,(*v6_MomentY)); } else { e->setArgument(5); } if (v7_MomentZ) { e->setArgument(6,(*v7_MomentZ)); } else { e->setArgument(6); } if (v8_WarpingMoment) { e->setArgument(7,(*v8_WarpingMoment)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(boost::optional< std::string > v1_Name, boost::optional< double > v2_ForceX, boost::optional< double > v3_ForceY, boost::optional< double > v4_ForceZ, boost::optional< double > v5_MomentX, boost::optional< double > v6_MomentY, boost::optional< double > v7_MomentZ, boost::optional< double > v8_WarpingMoment) : IfcStructuralLoadSingleForce((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_ForceX) { e->setArgument(1,(*v2_ForceX)); } else { e->setArgument(1); } if (v3_ForceY) { e->setArgument(2,(*v3_ForceY)); } else { e->setArgument(2); } if (v4_ForceZ) { e->setArgument(3,(*v4_ForceZ)); } else { e->setArgument(3); } if (v5_MomentX) { e->setArgument(4,(*v5_MomentX)); } else { e->setArgument(4); } if (v6_MomentY) { e->setArgument(5,(*v6_MomentY)); } else { e->setArgument(5); } if (v7_MomentZ) { e->setArgument(6,(*v7_MomentZ)); } else { e->setArgument(6); } if (v8_WarpingMoment) { e->setArgument(7,(*v8_WarpingMoment)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadStatic bool IfcStructuralLoadStatic::is(Type::Enum v) const { return v == Type::IfcStructuralLoadStatic || IfcStructuralLoadOrResult::is(v); } Type::Enum IfcStructuralLoadStatic::type() const { return Type::IfcStructuralLoadStatic; } Type::Enum IfcStructuralLoadStatic::Class() { return Type::IfcStructuralLoadStatic; } IfcStructuralLoadStatic::IfcStructuralLoadStatic(IfcAbstractEntity* e) : IfcStructuralLoadOrResult((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadStatic)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< IfcLabel > v1_Name) : IfcStructuralLoadOrResult((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralLoadTemperature bool IfcStructuralLoadTemperature::hasDeltaTConstant() const { return !entity->getArgument(1)->isNull(); } -IfcThermodynamicTemperatureMeasure IfcStructuralLoadTemperature::DeltaTConstant() const { return *entity->getArgument(1); } -void IfcStructuralLoadTemperature::setDeltaTConstant(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcStructuralLoadTemperature::DeltaTConstant() const { return *entity->getArgument(1); } +void IfcStructuralLoadTemperature::setDeltaTConstant(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcStructuralLoadTemperature::hasDeltaTY() const { return !entity->getArgument(2)->isNull(); } -IfcThermodynamicTemperatureMeasure IfcStructuralLoadTemperature::DeltaTY() const { return *entity->getArgument(2); } -void IfcStructuralLoadTemperature::setDeltaTY(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcStructuralLoadTemperature::DeltaTY() const { return *entity->getArgument(2); } +void IfcStructuralLoadTemperature::setDeltaTY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcStructuralLoadTemperature::hasDeltaTZ() const { return !entity->getArgument(3)->isNull(); } -IfcThermodynamicTemperatureMeasure IfcStructuralLoadTemperature::DeltaTZ() const { return *entity->getArgument(3); } -void IfcStructuralLoadTemperature::setDeltaTZ(IfcThermodynamicTemperatureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcStructuralLoadTemperature::DeltaTZ() const { return *entity->getArgument(3); } +void IfcStructuralLoadTemperature::setDeltaTZ(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcStructuralLoadTemperature::is(Type::Enum v) const { return v == Type::IfcStructuralLoadTemperature || IfcStructuralLoadStatic::is(v); } Type::Enum IfcStructuralLoadTemperature::type() const { return Type::IfcStructuralLoadTemperature; } Type::Enum IfcStructuralLoadTemperature::Class() { return Type::IfcStructuralLoadTemperature; } IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(IfcAbstractEntity* e) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralLoadTemperature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< IfcLabel > v1_Name, boost::optional< IfcThermodynamicTemperatureMeasure > v2_DeltaTConstant, boost::optional< IfcThermodynamicTemperatureMeasure > v3_DeltaTY, boost::optional< IfcThermodynamicTemperatureMeasure > v4_DeltaTZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DeltaTConstant) { e->setArgument(1,(*v2_DeltaTConstant)); } else { e->setArgument(1); } if (v3_DeltaTY) { e->setArgument(2,(*v3_DeltaTY)); } else { e->setArgument(2); } if (v4_DeltaTZ) { e->setArgument(3,(*v4_DeltaTZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaTConstant, boost::optional< double > v3_DeltaTY, boost::optional< double > v4_DeltaTZ) : IfcStructuralLoadStatic((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DeltaTConstant) { e->setArgument(1,(*v2_DeltaTConstant)); } else { e->setArgument(1); } if (v3_DeltaTY) { e->setArgument(2,(*v3_DeltaTY)); } else { e->setArgument(2); } if (v4_DeltaTZ) { e->setArgument(3,(*v4_DeltaTZ)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralMember IfcRelConnectsStructuralMember::list::ptr IfcStructuralMember::ConnectedBy() const { return entity->getInverse(Type::IfcRelConnectsStructuralMember)->as(); } @@ -13886,21 +15433,21 @@ bool IfcStructuralMember::is(Type::Enum v) const { return v == Type::IfcStructur Type::Enum IfcStructuralMember::type() const { return Type::IfcStructuralMember; } Type::Enum IfcStructuralMember::Class() { return Type::IfcStructuralMember; } IfcStructuralMember::IfcStructuralMember(IfcAbstractEntity* e) : IfcStructuralItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralMember::IfcStructuralMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcStructuralItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } +IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation) : IfcStructuralItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralPlanarAction bool IfcStructuralPlanarAction::is(Type::Enum v) const { return v == Type::IfcStructuralPlanarAction || IfcStructuralSurfaceAction::is(v); } Type::Enum IfcStructuralPlanarAction::type() const { return Type::IfcStructuralPlanarAction; } Type::Enum IfcStructuralPlanarAction::Class() { return Type::IfcStructuralPlanarAction; } IfcStructuralPlanarAction::IfcStructuralPlanarAction(IfcAbstractEntity* e) : IfcStructuralSurfaceAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPlanarAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPlanarAction::IfcStructuralPlanarAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v12_PredefinedType) : IfcStructuralSurfaceAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } if (v11_ProjectedOrTrue) { e->setArgument(10,*v11_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcStructuralSurfaceActivityTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v12_PredefinedType) : IfcStructuralSurfaceAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } if (v11_ProjectedOrTrue) { e->setArgument(10,*v11_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcStructuralSurfaceActivityTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralPointAction bool IfcStructuralPointAction::is(Type::Enum v) const { return v == Type::IfcStructuralPointAction || IfcStructuralAction::is(v); } Type::Enum IfcStructuralPointAction::type() const { return Type::IfcStructuralPointAction; } Type::Enum IfcStructuralPointAction::Class() { return Type::IfcStructuralPointAction; } IfcStructuralPointAction::IfcStructuralPointAction(IfcAbstractEntity* e) : IfcStructuralAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPointAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPointAction::IfcStructuralPointAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralPointConnection bool IfcStructuralPointConnection::hasConditionCoordinateSystem() const { return !entity->getArgument(8)->isNull(); } @@ -13910,21 +15457,21 @@ bool IfcStructuralPointConnection::is(Type::Enum v) const { return v == Type::If Type::Enum IfcStructuralPointConnection::type() const { return Type::IfcStructuralPointConnection; } Type::Enum IfcStructuralPointConnection::Class() { return Type::IfcStructuralPointConnection; } IfcStructuralPointConnection::IfcStructuralPointConnection(IfcAbstractEntity* e) : IfcStructuralConnection((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPointConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPointConnection::IfcStructuralPointConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition, IfcAxis2Placement3D* v9_ConditionCoordinateSystem) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); e->setArgument(8,(v9_ConditionCoordinateSystem)); entity = e; EntityBuffer::Add(this); } +IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition, IfcAxis2Placement3D* v9_ConditionCoordinateSystem) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); e->setArgument(8,(v9_ConditionCoordinateSystem)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralPointReaction bool IfcStructuralPointReaction::is(Type::Enum v) const { return v == Type::IfcStructuralPointReaction || IfcStructuralReaction::is(v); } Type::Enum IfcStructuralPointReaction::type() const { return Type::IfcStructuralPointReaction; } Type::Enum IfcStructuralPointReaction::Class() { return Type::IfcStructuralPointReaction; } IfcStructuralPointReaction::IfcStructuralPointReaction(IfcAbstractEntity* e) : IfcStructuralReaction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralPointReaction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralPointReaction::IfcStructuralPointReaction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcStructuralReaction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } +IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcStructuralReaction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralReaction bool IfcStructuralReaction::is(Type::Enum v) const { return v == Type::IfcStructuralReaction || IfcStructuralActivity::is(v); } Type::Enum IfcStructuralReaction::type() const { return Type::IfcStructuralReaction; } Type::Enum IfcStructuralReaction::Class() { return Type::IfcStructuralReaction; } IfcStructuralReaction::IfcStructuralReaction(IfcAbstractEntity* e) : IfcStructuralActivity((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralReaction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralReaction::IfcStructuralReaction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcStructuralActivity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } +IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal) : IfcStructuralActivity((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralResultGroup IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum IfcStructuralResultGroup::TheoryType() const { return IfcAnalysisTheoryTypeEnum::FromString(*entity->getArgument(5)); } @@ -13939,7 +15486,7 @@ bool IfcStructuralResultGroup::is(Type::Enum v) const { return v == Type::IfcStr Type::Enum IfcStructuralResultGroup::type() const { return Type::IfcStructuralResultGroup; } Type::Enum IfcStructuralResultGroup::Class() { return Type::IfcStructuralResultGroup; } IfcStructuralResultGroup::IfcStructuralResultGroup(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralResultGroup)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralResultGroup::IfcStructuralResultGroup(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v6_TheoryType, IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_TheoryType,IfcAnalysisTheoryTypeEnum::ToString(v6_TheoryType)); e->setArgument(6,(v7_ResultForLoadGroup)); e->setArgument(7,(v8_IsLinear)); entity = e; EntityBuffer::Add(this); } +IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v6_TheoryType, IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,v6_TheoryType,IfcAnalysisTheoryTypeEnum::ToString(v6_TheoryType)); e->setArgument(6,(v7_ResultForLoadGroup)); e->setArgument(7,(v8_IsLinear)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralSurfaceAction bool IfcStructuralSurfaceAction::hasProjectedOrTrue() const { return !entity->getArgument(10)->isNull(); } @@ -13951,33 +15498,33 @@ bool IfcStructuralSurfaceAction::is(Type::Enum v) const { return v == Type::IfcS Type::Enum IfcStructuralSurfaceAction::type() const { return Type::IfcStructuralSurfaceAction; } Type::Enum IfcStructuralSurfaceAction::Class() { return Type::IfcStructuralSurfaceAction; } IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(IfcAbstractEntity* e) : IfcStructuralAction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceAction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v12_PredefinedType) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } if (v11_ProjectedOrTrue) { e->setArgument(10,*v11_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcStructuralSurfaceActivityTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v12_PredefinedType) : IfcStructuralAction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); if (v10_DestabilizingLoad) { e->setArgument(9,(*v10_DestabilizingLoad)); } else { e->setArgument(9); } if (v11_ProjectedOrTrue) { e->setArgument(10,*v11_ProjectedOrTrue,IfcProjectedOrTrueLengthEnum::ToString(*v11_ProjectedOrTrue)); } else { e->setArgument(10); } e->setArgument(11,v12_PredefinedType,IfcStructuralSurfaceActivityTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralSurfaceConnection bool IfcStructuralSurfaceConnection::is(Type::Enum v) const { return v == Type::IfcStructuralSurfaceConnection || IfcStructuralConnection::is(v); } Type::Enum IfcStructuralSurfaceConnection::type() const { return Type::IfcStructuralSurfaceConnection; } Type::Enum IfcStructuralSurfaceConnection::Class() { return Type::IfcStructuralSurfaceConnection; } IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(IfcAbstractEntity* e) : IfcStructuralConnection((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceConnection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); entity = e; EntityBuffer::Add(this); } +IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedCondition)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralSurfaceMember IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum IfcStructuralSurfaceMember::PredefinedType() const { return IfcStructuralSurfaceMemberTypeEnum::FromString(*entity->getArgument(7)); } void IfcStructuralSurfaceMember::setPredefinedType(IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v,IfcStructuralSurfaceMemberTypeEnum::ToString(v)); } bool IfcStructuralSurfaceMember::hasThickness() const { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcStructuralSurfaceMember::Thickness() const { return *entity->getArgument(8); } -void IfcStructuralSurfaceMember::setThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcStructuralSurfaceMember::Thickness() const { return *entity->getArgument(8); } +void IfcStructuralSurfaceMember::setThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcStructuralSurfaceMember::is(Type::Enum v) const { return v == Type::IfcStructuralSurfaceMember || IfcStructuralMember::is(v); } Type::Enum IfcStructuralSurfaceMember::type() const { return Type::IfcStructuralSurfaceMember; } Type::Enum IfcStructuralSurfaceMember::Class() { return Type::IfcStructuralSurfaceMember; } IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(IfcAbstractEntity* e) : IfcStructuralMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceMember)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v8_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v9_Thickness) : IfcStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralSurfaceMemberTypeEnum::ToString(v8_PredefinedType)); if (v9_Thickness) { e->setArgument(8,(*v9_Thickness)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralSurfaceMemberTypeEnum::ToString(v8_PredefinedType)); if (v9_Thickness) { e->setArgument(8,(*v9_Thickness)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralSurfaceMemberVarying bool IfcStructuralSurfaceMemberVarying::is(Type::Enum v) const { return v == Type::IfcStructuralSurfaceMemberVarying || IfcStructuralSurfaceMember::is(v); } Type::Enum IfcStructuralSurfaceMemberVarying::type() const { return Type::IfcStructuralSurfaceMemberVarying; } Type::Enum IfcStructuralSurfaceMemberVarying::Class() { return Type::IfcStructuralSurfaceMemberVarying; } IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(IfcAbstractEntity* e) : IfcStructuralSurfaceMember((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceMemberVarying)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v8_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v9_Thickness) : IfcStructuralSurfaceMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralSurfaceMemberTypeEnum::ToString(v8_PredefinedType)); if (v9_Thickness) { e->setArgument(8,(*v9_Thickness)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralSurfaceMember((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,v8_PredefinedType,IfcStructuralSurfaceMemberTypeEnum::ToString(v8_PredefinedType)); if (v9_Thickness) { e->setArgument(8,(*v9_Thickness)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStructuralSurfaceReaction IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum IfcStructuralSurfaceReaction::PredefinedType() const { return IfcStructuralSurfaceActivityTypeEnum::FromString(*entity->getArgument(9)); } @@ -13986,36 +15533,36 @@ bool IfcStructuralSurfaceReaction::is(Type::Enum v) const { return v == Type::If Type::Enum IfcStructuralSurfaceReaction::type() const { return Type::IfcStructuralSurfaceReaction; } Type::Enum IfcStructuralSurfaceReaction::Class() { return Type::IfcStructuralSurfaceReaction; } IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(IfcAbstractEntity* e) : IfcStructuralReaction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStructuralSurfaceReaction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v10_PredefinedType) : IfcStructuralReaction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,v10_PredefinedType,IfcStructuralSurfaceActivityTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v10_PredefinedType) : IfcStructuralReaction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); e->setArgument(7,(v8_AppliedLoad)); e->setArgument(8,v9_GlobalOrLocal,IfcGlobalOrLocalEnum::ToString(v9_GlobalOrLocal)); e->setArgument(9,v10_PredefinedType,IfcStructuralSurfaceActivityTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStyleModel bool IfcStyleModel::is(Type::Enum v) const { return v == Type::IfcStyleModel || IfcRepresentation::is(v); } Type::Enum IfcStyleModel::type() const { return Type::IfcStyleModel; } Type::Enum IfcStyleModel::Class() { return Type::IfcStyleModel; } IfcStyleModel::IfcStyleModel(IfcAbstractEntity* e) : IfcRepresentation((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStyleModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStyleModel::IfcStyleModel(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcStyleModel::IfcStyleModel(IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStyledItem bool IfcStyledItem::hasItem() const { return !entity->getArgument(0)->isNull(); } IfcRepresentationItem* IfcStyledItem::Item() const { return (IfcRepresentationItem*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcStyledItem::setItem(IfcRepresentationItem* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcStyledItem::Styles() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcStyledItem::setStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } +IfcEntityList::ptr IfcStyledItem::Styles() const { return *entity->getArgument(1); } +void IfcStyledItem::setStyles(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcStyledItem::hasName() const { return !entity->getArgument(2)->isNull(); } -IfcLabel IfcStyledItem::Name() const { return *entity->getArgument(2); } -void IfcStyledItem::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcStyledItem::Name() const { return *entity->getArgument(2); } +void IfcStyledItem::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcStyledItem::is(Type::Enum v) const { return v == Type::IfcStyledItem || IfcRepresentationItem::is(v); } Type::Enum IfcStyledItem::type() const { return Type::IfcStyledItem; } Type::Enum IfcStyledItem::Class() { return Type::IfcStyledItem; } IfcStyledItem::IfcStyledItem(IfcAbstractEntity* e) : IfcRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStyledItem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStyledItem::IfcStyledItem(IfcRepresentationItem* v1_Item, IfcEntityList::ptr v2_Styles, boost::optional< IfcLabel > v3_Name) : IfcRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcStyledItem::IfcStyledItem(IfcRepresentationItem* v1_Item, IfcEntityList::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Item)); e->setArgument(1,(v2_Styles)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStyledRepresentation bool IfcStyledRepresentation::is(Type::Enum v) const { return v == Type::IfcStyledRepresentation || IfcStyleModel::is(v); } Type::Enum IfcStyledRepresentation::type() const { return Type::IfcStyledRepresentation; } Type::Enum IfcStyledRepresentation::Class() { return Type::IfcStyledRepresentation; } IfcStyledRepresentation::IfcStyledRepresentation(IfcAbstractEntity* e) : IfcStyleModel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStyledRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStyledRepresentation::IfcStyledRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcStyledRepresentation::IfcStyledRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSubContractResource bool IfcSubContractResource::hasPredefinedType() const { return !entity->getArgument(10)->isNull(); } @@ -14025,7 +15572,7 @@ bool IfcSubContractResource::is(Type::Enum v) const { return v == Type::IfcSubCo Type::Enum IfcSubContractResource::type() const { return Type::IfcSubContractResource; } Type::Enum IfcSubContractResource::Class() { return Type::IfcSubContractResource; } IfcSubContractResource::IfcSubContractResource(IfcAbstractEntity* e) : IfcConstructionResource((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSubContractResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSubContractResource::IfcSubContractResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcSubContractResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum > v11_PredefinedType) : IfcConstructionResource((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } e->setArgument(7,(v8_Usage)); if (v9_BaseCosts) { e->setArgument(8,(*v9_BaseCosts)->generalize()); } else { e->setArgument(8); } e->setArgument(9,(v10_BaseQuantity)); if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcSubContractResourceTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSubContractResourceType IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum IfcSubContractResourceType::PredefinedType() const { return IfcSubContractResourceTypeEnum::FromString(*entity->getArgument(11)); } @@ -14034,7 +15581,7 @@ bool IfcSubContractResourceType::is(Type::Enum v) const { return v == Type::IfcS Type::Enum IfcSubContractResourceType::type() const { return Type::IfcSubContractResourceType; } Type::Enum IfcSubContractResourceType::Class() { return Type::IfcSubContractResourceType; } IfcSubContractResourceType::IfcSubContractResourceType(IfcAbstractEntity* e) : IfcConstructionResourceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSubContractResourceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSubContractResourceType::IfcSubContractResourceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); e->setArgument(11,v12_PredefinedType,IfcSubContractResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum v12_PredefinedType) : IfcConstructionResourceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } if (v10_BaseCosts) { e->setArgument(9,(*v10_BaseCosts)->generalize()); } else { e->setArgument(9); } e->setArgument(10,(v11_BaseQuantity)); e->setArgument(11,v12_PredefinedType,IfcSubContractResourceTypeEnum::ToString(v12_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSubedge IfcEdge* IfcSubedge::ParentEdge() const { return (IfcEdge*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } @@ -14056,18 +15603,18 @@ IfcSurface::IfcSurface() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) IfcCurve* IfcSurfaceCurveSweptAreaSolid::Directrix() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcSurfaceCurveSweptAreaSolid::setDirectrix(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcSurfaceCurveSweptAreaSolid::hasStartParam() const { return !entity->getArgument(3)->isNull(); } -IfcParameterValue IfcSurfaceCurveSweptAreaSolid::StartParam() const { return *entity->getArgument(3); } -void IfcSurfaceCurveSweptAreaSolid::setStartParam(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcSurfaceCurveSweptAreaSolid::StartParam() const { return *entity->getArgument(3); } +void IfcSurfaceCurveSweptAreaSolid::setStartParam(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcSurfaceCurveSweptAreaSolid::hasEndParam() const { return !entity->getArgument(4)->isNull(); } -IfcParameterValue IfcSurfaceCurveSweptAreaSolid::EndParam() const { return *entity->getArgument(4); } -void IfcSurfaceCurveSweptAreaSolid::setEndParam(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcSurfaceCurveSweptAreaSolid::EndParam() const { return *entity->getArgument(4); } +void IfcSurfaceCurveSweptAreaSolid::setEndParam(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } IfcSurface* IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return (IfcSurface*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } void IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(IfcSurface* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcSurfaceCurveSweptAreaSolid::is(Type::Enum v) const { return v == Type::IfcSurfaceCurveSweptAreaSolid || IfcSweptAreaSolid::is(v); } Type::Enum IfcSurfaceCurveSweptAreaSolid::type() const { return Type::IfcSurfaceCurveSweptAreaSolid; } Type::Enum IfcSurfaceCurveSweptAreaSolid::Class() { return Type::IfcSurfaceCurveSweptAreaSolid; } IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcAbstractEntity* e) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceCurveSweptAreaSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcCurve* v3_Directrix, boost::optional< IfcParameterValue > v4_StartParam, boost::optional< IfcParameterValue > v5_EndParam, IfcSurface* v6_ReferenceSurface) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_Directrix)); if (v4_StartParam) { e->setArgument(3,(*v4_StartParam)); } else { e->setArgument(3); } if (v5_EndParam) { e->setArgument(4,(*v5_EndParam)); } else { e->setArgument(4); } e->setArgument(5,(v6_ReferenceSurface)); entity = e; EntityBuffer::Add(this); } +IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, IfcSurface* v6_ReferenceSurface) : IfcSweptAreaSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptArea)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_Directrix)); if (v4_StartParam) { e->setArgument(3,(*v4_StartParam)); } else { e->setArgument(3); } if (v5_EndParam) { e->setArgument(4,(*v5_EndParam)); } else { e->setArgument(4); } e->setArgument(5,(v6_ReferenceSurface)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceFeature bool IfcSurfaceFeature::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -14077,18 +15624,18 @@ bool IfcSurfaceFeature::is(Type::Enum v) const { return v == Type::IfcSurfaceFea Type::Enum IfcSurfaceFeature::type() const { return Type::IfcSurfaceFeature; } Type::Enum IfcSurfaceFeature::Class() { return Type::IfcSurfaceFeature; } IfcSurfaceFeature::IfcSurfaceFeature(IfcAbstractEntity* e) : IfcFeatureElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceFeature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceFeature::IfcSurfaceFeature(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum > v9_PredefinedType) : IfcFeatureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSurfaceFeatureTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum > v9_PredefinedType) : IfcFeatureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSurfaceFeatureTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceOfLinearExtrusion IfcDirection* IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcSurfaceOfLinearExtrusion::setExtrudedDirection(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcLengthMeasure IfcSurfaceOfLinearExtrusion::Depth() const { return *entity->getArgument(3); } -void IfcSurfaceOfLinearExtrusion::setDepth(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcSurfaceOfLinearExtrusion::Depth() const { return *entity->getArgument(3); } +void IfcSurfaceOfLinearExtrusion::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcSurfaceOfLinearExtrusion::is(Type::Enum v) const { return v == Type::IfcSurfaceOfLinearExtrusion || IfcSweptSurface::is(v); } Type::Enum IfcSurfaceOfLinearExtrusion::type() const { return Type::IfcSurfaceOfLinearExtrusion; } Type::Enum IfcSurfaceOfLinearExtrusion::Class() { return Type::IfcSurfaceOfLinearExtrusion; } IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcAbstractEntity* e) : IfcSweptSurface((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceOfLinearExtrusion)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcProfileDef* v1_SweptCurve, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, IfcLengthMeasure v4_Depth) : IfcSweptSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptCurve)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_ExtrudedDirection)); e->setArgument(3,(v4_Depth)); entity = e; EntityBuffer::Add(this); } +IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcProfileDef* v1_SweptCurve, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SweptCurve)); e->setArgument(1,(v2_Position)); e->setArgument(2,(v3_ExtrudedDirection)); e->setArgument(3,(v4_Depth)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceOfRevolution IfcAxis1Placement* IfcSurfaceOfRevolution::AxisPosition() const { return (IfcAxis1Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } @@ -14101,30 +15648,30 @@ IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(IfcProfileDef* v1_SweptCurve, Ifc // Function implementations for IfcSurfaceReinforcementArea bool IfcSurfaceReinforcementArea::hasSurfaceReinforcement1() const { return !entity->getArgument(1)->isNull(); } -std::vector< IfcLengthMeasure > /*[2:3]*/ IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { return *entity->getArgument(1); } -void IfcSurfaceReinforcementArea::setSurfaceReinforcement1(std::vector< IfcLengthMeasure > /*[2:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::vector< double > /*[2:3]*/ IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { return *entity->getArgument(1); } +void IfcSurfaceReinforcementArea::setSurfaceReinforcement1(std::vector< double > /*[2:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcSurfaceReinforcementArea::hasSurfaceReinforcement2() const { return !entity->getArgument(2)->isNull(); } -std::vector< IfcLengthMeasure > /*[2:3]*/ IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { return *entity->getArgument(2); } -void IfcSurfaceReinforcementArea::setSurfaceReinforcement2(std::vector< IfcLengthMeasure > /*[2:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::vector< double > /*[2:3]*/ IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { return *entity->getArgument(2); } +void IfcSurfaceReinforcementArea::setSurfaceReinforcement2(std::vector< double > /*[2:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcSurfaceReinforcementArea::hasShearReinforcement() const { return !entity->getArgument(3)->isNull(); } -IfcRatioMeasure IfcSurfaceReinforcementArea::ShearReinforcement() const { return *entity->getArgument(3); } -void IfcSurfaceReinforcementArea::setShearReinforcement(IfcRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcSurfaceReinforcementArea::ShearReinforcement() const { return *entity->getArgument(3); } +void IfcSurfaceReinforcementArea::setShearReinforcement(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcSurfaceReinforcementArea::is(Type::Enum v) const { return v == Type::IfcSurfaceReinforcementArea || IfcStructuralLoadOrResult::is(v); } Type::Enum IfcSurfaceReinforcementArea::type() const { return Type::IfcSurfaceReinforcementArea; } Type::Enum IfcSurfaceReinforcementArea::Class() { return Type::IfcSurfaceReinforcementArea; } IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(IfcAbstractEntity* e) : IfcStructuralLoadOrResult((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceReinforcementArea)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::optional< IfcLabel > v1_Name, boost::optional< std::vector< IfcLengthMeasure > /*[2:3]*/ > v2_SurfaceReinforcement1, boost::optional< std::vector< IfcLengthMeasure > /*[2:3]*/ > v3_SurfaceReinforcement2, boost::optional< IfcRatioMeasure > v4_ShearReinforcement) : IfcStructuralLoadOrResult((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_SurfaceReinforcement1) { e->setArgument(1,(*v2_SurfaceReinforcement1)); } else { e->setArgument(1); } if (v3_SurfaceReinforcement2) { e->setArgument(2,(*v3_SurfaceReinforcement2)); } else { e->setArgument(2); } if (v4_ShearReinforcement) { e->setArgument(3,(*v4_ShearReinforcement)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(boost::optional< std::string > v1_Name, boost::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, boost::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, boost::optional< double > v4_ShearReinforcement) : IfcStructuralLoadOrResult((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_SurfaceReinforcement1) { e->setArgument(1,(*v2_SurfaceReinforcement1)); } else { e->setArgument(1); } if (v3_SurfaceReinforcement2) { e->setArgument(2,(*v3_SurfaceReinforcement2)); } else { e->setArgument(2); } if (v4_ShearReinforcement) { e->setArgument(3,(*v4_ShearReinforcement)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceStyle IfcSurfaceSide::IfcSurfaceSide IfcSurfaceStyle::Side() const { return IfcSurfaceSide::FromString(*entity->getArgument(1)); } void IfcSurfaceStyle::setSide(IfcSurfaceSide::IfcSurfaceSide v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v,IfcSurfaceSide::ToString(v)); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcSurfaceStyle::Styles() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcSurfaceStyle::setStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +IfcEntityList::ptr IfcSurfaceStyle::Styles() const { return *entity->getArgument(2); } +void IfcSurfaceStyle::setStyles(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } 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; } IfcSurfaceStyle::IfcSurfaceStyle(IfcAbstractEntity* e) : IfcPresentationStyle((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< IfcLabel > v1_Name, IfcSurfaceSide::IfcSurfaceSide v2_Side, IfcEntityList::ptr v3_Styles) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,v2_Side,IfcSurfaceSide::ToString(v2_Side)); e->setArgument(2,(v3_Styles)); entity = e; EntityBuffer::Add(this); } +IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, IfcSurfaceSide::IfcSurfaceSide v2_Side, IfcEntityList::ptr v3_Styles) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,v2_Side,IfcSurfaceSide::ToString(v2_Side)); e->setArgument(2,(v3_Styles)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceStyleLighting IfcColourRgb* IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -14143,46 +15690,46 @@ IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(IfcColourRgb* v1_DiffuseTransmi // Function implementations for IfcSurfaceStyleRefraction bool IfcSurfaceStyleRefraction::hasRefractionIndex() const { return !entity->getArgument(0)->isNull(); } -IfcReal IfcSurfaceStyleRefraction::RefractionIndex() const { return *entity->getArgument(0); } -void IfcSurfaceStyleRefraction::setRefractionIndex(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +double IfcSurfaceStyleRefraction::RefractionIndex() const { return *entity->getArgument(0); } +void IfcSurfaceStyleRefraction::setRefractionIndex(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcSurfaceStyleRefraction::hasDispersionFactor() const { return !entity->getArgument(1)->isNull(); } -IfcReal IfcSurfaceStyleRefraction::DispersionFactor() const { return *entity->getArgument(1); } -void IfcSurfaceStyleRefraction::setDispersionFactor(IfcReal v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcSurfaceStyleRefraction::DispersionFactor() const { return *entity->getArgument(1); } +void IfcSurfaceStyleRefraction::setDispersionFactor(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcSurfaceStyleRefraction::is(Type::Enum v) const { return v == Type::IfcSurfaceStyleRefraction || IfcPresentationItem::is(v); } Type::Enum IfcSurfaceStyleRefraction::type() const { return Type::IfcSurfaceStyleRefraction; } Type::Enum IfcSurfaceStyleRefraction::Class() { return Type::IfcSurfaceStyleRefraction; } IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceStyleRefraction)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< IfcReal > v1_RefractionIndex, boost::optional< IfcReal > v2_DispersionFactor) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_RefractionIndex) { e->setArgument(0,(*v1_RefractionIndex)); } else { e->setArgument(0); } if (v2_DispersionFactor) { e->setArgument(1,(*v2_DispersionFactor)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_RefractionIndex) { e->setArgument(0,(*v1_RefractionIndex)); } else { e->setArgument(0); } if (v2_DispersionFactor) { e->setArgument(1,(*v2_DispersionFactor)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceStyleRendering bool IfcSurfaceStyleRendering::hasTransparency() const { return !entity->getArgument(1)->isNull(); } -IfcNormalisedRatioMeasure IfcSurfaceStyleRendering::Transparency() const { return *entity->getArgument(1); } -void IfcSurfaceStyleRendering::setTransparency(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcSurfaceStyleRendering::Transparency() const { return *entity->getArgument(1); } +void IfcSurfaceStyleRendering::setTransparency(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcSurfaceStyleRendering::hasDiffuseColour() const { return !entity->getArgument(2)->isNull(); } -IfcColourOrFactor IfcSurfaceStyleRendering::DiffuseColour() const { return *entity->getArgument(2); } -void IfcSurfaceStyleRendering::setDiffuseColour(IfcColourOrFactor v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +IfcColourOrFactor* IfcSurfaceStyleRendering::DiffuseColour() const { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } +void IfcSurfaceStyleRendering::setDiffuseColour(IfcColourOrFactor* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcSurfaceStyleRendering::hasTransmissionColour() const { return !entity->getArgument(3)->isNull(); } -IfcColourOrFactor IfcSurfaceStyleRendering::TransmissionColour() const { return *entity->getArgument(3); } -void IfcSurfaceStyleRendering::setTransmissionColour(IfcColourOrFactor v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +IfcColourOrFactor* IfcSurfaceStyleRendering::TransmissionColour() const { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } +void IfcSurfaceStyleRendering::setTransmissionColour(IfcColourOrFactor* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcSurfaceStyleRendering::hasDiffuseTransmissionColour() const { return !entity->getArgument(4)->isNull(); } -IfcColourOrFactor IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { return *entity->getArgument(4); } -void IfcSurfaceStyleRendering::setDiffuseTransmissionColour(IfcColourOrFactor v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +IfcColourOrFactor* IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } +void IfcSurfaceStyleRendering::setDiffuseTransmissionColour(IfcColourOrFactor* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcSurfaceStyleRendering::hasReflectionColour() const { return !entity->getArgument(5)->isNull(); } -IfcColourOrFactor IfcSurfaceStyleRendering::ReflectionColour() const { return *entity->getArgument(5); } -void IfcSurfaceStyleRendering::setReflectionColour(IfcColourOrFactor v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +IfcColourOrFactor* IfcSurfaceStyleRendering::ReflectionColour() const { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcSurfaceStyleRendering::setReflectionColour(IfcColourOrFactor* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcSurfaceStyleRendering::hasSpecularColour() const { return !entity->getArgument(6)->isNull(); } -IfcColourOrFactor IfcSurfaceStyleRendering::SpecularColour() const { return *entity->getArgument(6); } -void IfcSurfaceStyleRendering::setSpecularColour(IfcColourOrFactor v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +IfcColourOrFactor* IfcSurfaceStyleRendering::SpecularColour() const { return (IfcColourOrFactor*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } +void IfcSurfaceStyleRendering::setSpecularColour(IfcColourOrFactor* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcSurfaceStyleRendering::hasSpecularHighlight() const { return !entity->getArgument(7)->isNull(); } -IfcSpecularHighlightSelect IfcSurfaceStyleRendering::SpecularHighlight() const { return *entity->getArgument(7); } -void IfcSurfaceStyleRendering::setSpecularHighlight(IfcSpecularHighlightSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +IfcSpecularHighlightSelect* IfcSurfaceStyleRendering::SpecularHighlight() const { return (IfcSpecularHighlightSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } +void IfcSurfaceStyleRendering::setSpecularHighlight(IfcSpecularHighlightSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } IfcReflectanceMethodEnum::IfcReflectanceMethodEnum IfcSurfaceStyleRendering::ReflectanceMethod() const { return IfcReflectanceMethodEnum::FromString(*entity->getArgument(8)); } void IfcSurfaceStyleRendering::setReflectanceMethod(IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v,IfcReflectanceMethodEnum::ToString(v)); } bool IfcSurfaceStyleRendering::is(Type::Enum v) const { return v == Type::IfcSurfaceStyleRendering || IfcSurfaceStyleShading::is(v); } Type::Enum IfcSurfaceStyleRendering::type() const { return Type::IfcSurfaceStyleRendering; } Type::Enum IfcSurfaceStyleRendering::Class() { return Type::IfcSurfaceStyleRendering; } IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcAbstractEntity* e) : IfcSurfaceStyleShading((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceStyleRendering)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcColourRgb* v1_SurfaceColour, boost::optional< IfcNormalisedRatioMeasure > v2_Transparency, boost::optional< IfcColourOrFactor > v3_DiffuseColour, boost::optional< IfcColourOrFactor > v4_TransmissionColour, boost::optional< IfcColourOrFactor > v5_DiffuseTransmissionColour, boost::optional< IfcColourOrFactor > v6_ReflectionColour, boost::optional< IfcColourOrFactor > v7_SpecularColour, boost::optional< IfcSpecularHighlightSelect > v8_SpecularHighlight, IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v9_ReflectanceMethod) : IfcSurfaceStyleShading((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceColour)); if (v2_Transparency) { e->setArgument(1,(*v2_Transparency)); } else { e->setArgument(1); } if (v3_DiffuseColour) { e->setArgument(2,(*v3_DiffuseColour)); } else { e->setArgument(2); } if (v4_TransmissionColour) { e->setArgument(3,(*v4_TransmissionColour)); } else { e->setArgument(3); } if (v5_DiffuseTransmissionColour) { e->setArgument(4,(*v5_DiffuseTransmissionColour)); } else { e->setArgument(4); } if (v6_ReflectionColour) { e->setArgument(5,(*v6_ReflectionColour)); } else { e->setArgument(5); } if (v7_SpecularColour) { e->setArgument(6,(*v7_SpecularColour)); } else { e->setArgument(6); } if (v8_SpecularHighlight) { e->setArgument(7,(*v8_SpecularHighlight)); } else { e->setArgument(7); } e->setArgument(8,v9_ReflectanceMethod,IfcReflectanceMethodEnum::ToString(v9_ReflectanceMethod)); entity = e; EntityBuffer::Add(this); } +IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, IfcColourOrFactor* v3_DiffuseColour, IfcColourOrFactor* v4_TransmissionColour, IfcColourOrFactor* v5_DiffuseTransmissionColour, IfcColourOrFactor* v6_ReflectionColour, IfcColourOrFactor* v7_SpecularColour, IfcSpecularHighlightSelect* v8_SpecularHighlight, IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v9_ReflectanceMethod) : IfcSurfaceStyleShading((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SurfaceColour)); if (v2_Transparency) { e->setArgument(1,(*v2_Transparency)); } else { e->setArgument(1); } e->setArgument(2,(v3_DiffuseColour)); e->setArgument(3,(v4_TransmissionColour)); e->setArgument(4,(v5_DiffuseTransmissionColour)); e->setArgument(5,(v6_ReflectionColour)); e->setArgument(6,(v7_SpecularColour)); e->setArgument(7,(v8_SpecularHighlight)); e->setArgument(8,v9_ReflectanceMethod,IfcReflectanceMethodEnum::ToString(v9_ReflectanceMethod)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSurfaceStyleShading IfcColourRgb* IfcSurfaceStyleShading::SurfaceColour() const { return (IfcColourRgb*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -14208,21 +15755,21 @@ void IfcSurfaceTexture::setRepeatS(bool v) { if ( ! entity->isWritable() ) { ent bool IfcSurfaceTexture::RepeatT() const { return *entity->getArgument(1); } void IfcSurfaceTexture::setRepeatT(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcSurfaceTexture::hasMode() const { return !entity->getArgument(2)->isNull(); } -IfcIdentifier IfcSurfaceTexture::Mode() const { return *entity->getArgument(2); } -void IfcSurfaceTexture::setMode(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcSurfaceTexture::Mode() const { return *entity->getArgument(2); } +void IfcSurfaceTexture::setMode(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcSurfaceTexture::hasTextureTransform() const { return !entity->getArgument(3)->isNull(); } IfcCartesianTransformationOperator2D* IfcSurfaceTexture::TextureTransform() const { return (IfcCartesianTransformationOperator2D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcSurfaceTexture::setTextureTransform(IfcCartesianTransformationOperator2D* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcSurfaceTexture::hasParameter() const { return !entity->getArgument(4)->isNull(); } -std::vector< IfcIdentifier > /*[1:?]*/ IfcSurfaceTexture::Parameter() const { return *entity->getArgument(4); } -void IfcSurfaceTexture::setParameter(std::vector< IfcIdentifier > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::vector< std::string > /*[1:?]*/ IfcSurfaceTexture::Parameter() const { return *entity->getArgument(4); } +void IfcSurfaceTexture::setParameter(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } IfcTextureCoordinate::list::ptr IfcSurfaceTexture::IsMappedBy() const { return entity->getInverse(Type::IfcTextureCoordinate)->as(); } IfcSurfaceStyleWithTextures::list::ptr IfcSurfaceTexture::UsedInStyles() const { return entity->getInverse(Type::IfcSurfaceStyleWithTextures)->as(); } bool IfcSurfaceTexture::is(Type::Enum v) const { return v == Type::IfcSurfaceTexture || IfcPresentationItem::is(v); } Type::Enum IfcSurfaceTexture::type() const { return Type::IfcSurfaceTexture; } Type::Enum IfcSurfaceTexture::Class() { return Type::IfcSurfaceTexture; } IfcSurfaceTexture::IfcSurfaceTexture(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSurfaceTexture)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< IfcIdentifier > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< IfcIdentifier > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); if (v3_Mode) { e->setArgument(2,(*v3_Mode)); } else { e->setArgument(2); } e->setArgument(3,(v4_TextureTransform)); if (v5_Parameter) { e->setArgument(4,(*v5_Parameter)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_RepeatS)); e->setArgument(1,(v2_RepeatT)); if (v3_Mode) { e->setArgument(2,(*v3_Mode)); } else { e->setArgument(2); } e->setArgument(3,(v4_TextureTransform)); if (v5_Parameter) { e->setArgument(4,(*v5_Parameter)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSweptAreaSolid IfcProfileDef* IfcSweptAreaSolid::SweptArea() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -14239,32 +15786,32 @@ IfcSweptAreaSolid::IfcSweptAreaSolid(IfcProfileDef* v1_SweptArea, IfcAxis2Placem // Function implementations for IfcSweptDiskSolid IfcCurve* IfcSweptDiskSolid::Directrix() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcSweptDiskSolid::setDirectrix(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcPositiveLengthMeasure IfcSweptDiskSolid::Radius() const { return *entity->getArgument(1); } -void IfcSweptDiskSolid::setRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcSweptDiskSolid::Radius() const { return *entity->getArgument(1); } +void IfcSweptDiskSolid::setRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcSweptDiskSolid::hasInnerRadius() const { return !entity->getArgument(2)->isNull(); } -IfcPositiveLengthMeasure IfcSweptDiskSolid::InnerRadius() const { return *entity->getArgument(2); } -void IfcSweptDiskSolid::setInnerRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +double IfcSweptDiskSolid::InnerRadius() const { return *entity->getArgument(2); } +void IfcSweptDiskSolid::setInnerRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcSweptDiskSolid::hasStartParam() const { return !entity->getArgument(3)->isNull(); } -IfcParameterValue IfcSweptDiskSolid::StartParam() const { return *entity->getArgument(3); } -void IfcSweptDiskSolid::setStartParam(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcSweptDiskSolid::StartParam() const { return *entity->getArgument(3); } +void IfcSweptDiskSolid::setStartParam(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcSweptDiskSolid::hasEndParam() const { return !entity->getArgument(4)->isNull(); } -IfcParameterValue IfcSweptDiskSolid::EndParam() const { return *entity->getArgument(4); } -void IfcSweptDiskSolid::setEndParam(IfcParameterValue v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcSweptDiskSolid::EndParam() const { return *entity->getArgument(4); } +void IfcSweptDiskSolid::setEndParam(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcSweptDiskSolid::is(Type::Enum v) const { return v == Type::IfcSweptDiskSolid || IfcSolidModel::is(v); } Type::Enum IfcSweptDiskSolid::type() const { return Type::IfcSweptDiskSolid; } Type::Enum IfcSweptDiskSolid::Class() { return Type::IfcSweptDiskSolid; } IfcSweptDiskSolid::IfcSweptDiskSolid(IfcAbstractEntity* e) : IfcSolidModel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSweptDiskSolid)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSweptDiskSolid::IfcSweptDiskSolid(IfcCurve* v1_Directrix, IfcPositiveLengthMeasure v2_Radius, boost::optional< IfcPositiveLengthMeasure > v3_InnerRadius, boost::optional< IfcParameterValue > v4_StartParam, boost::optional< IfcParameterValue > v5_EndParam) : IfcSolidModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Directrix)); e->setArgument(1,(v2_Radius)); if (v3_InnerRadius) { e->setArgument(2,(*v3_InnerRadius)); } else { e->setArgument(2); } if (v4_StartParam) { e->setArgument(3,(*v4_StartParam)); } else { e->setArgument(3); } if (v5_EndParam) { e->setArgument(4,(*v5_EndParam)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcSweptDiskSolid::IfcSweptDiskSolid(IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSolidModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Directrix)); e->setArgument(1,(v2_Radius)); if (v3_InnerRadius) { e->setArgument(2,(*v3_InnerRadius)); } else { e->setArgument(2); } if (v4_StartParam) { e->setArgument(3,(*v4_StartParam)); } else { e->setArgument(3); } if (v5_EndParam) { e->setArgument(4,(*v5_EndParam)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSweptDiskSolidPolygonal bool IfcSweptDiskSolidPolygonal::hasFilletRadius() const { return !entity->getArgument(5)->isNull(); } -IfcPositiveLengthMeasure IfcSweptDiskSolidPolygonal::FilletRadius() const { return *entity->getArgument(5); } -void IfcSweptDiskSolidPolygonal::setFilletRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcSweptDiskSolidPolygonal::FilletRadius() const { return *entity->getArgument(5); } +void IfcSweptDiskSolidPolygonal::setFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcSweptDiskSolidPolygonal::is(Type::Enum v) const { return v == Type::IfcSweptDiskSolidPolygonal || IfcSweptDiskSolid::is(v); } Type::Enum IfcSweptDiskSolidPolygonal::type() const { return Type::IfcSweptDiskSolidPolygonal; } Type::Enum IfcSweptDiskSolidPolygonal::Class() { return Type::IfcSweptDiskSolidPolygonal; } IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcAbstractEntity* e) : IfcSweptDiskSolid((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSweptDiskSolidPolygonal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcCurve* v1_Directrix, IfcPositiveLengthMeasure v2_Radius, boost::optional< IfcPositiveLengthMeasure > v3_InnerRadius, boost::optional< IfcParameterValue > v4_StartParam, boost::optional< IfcParameterValue > v5_EndParam, boost::optional< IfcPositiveLengthMeasure > v6_FilletRadius) : IfcSweptDiskSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Directrix)); e->setArgument(1,(v2_Radius)); if (v3_InnerRadius) { e->setArgument(2,(*v3_InnerRadius)); } else { e->setArgument(2); } if (v4_StartParam) { e->setArgument(3,(*v4_StartParam)); } else { e->setArgument(3); } if (v5_EndParam) { e->setArgument(4,(*v5_EndParam)); } else { e->setArgument(4); } if (v6_FilletRadius) { e->setArgument(5,(*v6_FilletRadius)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, boost::optional< double > v6_FilletRadius) : IfcSweptDiskSolid((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Directrix)); e->setArgument(1,(v2_Radius)); if (v3_InnerRadius) { e->setArgument(2,(*v3_InnerRadius)); } else { e->setArgument(2); } if (v4_StartParam) { e->setArgument(3,(*v4_StartParam)); } else { e->setArgument(3); } if (v5_EndParam) { e->setArgument(4,(*v5_EndParam)); } else { e->setArgument(4); } if (v6_FilletRadius) { e->setArgument(5,(*v6_FilletRadius)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSweptSurface IfcProfileDef* IfcSweptSurface::SweptCurve() const { return (IfcProfileDef*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -14286,7 +15833,7 @@ bool IfcSwitchingDevice::is(Type::Enum v) const { return v == Type::IfcSwitching Type::Enum IfcSwitchingDevice::type() const { return Type::IfcSwitchingDevice; } Type::Enum IfcSwitchingDevice::Class() { return Type::IfcSwitchingDevice; } IfcSwitchingDevice::IfcSwitchingDevice(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSwitchingDevice)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSwitchingDevice::IfcSwitchingDevice(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSwitchingDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSwitchingDevice::IfcSwitchingDevice(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSwitchingDeviceTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSwitchingDeviceType IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum IfcSwitchingDeviceType::PredefinedType() const { return IfcSwitchingDeviceTypeEnum::FromString(*entity->getArgument(9)); } @@ -14295,7 +15842,7 @@ bool IfcSwitchingDeviceType::is(Type::Enum v) const { return v == Type::IfcSwitc Type::Enum IfcSwitchingDeviceType::type() const { return Type::IfcSwitchingDeviceType; } Type::Enum IfcSwitchingDeviceType::Class() { return Type::IfcSwitchingDeviceType; } IfcSwitchingDeviceType::IfcSwitchingDeviceType(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSwitchingDeviceType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSwitchingDeviceType::IfcSwitchingDeviceType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSwitchingDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcSwitchingDeviceTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSystem IfcRelServicesBuildings::list::ptr IfcSystem::ServicesBuildings() const { return entity->getInverse(Type::IfcRelServicesBuildings)->as(); } @@ -14303,7 +15850,7 @@ bool IfcSystem::is(Type::Enum v) const { return v == Type::IfcSystem || IfcGroup Type::Enum IfcSystem::type() const { return Type::IfcSystem; } Type::Enum IfcSystem::Class() { return Type::IfcSystem; } IfcSystem::IfcSystem(IfcAbstractEntity* e) : IfcGroup((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSystem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSystem::IfcSystem(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcSystem::IfcSystem(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSystemFurnitureElement bool IfcSystemFurnitureElement::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -14313,7 +15860,7 @@ bool IfcSystemFurnitureElement::is(Type::Enum v) const { return v == Type::IfcSy Type::Enum IfcSystemFurnitureElement::type() const { return Type::IfcSystemFurnitureElement; } Type::Enum IfcSystemFurnitureElement::Class() { return Type::IfcSystemFurnitureElement; } IfcSystemFurnitureElement::IfcSystemFurnitureElement(IfcAbstractEntity* e) : IfcFurnishingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSystemFurnitureElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSystemFurnitureElement::IfcSystemFurnitureElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v9_PredefinedType) : IfcFurnishingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSystemFurnitureElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v9_PredefinedType) : IfcFurnishingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcSystemFurnitureElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcSystemFurnitureElementType bool IfcSystemFurnitureElementType::hasPredefinedType() const { return !entity->getArgument(9)->isNull(); } @@ -14323,42 +15870,42 @@ bool IfcSystemFurnitureElementType::is(Type::Enum v) const { return v == Type::I Type::Enum IfcSystemFurnitureElementType::type() const { return Type::IfcSystemFurnitureElementType; } Type::Enum IfcSystemFurnitureElementType::Class() { return Type::IfcSystemFurnitureElementType; } IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(IfcAbstractEntity* e) : IfcFurnishingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcSystemFurnitureElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v10_PredefinedType) : IfcFurnishingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } if (v10_PredefinedType) { e->setArgument(9,*v10_PredefinedType,IfcSystemFurnitureElementTypeEnum::ToString(*v10_PredefinedType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v10_PredefinedType) : IfcFurnishingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } if (v10_PredefinedType) { e->setArgument(9,*v10_PredefinedType,IfcSystemFurnitureElementTypeEnum::ToString(*v10_PredefinedType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTShapeProfileDef -IfcPositiveLengthMeasure IfcTShapeProfileDef::Depth() const { return *entity->getArgument(3); } -void IfcTShapeProfileDef::setDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcTShapeProfileDef::FlangeWidth() const { return *entity->getArgument(4); } -void IfcTShapeProfileDef::setFlangeWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcTShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } -void IfcTShapeProfileDef::setWebThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcTShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } -void IfcTShapeProfileDef::setFlangeThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcTShapeProfileDef::Depth() const { return *entity->getArgument(3); } +void IfcTShapeProfileDef::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcTShapeProfileDef::FlangeWidth() const { return *entity->getArgument(4); } +void IfcTShapeProfileDef::setFlangeWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcTShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } +void IfcTShapeProfileDef::setWebThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcTShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } +void IfcTShapeProfileDef::setFlangeThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcTShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(7)->isNull(); } -IfcNonNegativeLengthMeasure IfcTShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } -void IfcTShapeProfileDef::setFilletRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcTShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } +void IfcTShapeProfileDef::setFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcTShapeProfileDef::hasFlangeEdgeRadius() const { return !entity->getArgument(8)->isNull(); } -IfcNonNegativeLengthMeasure IfcTShapeProfileDef::FlangeEdgeRadius() const { return *entity->getArgument(8); } -void IfcTShapeProfileDef::setFlangeEdgeRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcTShapeProfileDef::FlangeEdgeRadius() const { return *entity->getArgument(8); } +void IfcTShapeProfileDef::setFlangeEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcTShapeProfileDef::hasWebEdgeRadius() const { return !entity->getArgument(9)->isNull(); } -IfcNonNegativeLengthMeasure IfcTShapeProfileDef::WebEdgeRadius() const { return *entity->getArgument(9); } -void IfcTShapeProfileDef::setWebEdgeRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcTShapeProfileDef::WebEdgeRadius() const { return *entity->getArgument(9); } +void IfcTShapeProfileDef::setWebEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcTShapeProfileDef::hasWebSlope() const { return !entity->getArgument(10)->isNull(); } -IfcPlaneAngleMeasure IfcTShapeProfileDef::WebSlope() const { return *entity->getArgument(10); } -void IfcTShapeProfileDef::setWebSlope(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcTShapeProfileDef::WebSlope() const { return *entity->getArgument(10); } +void IfcTShapeProfileDef::setWebSlope(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcTShapeProfileDef::hasFlangeSlope() const { return !entity->getArgument(11)->isNull(); } -IfcPlaneAngleMeasure IfcTShapeProfileDef::FlangeSlope() const { return *entity->getArgument(11); } -void IfcTShapeProfileDef::setFlangeSlope(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcTShapeProfileDef::FlangeSlope() const { return *entity->getArgument(11); } +void IfcTShapeProfileDef::setFlangeSlope(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcTShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcTShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcTShapeProfileDef::type() const { return Type::IfcTShapeProfileDef; } Type::Enum IfcTShapeProfileDef::Class() { return Type::IfcTShapeProfileDef; } IfcTShapeProfileDef::IfcTShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTShapeProfileDef::IfcTShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_FilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v9_FlangeEdgeRadius, boost::optional< IfcNonNegativeLengthMeasure > v10_WebEdgeRadius, boost::optional< IfcPlaneAngleMeasure > v11_WebSlope, boost::optional< IfcPlaneAngleMeasure > v12_FlangeSlope) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_FlangeEdgeRadius) { e->setArgument(8,(*v9_FlangeEdgeRadius)); } else { e->setArgument(8); } if (v10_WebEdgeRadius) { e->setArgument(9,(*v10_WebEdgeRadius)); } else { e->setArgument(9); } if (v11_WebSlope) { e->setArgument(10,(*v11_WebSlope)); } else { e->setArgument(10); } if (v12_FlangeSlope) { e->setArgument(11,(*v12_FlangeSlope)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } +IfcTShapeProfileDef::IfcTShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_FlangeEdgeRadius, boost::optional< double > v10_WebEdgeRadius, boost::optional< double > v11_WebSlope, boost::optional< double > v12_FlangeSlope) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_FlangeEdgeRadius) { e->setArgument(8,(*v9_FlangeEdgeRadius)); } else { e->setArgument(8); } if (v10_WebEdgeRadius) { e->setArgument(9,(*v10_WebEdgeRadius)); } else { e->setArgument(9); } if (v11_WebSlope) { e->setArgument(10,(*v11_WebSlope)); } else { e->setArgument(10); } if (v12_FlangeSlope) { e->setArgument(11,(*v12_FlangeSlope)); } else { e->setArgument(11); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTable bool IfcTable::hasName() const { return !entity->getArgument(0)->isNull(); } -IfcLabel IfcTable::Name() const { return *entity->getArgument(0); } -void IfcTable::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcTable::Name() const { return *entity->getArgument(0); } +void IfcTable::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcTable::hasRows() const { return !entity->getArgument(1)->isNull(); } IfcTemplatedEntityList< IfcTableRow >::ptr IfcTable::Rows() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } void IfcTable::setRows(IfcTemplatedEntityList< IfcTableRow >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } @@ -14369,21 +15916,21 @@ 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(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTable)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTable::IfcTable(boost::optional< IfcLabel > v1_Name, boost::optional< IfcTemplatedEntityList< IfcTableRow >::ptr > v2_Rows, boost::optional< IfcTemplatedEntityList< IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Rows) { e->setArgument(1,(*v2_Rows)->generalize()); } else { e->setArgument(1); } if (v3_Columns) { e->setArgument(2,(*v3_Columns)->generalize()); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::optional< IfcTemplatedEntityList< IfcTableRow >::ptr > v2_Rows, boost::optional< IfcTemplatedEntityList< IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Rows) { e->setArgument(1,(*v2_Rows)->generalize()); } else { e->setArgument(1); } if (v3_Columns) { e->setArgument(2,(*v3_Columns)->generalize()); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTableColumn bool IfcTableColumn::hasIdentifier() const { return !entity->getArgument(0)->isNull(); } -IfcIdentifier IfcTableColumn::Identifier() const { return *entity->getArgument(0); } -void IfcTableColumn::setIdentifier(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcTableColumn::Identifier() const { return *entity->getArgument(0); } +void IfcTableColumn::setIdentifier(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcTableColumn::hasName() const { return !entity->getArgument(1)->isNull(); } -IfcLabel IfcTableColumn::Name() const { return *entity->getArgument(1); } -void IfcTableColumn::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcTableColumn::Name() const { return *entity->getArgument(1); } +void IfcTableColumn::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcTableColumn::hasDescription() const { return !entity->getArgument(2)->isNull(); } -IfcText IfcTableColumn::Description() const { return *entity->getArgument(2); } -void IfcTableColumn::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcTableColumn::Description() const { return *entity->getArgument(2); } +void IfcTableColumn::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcTableColumn::hasUnit() const { return !entity->getArgument(3)->isNull(); } -IfcUnit IfcTableColumn::Unit() const { return *entity->getArgument(3); } -void IfcTableColumn::setUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +IfcUnit* IfcTableColumn::Unit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } +void IfcTableColumn::setUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcTableColumn::hasReferencePath() const { return !entity->getArgument(4)->isNull(); } IfcReference* IfcTableColumn::ReferencePath() const { return (IfcReference*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } void IfcTableColumn::setReferencePath(IfcReference* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } @@ -14391,12 +15938,12 @@ bool IfcTableColumn::is(Type::Enum v) const { return v == Type::IfcTableColumn; Type::Enum IfcTableColumn::type() const { return Type::IfcTableColumn; } Type::Enum IfcTableColumn::Class() { return Type::IfcTableColumn; } IfcTableColumn::IfcTableColumn(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTableColumn)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTableColumn::IfcTableColumn(boost::optional< IfcIdentifier > v1_Identifier, boost::optional< IfcLabel > v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcUnit > v4_Unit, IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Identifier) { e->setArgument(0,(*v1_Identifier)); } else { e->setArgument(0); } if (v2_Name) { e->setArgument(1,(*v2_Name)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } if (v4_Unit) { e->setArgument(3,(*v4_Unit)); } else { e->setArgument(3); } e->setArgument(4,(v5_ReferencePath)); entity = e; EntityBuffer::Add(this); } +IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, IfcUnit* v4_Unit, IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Identifier) { e->setArgument(0,(*v1_Identifier)); } else { e->setArgument(0); } if (v2_Name) { e->setArgument(1,(*v2_Name)); } else { e->setArgument(1); } if (v3_Description) { e->setArgument(2,(*v3_Description)); } else { e->setArgument(2); } e->setArgument(3,(v4_Unit)); e->setArgument(4,(v5_ReferencePath)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTableRow bool IfcTableRow::hasRowCells() const { return !entity->getArgument(0)->isNull(); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcTableRow::RowCells() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcTableRow::setRowCells(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcEntityList::ptr IfcTableRow::RowCells() const { return *entity->getArgument(0); } +void IfcTableRow::setRowCells(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcTableRow::hasIsHeading() const { return !entity->getArgument(1)->isNull(); } bool IfcTableRow::IsHeading() const { return *entity->getArgument(1); } void IfcTableRow::setIsHeading(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } @@ -14415,7 +15962,7 @@ bool IfcTank::is(Type::Enum v) const { return v == Type::IfcTank || IfcFlowStora Type::Enum IfcTank::type() const { return Type::IfcTank; } Type::Enum IfcTank::Class() { return Type::IfcTank; } IfcTank::IfcTank(IfcAbstractEntity* e) : IfcFlowStorageDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTank)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTank::IfcTank(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcTankTypeEnum::IfcTankTypeEnum > v9_PredefinedType) : IfcFlowStorageDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcTankTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcTank::IfcTank(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTankTypeEnum::IfcTankTypeEnum > v9_PredefinedType) : IfcFlowStorageDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcTankTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTankType IfcTankTypeEnum::IfcTankTypeEnum IfcTankType::PredefinedType() const { return IfcTankTypeEnum::FromString(*entity->getArgument(9)); } @@ -14424,15 +15971,15 @@ bool IfcTankType::is(Type::Enum v) const { return v == Type::IfcTankType || IfcF Type::Enum IfcTankType::type() const { return Type::IfcTankType; } Type::Enum IfcTankType::Class() { return Type::IfcTankType; } IfcTankType::IfcTankType(IfcAbstractEntity* e) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTankType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTankType::IfcTankType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTankTypeEnum::IfcTankTypeEnum v10_PredefinedType) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTankTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcTankType::IfcTankType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTankTypeEnum::IfcTankTypeEnum v10_PredefinedType) : IfcFlowStorageDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTankTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTask bool IfcTask::hasStatus() const { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcTask::Status() const { return *entity->getArgument(7); } -void IfcTask::setStatus(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcTask::Status() const { return *entity->getArgument(7); } +void IfcTask::setStatus(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcTask::hasWorkMethod() const { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcTask::WorkMethod() const { return *entity->getArgument(8); } -void IfcTask::setWorkMethod(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcTask::WorkMethod() const { return *entity->getArgument(8); } +void IfcTask::setWorkMethod(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcTask::IsMilestone() const { return *entity->getArgument(9); } void IfcTask::setIsMilestone(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcTask::hasPriority() const { return !entity->getArgument(10)->isNull(); } @@ -14448,65 +15995,65 @@ bool IfcTask::is(Type::Enum v) const { return v == Type::IfcTask || IfcProcess:: Type::Enum IfcTask::type() const { return Type::IfcTask; } Type::Enum IfcTask::Class() { return Type::IfcTask; } IfcTask::IfcTask(IfcAbstractEntity* e) : IfcProcess((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTask)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTask::IfcTask(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, boost::optional< IfcLabel > v8_Status, boost::optional< IfcLabel > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, IfcTaskTime* v12_TaskTime, boost::optional< IfcTaskTypeEnum::IfcTaskTypeEnum > v13_PredefinedType) : IfcProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } if (v9_WorkMethod) { e->setArgument(8,(*v9_WorkMethod)); } else { e->setArgument(8); } e->setArgument(9,(v10_IsMilestone)); if (v11_Priority) { e->setArgument(10,(*v11_Priority)); } else { e->setArgument(10); } e->setArgument(11,(v12_TaskTime)); if (v13_PredefinedType) { e->setArgument(12,*v13_PredefinedType,IfcTaskTypeEnum::ToString(*v13_PredefinedType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcTask::IfcTask(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, IfcTaskTime* v12_TaskTime, boost::optional< IfcTaskTypeEnum::IfcTaskTypeEnum > v13_PredefinedType) : IfcProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_LongDescription) { e->setArgument(6,(*v7_LongDescription)); } else { e->setArgument(6); } if (v8_Status) { e->setArgument(7,(*v8_Status)); } else { e->setArgument(7); } if (v9_WorkMethod) { e->setArgument(8,(*v9_WorkMethod)); } else { e->setArgument(8); } e->setArgument(9,(v10_IsMilestone)); if (v11_Priority) { e->setArgument(10,(*v11_Priority)); } else { e->setArgument(10); } e->setArgument(11,(v12_TaskTime)); if (v13_PredefinedType) { e->setArgument(12,*v13_PredefinedType,IfcTaskTypeEnum::ToString(*v13_PredefinedType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTaskTime bool IfcTaskTime::hasDurationType() const { return !entity->getArgument(3)->isNull(); } IfcTaskDurationEnum::IfcTaskDurationEnum IfcTaskTime::DurationType() const { return IfcTaskDurationEnum::FromString(*entity->getArgument(3)); } void IfcTaskTime::setDurationType(IfcTaskDurationEnum::IfcTaskDurationEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v,IfcTaskDurationEnum::ToString(v)); } bool IfcTaskTime::hasScheduleDuration() const { return !entity->getArgument(4)->isNull(); } -IfcDuration IfcTaskTime::ScheduleDuration() const { return *entity->getArgument(4); } -void IfcTaskTime::setScheduleDuration(IfcDuration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcTaskTime::ScheduleDuration() const { return *entity->getArgument(4); } +void IfcTaskTime::setScheduleDuration(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcTaskTime::hasScheduleStart() const { return !entity->getArgument(5)->isNull(); } -IfcDateTime IfcTaskTime::ScheduleStart() const { return *entity->getArgument(5); } -void IfcTaskTime::setScheduleStart(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcTaskTime::ScheduleStart() const { return *entity->getArgument(5); } +void IfcTaskTime::setScheduleStart(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcTaskTime::hasScheduleFinish() const { return !entity->getArgument(6)->isNull(); } -IfcDateTime IfcTaskTime::ScheduleFinish() const { return *entity->getArgument(6); } -void IfcTaskTime::setScheduleFinish(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcTaskTime::ScheduleFinish() const { return *entity->getArgument(6); } +void IfcTaskTime::setScheduleFinish(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcTaskTime::hasEarlyStart() const { return !entity->getArgument(7)->isNull(); } -IfcDateTime IfcTaskTime::EarlyStart() const { return *entity->getArgument(7); } -void IfcTaskTime::setEarlyStart(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcTaskTime::EarlyStart() const { return *entity->getArgument(7); } +void IfcTaskTime::setEarlyStart(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcTaskTime::hasEarlyFinish() const { return !entity->getArgument(8)->isNull(); } -IfcDateTime IfcTaskTime::EarlyFinish() const { return *entity->getArgument(8); } -void IfcTaskTime::setEarlyFinish(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcTaskTime::EarlyFinish() const { return *entity->getArgument(8); } +void IfcTaskTime::setEarlyFinish(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcTaskTime::hasLateStart() const { return !entity->getArgument(9)->isNull(); } -IfcDateTime IfcTaskTime::LateStart() const { return *entity->getArgument(9); } -void IfcTaskTime::setLateStart(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +std::string IfcTaskTime::LateStart() const { return *entity->getArgument(9); } +void IfcTaskTime::setLateStart(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcTaskTime::hasLateFinish() const { return !entity->getArgument(10)->isNull(); } -IfcDateTime IfcTaskTime::LateFinish() const { return *entity->getArgument(10); } -void IfcTaskTime::setLateFinish(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +std::string IfcTaskTime::LateFinish() const { return *entity->getArgument(10); } +void IfcTaskTime::setLateFinish(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcTaskTime::hasFreeFloat() const { return !entity->getArgument(11)->isNull(); } -IfcDuration IfcTaskTime::FreeFloat() const { return *entity->getArgument(11); } -void IfcTaskTime::setFreeFloat(IfcDuration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +std::string IfcTaskTime::FreeFloat() const { return *entity->getArgument(11); } +void IfcTaskTime::setFreeFloat(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcTaskTime::hasTotalFloat() const { return !entity->getArgument(12)->isNull(); } -IfcDuration IfcTaskTime::TotalFloat() const { return *entity->getArgument(12); } -void IfcTaskTime::setTotalFloat(IfcDuration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +std::string IfcTaskTime::TotalFloat() const { return *entity->getArgument(12); } +void IfcTaskTime::setTotalFloat(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcTaskTime::hasIsCritical() const { return !entity->getArgument(13)->isNull(); } bool IfcTaskTime::IsCritical() const { return *entity->getArgument(13); } void IfcTaskTime::setIsCritical(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } bool IfcTaskTime::hasStatusTime() const { return !entity->getArgument(14)->isNull(); } -IfcDateTime IfcTaskTime::StatusTime() const { return *entity->getArgument(14); } -void IfcTaskTime::setStatusTime(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } +std::string IfcTaskTime::StatusTime() const { return *entity->getArgument(14); } +void IfcTaskTime::setStatusTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } bool IfcTaskTime::hasActualDuration() const { return !entity->getArgument(15)->isNull(); } -IfcDuration IfcTaskTime::ActualDuration() const { return *entity->getArgument(15); } -void IfcTaskTime::setActualDuration(IfcDuration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } +std::string IfcTaskTime::ActualDuration() const { return *entity->getArgument(15); } +void IfcTaskTime::setActualDuration(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } bool IfcTaskTime::hasActualStart() const { return !entity->getArgument(16)->isNull(); } -IfcDateTime IfcTaskTime::ActualStart() const { return *entity->getArgument(16); } -void IfcTaskTime::setActualStart(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } +std::string IfcTaskTime::ActualStart() const { return *entity->getArgument(16); } +void IfcTaskTime::setActualStart(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } bool IfcTaskTime::hasActualFinish() const { return !entity->getArgument(17)->isNull(); } -IfcDateTime IfcTaskTime::ActualFinish() const { return *entity->getArgument(17); } -void IfcTaskTime::setActualFinish(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v); } +std::string IfcTaskTime::ActualFinish() const { return *entity->getArgument(17); } +void IfcTaskTime::setActualFinish(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(17,v); } bool IfcTaskTime::hasRemainingTime() const { return !entity->getArgument(18)->isNull(); } -IfcDuration IfcTaskTime::RemainingTime() const { return *entity->getArgument(18); } -void IfcTaskTime::setRemainingTime(IfcDuration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(18,v); } +std::string IfcTaskTime::RemainingTime() const { return *entity->getArgument(18); } +void IfcTaskTime::setRemainingTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(18,v); } bool IfcTaskTime::hasCompletion() const { return !entity->getArgument(19)->isNull(); } -IfcPositiveRatioMeasure IfcTaskTime::Completion() const { return *entity->getArgument(19); } -void IfcTaskTime::setCompletion(IfcPositiveRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(19,v); } +double IfcTaskTime::Completion() const { return *entity->getArgument(19); } +void IfcTaskTime::setCompletion(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(19,v); } bool IfcTaskTime::is(Type::Enum v) const { return v == Type::IfcTaskTime || IfcSchedulingTime::is(v); } Type::Enum IfcTaskTime::type() const { return Type::IfcTaskTime; } Type::Enum IfcTaskTime::Class() { return Type::IfcTaskTime; } IfcTaskTime::IfcTaskTime(IfcAbstractEntity* e) : IfcSchedulingTime((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTaskTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTaskTime::IfcTaskTime(boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v4_DurationType, boost::optional< IfcDuration > v5_ScheduleDuration, boost::optional< IfcDateTime > v6_ScheduleStart, boost::optional< IfcDateTime > v7_ScheduleFinish, boost::optional< IfcDateTime > v8_EarlyStart, boost::optional< IfcDateTime > v9_EarlyFinish, boost::optional< IfcDateTime > v10_LateStart, boost::optional< IfcDateTime > v11_LateFinish, boost::optional< IfcDuration > v12_FreeFloat, boost::optional< IfcDuration > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< IfcDateTime > v15_StatusTime, boost::optional< IfcDuration > v16_ActualDuration, boost::optional< IfcDateTime > v17_ActualStart, boost::optional< IfcDateTime > v18_ActualFinish, boost::optional< IfcDuration > v19_RemainingTime, boost::optional< IfcPositiveRatioMeasure > v20_Completion) : IfcSchedulingTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } if (v4_DurationType) { e->setArgument(3,*v4_DurationType,IfcTaskDurationEnum::ToString(*v4_DurationType)); } else { e->setArgument(3); } if (v5_ScheduleDuration) { e->setArgument(4,(*v5_ScheduleDuration)); } else { e->setArgument(4); } if (v6_ScheduleStart) { e->setArgument(5,(*v6_ScheduleStart)); } else { e->setArgument(5); } if (v7_ScheduleFinish) { e->setArgument(6,(*v7_ScheduleFinish)); } else { e->setArgument(6); } if (v8_EarlyStart) { e->setArgument(7,(*v8_EarlyStart)); } else { e->setArgument(7); } if (v9_EarlyFinish) { e->setArgument(8,(*v9_EarlyFinish)); } else { e->setArgument(8); } if (v10_LateStart) { e->setArgument(9,(*v10_LateStart)); } else { e->setArgument(9); } if (v11_LateFinish) { e->setArgument(10,(*v11_LateFinish)); } else { e->setArgument(10); } if (v12_FreeFloat) { e->setArgument(11,(*v12_FreeFloat)); } else { e->setArgument(11); } if (v13_TotalFloat) { e->setArgument(12,(*v13_TotalFloat)); } else { e->setArgument(12); } if (v14_IsCritical) { e->setArgument(13,(*v14_IsCritical)); } else { e->setArgument(13); } if (v15_StatusTime) { e->setArgument(14,(*v15_StatusTime)); } else { e->setArgument(14); } if (v16_ActualDuration) { e->setArgument(15,(*v16_ActualDuration)); } else { e->setArgument(15); } if (v17_ActualStart) { e->setArgument(16,(*v17_ActualStart)); } else { e->setArgument(16); } if (v18_ActualFinish) { e->setArgument(17,(*v18_ActualFinish)); } else { e->setArgument(17); } if (v19_RemainingTime) { e->setArgument(18,(*v19_RemainingTime)); } else { e->setArgument(18); } if (v20_Completion) { e->setArgument(19,(*v20_Completion)); } else { e->setArgument(19); } entity = e; EntityBuffer::Add(this); } +IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion) : IfcSchedulingTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } if (v4_DurationType) { e->setArgument(3,*v4_DurationType,IfcTaskDurationEnum::ToString(*v4_DurationType)); } else { e->setArgument(3); } if (v5_ScheduleDuration) { e->setArgument(4,(*v5_ScheduleDuration)); } else { e->setArgument(4); } if (v6_ScheduleStart) { e->setArgument(5,(*v6_ScheduleStart)); } else { e->setArgument(5); } if (v7_ScheduleFinish) { e->setArgument(6,(*v7_ScheduleFinish)); } else { e->setArgument(6); } if (v8_EarlyStart) { e->setArgument(7,(*v8_EarlyStart)); } else { e->setArgument(7); } if (v9_EarlyFinish) { e->setArgument(8,(*v9_EarlyFinish)); } else { e->setArgument(8); } if (v10_LateStart) { e->setArgument(9,(*v10_LateStart)); } else { e->setArgument(9); } if (v11_LateFinish) { e->setArgument(10,(*v11_LateFinish)); } else { e->setArgument(10); } if (v12_FreeFloat) { e->setArgument(11,(*v12_FreeFloat)); } else { e->setArgument(11); } if (v13_TotalFloat) { e->setArgument(12,(*v13_TotalFloat)); } else { e->setArgument(12); } if (v14_IsCritical) { e->setArgument(13,(*v14_IsCritical)); } else { e->setArgument(13); } if (v15_StatusTime) { e->setArgument(14,(*v15_StatusTime)); } else { e->setArgument(14); } if (v16_ActualDuration) { e->setArgument(15,(*v16_ActualDuration)); } else { e->setArgument(15); } if (v17_ActualStart) { e->setArgument(16,(*v17_ActualStart)); } else { e->setArgument(16); } if (v18_ActualFinish) { e->setArgument(17,(*v18_ActualFinish)); } else { e->setArgument(17); } if (v19_RemainingTime) { e->setArgument(18,(*v19_RemainingTime)); } else { e->setArgument(18); } if (v20_Completion) { e->setArgument(19,(*v20_Completion)); } else { e->setArgument(19); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTaskTimeRecurring IfcRecurrencePattern* IfcTaskTimeRecurring::Recurrance() const { return (IfcRecurrencePattern*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(20))); } @@ -14515,75 +16062,75 @@ bool IfcTaskTimeRecurring::is(Type::Enum v) const { return v == Type::IfcTaskTim Type::Enum IfcTaskTimeRecurring::type() const { return Type::IfcTaskTimeRecurring; } Type::Enum IfcTaskTimeRecurring::Class() { return Type::IfcTaskTimeRecurring; } IfcTaskTimeRecurring::IfcTaskTimeRecurring(IfcAbstractEntity* e) : IfcTaskTime((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTaskTimeRecurring)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v4_DurationType, boost::optional< IfcDuration > v5_ScheduleDuration, boost::optional< IfcDateTime > v6_ScheduleStart, boost::optional< IfcDateTime > v7_ScheduleFinish, boost::optional< IfcDateTime > v8_EarlyStart, boost::optional< IfcDateTime > v9_EarlyFinish, boost::optional< IfcDateTime > v10_LateStart, boost::optional< IfcDateTime > v11_LateFinish, boost::optional< IfcDuration > v12_FreeFloat, boost::optional< IfcDuration > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< IfcDateTime > v15_StatusTime, boost::optional< IfcDuration > v16_ActualDuration, boost::optional< IfcDateTime > v17_ActualStart, boost::optional< IfcDateTime > v18_ActualFinish, boost::optional< IfcDuration > v19_RemainingTime, boost::optional< IfcPositiveRatioMeasure > v20_Completion, IfcRecurrencePattern* v21_Recurrance) : IfcTaskTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } if (v4_DurationType) { e->setArgument(3,*v4_DurationType,IfcTaskDurationEnum::ToString(*v4_DurationType)); } else { e->setArgument(3); } if (v5_ScheduleDuration) { e->setArgument(4,(*v5_ScheduleDuration)); } else { e->setArgument(4); } if (v6_ScheduleStart) { e->setArgument(5,(*v6_ScheduleStart)); } else { e->setArgument(5); } if (v7_ScheduleFinish) { e->setArgument(6,(*v7_ScheduleFinish)); } else { e->setArgument(6); } if (v8_EarlyStart) { e->setArgument(7,(*v8_EarlyStart)); } else { e->setArgument(7); } if (v9_EarlyFinish) { e->setArgument(8,(*v9_EarlyFinish)); } else { e->setArgument(8); } if (v10_LateStart) { e->setArgument(9,(*v10_LateStart)); } else { e->setArgument(9); } if (v11_LateFinish) { e->setArgument(10,(*v11_LateFinish)); } else { e->setArgument(10); } if (v12_FreeFloat) { e->setArgument(11,(*v12_FreeFloat)); } else { e->setArgument(11); } if (v13_TotalFloat) { e->setArgument(12,(*v13_TotalFloat)); } else { e->setArgument(12); } if (v14_IsCritical) { e->setArgument(13,(*v14_IsCritical)); } else { e->setArgument(13); } if (v15_StatusTime) { e->setArgument(14,(*v15_StatusTime)); } else { e->setArgument(14); } if (v16_ActualDuration) { e->setArgument(15,(*v16_ActualDuration)); } else { e->setArgument(15); } if (v17_ActualStart) { e->setArgument(16,(*v17_ActualStart)); } else { e->setArgument(16); } if (v18_ActualFinish) { e->setArgument(17,(*v18_ActualFinish)); } else { e->setArgument(17); } if (v19_RemainingTime) { e->setArgument(18,(*v19_RemainingTime)); } else { e->setArgument(18); } if (v20_Completion) { e->setArgument(19,(*v20_Completion)); } else { e->setArgument(19); } e->setArgument(20,(v21_Recurrance)); entity = e; EntityBuffer::Add(this); } +IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion, IfcRecurrencePattern* v21_Recurrance) : IfcTaskTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } if (v4_DurationType) { e->setArgument(3,*v4_DurationType,IfcTaskDurationEnum::ToString(*v4_DurationType)); } else { e->setArgument(3); } if (v5_ScheduleDuration) { e->setArgument(4,(*v5_ScheduleDuration)); } else { e->setArgument(4); } if (v6_ScheduleStart) { e->setArgument(5,(*v6_ScheduleStart)); } else { e->setArgument(5); } if (v7_ScheduleFinish) { e->setArgument(6,(*v7_ScheduleFinish)); } else { e->setArgument(6); } if (v8_EarlyStart) { e->setArgument(7,(*v8_EarlyStart)); } else { e->setArgument(7); } if (v9_EarlyFinish) { e->setArgument(8,(*v9_EarlyFinish)); } else { e->setArgument(8); } if (v10_LateStart) { e->setArgument(9,(*v10_LateStart)); } else { e->setArgument(9); } if (v11_LateFinish) { e->setArgument(10,(*v11_LateFinish)); } else { e->setArgument(10); } if (v12_FreeFloat) { e->setArgument(11,(*v12_FreeFloat)); } else { e->setArgument(11); } if (v13_TotalFloat) { e->setArgument(12,(*v13_TotalFloat)); } else { e->setArgument(12); } if (v14_IsCritical) { e->setArgument(13,(*v14_IsCritical)); } else { e->setArgument(13); } if (v15_StatusTime) { e->setArgument(14,(*v15_StatusTime)); } else { e->setArgument(14); } if (v16_ActualDuration) { e->setArgument(15,(*v16_ActualDuration)); } else { e->setArgument(15); } if (v17_ActualStart) { e->setArgument(16,(*v17_ActualStart)); } else { e->setArgument(16); } if (v18_ActualFinish) { e->setArgument(17,(*v18_ActualFinish)); } else { e->setArgument(17); } if (v19_RemainingTime) { e->setArgument(18,(*v19_RemainingTime)); } else { e->setArgument(18); } if (v20_Completion) { e->setArgument(19,(*v20_Completion)); } else { e->setArgument(19); } e->setArgument(20,(v21_Recurrance)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTaskType IfcTaskTypeEnum::IfcTaskTypeEnum IfcTaskType::PredefinedType() const { return IfcTaskTypeEnum::FromString(*entity->getArgument(9)); } void IfcTaskType::setPredefinedType(IfcTaskTypeEnum::IfcTaskTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcTaskTypeEnum::ToString(v)); } bool IfcTaskType::hasWorkMethod() const { return !entity->getArgument(10)->isNull(); } -IfcLabel IfcTaskType::WorkMethod() const { return *entity->getArgument(10); } -void IfcTaskType::setWorkMethod(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +std::string IfcTaskType::WorkMethod() const { return *entity->getArgument(10); } +void IfcTaskType::setWorkMethod(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcTaskType::is(Type::Enum v) const { return v == Type::IfcTaskType || IfcTypeProcess::is(v); } Type::Enum IfcTaskType::type() const { return Type::IfcTaskType; } Type::Enum IfcTaskType::Class() { return Type::IfcTaskType; } IfcTaskType::IfcTaskType(IfcAbstractEntity* e) : IfcTypeProcess((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTaskType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTaskType::IfcTaskType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ProcessType, IfcTaskTypeEnum::IfcTaskTypeEnum v10_PredefinedType, boost::optional< IfcLabel > v11_WorkMethod) : IfcTypeProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ProcessType) { e->setArgument(8,(*v9_ProcessType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTaskTypeEnum::ToString(v10_PredefinedType)); if (v11_WorkMethod) { e->setArgument(10,(*v11_WorkMethod)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } +IfcTaskType::IfcTaskType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, IfcTaskTypeEnum::IfcTaskTypeEnum v10_PredefinedType, boost::optional< std::string > v11_WorkMethod) : IfcTypeProcess((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ProcessType) { e->setArgument(8,(*v9_ProcessType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTaskTypeEnum::ToString(v10_PredefinedType)); if (v11_WorkMethod) { e->setArgument(10,(*v11_WorkMethod)); } else { e->setArgument(10); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTelecomAddress bool IfcTelecomAddress::hasTelephoneNumbers() const { return !entity->getArgument(3)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcTelecomAddress::TelephoneNumbers() const { return *entity->getArgument(3); } -void IfcTelecomAddress::setTelephoneNumbers(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::vector< std::string > /*[1:?]*/ IfcTelecomAddress::TelephoneNumbers() const { return *entity->getArgument(3); } +void IfcTelecomAddress::setTelephoneNumbers(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcTelecomAddress::hasFacsimileNumbers() const { return !entity->getArgument(4)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcTelecomAddress::FacsimileNumbers() const { return *entity->getArgument(4); } -void IfcTelecomAddress::setFacsimileNumbers(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::vector< std::string > /*[1:?]*/ IfcTelecomAddress::FacsimileNumbers() const { return *entity->getArgument(4); } +void IfcTelecomAddress::setFacsimileNumbers(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcTelecomAddress::hasPagerNumber() const { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcTelecomAddress::PagerNumber() const { return *entity->getArgument(5); } -void IfcTelecomAddress::setPagerNumber(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcTelecomAddress::PagerNumber() const { return *entity->getArgument(5); } +void IfcTelecomAddress::setPagerNumber(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcTelecomAddress::hasElectronicMailAddresses() const { return !entity->getArgument(6)->isNull(); } -std::vector< IfcLabel > /*[1:?]*/ IfcTelecomAddress::ElectronicMailAddresses() const { return *entity->getArgument(6); } -void IfcTelecomAddress::setElectronicMailAddresses(std::vector< IfcLabel > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::vector< std::string > /*[1:?]*/ IfcTelecomAddress::ElectronicMailAddresses() const { return *entity->getArgument(6); } +void IfcTelecomAddress::setElectronicMailAddresses(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcTelecomAddress::hasWWWHomePageURL() const { return !entity->getArgument(7)->isNull(); } -IfcURIReference IfcTelecomAddress::WWWHomePageURL() const { return *entity->getArgument(7); } -void IfcTelecomAddress::setWWWHomePageURL(IfcURIReference v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcTelecomAddress::WWWHomePageURL() const { return *entity->getArgument(7); } +void IfcTelecomAddress::setWWWHomePageURL(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcTelecomAddress::hasMessagingIDs() const { return !entity->getArgument(8)->isNull(); } -std::vector< IfcURIReference > /*[1:?]*/ IfcTelecomAddress::MessagingIDs() const { return *entity->getArgument(8); } -void IfcTelecomAddress::setMessagingIDs(std::vector< IfcURIReference > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::vector< std::string > /*[1:?]*/ IfcTelecomAddress::MessagingIDs() const { return *entity->getArgument(8); } +void IfcTelecomAddress::setMessagingIDs(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcTelecomAddress::is(Type::Enum v) const { return v == Type::IfcTelecomAddress || IfcAddress::is(v); } Type::Enum IfcTelecomAddress::type() const { return Type::IfcTelecomAddress; } Type::Enum IfcTelecomAddress::Class() { return Type::IfcTelecomAddress; } IfcTelecomAddress::IfcTelecomAddress(IfcAbstractEntity* e) : IfcAddress((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTelecomAddress)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTelecomAddress::IfcTelecomAddress(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v4_TelephoneNumbers, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_FacsimileNumbers, boost::optional< IfcLabel > v6_PagerNumber, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v7_ElectronicMailAddresses, boost::optional< IfcURIReference > v8_WWWHomePageURL, boost::optional< std::vector< IfcURIReference > /*[1:?]*/ > v9_MessagingIDs) : IfcAddress((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Purpose) { e->setArgument(0,*v1_Purpose,IfcAddressTypeEnum::ToString(*v1_Purpose)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UserDefinedPurpose) { e->setArgument(2,(*v3_UserDefinedPurpose)); } else { e->setArgument(2); } if (v4_TelephoneNumbers) { e->setArgument(3,(*v4_TelephoneNumbers)); } else { e->setArgument(3); } if (v5_FacsimileNumbers) { e->setArgument(4,(*v5_FacsimileNumbers)); } else { e->setArgument(4); } if (v6_PagerNumber) { e->setArgument(5,(*v6_PagerNumber)); } else { e->setArgument(5); } if (v7_ElectronicMailAddresses) { e->setArgument(6,(*v7_ElectronicMailAddresses)); } else { e->setArgument(6); } if (v8_WWWHomePageURL) { e->setArgument(7,(*v8_WWWHomePageURL)); } else { e->setArgument(7); } if (v9_MessagingIDs) { e->setArgument(8,(*v9_MessagingIDs)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcTelecomAddress::IfcTelecomAddress(boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, boost::optional< std::string > v6_PagerNumber, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, boost::optional< std::string > v8_WWWHomePageURL, boost::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs) : IfcAddress((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Purpose) { e->setArgument(0,*v1_Purpose,IfcAddressTypeEnum::ToString(*v1_Purpose)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_UserDefinedPurpose) { e->setArgument(2,(*v3_UserDefinedPurpose)); } else { e->setArgument(2); } if (v4_TelephoneNumbers) { e->setArgument(3,(*v4_TelephoneNumbers)); } else { e->setArgument(3); } if (v5_FacsimileNumbers) { e->setArgument(4,(*v5_FacsimileNumbers)); } else { e->setArgument(4); } if (v6_PagerNumber) { e->setArgument(5,(*v6_PagerNumber)); } else { e->setArgument(5); } if (v7_ElectronicMailAddresses) { e->setArgument(6,(*v7_ElectronicMailAddresses)); } else { e->setArgument(6); } if (v8_WWWHomePageURL) { e->setArgument(7,(*v8_WWWHomePageURL)); } else { e->setArgument(7); } if (v9_MessagingIDs) { e->setArgument(8,(*v9_MessagingIDs)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTendon bool IfcTendon::hasPredefinedType() const { return !entity->getArgument(9)->isNull(); } IfcTendonTypeEnum::IfcTendonTypeEnum IfcTendon::PredefinedType() const { return IfcTendonTypeEnum::FromString(*entity->getArgument(9)); } void IfcTendon::setPredefinedType(IfcTendonTypeEnum::IfcTendonTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcTendonTypeEnum::ToString(v)); } bool IfcTendon::hasNominalDiameter() const { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcTendon::NominalDiameter() const { return *entity->getArgument(10); } -void IfcTendon::setNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcTendon::NominalDiameter() const { return *entity->getArgument(10); } +void IfcTendon::setNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcTendon::hasCrossSectionArea() const { return !entity->getArgument(11)->isNull(); } -IfcAreaMeasure IfcTendon::CrossSectionArea() const { return *entity->getArgument(11); } -void IfcTendon::setCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcTendon::CrossSectionArea() const { return *entity->getArgument(11); } +void IfcTendon::setCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcTendon::hasTensionForce() const { return !entity->getArgument(12)->isNull(); } -IfcForceMeasure IfcTendon::TensionForce() const { return *entity->getArgument(12); } -void IfcTendon::setTensionForce(IfcForceMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +double IfcTendon::TensionForce() const { return *entity->getArgument(12); } +void IfcTendon::setTensionForce(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcTendon::hasPreStress() const { return !entity->getArgument(13)->isNull(); } -IfcPressureMeasure IfcTendon::PreStress() const { return *entity->getArgument(13); } -void IfcTendon::setPreStress(IfcPressureMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } +double IfcTendon::PreStress() const { return *entity->getArgument(13); } +void IfcTendon::setPreStress(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } bool IfcTendon::hasFrictionCoefficient() const { return !entity->getArgument(14)->isNull(); } -IfcNormalisedRatioMeasure IfcTendon::FrictionCoefficient() const { return *entity->getArgument(14); } -void IfcTendon::setFrictionCoefficient(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } +double IfcTendon::FrictionCoefficient() const { return *entity->getArgument(14); } +void IfcTendon::setFrictionCoefficient(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } bool IfcTendon::hasAnchorageSlip() const { return !entity->getArgument(15)->isNull(); } -IfcPositiveLengthMeasure IfcTendon::AnchorageSlip() const { return *entity->getArgument(15); } -void IfcTendon::setAnchorageSlip(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } +double IfcTendon::AnchorageSlip() const { return *entity->getArgument(15); } +void IfcTendon::setAnchorageSlip(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } bool IfcTendon::hasMinCurvatureRadius() const { return !entity->getArgument(16)->isNull(); } -IfcPositiveLengthMeasure IfcTendon::MinCurvatureRadius() const { return *entity->getArgument(16); } -void IfcTendon::setMinCurvatureRadius(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } +double IfcTendon::MinCurvatureRadius() const { return *entity->getArgument(16); } +void IfcTendon::setMinCurvatureRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(16,v); } bool IfcTendon::is(Type::Enum v) const { return v == Type::IfcTendon || IfcReinforcingElement::is(v); } Type::Enum IfcTendon::type() const { return Type::IfcTendon; } Type::Enum IfcTendon::Class() { return Type::IfcTendon; } IfcTendon::IfcTendon(IfcAbstractEntity* e) : IfcReinforcingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTendon)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTendon::IfcTendon(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, boost::optional< IfcTendonTypeEnum::IfcTendonTypeEnum > v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_NominalDiameter, boost::optional< IfcAreaMeasure > v12_CrossSectionArea, boost::optional< IfcForceMeasure > v13_TensionForce, boost::optional< IfcPressureMeasure > v14_PreStress, boost::optional< IfcNormalisedRatioMeasure > v15_FrictionCoefficient, boost::optional< IfcPositiveLengthMeasure > v16_AnchorageSlip, boost::optional< IfcPositiveLengthMeasure > v17_MinCurvatureRadius) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } if (v10_PredefinedType) { e->setArgument(9,*v10_PredefinedType,IfcTendonTypeEnum::ToString(*v10_PredefinedType)); } else { e->setArgument(9); } if (v11_NominalDiameter) { e->setArgument(10,(*v11_NominalDiameter)); } else { e->setArgument(10); } if (v12_CrossSectionArea) { e->setArgument(11,(*v12_CrossSectionArea)); } else { e->setArgument(11); } if (v13_TensionForce) { e->setArgument(12,(*v13_TensionForce)); } else { e->setArgument(12); } if (v14_PreStress) { e->setArgument(13,(*v14_PreStress)); } else { e->setArgument(13); } if (v15_FrictionCoefficient) { e->setArgument(14,(*v15_FrictionCoefficient)); } else { e->setArgument(14); } if (v16_AnchorageSlip) { e->setArgument(15,(*v16_AnchorageSlip)); } else { e->setArgument(15); } if (v17_MinCurvatureRadius) { e->setArgument(16,(*v17_MinCurvatureRadius)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } +IfcTendon::IfcTendon(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< IfcTendonTypeEnum::IfcTendonTypeEnum > v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_TensionForce, boost::optional< double > v14_PreStress, boost::optional< double > v15_FrictionCoefficient, boost::optional< double > v16_AnchorageSlip, boost::optional< double > v17_MinCurvatureRadius) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } if (v10_PredefinedType) { e->setArgument(9,*v10_PredefinedType,IfcTendonTypeEnum::ToString(*v10_PredefinedType)); } else { e->setArgument(9); } if (v11_NominalDiameter) { e->setArgument(10,(*v11_NominalDiameter)); } else { e->setArgument(10); } if (v12_CrossSectionArea) { e->setArgument(11,(*v12_CrossSectionArea)); } else { e->setArgument(11); } if (v13_TensionForce) { e->setArgument(12,(*v13_TensionForce)); } else { e->setArgument(12); } if (v14_PreStress) { e->setArgument(13,(*v14_PreStress)); } else { e->setArgument(13); } if (v15_FrictionCoefficient) { e->setArgument(14,(*v15_FrictionCoefficient)); } else { e->setArgument(14); } if (v16_AnchorageSlip) { e->setArgument(15,(*v16_AnchorageSlip)); } else { e->setArgument(15); } if (v17_MinCurvatureRadius) { e->setArgument(16,(*v17_MinCurvatureRadius)); } else { e->setArgument(16); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTendonAnchor bool IfcTendonAnchor::hasPredefinedType() const { return !entity->getArgument(9)->isNull(); } @@ -14593,7 +16140,7 @@ bool IfcTendonAnchor::is(Type::Enum v) const { return v == Type::IfcTendonAnchor Type::Enum IfcTendonAnchor::type() const { return Type::IfcTendonAnchor; } Type::Enum IfcTendonAnchor::Class() { return Type::IfcTendonAnchor; } IfcTendonAnchor::IfcTendonAnchor(IfcAbstractEntity* e) : IfcReinforcingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTendonAnchor)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTendonAnchor::IfcTendonAnchor(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, boost::optional< IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum > v10_PredefinedType) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } if (v10_PredefinedType) { e->setArgument(9,*v10_PredefinedType,IfcTendonAnchorTypeEnum::ToString(*v10_PredefinedType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum > v10_PredefinedType) : IfcReinforcingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_SteelGrade) { e->setArgument(8,(*v9_SteelGrade)); } else { e->setArgument(8); } if (v10_PredefinedType) { e->setArgument(9,*v10_PredefinedType,IfcTendonAnchorTypeEnum::ToString(*v10_PredefinedType)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTendonAnchorType IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum IfcTendonAnchorType::PredefinedType() const { return IfcTendonAnchorTypeEnum::FromString(*entity->getArgument(9)); } @@ -14602,25 +16149,25 @@ bool IfcTendonAnchorType::is(Type::Enum v) const { return v == Type::IfcTendonAn Type::Enum IfcTendonAnchorType::type() const { return Type::IfcTendonAnchorType; } Type::Enum IfcTendonAnchorType::Class() { return Type::IfcTendonAnchorType; } IfcTendonAnchorType::IfcTendonAnchorType(IfcAbstractEntity* e) : IfcReinforcingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTendonAnchorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTendonAnchorType::IfcTendonAnchorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum v10_PredefinedType) : IfcReinforcingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTendonAnchorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcTendonAnchorType::IfcTendonAnchorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum v10_PredefinedType) : IfcReinforcingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTendonAnchorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTendonType IfcTendonTypeEnum::IfcTendonTypeEnum IfcTendonType::PredefinedType() const { return IfcTendonTypeEnum::FromString(*entity->getArgument(9)); } void IfcTendonType::setPredefinedType(IfcTendonTypeEnum::IfcTendonTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcTendonTypeEnum::ToString(v)); } bool IfcTendonType::hasNominalDiameter() const { return !entity->getArgument(10)->isNull(); } -IfcPositiveLengthMeasure IfcTendonType::NominalDiameter() const { return *entity->getArgument(10); } -void IfcTendonType::setNominalDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcTendonType::NominalDiameter() const { return *entity->getArgument(10); } +void IfcTendonType::setNominalDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcTendonType::hasCrossSectionArea() const { return !entity->getArgument(11)->isNull(); } -IfcAreaMeasure IfcTendonType::CrossSectionArea() const { return *entity->getArgument(11); } -void IfcTendonType::setCrossSectionArea(IfcAreaMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcTendonType::CrossSectionArea() const { return *entity->getArgument(11); } +void IfcTendonType::setCrossSectionArea(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcTendonType::hasSheethDiameter() const { return !entity->getArgument(12)->isNull(); } -IfcPositiveLengthMeasure IfcTendonType::SheethDiameter() const { return *entity->getArgument(12); } -void IfcTendonType::setSheethDiameter(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +double IfcTendonType::SheethDiameter() const { return *entity->getArgument(12); } +void IfcTendonType::setSheethDiameter(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcTendonType::is(Type::Enum v) const { return v == Type::IfcTendonType || IfcReinforcingElementType::is(v); } Type::Enum IfcTendonType::type() const { return Type::IfcTendonType; } Type::Enum IfcTendonType::Class() { return Type::IfcTendonType; } IfcTendonType::IfcTendonType(IfcAbstractEntity* e) : IfcReinforcingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTendonType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTendonType::IfcTendonType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_NominalDiameter, boost::optional< IfcAreaMeasure > v12_CrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v13_SheethDiameter) : IfcReinforcingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTendonTypeEnum::ToString(v10_PredefinedType)); if (v11_NominalDiameter) { e->setArgument(10,(*v11_NominalDiameter)); } else { e->setArgument(10); } if (v12_CrossSectionArea) { e->setArgument(11,(*v12_CrossSectionArea)); } else { e->setArgument(11); } if (v13_SheethDiameter) { e->setArgument(12,(*v13_SheethDiameter)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcTendonType::IfcTendonType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheethDiameter) : IfcReinforcingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTendonTypeEnum::ToString(v10_PredefinedType)); if (v11_NominalDiameter) { e->setArgument(10,(*v11_NominalDiameter)); } else { e->setArgument(10); } if (v12_CrossSectionArea) { e->setArgument(11,(*v12_CrossSectionArea)); } else { e->setArgument(11); } if (v13_SheethDiameter) { e->setArgument(12,(*v13_SheethDiameter)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTessellatedFaceSet IfcCartesianPointList3D* IfcTessellatedFaceSet::Coordinates() const { return (IfcCartesianPointList3D*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } @@ -14644,28 +16191,28 @@ IfcTessellatedItem::IfcTessellatedItem(IfcAbstractEntity* e) : IfcGeometricRepre IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextLiteral -IfcPresentableText IfcTextLiteral::Literal() const { return *entity->getArgument(0); } -void IfcTextLiteral::setLiteral(IfcPresentableText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcAxis2Placement IfcTextLiteral::Placement() const { return *entity->getArgument(1); } -void IfcTextLiteral::setPlacement(IfcAxis2Placement v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcTextLiteral::Literal() const { return *entity->getArgument(0); } +void IfcTextLiteral::setLiteral(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcAxis2Placement* IfcTextLiteral::Placement() const { return (IfcAxis2Placement*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcTextLiteral::setPlacement(IfcAxis2Placement* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } IfcTextPath::IfcTextPath IfcTextLiteral::Path() const { return IfcTextPath::FromString(*entity->getArgument(2)); } void IfcTextLiteral::setPath(IfcTextPath::IfcTextPath v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v,IfcTextPath::ToString(v)); } bool IfcTextLiteral::is(Type::Enum v) const { return v == Type::IfcTextLiteral || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcTextLiteral::type() const { return Type::IfcTextLiteral; } Type::Enum IfcTextLiteral::Class() { return Type::IfcTextLiteral; } IfcTextLiteral::IfcTextLiteral(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextLiteral)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextLiteral::IfcTextLiteral(IfcPresentableText v1_Literal, IfcAxis2Placement v2_Placement, IfcTextPath::IfcTextPath v3_Path) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Literal)); e->setArgument(1,(v2_Placement)); e->setArgument(2,v3_Path,IfcTextPath::ToString(v3_Path)); entity = e; EntityBuffer::Add(this); } +IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, IfcAxis2Placement* v2_Placement, IfcTextPath::IfcTextPath v3_Path) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Literal)); e->setArgument(1,(v2_Placement)); e->setArgument(2,v3_Path,IfcTextPath::ToString(v3_Path)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextLiteralWithExtent IfcPlanarExtent* IfcTextLiteralWithExtent::Extent() const { return (IfcPlanarExtent*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcTextLiteralWithExtent::setExtent(IfcPlanarExtent* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcBoxAlignment IfcTextLiteralWithExtent::BoxAlignment() const { return *entity->getArgument(4); } -void IfcTextLiteralWithExtent::setBoxAlignment(IfcBoxAlignment v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcTextLiteralWithExtent::BoxAlignment() const { return *entity->getArgument(4); } +void IfcTextLiteralWithExtent::setBoxAlignment(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcTextLiteralWithExtent::is(Type::Enum v) const { return v == Type::IfcTextLiteralWithExtent || IfcTextLiteral::is(v); } Type::Enum IfcTextLiteralWithExtent::type() const { return Type::IfcTextLiteralWithExtent; } Type::Enum IfcTextLiteralWithExtent::Class() { return Type::IfcTextLiteralWithExtent; } IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcAbstractEntity* e) : IfcTextLiteral((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextLiteralWithExtent)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcPresentableText v1_Literal, IfcAxis2Placement v2_Placement, IfcTextPath::IfcTextPath v3_Path, IfcPlanarExtent* v4_Extent, IfcBoxAlignment v5_BoxAlignment) : IfcTextLiteral((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Literal)); e->setArgument(1,(v2_Placement)); e->setArgument(2,v3_Path,IfcTextPath::ToString(v3_Path)); e->setArgument(3,(v4_Extent)); e->setArgument(4,(v5_BoxAlignment)); entity = e; EntityBuffer::Add(this); } +IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, IfcAxis2Placement* v2_Placement, IfcTextPath::IfcTextPath v3_Path, IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Literal)); e->setArgument(1,(v2_Placement)); e->setArgument(2,v3_Path,IfcTextPath::ToString(v3_Path)); e->setArgument(3,(v4_Extent)); e->setArgument(4,(v5_BoxAlignment)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextStyle bool IfcTextStyle::hasTextCharacterAppearance() const { return !entity->getArgument(1)->isNull(); } @@ -14674,8 +16221,8 @@ void IfcTextStyle::setTextCharacterAppearance(IfcTextStyleForDefinedFont* v) { i bool IfcTextStyle::hasTextStyle() const { return !entity->getArgument(2)->isNull(); } IfcTextStyleTextModel* IfcTextStyle::TextStyle() const { return (IfcTextStyleTextModel*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(2))); } void IfcTextStyle::setTextStyle(IfcTextStyleTextModel* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcTextFontSelect IfcTextStyle::TextFontStyle() const { return *entity->getArgument(3); } -void IfcTextStyle::setTextFontStyle(IfcTextFontSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +IfcTextFontSelect* IfcTextStyle::TextFontStyle() const { return (IfcTextFontSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } +void IfcTextStyle::setTextFontStyle(IfcTextFontSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcTextStyle::hasModelOrDraughting() const { return !entity->getArgument(4)->isNull(); } bool IfcTextStyle::ModelOrDraughting() const { return *entity->getArgument(4); } void IfcTextStyle::setModelOrDraughting(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } @@ -14683,67 +16230,67 @@ bool IfcTextStyle::is(Type::Enum v) const { return v == Type::IfcTextStyle || If Type::Enum IfcTextStyle::type() const { return Type::IfcTextStyle; } Type::Enum IfcTextStyle::Class() { return Type::IfcTextStyle; } IfcTextStyle::IfcTextStyle(IfcAbstractEntity* e) : IfcPresentationStyle((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextStyle::IfcTextStyle(boost::optional< IfcLabel > v1_Name, IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, IfcTextStyleTextModel* v3_TextStyle, IfcTextFontSelect v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_TextCharacterAppearance)); e->setArgument(2,(v3_TextStyle)); e->setArgument(3,(v4_TextFontStyle)); if (v5_ModelOrDraughting) { e->setArgument(4,(*v5_ModelOrDraughting)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } +IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, IfcTextStyleTextModel* v3_TextStyle, IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } e->setArgument(1,(v2_TextCharacterAppearance)); e->setArgument(2,(v3_TextStyle)); e->setArgument(3,(v4_TextFontStyle)); if (v5_ModelOrDraughting) { e->setArgument(4,(*v5_ModelOrDraughting)); } else { e->setArgument(4); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextStyleFontModel -std::vector< IfcTextFontName > /*[1:?]*/ IfcTextStyleFontModel::FontFamily() const { return *entity->getArgument(1); } -void IfcTextStyleFontModel::setFontFamily(std::vector< IfcTextFontName > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::vector< std::string > /*[1:?]*/ IfcTextStyleFontModel::FontFamily() const { return *entity->getArgument(1); } +void IfcTextStyleFontModel::setFontFamily(std::vector< std::string > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcTextStyleFontModel::hasFontStyle() const { return !entity->getArgument(2)->isNull(); } -IfcFontStyle IfcTextStyleFontModel::FontStyle() const { return *entity->getArgument(2); } -void IfcTextStyleFontModel::setFontStyle(IfcFontStyle v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcTextStyleFontModel::FontStyle() const { return *entity->getArgument(2); } +void IfcTextStyleFontModel::setFontStyle(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcTextStyleFontModel::hasFontVariant() const { return !entity->getArgument(3)->isNull(); } -IfcFontVariant IfcTextStyleFontModel::FontVariant() const { return *entity->getArgument(3); } -void IfcTextStyleFontModel::setFontVariant(IfcFontVariant v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcTextStyleFontModel::FontVariant() const { return *entity->getArgument(3); } +void IfcTextStyleFontModel::setFontVariant(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcTextStyleFontModel::hasFontWeight() const { return !entity->getArgument(4)->isNull(); } -IfcFontWeight IfcTextStyleFontModel::FontWeight() const { return *entity->getArgument(4); } -void IfcTextStyleFontModel::setFontWeight(IfcFontWeight v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcSizeSelect IfcTextStyleFontModel::FontSize() const { return *entity->getArgument(5); } -void IfcTextStyleFontModel::setFontSize(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcTextStyleFontModel::FontWeight() const { return *entity->getArgument(4); } +void IfcTextStyleFontModel::setFontWeight(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +IfcSizeSelect* IfcTextStyleFontModel::FontSize() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } +void IfcTextStyleFontModel::setFontSize(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcTextStyleFontModel::is(Type::Enum v) const { return v == Type::IfcTextStyleFontModel || IfcPreDefinedTextFont::is(v); } Type::Enum IfcTextStyleFontModel::type() const { return Type::IfcTextStyleFontModel; } Type::Enum IfcTextStyleFontModel::Class() { return Type::IfcTextStyleFontModel; } IfcTextStyleFontModel::IfcTextStyleFontModel(IfcAbstractEntity* e) : IfcPreDefinedTextFont((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextStyleFontModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextStyleFontModel::IfcTextStyleFontModel(IfcLabel v1_Name, std::vector< IfcTextFontName > /*[1:?]*/ v2_FontFamily, boost::optional< IfcFontStyle > v3_FontStyle, boost::optional< IfcFontVariant > v4_FontVariant, boost::optional< IfcFontWeight > v5_FontWeight, IfcSizeSelect v6_FontSize) : IfcPreDefinedTextFont((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); e->setArgument(1,(v2_FontFamily)); if (v3_FontStyle) { e->setArgument(2,(*v3_FontStyle)); } else { e->setArgument(2); } if (v4_FontVariant) { e->setArgument(3,(*v4_FontVariant)); } else { e->setArgument(3); } if (v5_FontWeight) { e->setArgument(4,(*v5_FontWeight)); } else { e->setArgument(4); } e->setArgument(5,(v6_FontSize)); entity = e; EntityBuffer::Add(this); } +IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); e->setArgument(1,(v2_FontFamily)); if (v3_FontStyle) { e->setArgument(2,(*v3_FontStyle)); } else { e->setArgument(2); } if (v4_FontVariant) { e->setArgument(3,(*v4_FontVariant)); } else { e->setArgument(3); } if (v5_FontWeight) { e->setArgument(4,(*v5_FontWeight)); } else { e->setArgument(4); } e->setArgument(5,(v6_FontSize)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextStyleForDefinedFont -IfcColour IfcTextStyleForDefinedFont::Colour() const { return *entity->getArgument(0); } -void IfcTextStyleForDefinedFont::setColour(IfcColour v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcColour* IfcTextStyleForDefinedFont::Colour() const { return (IfcColour*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcTextStyleForDefinedFont::setColour(IfcColour* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcTextStyleForDefinedFont::hasBackgroundColour() const { return !entity->getArgument(1)->isNull(); } -IfcColour IfcTextStyleForDefinedFont::BackgroundColour() const { return *entity->getArgument(1); } -void IfcTextStyleForDefinedFont::setBackgroundColour(IfcColour v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcColour* IfcTextStyleForDefinedFont::BackgroundColour() const { return (IfcColour*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } +void IfcTextStyleForDefinedFont::setBackgroundColour(IfcColour* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcTextStyleForDefinedFont::is(Type::Enum v) const { return v == Type::IfcTextStyleForDefinedFont || IfcPresentationItem::is(v); } Type::Enum IfcTextStyleForDefinedFont::type() const { return Type::IfcTextStyleForDefinedFont; } Type::Enum IfcTextStyleForDefinedFont::Class() { return Type::IfcTextStyleForDefinedFont; } IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextStyleForDefinedFont)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcColour v1_Colour, boost::optional< IfcColour > v2_BackgroundColour) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Colour)); if (v2_BackgroundColour) { e->setArgument(1,(*v2_BackgroundColour)); } else { e->setArgument(1); } entity = e; EntityBuffer::Add(this); } +IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcColour* v1_Colour, IfcColour* v2_BackgroundColour) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Colour)); e->setArgument(1,(v2_BackgroundColour)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextStyleTextModel bool IfcTextStyleTextModel::hasTextIndent() const { return !entity->getArgument(0)->isNull(); } -IfcSizeSelect IfcTextStyleTextModel::TextIndent() const { return *entity->getArgument(0); } -void IfcTextStyleTextModel::setTextIndent(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +IfcSizeSelect* IfcTextStyleTextModel::TextIndent() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcTextStyleTextModel::setTextIndent(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcTextStyleTextModel::hasTextAlign() const { return !entity->getArgument(1)->isNull(); } -IfcTextAlignment IfcTextStyleTextModel::TextAlign() const { return *entity->getArgument(1); } -void IfcTextStyleTextModel::setTextAlign(IfcTextAlignment v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcTextStyleTextModel::TextAlign() const { return *entity->getArgument(1); } +void IfcTextStyleTextModel::setTextAlign(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcTextStyleTextModel::hasTextDecoration() const { return !entity->getArgument(2)->isNull(); } -IfcTextDecoration IfcTextStyleTextModel::TextDecoration() const { return *entity->getArgument(2); } -void IfcTextStyleTextModel::setTextDecoration(IfcTextDecoration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcTextStyleTextModel::TextDecoration() const { return *entity->getArgument(2); } +void IfcTextStyleTextModel::setTextDecoration(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcTextStyleTextModel::hasLetterSpacing() const { return !entity->getArgument(3)->isNull(); } -IfcSizeSelect IfcTextStyleTextModel::LetterSpacing() const { return *entity->getArgument(3); } -void IfcTextStyleTextModel::setLetterSpacing(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +IfcSizeSelect* IfcTextStyleTextModel::LetterSpacing() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } +void IfcTextStyleTextModel::setLetterSpacing(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcTextStyleTextModel::hasWordSpacing() const { return !entity->getArgument(4)->isNull(); } -IfcSizeSelect IfcTextStyleTextModel::WordSpacing() const { return *entity->getArgument(4); } -void IfcTextStyleTextModel::setWordSpacing(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +IfcSizeSelect* IfcTextStyleTextModel::WordSpacing() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } +void IfcTextStyleTextModel::setWordSpacing(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcTextStyleTextModel::hasTextTransform() const { return !entity->getArgument(5)->isNull(); } -IfcTextTransformation IfcTextStyleTextModel::TextTransform() const { return *entity->getArgument(5); } -void IfcTextStyleTextModel::setTextTransform(IfcTextTransformation v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcTextStyleTextModel::TextTransform() const { return *entity->getArgument(5); } +void IfcTextStyleTextModel::setTextTransform(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcTextStyleTextModel::hasLineHeight() const { return !entity->getArgument(6)->isNull(); } -IfcSizeSelect IfcTextStyleTextModel::LineHeight() const { return *entity->getArgument(6); } -void IfcTextStyleTextModel::setLineHeight(IfcSizeSelect v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +IfcSizeSelect* IfcTextStyleTextModel::LineHeight() const { return (IfcSizeSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(6))); } +void IfcTextStyleTextModel::setLineHeight(IfcSizeSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcTextStyleTextModel::is(Type::Enum v) const { return v == Type::IfcTextStyleTextModel || IfcPresentationItem::is(v); } Type::Enum IfcTextStyleTextModel::type() const { return Type::IfcTextStyleTextModel; } Type::Enum IfcTextStyleTextModel::Class() { return Type::IfcTextStyleTextModel; } IfcTextStyleTextModel::IfcTextStyleTextModel(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextStyleTextModel)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextStyleTextModel::IfcTextStyleTextModel(boost::optional< IfcSizeSelect > v1_TextIndent, boost::optional< IfcTextAlignment > v2_TextAlign, boost::optional< IfcTextDecoration > v3_TextDecoration, boost::optional< IfcSizeSelect > v4_LetterSpacing, boost::optional< IfcSizeSelect > v5_WordSpacing, boost::optional< IfcTextTransformation > v6_TextTransform, boost::optional< IfcSizeSelect > v7_LineHeight) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_TextIndent) { e->setArgument(0,(*v1_TextIndent)); } else { e->setArgument(0); } if (v2_TextAlign) { e->setArgument(1,(*v2_TextAlign)); } else { e->setArgument(1); } if (v3_TextDecoration) { e->setArgument(2,(*v3_TextDecoration)); } else { e->setArgument(2); } if (v4_LetterSpacing) { e->setArgument(3,(*v4_LetterSpacing)); } else { e->setArgument(3); } if (v5_WordSpacing) { e->setArgument(4,(*v5_WordSpacing)); } else { e->setArgument(4); } if (v6_TextTransform) { e->setArgument(5,(*v6_TextTransform)); } else { e->setArgument(5); } if (v7_LineHeight) { e->setArgument(6,(*v7_LineHeight)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } +IfcTextStyleTextModel::IfcTextStyleTextModel(IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, IfcSizeSelect* v4_LetterSpacing, IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, IfcSizeSelect* v7_LineHeight) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_TextIndent)); if (v2_TextAlign) { e->setArgument(1,(*v2_TextAlign)); } else { e->setArgument(1); } if (v3_TextDecoration) { e->setArgument(2,(*v3_TextDecoration)); } else { e->setArgument(2); } e->setArgument(3,(v4_LetterSpacing)); e->setArgument(4,(v5_WordSpacing)); if (v6_TextTransform) { e->setArgument(5,(*v6_TextTransform)); } else { e->setArgument(5); } e->setArgument(6,(v7_LineHeight)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextureCoordinate IfcTemplatedEntityList< IfcSurfaceTexture >::ptr IfcTextureCoordinate::Maps() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } @@ -14755,16 +16302,16 @@ IfcTextureCoordinate::IfcTextureCoordinate(IfcAbstractEntity* e) : IfcPresentati IfcTextureCoordinate::IfcTextureCoordinate(IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Maps)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextureCoordinateGenerator -IfcLabel IfcTextureCoordinateGenerator::Mode() const { return *entity->getArgument(1); } -void IfcTextureCoordinateGenerator::setMode(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcTextureCoordinateGenerator::Mode() const { return *entity->getArgument(1); } +void IfcTextureCoordinateGenerator::setMode(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcTextureCoordinateGenerator::hasParameter() const { return !entity->getArgument(2)->isNull(); } -std::vector< IfcReal > /*[1:?]*/ IfcTextureCoordinateGenerator::Parameter() const { return *entity->getArgument(2); } -void IfcTextureCoordinateGenerator::setParameter(std::vector< IfcReal > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::vector< double > /*[1:?]*/ IfcTextureCoordinateGenerator::Parameter() const { return *entity->getArgument(2); } +void IfcTextureCoordinateGenerator::setParameter(std::vector< double > /*[1:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } 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(IfcAbstractEntity* e) : IfcTextureCoordinate((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextureCoordinateGenerator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v1_Maps, IfcLabel v2_Mode, boost::optional< std::vector< IfcReal > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Maps)->generalize()); e->setArgument(1,(v2_Mode)); if (v3_Parameter) { e->setArgument(2,(*v3_Parameter)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } +IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Maps)->generalize()); e->setArgument(1,(v2_Mode)); if (v3_Parameter) { e->setArgument(2,(*v3_Parameter)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextureMap IfcTemplatedEntityList< IfcTextureVertex >::ptr IfcTextureMap::Vertices() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } @@ -14778,13 +16325,13 @@ IfcTextureMap::IfcTextureMap(IfcAbstractEntity* e) : IfcTextureCoordinate((IfcAb IfcTextureMap::IfcTextureMap(IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v1_Maps, IfcTemplatedEntityList< IfcTextureVertex >::ptr v2_Vertices, IfcFace* v3_MappedTo) : IfcTextureCoordinate((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Maps)->generalize()); e->setArgument(1,(v2_Vertices)->generalize()); e->setArgument(2,(v3_MappedTo)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextureVertex -std::vector< IfcParameterValue > /*[2:2]*/ IfcTextureVertex::Coordinates() const { return *entity->getArgument(0); } -void IfcTextureVertex::setCoordinates(std::vector< IfcParameterValue > /*[2:2]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::vector< double > /*[2:2]*/ IfcTextureVertex::Coordinates() const { return *entity->getArgument(0); } +void IfcTextureVertex::setCoordinates(std::vector< double > /*[2:2]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcTextureVertex::is(Type::Enum v) const { return v == Type::IfcTextureVertex || IfcPresentationItem::is(v); } Type::Enum IfcTextureVertex::type() const { return Type::IfcTextureVertex; } Type::Enum IfcTextureVertex::Class() { return Type::IfcTextureVertex; } IfcTextureVertex::IfcTextureVertex(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTextureVertex)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTextureVertex::IfcTextureVertex(std::vector< IfcParameterValue > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); entity = e; EntityBuffer::Add(this); } +IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Coordinates)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTextureVertexList bool IfcTextureVertexList::is(Type::Enum v) const { return v == Type::IfcTextureVertexList || IfcPresentationItem::is(v); } @@ -14794,46 +16341,46 @@ IfcTextureVertexList::IfcTextureVertexList(IfcAbstractEntity* e) : IfcPresentati IfcTextureVertexList::IfcTextureVertexList() : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTimePeriod -IfcTime IfcTimePeriod::StartTime() const { return *entity->getArgument(0); } -void IfcTimePeriod::setStartTime(IfcTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcTime IfcTimePeriod::EndTime() const { return *entity->getArgument(1); } -void IfcTimePeriod::setEndTime(IfcTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcTimePeriod::StartTime() const { return *entity->getArgument(0); } +void IfcTimePeriod::setStartTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcTimePeriod::EndTime() const { return *entity->getArgument(1); } +void IfcTimePeriod::setEndTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcTimePeriod::is(Type::Enum v) const { return v == Type::IfcTimePeriod; } Type::Enum IfcTimePeriod::type() const { return Type::IfcTimePeriod; } Type::Enum IfcTimePeriod::Class() { return Type::IfcTimePeriod; } IfcTimePeriod::IfcTimePeriod(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTimePeriod)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTimePeriod::IfcTimePeriod(IfcTime v1_StartTime, IfcTime v2_EndTime) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_StartTime)); e->setArgument(1,(v2_EndTime)); entity = e; EntityBuffer::Add(this); } +IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_StartTime)); e->setArgument(1,(v2_EndTime)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTimeSeries -IfcLabel IfcTimeSeries::Name() const { return *entity->getArgument(0); } -void IfcTimeSeries::setName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +std::string IfcTimeSeries::Name() const { return *entity->getArgument(0); } +void IfcTimeSeries::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcTimeSeries::hasDescription() const { return !entity->getArgument(1)->isNull(); } -IfcText IfcTimeSeries::Description() const { return *entity->getArgument(1); } -void IfcTimeSeries::setDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcDateTime IfcTimeSeries::StartTime() const { return *entity->getArgument(2); } -void IfcTimeSeries::setStartTime(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } -IfcDateTime IfcTimeSeries::EndTime() const { return *entity->getArgument(3); } -void IfcTimeSeries::setEndTime(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +std::string IfcTimeSeries::Description() const { return *entity->getArgument(1); } +void IfcTimeSeries::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::string IfcTimeSeries::StartTime() const { return *entity->getArgument(2); } +void IfcTimeSeries::setStartTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +std::string IfcTimeSeries::EndTime() const { return *entity->getArgument(3); } +void IfcTimeSeries::setEndTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum IfcTimeSeries::TimeSeriesDataType() const { return IfcTimeSeriesDataTypeEnum::FromString(*entity->getArgument(4)); } void IfcTimeSeries::setTimeSeriesDataType(IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v,IfcTimeSeriesDataTypeEnum::ToString(v)); } IfcDataOriginEnum::IfcDataOriginEnum IfcTimeSeries::DataOrigin() const { return IfcDataOriginEnum::FromString(*entity->getArgument(5)); } void IfcTimeSeries::setDataOrigin(IfcDataOriginEnum::IfcDataOriginEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcDataOriginEnum::ToString(v)); } bool IfcTimeSeries::hasUserDefinedDataOrigin() const { return !entity->getArgument(6)->isNull(); } -IfcLabel IfcTimeSeries::UserDefinedDataOrigin() const { return *entity->getArgument(6); } -void IfcTimeSeries::setUserDefinedDataOrigin(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcTimeSeries::UserDefinedDataOrigin() const { return *entity->getArgument(6); } +void IfcTimeSeries::setUserDefinedDataOrigin(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcTimeSeries::hasUnit() const { return !entity->getArgument(7)->isNull(); } -IfcUnit IfcTimeSeries::Unit() const { return *entity->getArgument(7); } -void IfcTimeSeries::setUnit(IfcUnit v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +IfcUnit* IfcTimeSeries::Unit() const { return (IfcUnit*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(7))); } +void IfcTimeSeries::setUnit(IfcUnit* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } IfcExternalReferenceRelationship::list::ptr IfcTimeSeries::HasExternalReference() const { return entity->getInverse(Type::IfcExternalReferenceRelationship)->as(); } bool IfcTimeSeries::is(Type::Enum v) const { return v == Type::IfcTimeSeries; } Type::Enum IfcTimeSeries::type() const { return Type::IfcTimeSeries; } Type::Enum IfcTimeSeries::Class() { return Type::IfcTimeSeries; } IfcTimeSeries::IfcTimeSeries(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcTimeSeries)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTimeSeries::IfcTimeSeries(IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTime v3_StartTime, IfcDateTime v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } if (v8_Unit) { e->setArgument(7,(*v8_Unit)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_StartTime)); e->setArgument(3,(v4_EndTime)); e->setArgument(4,v5_TimeSeriesDataType,IfcTimeSeriesDataTypeEnum::ToString(v5_TimeSeriesDataType)); e->setArgument(5,v6_DataOrigin,IfcDataOriginEnum::ToString(v6_DataOrigin)); if (v7_UserDefinedDataOrigin) { e->setArgument(6,(*v7_UserDefinedDataOrigin)); } else { e->setArgument(6); } e->setArgument(7,(v8_Unit)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTimeSeriesValue -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcTimeSeriesValue::ListValues() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcTimeSeriesValue::setListValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcEntityList::ptr IfcTimeSeriesValue::ListValues() const { return *entity->getArgument(0); } +void IfcTimeSeriesValue::setListValues(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } 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; } @@ -14852,7 +16399,7 @@ bool IfcTopologyRepresentation::is(Type::Enum v) const { return v == Type::IfcTo Type::Enum IfcTopologyRepresentation::type() const { return Type::IfcTopologyRepresentation; } Type::Enum IfcTopologyRepresentation::Class() { return Type::IfcTopologyRepresentation; } IfcTopologyRepresentation::IfcTopologyRepresentation(IfcAbstractEntity* e) : IfcShapeModel((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTopologyRepresentation)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTopologyRepresentation::IfcTopologyRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } +IfcTopologyRepresentation::IfcTopologyRepresentation(IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_ContextOfItems)); if (v2_RepresentationIdentifier) { e->setArgument(1,(*v2_RepresentationIdentifier)); } else { e->setArgument(1); } if (v3_RepresentationType) { e->setArgument(2,(*v3_RepresentationType)); } else { e->setArgument(2); } e->setArgument(3,(v4_Items)->generalize()); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTransformer bool IfcTransformer::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -14862,7 +16409,7 @@ bool IfcTransformer::is(Type::Enum v) const { return v == Type::IfcTransformer | Type::Enum IfcTransformer::type() const { return Type::IfcTransformer; } Type::Enum IfcTransformer::Class() { return Type::IfcTransformer; } IfcTransformer::IfcTransformer(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTransformer)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTransformer::IfcTransformer(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcTransformerTypeEnum::IfcTransformerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcTransformerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcTransformer::IfcTransformer(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTransformerTypeEnum::IfcTransformerTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcTransformerTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTransformerType IfcTransformerTypeEnum::IfcTransformerTypeEnum IfcTransformerType::PredefinedType() const { return IfcTransformerTypeEnum::FromString(*entity->getArgument(9)); } @@ -14871,7 +16418,7 @@ bool IfcTransformerType::is(Type::Enum v) const { return v == Type::IfcTransform Type::Enum IfcTransformerType::type() const { return Type::IfcTransformerType; } Type::Enum IfcTransformerType::Class() { return Type::IfcTransformerType; } IfcTransformerType::IfcTransformerType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTransformerType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTransformerType::IfcTransformerType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTransformerTypeEnum::IfcTransformerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTransformerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTransformerTypeEnum::IfcTransformerTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTransformerTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTransportElement bool IfcTransportElement::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -14881,7 +16428,7 @@ bool IfcTransportElement::is(Type::Enum v) const { return v == Type::IfcTranspor Type::Enum IfcTransportElement::type() const { return Type::IfcTransportElement; } Type::Enum IfcTransportElement::Class() { return Type::IfcTransportElement; } IfcTransportElement::IfcTransportElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTransportElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTransportElement::IfcTransportElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v9_PredefinedType) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcTransportElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v9_PredefinedType) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcTransportElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTransportElementType IfcTransportElementTypeEnum::IfcTransportElementTypeEnum IfcTransportElementType::PredefinedType() const { return IfcTransportElementTypeEnum::FromString(*entity->getArgument(9)); } @@ -14890,22 +16437,22 @@ bool IfcTransportElementType::is(Type::Enum v) const { return v == Type::IfcTran Type::Enum IfcTransportElementType::type() const { return Type::IfcTransportElementType; } Type::Enum IfcTransportElementType::Class() { return Type::IfcTransportElementType; } IfcTransportElementType::IfcTransportElementType(IfcAbstractEntity* e) : IfcElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTransportElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTransportElementType::IfcTransportElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v10_PredefinedType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTransportElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v10_PredefinedType) : IfcElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTransportElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTrapeziumProfileDef -IfcPositiveLengthMeasure IfcTrapeziumProfileDef::BottomXDim() const { return *entity->getArgument(3); } -void IfcTrapeziumProfileDef::setBottomXDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcTrapeziumProfileDef::TopXDim() const { return *entity->getArgument(4); } -void IfcTrapeziumProfileDef::setTopXDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcTrapeziumProfileDef::YDim() const { return *entity->getArgument(5); } -void IfcTrapeziumProfileDef::setYDim(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcLengthMeasure IfcTrapeziumProfileDef::TopXOffset() const { return *entity->getArgument(6); } -void IfcTrapeziumProfileDef::setTopXOffset(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcTrapeziumProfileDef::BottomXDim() const { return *entity->getArgument(3); } +void IfcTrapeziumProfileDef::setBottomXDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcTrapeziumProfileDef::TopXDim() const { return *entity->getArgument(4); } +void IfcTrapeziumProfileDef::setTopXDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcTrapeziumProfileDef::YDim() const { return *entity->getArgument(5); } +void IfcTrapeziumProfileDef::setYDim(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcTrapeziumProfileDef::TopXOffset() const { return *entity->getArgument(6); } +void IfcTrapeziumProfileDef::setTopXOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcTrapeziumProfileDef::is(Type::Enum v) const { return v == Type::IfcTrapeziumProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcTrapeziumProfileDef::type() const { return Type::IfcTrapeziumProfileDef; } Type::Enum IfcTrapeziumProfileDef::Class() { return Type::IfcTrapeziumProfileDef; } IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTrapeziumProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_BottomXDim, IfcPositiveLengthMeasure v5_TopXDim, IfcPositiveLengthMeasure v6_YDim, IfcLengthMeasure v7_TopXOffset) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_BottomXDim)); e->setArgument(4,(v5_TopXDim)); e->setArgument(5,(v6_YDim)); e->setArgument(6,(v7_TopXOffset)); entity = e; EntityBuffer::Add(this); } +IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_BottomXDim)); e->setArgument(4,(v5_TopXDim)); e->setArgument(5,(v6_YDim)); e->setArgument(6,(v7_TopXOffset)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTriangulatedFaceSet bool IfcTriangulatedFaceSet::is(Type::Enum v) const { return v == Type::IfcTriangulatedFaceSet || IfcTessellatedFaceSet::is(v); } @@ -14917,10 +16464,10 @@ IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(IfcCartesianPointList3D* v1_Coord // Function implementations for IfcTrimmedCurve IfcCurve* IfcTrimmedCurve::BasisCurve() const { return (IfcCurve*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcTrimmedCurve::setBasisCurve(IfcCurve* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcTrimmedCurve::Trim1() const { IfcEntityList::ptr es = *entity->getArgument(1); return es->as(); } -void IfcTrimmedCurve::setTrim1(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v->generalize()); } -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcTrimmedCurve::Trim2() const { IfcEntityList::ptr es = *entity->getArgument(2); return es->as(); } -void IfcTrimmedCurve::setTrim2(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v->generalize()); } +IfcEntityList::ptr IfcTrimmedCurve::Trim1() const { return *entity->getArgument(1); } +void IfcTrimmedCurve::setTrim1(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +IfcEntityList::ptr IfcTrimmedCurve::Trim2() const { return *entity->getArgument(2); } +void IfcTrimmedCurve::setTrim2(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcTrimmedCurve::SenseAgreement() const { return *entity->getArgument(3); } void IfcTrimmedCurve::setSenseAgreement(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } IfcTrimmingPreference::IfcTrimmingPreference IfcTrimmedCurve::MasterRepresentation() const { return IfcTrimmingPreference::FromString(*entity->getArgument(4)); } @@ -14939,7 +16486,7 @@ bool IfcTubeBundle::is(Type::Enum v) const { return v == Type::IfcTubeBundle || Type::Enum IfcTubeBundle::type() const { return Type::IfcTubeBundle; } Type::Enum IfcTubeBundle::Class() { return Type::IfcTubeBundle; } IfcTubeBundle::IfcTubeBundle(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTubeBundle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTubeBundle::IfcTubeBundle(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcTubeBundleTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcTubeBundle::IfcTubeBundle(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcTubeBundleTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTubeBundleType IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum IfcTubeBundleType::PredefinedType() const { return IfcTubeBundleTypeEnum::FromString(*entity->getArgument(9)); } @@ -14948,12 +16495,12 @@ bool IfcTubeBundleType::is(Type::Enum v) const { return v == Type::IfcTubeBundle Type::Enum IfcTubeBundleType::type() const { return Type::IfcTubeBundleType; } Type::Enum IfcTubeBundleType::Class() { return Type::IfcTubeBundleType; } IfcTubeBundleType::IfcTubeBundleType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTubeBundleType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTubeBundleType::IfcTubeBundleType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTubeBundleTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcTubeBundleTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTypeObject bool IfcTypeObject::hasApplicableOccurrence() const { return !entity->getArgument(4)->isNull(); } -IfcIdentifier IfcTypeObject::ApplicableOccurrence() const { return *entity->getArgument(4); } -void IfcTypeObject::setApplicableOccurrence(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcTypeObject::ApplicableOccurrence() const { return *entity->getArgument(4); } +void IfcTypeObject::setApplicableOccurrence(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcTypeObject::hasHasPropertySets() const { return !entity->getArgument(5)->isNull(); } IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr IfcTypeObject::HasPropertySets() const { IfcEntityList::ptr es = *entity->getArgument(5); return es->as(); } void IfcTypeObject::setHasPropertySets(IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v->generalize()); } @@ -14962,83 +16509,83 @@ bool IfcTypeObject::is(Type::Enum v) const { return v == Type::IfcTypeObject || Type::Enum IfcTypeObject::type() const { return Type::IfcTypeObject; } Type::Enum IfcTypeObject::Class() { return Type::IfcTypeObject; } IfcTypeObject::IfcTypeObject(IfcAbstractEntity* e) : IfcObjectDefinition((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTypeObject)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTypeObject::IfcTypeObject(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTypeProcess bool IfcTypeProcess::hasIdentification() const { return !entity->getArgument(6)->isNull(); } -IfcIdentifier IfcTypeProcess::Identification() const { return *entity->getArgument(6); } -void IfcTypeProcess::setIdentification(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcTypeProcess::Identification() const { return *entity->getArgument(6); } +void IfcTypeProcess::setIdentification(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcTypeProcess::hasLongDescription() const { return !entity->getArgument(7)->isNull(); } -IfcText IfcTypeProcess::LongDescription() const { return *entity->getArgument(7); } -void IfcTypeProcess::setLongDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcTypeProcess::LongDescription() const { return *entity->getArgument(7); } +void IfcTypeProcess::setLongDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcTypeProcess::hasProcessType() const { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcTypeProcess::ProcessType() const { return *entity->getArgument(8); } -void IfcTypeProcess::setProcessType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcTypeProcess::ProcessType() const { return *entity->getArgument(8); } +void IfcTypeProcess::setProcessType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } IfcRelAssignsToProcess::list::ptr IfcTypeProcess::OperatesOn() const { return entity->getInverse(Type::IfcRelAssignsToProcess)->as(); } bool IfcTypeProcess::is(Type::Enum v) const { return v == Type::IfcTypeProcess || IfcTypeObject::is(v); } Type::Enum IfcTypeProcess::type() const { return Type::IfcTypeProcess; } Type::Enum IfcTypeProcess::Class() { return Type::IfcTypeProcess; } IfcTypeProcess::IfcTypeProcess(IfcAbstractEntity* e) : IfcTypeObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTypeProcess)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTypeProcess::IfcTypeProcess(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ProcessType) : IfcTypeObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ProcessType) { e->setArgument(8,(*v9_ProcessType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType) : IfcTypeObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ProcessType) { e->setArgument(8,(*v9_ProcessType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTypeProduct bool IfcTypeProduct::hasRepresentationMaps() const { return !entity->getArgument(6)->isNull(); } IfcTemplatedEntityList< IfcRepresentationMap >::ptr IfcTypeProduct::RepresentationMaps() const { IfcEntityList::ptr es = *entity->getArgument(6); return es->as(); } void IfcTypeProduct::setRepresentationMaps(IfcTemplatedEntityList< IfcRepresentationMap >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v->generalize()); } bool IfcTypeProduct::hasTag() const { return !entity->getArgument(7)->isNull(); } -IfcLabel IfcTypeProduct::Tag() const { return *entity->getArgument(7); } -void IfcTypeProduct::setTag(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcTypeProduct::Tag() const { return *entity->getArgument(7); } +void IfcTypeProduct::setTag(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } IfcRelAssignsToProduct::list::ptr IfcTypeProduct::ReferencedBy() const { return entity->getInverse(Type::IfcRelAssignsToProduct)->as(); } bool IfcTypeProduct::is(Type::Enum v) const { return v == Type::IfcTypeProduct || IfcTypeObject::is(v); } Type::Enum IfcTypeProduct::type() const { return Type::IfcTypeProduct; } Type::Enum IfcTypeProduct::Class() { return Type::IfcTypeProduct; } IfcTypeProduct::IfcTypeProduct(IfcAbstractEntity* e) : IfcTypeObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTypeProduct)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTypeProduct::IfcTypeProduct(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag) : IfcTypeObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTypeResource bool IfcTypeResource::hasIdentification() const { return !entity->getArgument(6)->isNull(); } -IfcIdentifier IfcTypeResource::Identification() const { return *entity->getArgument(6); } -void IfcTypeResource::setIdentification(IfcIdentifier v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcTypeResource::Identification() const { return *entity->getArgument(6); } +void IfcTypeResource::setIdentification(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcTypeResource::hasLongDescription() const { return !entity->getArgument(7)->isNull(); } -IfcText IfcTypeResource::LongDescription() const { return *entity->getArgument(7); } -void IfcTypeResource::setLongDescription(IfcText v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::string IfcTypeResource::LongDescription() const { return *entity->getArgument(7); } +void IfcTypeResource::setLongDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcTypeResource::hasResourceType() const { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcTypeResource::ResourceType() const { return *entity->getArgument(8); } -void IfcTypeResource::setResourceType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcTypeResource::ResourceType() const { return *entity->getArgument(8); } +void IfcTypeResource::setResourceType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } IfcRelAssignsToResource::list::ptr IfcTypeResource::ResourceOf() const { return entity->getInverse(Type::IfcRelAssignsToResource)->as(); } bool IfcTypeResource::is(Type::Enum v) const { return v == Type::IfcTypeResource || IfcTypeObject::is(v); } Type::Enum IfcTypeResource::type() const { return Type::IfcTypeResource; } Type::Enum IfcTypeResource::Class() { return Type::IfcTypeResource; } IfcTypeResource::IfcTypeResource(IfcAbstractEntity* e) : IfcTypeObject((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTypeResource)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTypeResource::IfcTypeResource(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType) : IfcTypeObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcTypeResource::IfcTypeResource(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType) : IfcTypeObject((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_Identification) { e->setArgument(6,(*v7_Identification)); } else { e->setArgument(6); } if (v8_LongDescription) { e->setArgument(7,(*v8_LongDescription)); } else { e->setArgument(7); } if (v9_ResourceType) { e->setArgument(8,(*v9_ResourceType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcUShapeProfileDef -IfcPositiveLengthMeasure IfcUShapeProfileDef::Depth() const { return *entity->getArgument(3); } -void IfcUShapeProfileDef::setDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcUShapeProfileDef::FlangeWidth() const { return *entity->getArgument(4); } -void IfcUShapeProfileDef::setFlangeWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcUShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } -void IfcUShapeProfileDef::setWebThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcUShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } -void IfcUShapeProfileDef::setFlangeThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcUShapeProfileDef::Depth() const { return *entity->getArgument(3); } +void IfcUShapeProfileDef::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcUShapeProfileDef::FlangeWidth() const { return *entity->getArgument(4); } +void IfcUShapeProfileDef::setFlangeWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcUShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } +void IfcUShapeProfileDef::setWebThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcUShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } +void IfcUShapeProfileDef::setFlangeThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcUShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(7)->isNull(); } -IfcNonNegativeLengthMeasure IfcUShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } -void IfcUShapeProfileDef::setFilletRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcUShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } +void IfcUShapeProfileDef::setFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcUShapeProfileDef::hasEdgeRadius() const { return !entity->getArgument(8)->isNull(); } -IfcNonNegativeLengthMeasure IfcUShapeProfileDef::EdgeRadius() const { return *entity->getArgument(8); } -void IfcUShapeProfileDef::setEdgeRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcUShapeProfileDef::EdgeRadius() const { return *entity->getArgument(8); } +void IfcUShapeProfileDef::setEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcUShapeProfileDef::hasFlangeSlope() const { return !entity->getArgument(9)->isNull(); } -IfcPlaneAngleMeasure IfcUShapeProfileDef::FlangeSlope() const { return *entity->getArgument(9); } -void IfcUShapeProfileDef::setFlangeSlope(IfcPlaneAngleMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcUShapeProfileDef::FlangeSlope() const { return *entity->getArgument(9); } +void IfcUShapeProfileDef::setFlangeSlope(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcUShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcUShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcUShapeProfileDef::type() const { return Type::IfcUShapeProfileDef; } Type::Enum IfcUShapeProfileDef::Class() { return Type::IfcUShapeProfileDef; } IfcUShapeProfileDef::IfcUShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcUShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcUShapeProfileDef::IfcUShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_FilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v9_EdgeRadius, boost::optional< IfcPlaneAngleMeasure > v10_FlangeSlope) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_EdgeRadius) { e->setArgument(8,(*v9_EdgeRadius)); } else { e->setArgument(8); } if (v10_FlangeSlope) { e->setArgument(9,(*v10_FlangeSlope)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } +IfcUShapeProfileDef::IfcUShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_EdgeRadius, boost::optional< double > v10_FlangeSlope) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_EdgeRadius) { e->setArgument(8,(*v9_EdgeRadius)); } else { e->setArgument(8); } if (v10_FlangeSlope) { e->setArgument(9,(*v10_FlangeSlope)); } else { e->setArgument(9); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcUnitAssignment -IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr IfcUnitAssignment::Units() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } -void IfcUnitAssignment::setUnits(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } +IfcEntityList::ptr IfcUnitAssignment::Units() const { return *entity->getArgument(0); } +void IfcUnitAssignment::setUnits(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } 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; } @@ -15053,7 +16600,7 @@ bool IfcUnitaryControlElement::is(Type::Enum v) const { return v == Type::IfcUni Type::Enum IfcUnitaryControlElement::type() const { return Type::IfcUnitaryControlElement; } Type::Enum IfcUnitaryControlElement::Class() { return Type::IfcUnitaryControlElement; } IfcUnitaryControlElement::IfcUnitaryControlElement(IfcAbstractEntity* e) : IfcDistributionControlElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcUnitaryControlElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcUnitaryControlElement::IfcUnitaryControlElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcUnitaryControlElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcUnitaryControlElement::IfcUnitaryControlElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum > v9_PredefinedType) : IfcDistributionControlElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcUnitaryControlElementTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcUnitaryControlElementType IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum IfcUnitaryControlElementType::PredefinedType() const { return IfcUnitaryControlElementTypeEnum::FromString(*entity->getArgument(9)); } @@ -15062,7 +16609,7 @@ bool IfcUnitaryControlElementType::is(Type::Enum v) const { return v == Type::If Type::Enum IfcUnitaryControlElementType::type() const { return Type::IfcUnitaryControlElementType; } Type::Enum IfcUnitaryControlElementType::Class() { return Type::IfcUnitaryControlElementType; } IfcUnitaryControlElementType::IfcUnitaryControlElementType(IfcAbstractEntity* e) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcUnitaryControlElementType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcUnitaryControlElementType::IfcUnitaryControlElementType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcUnitaryControlElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum v10_PredefinedType) : IfcDistributionControlElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcUnitaryControlElementTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcUnitaryEquipment bool IfcUnitaryEquipment::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -15072,7 +16619,7 @@ bool IfcUnitaryEquipment::is(Type::Enum v) const { return v == Type::IfcUnitaryE Type::Enum IfcUnitaryEquipment::type() const { return Type::IfcUnitaryEquipment; } Type::Enum IfcUnitaryEquipment::Class() { return Type::IfcUnitaryEquipment; } IfcUnitaryEquipment::IfcUnitaryEquipment(IfcAbstractEntity* e) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcUnitaryEquipment)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcUnitaryEquipment::IfcUnitaryEquipment(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcUnitaryEquipmentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcUnitaryEquipment::IfcUnitaryEquipment(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum > v9_PredefinedType) : IfcEnergyConversionDevice((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcUnitaryEquipmentTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcUnitaryEquipmentType IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum IfcUnitaryEquipmentType::PredefinedType() const { return IfcUnitaryEquipmentTypeEnum::FromString(*entity->getArgument(9)); } @@ -15081,7 +16628,7 @@ bool IfcUnitaryEquipmentType::is(Type::Enum v) const { return v == Type::IfcUnit Type::Enum IfcUnitaryEquipmentType::type() const { return Type::IfcUnitaryEquipmentType; } Type::Enum IfcUnitaryEquipmentType::Class() { return Type::IfcUnitaryEquipmentType; } IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(IfcAbstractEntity* e) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcUnitaryEquipmentType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcUnitaryEquipmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v10_PredefinedType) : IfcEnergyConversionDeviceType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcUnitaryEquipmentTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcValve bool IfcValve::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -15091,7 +16638,7 @@ bool IfcValve::is(Type::Enum v) const { return v == Type::IfcValve || IfcFlowCon Type::Enum IfcValve::type() const { return Type::IfcValve; } Type::Enum IfcValve::Class() { return Type::IfcValve; } IfcValve::IfcValve(IfcAbstractEntity* e) : IfcFlowController((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcValve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcValve::IfcValve(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcValveTypeEnum::IfcValveTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcValveTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcValve::IfcValve(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcValveTypeEnum::IfcValveTypeEnum > v9_PredefinedType) : IfcFlowController((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcValveTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcValveType IfcValveTypeEnum::IfcValveTypeEnum IfcValveType::PredefinedType() const { return IfcValveTypeEnum::FromString(*entity->getArgument(9)); } @@ -15100,18 +16647,18 @@ bool IfcValveType::is(Type::Enum v) const { return v == Type::IfcValveType || If Type::Enum IfcValveType::type() const { return Type::IfcValveType; } Type::Enum IfcValveType::Class() { return Type::IfcValveType; } IfcValveType::IfcValveType(IfcAbstractEntity* e) : IfcFlowControllerType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcValveType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcValveType::IfcValveType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcValveTypeEnum::IfcValveTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcValveTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcValveType::IfcValveType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcValveTypeEnum::IfcValveTypeEnum v10_PredefinedType) : IfcFlowControllerType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcValveTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVector IfcDirection* IfcVector::Orientation() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } void IfcVector::setOrientation(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } -IfcLengthMeasure IfcVector::Magnitude() const { return *entity->getArgument(1); } -void IfcVector::setMagnitude(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +double IfcVector::Magnitude() const { return *entity->getArgument(1); } +void IfcVector::setMagnitude(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } bool IfcVector::is(Type::Enum v) const { return v == Type::IfcVector || IfcGeometricRepresentationItem::is(v); } Type::Enum IfcVector::type() const { return Type::IfcVector; } Type::Enum IfcVector::Class() { return Type::IfcVector; } IfcVector::IfcVector(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVector)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVector::IfcVector(IfcDirection* v1_Orientation, IfcLengthMeasure v2_Magnitude) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Orientation)); e->setArgument(1,(v2_Magnitude)); entity = e; EntityBuffer::Add(this); } +IfcVector::IfcVector(IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Orientation)); e->setArgument(1,(v2_Magnitude)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVertex bool IfcVertex::is(Type::Enum v) const { return v == Type::IfcVertex || IfcTopologicalRepresentationItem::is(v); } @@ -15146,7 +16693,7 @@ bool IfcVibrationIsolator::is(Type::Enum v) const { return v == Type::IfcVibrati Type::Enum IfcVibrationIsolator::type() const { return Type::IfcVibrationIsolator; } Type::Enum IfcVibrationIsolator::Class() { return Type::IfcVibrationIsolator; } IfcVibrationIsolator::IfcVibrationIsolator(IfcAbstractEntity* e) : IfcElementComponent((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVibrationIsolator)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVibrationIsolator::IfcVibrationIsolator(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum > v9_PredefinedType) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcVibrationIsolatorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcVibrationIsolator::IfcVibrationIsolator(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum > v9_PredefinedType) : IfcElementComponent((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcVibrationIsolatorTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVibrationIsolatorType IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum IfcVibrationIsolatorType::PredefinedType() const { return IfcVibrationIsolatorTypeEnum::FromString(*entity->getArgument(9)); } @@ -15155,25 +16702,25 @@ bool IfcVibrationIsolatorType::is(Type::Enum v) const { return v == Type::IfcVib Type::Enum IfcVibrationIsolatorType::type() const { return Type::IfcVibrationIsolatorType; } Type::Enum IfcVibrationIsolatorType::Class() { return Type::IfcVibrationIsolatorType; } IfcVibrationIsolatorType::IfcVibrationIsolatorType(IfcAbstractEntity* e) : IfcElementComponentType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVibrationIsolatorType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVibrationIsolatorType::IfcVibrationIsolatorType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v10_PredefinedType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcVibrationIsolatorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v10_PredefinedType) : IfcElementComponentType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcVibrationIsolatorTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVirtualElement bool IfcVirtualElement::is(Type::Enum v) const { return v == Type::IfcVirtualElement || IfcElement::is(v); } Type::Enum IfcVirtualElement::type() const { return Type::IfcVirtualElement; } Type::Enum IfcVirtualElement::Class() { return Type::IfcVirtualElement; } IfcVirtualElement::IfcVirtualElement(IfcAbstractEntity* e) : IfcElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVirtualElement)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVirtualElement::IfcVirtualElement(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } +IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVirtualGridIntersection IfcTemplatedEntityList< IfcGridAxis >::ptr IfcVirtualGridIntersection::IntersectingAxes() const { IfcEntityList::ptr es = *entity->getArgument(0); return es->as(); } void IfcVirtualGridIntersection::setIntersectingAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v->generalize()); } -std::vector< IfcLengthMeasure > /*[2:3]*/ IfcVirtualGridIntersection::OffsetDistances() const { return *entity->getArgument(1); } -void IfcVirtualGridIntersection::setOffsetDistances(std::vector< IfcLengthMeasure > /*[2:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +std::vector< double > /*[2:3]*/ IfcVirtualGridIntersection::OffsetDistances() const { return *entity->getArgument(1); } +void IfcVirtualGridIntersection::setOffsetDistances(std::vector< double > /*[2:3]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } 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; } IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcVirtualGridIntersection)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcTemplatedEntityList< IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< IfcLengthMeasure > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_IntersectingAxes)->generalize()); e->setArgument(1,(v2_OffsetDistances)); entity = e; EntityBuffer::Add(this); } +IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcTemplatedEntityList< IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_IntersectingAxes)->generalize()); e->setArgument(1,(v2_OffsetDistances)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcVoidingFeature bool IfcVoidingFeature::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -15183,7 +16730,7 @@ bool IfcVoidingFeature::is(Type::Enum v) const { return v == Type::IfcVoidingFea Type::Enum IfcVoidingFeature::type() const { return Type::IfcVoidingFeature; } Type::Enum IfcVoidingFeature::Class() { return Type::IfcVoidingFeature; } IfcVoidingFeature::IfcVoidingFeature(IfcAbstractEntity* e) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcVoidingFeature)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcVoidingFeature::IfcVoidingFeature(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum > v9_PredefinedType) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcVoidingFeatureTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum > v9_PredefinedType) : IfcFeatureElementSubtraction((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcVoidingFeatureTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWall bool IfcWall::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -15193,21 +16740,21 @@ bool IfcWall::is(Type::Enum v) const { return v == Type::IfcWall || IfcBuildingE Type::Enum IfcWall::type() const { return Type::IfcWall; } Type::Enum IfcWall::Class() { return Type::IfcWall; } IfcWall::IfcWall(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWall)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWall::IfcWall(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcWallTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcWall::IfcWall(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcWallTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWallElementedCase bool IfcWallElementedCase::is(Type::Enum v) const { return v == Type::IfcWallElementedCase || IfcWall::is(v); } Type::Enum IfcWallElementedCase::type() const { return Type::IfcWallElementedCase; } Type::Enum IfcWallElementedCase::Class() { return Type::IfcWallElementedCase; } IfcWallElementedCase::IfcWallElementedCase(IfcAbstractEntity* e) : IfcWall((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWallElementedCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWallElementedCase::IfcWallElementedCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType) : IfcWall((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcWallTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcWallElementedCase::IfcWallElementedCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType) : IfcWall((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcWallTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWallStandardCase bool IfcWallStandardCase::is(Type::Enum v) const { return v == Type::IfcWallStandardCase || IfcWall::is(v); } Type::Enum IfcWallStandardCase::type() const { return Type::IfcWallStandardCase; } Type::Enum IfcWallStandardCase::Class() { return Type::IfcWallStandardCase; } IfcWallStandardCase::IfcWallStandardCase(IfcAbstractEntity* e) : IfcWall((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWallStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWallStandardCase::IfcWallStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType) : IfcWall((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcWallTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType) : IfcWall((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcWallTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWallType IfcWallTypeEnum::IfcWallTypeEnum IfcWallType::PredefinedType() const { return IfcWallTypeEnum::FromString(*entity->getArgument(9)); } @@ -15216,7 +16763,7 @@ bool IfcWallType::is(Type::Enum v) const { return v == Type::IfcWallType || IfcB Type::Enum IfcWallType::type() const { return Type::IfcWallType; } Type::Enum IfcWallType::Class() { return Type::IfcWallType; } IfcWallType::IfcWallType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWallType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWallType::IfcWallType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWallTypeEnum::IfcWallTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcWallTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcWallType::IfcWallType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcWallTypeEnum::IfcWallTypeEnum v10_PredefinedType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcWallTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWasteTerminal bool IfcWasteTerminal::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -15226,7 +16773,7 @@ bool IfcWasteTerminal::is(Type::Enum v) const { return v == Type::IfcWasteTermin Type::Enum IfcWasteTerminal::type() const { return Type::IfcWasteTerminal; } Type::Enum IfcWasteTerminal::Class() { return Type::IfcWasteTerminal; } IfcWasteTerminal::IfcWasteTerminal(IfcAbstractEntity* e) : IfcFlowTerminal((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWasteTerminal)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWasteTerminal::IfcWasteTerminal(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcWasteTerminalTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcWasteTerminal::IfcWasteTerminal(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum > v9_PredefinedType) : IfcFlowTerminal((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcWasteTerminalTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWasteTerminalType IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum IfcWasteTerminalType::PredefinedType() const { return IfcWasteTerminalTypeEnum::FromString(*entity->getArgument(9)); } @@ -15235,15 +16782,15 @@ bool IfcWasteTerminalType::is(Type::Enum v) const { return v == Type::IfcWasteTe Type::Enum IfcWasteTerminalType::type() const { return Type::IfcWasteTerminalType; } Type::Enum IfcWasteTerminalType::Class() { return Type::IfcWasteTerminalType; } IfcWasteTerminalType::IfcWasteTerminalType(IfcAbstractEntity* e) : IfcFlowTerminalType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWasteTerminalType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWasteTerminalType::IfcWasteTerminalType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcWasteTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } +IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v10_PredefinedType) : IfcFlowTerminalType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcWasteTerminalTypeEnum::ToString(v10_PredefinedType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindow bool IfcWindow::hasOverallHeight() const { return !entity->getArgument(8)->isNull(); } -IfcPositiveLengthMeasure IfcWindow::OverallHeight() const { return *entity->getArgument(8); } -void IfcWindow::setOverallHeight(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcWindow::OverallHeight() const { return *entity->getArgument(8); } +void IfcWindow::setOverallHeight(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcWindow::hasOverallWidth() const { return !entity->getArgument(9)->isNull(); } -IfcPositiveLengthMeasure IfcWindow::OverallWidth() const { return *entity->getArgument(9); } -void IfcWindow::setOverallWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcWindow::OverallWidth() const { return *entity->getArgument(9); } +void IfcWindow::setOverallWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcWindow::hasPredefinedType() const { return !entity->getArgument(10)->isNull(); } IfcWindowTypeEnum::IfcWindowTypeEnum IfcWindow::PredefinedType() const { return IfcWindowTypeEnum::FromString(*entity->getArgument(10)); } void IfcWindow::setPredefinedType(IfcWindowTypeEnum::IfcWindowTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v,IfcWindowTypeEnum::ToString(v)); } @@ -15251,56 +16798,56 @@ bool IfcWindow::hasPartitioningType() const { return !entity->getArgument(11)->i IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum IfcWindow::PartitioningType() const { return IfcWindowTypePartitioningEnum::FromString(*entity->getArgument(11)); } void IfcWindow::setPartitioningType(IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v,IfcWindowTypePartitioningEnum::ToString(v)); } bool IfcWindow::hasUserDefinedPartitioningType() const { return !entity->getArgument(12)->isNull(); } -IfcLabel IfcWindow::UserDefinedPartitioningType() const { return *entity->getArgument(12); } -void IfcWindow::setUserDefinedPartitioningType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +std::string IfcWindow::UserDefinedPartitioningType() const { return *entity->getArgument(12); } +void IfcWindow::setUserDefinedPartitioningType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcWindow::is(Type::Enum v) const { return v == Type::IfcWindow || IfcBuildingElement::is(v); } Type::Enum IfcWindow::type() const { return Type::IfcWindow; } Type::Enum IfcWindow::Class() { return Type::IfcWindow; } IfcWindow::IfcWindow(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindow)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindow::IfcWindow(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth, boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > v11_PredefinedType, boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > v12_PartitioningType, boost::optional< IfcLabel > v13_UserDefinedPartitioningType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcWindowTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } if (v12_PartitioningType) { e->setArgument(11,*v12_PartitioningType,IfcWindowTypePartitioningEnum::ToString(*v12_PartitioningType)); } else { e->setArgument(11); } if (v13_UserDefinedPartitioningType) { e->setArgument(12,(*v13_UserDefinedPartitioningType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcWindow::IfcWindow(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > v11_PredefinedType, boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcWindowTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } if (v12_PartitioningType) { e->setArgument(11,*v12_PartitioningType,IfcWindowTypePartitioningEnum::ToString(*v12_PartitioningType)); } else { e->setArgument(11); } if (v13_UserDefinedPartitioningType) { e->setArgument(12,(*v13_UserDefinedPartitioningType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindowLiningProperties bool IfcWindowLiningProperties::hasLiningDepth() const { return !entity->getArgument(4)->isNull(); } -IfcPositiveLengthMeasure IfcWindowLiningProperties::LiningDepth() const { return *entity->getArgument(4); } -void IfcWindowLiningProperties::setLiningDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcWindowLiningProperties::LiningDepth() const { return *entity->getArgument(4); } +void IfcWindowLiningProperties::setLiningDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcWindowLiningProperties::hasLiningThickness() const { return !entity->getArgument(5)->isNull(); } -IfcNonNegativeLengthMeasure IfcWindowLiningProperties::LiningThickness() const { return *entity->getArgument(5); } -void IfcWindowLiningProperties::setLiningThickness(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcWindowLiningProperties::LiningThickness() const { return *entity->getArgument(5); } +void IfcWindowLiningProperties::setLiningThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcWindowLiningProperties::hasTransomThickness() const { return !entity->getArgument(6)->isNull(); } -IfcNonNegativeLengthMeasure IfcWindowLiningProperties::TransomThickness() const { return *entity->getArgument(6); } -void IfcWindowLiningProperties::setTransomThickness(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcWindowLiningProperties::TransomThickness() const { return *entity->getArgument(6); } +void IfcWindowLiningProperties::setTransomThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcWindowLiningProperties::hasMullionThickness() const { return !entity->getArgument(7)->isNull(); } -IfcNonNegativeLengthMeasure IfcWindowLiningProperties::MullionThickness() const { return *entity->getArgument(7); } -void IfcWindowLiningProperties::setMullionThickness(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcWindowLiningProperties::MullionThickness() const { return *entity->getArgument(7); } +void IfcWindowLiningProperties::setMullionThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcWindowLiningProperties::hasFirstTransomOffset() const { return !entity->getArgument(8)->isNull(); } -IfcNormalisedRatioMeasure IfcWindowLiningProperties::FirstTransomOffset() const { return *entity->getArgument(8); } -void IfcWindowLiningProperties::setFirstTransomOffset(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcWindowLiningProperties::FirstTransomOffset() const { return *entity->getArgument(8); } +void IfcWindowLiningProperties::setFirstTransomOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcWindowLiningProperties::hasSecondTransomOffset() const { return !entity->getArgument(9)->isNull(); } -IfcNormalisedRatioMeasure IfcWindowLiningProperties::SecondTransomOffset() const { return *entity->getArgument(9); } -void IfcWindowLiningProperties::setSecondTransomOffset(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +double IfcWindowLiningProperties::SecondTransomOffset() const { return *entity->getArgument(9); } +void IfcWindowLiningProperties::setSecondTransomOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcWindowLiningProperties::hasFirstMullionOffset() const { return !entity->getArgument(10)->isNull(); } -IfcNormalisedRatioMeasure IfcWindowLiningProperties::FirstMullionOffset() const { return *entity->getArgument(10); } -void IfcWindowLiningProperties::setFirstMullionOffset(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +double IfcWindowLiningProperties::FirstMullionOffset() const { return *entity->getArgument(10); } +void IfcWindowLiningProperties::setFirstMullionOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } bool IfcWindowLiningProperties::hasSecondMullionOffset() const { return !entity->getArgument(11)->isNull(); } -IfcNormalisedRatioMeasure IfcWindowLiningProperties::SecondMullionOffset() const { return *entity->getArgument(11); } -void IfcWindowLiningProperties::setSecondMullionOffset(IfcNormalisedRatioMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +double IfcWindowLiningProperties::SecondMullionOffset() const { return *entity->getArgument(11); } +void IfcWindowLiningProperties::setSecondMullionOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcWindowLiningProperties::hasShapeAspectStyle() const { return !entity->getArgument(12)->isNull(); } IfcShapeAspect* IfcWindowLiningProperties::ShapeAspectStyle() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(12))); } void IfcWindowLiningProperties::setShapeAspectStyle(IfcShapeAspect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcWindowLiningProperties::hasLiningOffset() const { return !entity->getArgument(13)->isNull(); } -IfcLengthMeasure IfcWindowLiningProperties::LiningOffset() const { return *entity->getArgument(13); } -void IfcWindowLiningProperties::setLiningOffset(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } +double IfcWindowLiningProperties::LiningOffset() const { return *entity->getArgument(13); } +void IfcWindowLiningProperties::setLiningOffset(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(13,v); } bool IfcWindowLiningProperties::hasLiningToPanelOffsetX() const { return !entity->getArgument(14)->isNull(); } -IfcLengthMeasure IfcWindowLiningProperties::LiningToPanelOffsetX() const { return *entity->getArgument(14); } -void IfcWindowLiningProperties::setLiningToPanelOffsetX(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } +double IfcWindowLiningProperties::LiningToPanelOffsetX() const { return *entity->getArgument(14); } +void IfcWindowLiningProperties::setLiningToPanelOffsetX(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(14,v); } bool IfcWindowLiningProperties::hasLiningToPanelOffsetY() const { return !entity->getArgument(15)->isNull(); } -IfcLengthMeasure IfcWindowLiningProperties::LiningToPanelOffsetY() const { return *entity->getArgument(15); } -void IfcWindowLiningProperties::setLiningToPanelOffsetY(IfcLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } +double IfcWindowLiningProperties::LiningToPanelOffsetY() const { return *entity->getArgument(15); } +void IfcWindowLiningProperties::setLiningToPanelOffsetY(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(15,v); } bool IfcWindowLiningProperties::is(Type::Enum v) const { return v == Type::IfcWindowLiningProperties || IfcPreDefinedPropertySet::is(v); } Type::Enum IfcWindowLiningProperties::type() const { return Type::IfcWindowLiningProperties; } Type::Enum IfcWindowLiningProperties::Class() { return Type::IfcWindowLiningProperties; } IfcWindowLiningProperties::IfcWindowLiningProperties(IfcAbstractEntity* e) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindowLiningProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindowLiningProperties::IfcWindowLiningProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_LiningDepth, boost::optional< IfcNonNegativeLengthMeasure > v6_LiningThickness, boost::optional< IfcNonNegativeLengthMeasure > v7_TransomThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_MullionThickness, boost::optional< IfcNormalisedRatioMeasure > v9_FirstTransomOffset, boost::optional< IfcNormalisedRatioMeasure > v10_SecondTransomOffset, boost::optional< IfcNormalisedRatioMeasure > v11_FirstMullionOffset, boost::optional< IfcNormalisedRatioMeasure > v12_SecondMullionOffset, IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< IfcLengthMeasure > v14_LiningOffset, boost::optional< IfcLengthMeasure > v15_LiningToPanelOffsetX, boost::optional< IfcLengthMeasure > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_LiningDepth) { e->setArgument(4,(*v5_LiningDepth)); } else { e->setArgument(4); } if (v6_LiningThickness) { e->setArgument(5,(*v6_LiningThickness)); } else { e->setArgument(5); } if (v7_TransomThickness) { e->setArgument(6,(*v7_TransomThickness)); } else { e->setArgument(6); } if (v8_MullionThickness) { e->setArgument(7,(*v8_MullionThickness)); } else { e->setArgument(7); } if (v9_FirstTransomOffset) { e->setArgument(8,(*v9_FirstTransomOffset)); } else { e->setArgument(8); } if (v10_SecondTransomOffset) { e->setArgument(9,(*v10_SecondTransomOffset)); } else { e->setArgument(9); } if (v11_FirstMullionOffset) { e->setArgument(10,(*v11_FirstMullionOffset)); } else { e->setArgument(10); } if (v12_SecondMullionOffset) { e->setArgument(11,(*v12_SecondMullionOffset)); } else { e->setArgument(11); } e->setArgument(12,(v13_ShapeAspectStyle)); if (v14_LiningOffset) { e->setArgument(13,(*v14_LiningOffset)); } else { e->setArgument(13); } if (v15_LiningToPanelOffsetX) { e->setArgument(14,(*v15_LiningToPanelOffsetX)); } else { e->setArgument(14); } if (v16_LiningToPanelOffsetY) { e->setArgument(15,(*v16_LiningToPanelOffsetY)); } else { e->setArgument(15); } entity = e; EntityBuffer::Add(this); } +IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_TransomThickness, boost::optional< double > v8_MullionThickness, boost::optional< double > v9_FirstTransomOffset, boost::optional< double > v10_SecondTransomOffset, boost::optional< double > v11_FirstMullionOffset, boost::optional< double > v12_SecondMullionOffset, IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_LiningDepth) { e->setArgument(4,(*v5_LiningDepth)); } else { e->setArgument(4); } if (v6_LiningThickness) { e->setArgument(5,(*v6_LiningThickness)); } else { e->setArgument(5); } if (v7_TransomThickness) { e->setArgument(6,(*v7_TransomThickness)); } else { e->setArgument(6); } if (v8_MullionThickness) { e->setArgument(7,(*v8_MullionThickness)); } else { e->setArgument(7); } if (v9_FirstTransomOffset) { e->setArgument(8,(*v9_FirstTransomOffset)); } else { e->setArgument(8); } if (v10_SecondTransomOffset) { e->setArgument(9,(*v10_SecondTransomOffset)); } else { e->setArgument(9); } if (v11_FirstMullionOffset) { e->setArgument(10,(*v11_FirstMullionOffset)); } else { e->setArgument(10); } if (v12_SecondMullionOffset) { e->setArgument(11,(*v12_SecondMullionOffset)); } else { e->setArgument(11); } e->setArgument(12,(v13_ShapeAspectStyle)); if (v14_LiningOffset) { e->setArgument(13,(*v14_LiningOffset)); } else { e->setArgument(13); } if (v15_LiningToPanelOffsetX) { e->setArgument(14,(*v15_LiningToPanelOffsetX)); } else { e->setArgument(14); } if (v16_LiningToPanelOffsetY) { e->setArgument(15,(*v16_LiningToPanelOffsetY)); } else { e->setArgument(15); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindowPanelProperties IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum IfcWindowPanelProperties::OperationType() const { return IfcWindowPanelOperationEnum::FromString(*entity->getArgument(4)); } @@ -15308,11 +16855,11 @@ void IfcWindowPanelProperties::setOperationType(IfcWindowPanelOperationEnum::Ifc IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum IfcWindowPanelProperties::PanelPosition() const { return IfcWindowPanelPositionEnum::FromString(*entity->getArgument(5)); } void IfcWindowPanelProperties::setPanelPosition(IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcWindowPanelPositionEnum::ToString(v)); } bool IfcWindowPanelProperties::hasFrameDepth() const { return !entity->getArgument(6)->isNull(); } -IfcPositiveLengthMeasure IfcWindowPanelProperties::FrameDepth() const { return *entity->getArgument(6); } -void IfcWindowPanelProperties::setFrameDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcWindowPanelProperties::FrameDepth() const { return *entity->getArgument(6); } +void IfcWindowPanelProperties::setFrameDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcWindowPanelProperties::hasFrameThickness() const { return !entity->getArgument(7)->isNull(); } -IfcPositiveLengthMeasure IfcWindowPanelProperties::FrameThickness() const { return *entity->getArgument(7); } -void IfcWindowPanelProperties::setFrameThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcWindowPanelProperties::FrameThickness() const { return *entity->getArgument(7); } +void IfcWindowPanelProperties::setFrameThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcWindowPanelProperties::hasShapeAspectStyle() const { return !entity->getArgument(8)->isNull(); } IfcShapeAspect* IfcWindowPanelProperties::ShapeAspectStyle() const { return (IfcShapeAspect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(8))); } void IfcWindowPanelProperties::setShapeAspectStyle(IfcShapeAspect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } @@ -15320,14 +16867,14 @@ bool IfcWindowPanelProperties::is(Type::Enum v) const { return v == Type::IfcWin Type::Enum IfcWindowPanelProperties::type() const { return Type::IfcWindowPanelProperties; } Type::Enum IfcWindowPanelProperties::Class() { return Type::IfcWindowPanelProperties; } IfcWindowPanelProperties::IfcWindowPanelProperties(IfcAbstractEntity* e) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindowPanelProperties)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindowPanelProperties::IfcWindowPanelProperties(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< IfcPositiveLengthMeasure > v7_FrameDepth, boost::optional< IfcPositiveLengthMeasure > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_OperationType,IfcWindowPanelOperationEnum::ToString(v5_OperationType)); e->setArgument(5,v6_PanelPosition,IfcWindowPanelPositionEnum::ToString(v6_PanelPosition)); if (v7_FrameDepth) { e->setArgument(6,(*v7_FrameDepth)); } else { e->setArgument(6); } if (v8_FrameThickness) { e->setArgument(7,(*v8_FrameThickness)); } else { e->setArgument(7); } e->setArgument(8,(v9_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } +IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,v5_OperationType,IfcWindowPanelOperationEnum::ToString(v5_OperationType)); e->setArgument(5,v6_PanelPosition,IfcWindowPanelPositionEnum::ToString(v6_PanelPosition)); if (v7_FrameDepth) { e->setArgument(6,(*v7_FrameDepth)); } else { e->setArgument(6); } if (v8_FrameThickness) { e->setArgument(7,(*v8_FrameThickness)); } else { e->setArgument(7); } e->setArgument(8,(v9_ShapeAspectStyle)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindowStandardCase bool IfcWindowStandardCase::is(Type::Enum v) const { return v == Type::IfcWindowStandardCase || IfcWindow::is(v); } Type::Enum IfcWindowStandardCase::type() const { return Type::IfcWindowStandardCase; } Type::Enum IfcWindowStandardCase::Class() { return Type::IfcWindowStandardCase; } IfcWindowStandardCase::IfcWindowStandardCase(IfcAbstractEntity* e) : IfcWindow((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindowStandardCase)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindowStandardCase::IfcWindowStandardCase(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth, boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > v11_PredefinedType, boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > v12_PartitioningType, boost::optional< IfcLabel > v13_UserDefinedPartitioningType) : IfcWindow((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcWindowTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } if (v12_PartitioningType) { e->setArgument(11,*v12_PartitioningType,IfcWindowTypePartitioningEnum::ToString(*v12_PartitioningType)); } else { e->setArgument(11); } if (v13_UserDefinedPartitioningType) { e->setArgument(12,(*v13_UserDefinedPartitioningType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcWindowStandardCase::IfcWindowStandardCase(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > v11_PredefinedType, boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcWindow((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_OverallHeight) { e->setArgument(8,(*v9_OverallHeight)); } else { e->setArgument(8); } if (v10_OverallWidth) { e->setArgument(9,(*v10_OverallWidth)); } else { e->setArgument(9); } if (v11_PredefinedType) { e->setArgument(10,*v11_PredefinedType,IfcWindowTypeEnum::ToString(*v11_PredefinedType)); } else { e->setArgument(10); } if (v12_PartitioningType) { e->setArgument(11,*v12_PartitioningType,IfcWindowTypePartitioningEnum::ToString(*v12_PartitioningType)); } else { e->setArgument(11); } if (v13_UserDefinedPartitioningType) { e->setArgument(12,(*v13_UserDefinedPartitioningType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindowStyle IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum IfcWindowStyle::ConstructionType() const { return IfcWindowStyleConstructionEnum::FromString(*entity->getArgument(8)); } @@ -15342,7 +16889,7 @@ bool IfcWindowStyle::is(Type::Enum v) const { return v == Type::IfcWindowStyle | Type::Enum IfcWindowStyle::type() const { return Type::IfcWindowStyle; } Type::Enum IfcWindowStyle::Class() { return Type::IfcWindowStyle; } IfcWindowStyle::IfcWindowStyle(IfcAbstractEntity* e) : IfcTypeProduct((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindowStyle)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindowStyle::IfcWindowStyle(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v9_ConstructionType, IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_ConstructionType,IfcWindowStyleConstructionEnum::ToString(v9_ConstructionType)); e->setArgument(9,v10_OperationType,IfcWindowStyleOperationEnum::ToString(v10_OperationType)); e->setArgument(10,(v11_ParameterTakesPrecedence)); e->setArgument(11,(v12_Sizeable)); entity = e; EntityBuffer::Add(this); } +IfcWindowStyle::IfcWindowStyle(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v9_ConstructionType, IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } e->setArgument(8,v9_ConstructionType,IfcWindowStyleConstructionEnum::ToString(v9_ConstructionType)); e->setArgument(9,v10_OperationType,IfcWindowStyleOperationEnum::ToString(v10_OperationType)); e->setArgument(10,(v11_ParameterTakesPrecedence)); e->setArgument(11,(v12_Sizeable)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWindowType IfcWindowTypeEnum::IfcWindowTypeEnum IfcWindowType::PredefinedType() const { return IfcWindowTypeEnum::FromString(*entity->getArgument(9)); } @@ -15353,13 +16900,13 @@ bool IfcWindowType::hasParameterTakesPrecedence() const { return !entity->getArg bool IfcWindowType::ParameterTakesPrecedence() const { return *entity->getArgument(11); } void IfcWindowType::setParameterTakesPrecedence(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcWindowType::hasUserDefinedPartitioningType() const { return !entity->getArgument(12)->isNull(); } -IfcLabel IfcWindowType::UserDefinedPartitioningType() const { return *entity->getArgument(12); } -void IfcWindowType::setUserDefinedPartitioningType(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +std::string IfcWindowType::UserDefinedPartitioningType() const { return *entity->getArgument(12); } +void IfcWindowType::setUserDefinedPartitioningType(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcWindowType::is(Type::Enum v) const { return v == Type::IfcWindowType || IfcBuildingElementType::is(v); } Type::Enum IfcWindowType::type() const { return Type::IfcWindowType; } Type::Enum IfcWindowType::Class() { return Type::IfcWindowType; } IfcWindowType::IfcWindowType(IfcAbstractEntity* e) : IfcBuildingElementType((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWindowType)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWindowType::IfcWindowType(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWindowTypeEnum::IfcWindowTypeEnum v10_PredefinedType, IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< IfcLabel > v13_UserDefinedPartitioningType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcWindowTypeEnum::ToString(v10_PredefinedType)); e->setArgument(10,v11_PartitioningType,IfcWindowTypePartitioningEnum::ToString(v11_PartitioningType)); if (v12_ParameterTakesPrecedence) { e->setArgument(11,(*v12_ParameterTakesPrecedence)); } else { e->setArgument(11); } if (v13_UserDefinedPartitioningType) { e->setArgument(12,(*v13_UserDefinedPartitioningType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcWindowType::IfcWindowType(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcWindowTypeEnum::IfcWindowTypeEnum v10_PredefinedType, IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuildingElementType((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ApplicableOccurrence) { e->setArgument(4,(*v5_ApplicableOccurrence)); } else { e->setArgument(4); } if (v6_HasPropertySets) { e->setArgument(5,(*v6_HasPropertySets)->generalize()); } else { e->setArgument(5); } if (v7_RepresentationMaps) { e->setArgument(6,(*v7_RepresentationMaps)->generalize()); } else { e->setArgument(6); } if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_ElementType) { e->setArgument(8,(*v9_ElementType)); } else { e->setArgument(8); } e->setArgument(9,v10_PredefinedType,IfcWindowTypeEnum::ToString(v10_PredefinedType)); e->setArgument(10,v11_PartitioningType,IfcWindowTypePartitioningEnum::ToString(v11_PartitioningType)); if (v12_ParameterTakesPrecedence) { e->setArgument(11,(*v12_ParameterTakesPrecedence)); } else { e->setArgument(11); } if (v13_UserDefinedPartitioningType) { e->setArgument(12,(*v13_UserDefinedPartitioningType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWorkCalendar bool IfcWorkCalendar::hasWorkingTimes() const { return !entity->getArgument(6)->isNull(); } @@ -15375,33 +16922,33 @@ bool IfcWorkCalendar::is(Type::Enum v) const { return v == Type::IfcWorkCalendar Type::Enum IfcWorkCalendar::type() const { return Type::IfcWorkCalendar; } Type::Enum IfcWorkCalendar::Class() { return Type::IfcWorkCalendar; } IfcWorkCalendar::IfcWorkCalendar(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWorkCalendar)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWorkCalendar::IfcWorkCalendar(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum > v9_PredefinedType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_WorkingTimes) { e->setArgument(6,(*v7_WorkingTimes)->generalize()); } else { e->setArgument(6); } if (v8_ExceptionTimes) { e->setArgument(7,(*v8_ExceptionTimes)->generalize()); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcWorkCalendarTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum > v9_PredefinedType) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } if (v7_WorkingTimes) { e->setArgument(6,(*v7_WorkingTimes)->generalize()); } else { e->setArgument(6); } if (v8_ExceptionTimes) { e->setArgument(7,(*v8_ExceptionTimes)->generalize()); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcWorkCalendarTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWorkControl -IfcDateTime IfcWorkControl::CreationDate() const { return *entity->getArgument(6); } -void IfcWorkControl::setCreationDate(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +std::string IfcWorkControl::CreationDate() const { return *entity->getArgument(6); } +void IfcWorkControl::setCreationDate(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcWorkControl::hasCreators() const { return !entity->getArgument(7)->isNull(); } IfcTemplatedEntityList< IfcPerson >::ptr IfcWorkControl::Creators() const { IfcEntityList::ptr es = *entity->getArgument(7); return es->as(); } void IfcWorkControl::setCreators(IfcTemplatedEntityList< IfcPerson >::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v->generalize()); } bool IfcWorkControl::hasPurpose() const { return !entity->getArgument(8)->isNull(); } -IfcLabel IfcWorkControl::Purpose() const { return *entity->getArgument(8); } -void IfcWorkControl::setPurpose(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::string IfcWorkControl::Purpose() const { return *entity->getArgument(8); } +void IfcWorkControl::setPurpose(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcWorkControl::hasDuration() const { return !entity->getArgument(9)->isNull(); } -IfcDuration IfcWorkControl::Duration() const { return *entity->getArgument(9); } -void IfcWorkControl::setDuration(IfcDuration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } +std::string IfcWorkControl::Duration() const { return *entity->getArgument(9); } +void IfcWorkControl::setDuration(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcWorkControl::hasTotalFloat() const { return !entity->getArgument(10)->isNull(); } -IfcDuration IfcWorkControl::TotalFloat() const { return *entity->getArgument(10); } -void IfcWorkControl::setTotalFloat(IfcDuration v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } -IfcDateTime IfcWorkControl::StartTime() const { return *entity->getArgument(11); } -void IfcWorkControl::setStartTime(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } +std::string IfcWorkControl::TotalFloat() const { return *entity->getArgument(10); } +void IfcWorkControl::setTotalFloat(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(10,v); } +std::string IfcWorkControl::StartTime() const { return *entity->getArgument(11); } +void IfcWorkControl::setStartTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(11,v); } bool IfcWorkControl::hasFinishTime() const { return !entity->getArgument(12)->isNull(); } -IfcDateTime IfcWorkControl::FinishTime() const { return *entity->getArgument(12); } -void IfcWorkControl::setFinishTime(IfcDateTime v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } +std::string IfcWorkControl::FinishTime() const { return *entity->getArgument(12); } +void IfcWorkControl::setFinishTime(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(12,v); } bool IfcWorkControl::is(Type::Enum v) const { return v == Type::IfcWorkControl || IfcControl::is(v); } Type::Enum IfcWorkControl::type() const { return Type::IfcWorkControl; } Type::Enum IfcWorkControl::Class() { return Type::IfcWorkControl; } IfcWorkControl::IfcWorkControl(IfcAbstractEntity* e) : IfcControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWorkControl)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWorkControl::IfcWorkControl(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcDateTime v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcDuration > v10_Duration, boost::optional< IfcDuration > v11_TotalFloat, IfcDateTime v12_StartTime, boost::optional< IfcDateTime > v13_FinishTime) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime) : IfcControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWorkPlan bool IfcWorkPlan::hasPredefinedType() const { return !entity->getArgument(13)->isNull(); } @@ -15411,7 +16958,7 @@ bool IfcWorkPlan::is(Type::Enum v) const { return v == Type::IfcWorkPlan || IfcW Type::Enum IfcWorkPlan::type() const { return Type::IfcWorkPlan; } Type::Enum IfcWorkPlan::Class() { return Type::IfcWorkPlan; } IfcWorkPlan::IfcWorkPlan(IfcAbstractEntity* e) : IfcWorkControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWorkPlan)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWorkPlan::IfcWorkPlan(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcDateTime v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcDuration > v10_Duration, boost::optional< IfcDuration > v11_TotalFloat, IfcDateTime v12_StartTime, boost::optional< IfcDateTime > v13_FinishTime, boost::optional< IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum > v14_PredefinedType) : IfcWorkControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } if (v14_PredefinedType) { e->setArgument(13,*v14_PredefinedType,IfcWorkPlanTypeEnum::ToString(*v14_PredefinedType)); } else { e->setArgument(13); } entity = e; EntityBuffer::Add(this); } +IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum > v14_PredefinedType) : IfcWorkControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } if (v14_PredefinedType) { e->setArgument(13,*v14_PredefinedType,IfcWorkPlanTypeEnum::ToString(*v14_PredefinedType)); } else { e->setArgument(13); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWorkSchedule bool IfcWorkSchedule::hasPredefinedType() const { return !entity->getArgument(13)->isNull(); } @@ -15421,53 +16968,53 @@ bool IfcWorkSchedule::is(Type::Enum v) const { return v == Type::IfcWorkSchedule Type::Enum IfcWorkSchedule::type() const { return Type::IfcWorkSchedule; } Type::Enum IfcWorkSchedule::Class() { return Type::IfcWorkSchedule; } IfcWorkSchedule::IfcWorkSchedule(IfcAbstractEntity* e) : IfcWorkControl((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWorkSchedule)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWorkSchedule::IfcWorkSchedule(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcDateTime v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcDuration > v10_Duration, boost::optional< IfcDuration > v11_TotalFloat, IfcDateTime v12_StartTime, boost::optional< IfcDateTime > v13_FinishTime, boost::optional< IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum > v14_PredefinedType) : IfcWorkControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } if (v14_PredefinedType) { e->setArgument(13,*v14_PredefinedType,IfcWorkScheduleTypeEnum::ToString(*v14_PredefinedType)); } else { e->setArgument(13); } entity = e; EntityBuffer::Add(this); } +IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum > v14_PredefinedType) : IfcWorkControl((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_Identification) { e->setArgument(5,(*v6_Identification)); } else { e->setArgument(5); } e->setArgument(6,(v7_CreationDate)); if (v8_Creators) { e->setArgument(7,(*v8_Creators)->generalize()); } else { e->setArgument(7); } if (v9_Purpose) { e->setArgument(8,(*v9_Purpose)); } else { e->setArgument(8); } if (v10_Duration) { e->setArgument(9,(*v10_Duration)); } else { e->setArgument(9); } if (v11_TotalFloat) { e->setArgument(10,(*v11_TotalFloat)); } else { e->setArgument(10); } e->setArgument(11,(v12_StartTime)); if (v13_FinishTime) { e->setArgument(12,(*v13_FinishTime)); } else { e->setArgument(12); } if (v14_PredefinedType) { e->setArgument(13,*v14_PredefinedType,IfcWorkScheduleTypeEnum::ToString(*v14_PredefinedType)); } else { e->setArgument(13); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcWorkTime bool IfcWorkTime::hasRecurrencePattern() const { return !entity->getArgument(3)->isNull(); } IfcRecurrencePattern* IfcWorkTime::RecurrencePattern() const { return (IfcRecurrencePattern*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(3))); } void IfcWorkTime::setRecurrencePattern(IfcRecurrencePattern* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } bool IfcWorkTime::hasStart() const { return !entity->getArgument(4)->isNull(); } -IfcDate IfcWorkTime::Start() const { return *entity->getArgument(4); } -void IfcWorkTime::setStart(IfcDate v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +std::string IfcWorkTime::Start() const { return *entity->getArgument(4); } +void IfcWorkTime::setStart(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } bool IfcWorkTime::hasFinish() const { return !entity->getArgument(5)->isNull(); } -IfcDate IfcWorkTime::Finish() const { return *entity->getArgument(5); } -void IfcWorkTime::setFinish(IfcDate v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcWorkTime::Finish() const { return *entity->getArgument(5); } +void IfcWorkTime::setFinish(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcWorkTime::is(Type::Enum v) const { return v == Type::IfcWorkTime || IfcSchedulingTime::is(v); } Type::Enum IfcWorkTime::type() const { return Type::IfcWorkTime; } Type::Enum IfcWorkTime::Class() { return Type::IfcWorkTime; } IfcWorkTime::IfcWorkTime(IfcAbstractEntity* e) : IfcSchedulingTime((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcWorkTime)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcWorkTime::IfcWorkTime(boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< IfcDate > v5_Start, boost::optional< IfcDate > v6_Finish) : IfcSchedulingTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } e->setArgument(3,(v4_RecurrencePattern)); if (v5_Start) { e->setArgument(4,(*v5_Start)); } else { e->setArgument(4); } if (v6_Finish) { e->setArgument(5,(*v6_Finish)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcWorkTime::IfcWorkTime(boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_Start, boost::optional< std::string > v6_Finish) : IfcSchedulingTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } e->setArgument(3,(v4_RecurrencePattern)); if (v5_Start) { e->setArgument(4,(*v5_Start)); } else { e->setArgument(4); } if (v6_Finish) { e->setArgument(5,(*v6_Finish)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcZShapeProfileDef -IfcPositiveLengthMeasure IfcZShapeProfileDef::Depth() const { return *entity->getArgument(3); } -void IfcZShapeProfileDef::setDepth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } -IfcPositiveLengthMeasure IfcZShapeProfileDef::FlangeWidth() const { return *entity->getArgument(4); } -void IfcZShapeProfileDef::setFlangeWidth(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } -IfcPositiveLengthMeasure IfcZShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } -void IfcZShapeProfileDef::setWebThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } -IfcPositiveLengthMeasure IfcZShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } -void IfcZShapeProfileDef::setFlangeThickness(IfcPositiveLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } +double IfcZShapeProfileDef::Depth() const { return *entity->getArgument(3); } +void IfcZShapeProfileDef::setDepth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +double IfcZShapeProfileDef::FlangeWidth() const { return *entity->getArgument(4); } +void IfcZShapeProfileDef::setFlangeWidth(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(4,v); } +double IfcZShapeProfileDef::WebThickness() const { return *entity->getArgument(5); } +void IfcZShapeProfileDef::setWebThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +double IfcZShapeProfileDef::FlangeThickness() const { return *entity->getArgument(6); } +void IfcZShapeProfileDef::setFlangeThickness(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcZShapeProfileDef::hasFilletRadius() const { return !entity->getArgument(7)->isNull(); } -IfcNonNegativeLengthMeasure IfcZShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } -void IfcZShapeProfileDef::setFilletRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +double IfcZShapeProfileDef::FilletRadius() const { return *entity->getArgument(7); } +void IfcZShapeProfileDef::setFilletRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } bool IfcZShapeProfileDef::hasEdgeRadius() const { return !entity->getArgument(8)->isNull(); } -IfcNonNegativeLengthMeasure IfcZShapeProfileDef::EdgeRadius() const { return *entity->getArgument(8); } -void IfcZShapeProfileDef::setEdgeRadius(IfcNonNegativeLengthMeasure v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +double IfcZShapeProfileDef::EdgeRadius() const { return *entity->getArgument(8); } +void IfcZShapeProfileDef::setEdgeRadius(double v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcZShapeProfileDef::is(Type::Enum v) const { return v == Type::IfcZShapeProfileDef || IfcParameterizedProfileDef::is(v); } Type::Enum IfcZShapeProfileDef::type() const { return Type::IfcZShapeProfileDef; } Type::Enum IfcZShapeProfileDef::Class() { return Type::IfcZShapeProfileDef; } IfcZShapeProfileDef::IfcZShapeProfileDef(IfcAbstractEntity* e) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcZShapeProfileDef)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcZShapeProfileDef::IfcZShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_FilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v9_EdgeRadius) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_EdgeRadius) { e->setArgument(8,(*v9_EdgeRadius)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } +IfcZShapeProfileDef::IfcZShapeProfileDef(IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_EdgeRadius) : IfcParameterizedProfileDef((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,v1_ProfileType,IfcProfileTypeEnum::ToString(v1_ProfileType)); if (v2_ProfileName) { e->setArgument(1,(*v2_ProfileName)); } else { e->setArgument(1); } e->setArgument(2,(v3_Position)); e->setArgument(3,(v4_Depth)); e->setArgument(4,(v5_FlangeWidth)); e->setArgument(5,(v6_WebThickness)); e->setArgument(6,(v7_FlangeThickness)); if (v8_FilletRadius) { e->setArgument(7,(*v8_FilletRadius)); } else { e->setArgument(7); } if (v9_EdgeRadius) { e->setArgument(8,(*v9_EdgeRadius)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcZone bool IfcZone::hasLongName() const { return !entity->getArgument(5)->isNull(); } -IfcLabel IfcZone::LongName() const { return *entity->getArgument(5); } -void IfcZone::setLongName(IfcLabel v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } +std::string IfcZone::LongName() const { return *entity->getArgument(5); } +void IfcZone::setLongName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } bool IfcZone::is(Type::Enum v) const { return v == Type::IfcZone || IfcSystem::is(v); } Type::Enum IfcZone::type() const { return Type::IfcZone; } Type::Enum IfcZone::Class() { return Type::IfcZone; } IfcZone::IfcZone(IfcAbstractEntity* e) : IfcSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcZone)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcZone::IfcZone(IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcZone::IfcZone(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_LongName) { e->setArgument(5,(*v6_LongName)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } #endif diff --git a/src/ifcparse/Ifc4.h b/src/ifcparse/Ifc4.h index bd51849740..3b15d9265e 100644 --- a/src/ifcparse/Ifc4.h +++ b/src/ifcparse/Ifc4.h @@ -42,1086 +42,8 @@ namespace Ifc4 { // Forward definitions -class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; class IfcActuatorType; class IfcAddress; class IfcAdvancedBrep; class IfcAdvancedBrepWithVoids; class IfcAdvancedFace; class IfcAirTerminal; class IfcAirTerminalBox; class IfcAirTerminalBoxType; class IfcAirTerminalType; class IfcAirToAirHeatRecovery; class IfcAirToAirHeatRecoveryType; class IfcAlarm; class IfcAlarmType; class IfcAnnotation; class IfcAnnotationFillArea; class IfcApplication; class IfcAppliedValue; class IfcApproval; class IfcApprovalRelationship; class IfcArbitraryClosedProfileDef; class IfcArbitraryOpenProfileDef; class IfcArbitraryProfileDefWithVoids; class IfcAsset; class IfcAsymmetricIShapeProfileDef; class IfcAudioVisualAppliance; class IfcAudioVisualApplianceType; class IfcAxis1Placement; class IfcAxis2Placement2D; class IfcAxis2Placement3D; class IfcBSplineCurve; class IfcBSplineCurveWithKnots; class IfcBSplineSurface; class IfcBSplineSurfaceWithKnots; class IfcBeam; class IfcBeamStandardCase; class IfcBeamType; class IfcBlobTexture; class IfcBlock; class IfcBoiler; class IfcBoilerType; class IfcBooleanClippingResult; class IfcBooleanResult; class IfcBoundaryCondition; class IfcBoundaryCurve; class IfcBoundaryEdgeCondition; class IfcBoundaryFaceCondition; class IfcBoundaryNodeCondition; class IfcBoundaryNodeConditionWarping; class IfcBoundedCurve; class IfcBoundedSurface; class IfcBoundingBox; class IfcBoxedHalfSpace; class IfcBuilding; class IfcBuildingElement; class IfcBuildingElementPart; class IfcBuildingElementPartType; class IfcBuildingElementProxy; class IfcBuildingElementProxyType; class IfcBuildingElementType; class IfcBuildingStorey; class IfcBuildingSystem; class IfcBurner; class IfcBurnerType; class IfcCShapeProfileDef; class IfcCableCarrierFitting; class IfcCableCarrierFittingType; class IfcCableCarrierSegment; class IfcCableCarrierSegmentType; class IfcCableFitting; class IfcCableFittingType; class IfcCableSegment; class IfcCableSegmentType; class IfcCartesianPoint; class IfcCartesianPointList; class IfcCartesianPointList3D; class IfcCartesianTransformationOperator; class IfcCartesianTransformationOperator2D; class IfcCartesianTransformationOperator2DnonUniform; class IfcCartesianTransformationOperator3D; class IfcCartesianTransformationOperator3DnonUniform; class IfcCenterLineProfileDef; class IfcChiller; class IfcChillerType; class IfcChimney; class IfcChimneyType; class IfcCircle; class IfcCircleHollowProfileDef; class IfcCircleProfileDef; class IfcCivilElement; class IfcCivilElementType; class IfcClassification; class IfcClassificationReference; class IfcClosedShell; class IfcCoil; class IfcCoilType; class IfcColourRgb; class IfcColourRgbList; class IfcColourSpecification; class IfcColumn; class IfcColumnStandardCase; class IfcColumnType; class IfcCommunicationsAppliance; class IfcCommunicationsApplianceType; class IfcComplexProperty; class IfcComplexPropertyTemplate; class IfcCompositeCurve; class IfcCompositeCurveOnSurface; class IfcCompositeCurveSegment; class IfcCompositeProfileDef; class IfcCompressor; class IfcCompressorType; class IfcCondenser; class IfcCondenserType; class IfcConic; class IfcConnectedFaceSet; class IfcConnectionCurveGeometry; class IfcConnectionGeometry; class IfcConnectionPointEccentricity; class IfcConnectionPointGeometry; class IfcConnectionSurfaceGeometry; class IfcConnectionVolumeGeometry; class IfcConstraint; class IfcConstructionEquipmentResource; class IfcConstructionEquipmentResourceType; class IfcConstructionMaterialResource; class IfcConstructionMaterialResourceType; class IfcConstructionProductResource; class IfcConstructionProductResourceType; class IfcConstructionResource; class IfcConstructionResourceType; class IfcContext; class IfcContextDependentUnit; class IfcControl; class IfcController; class IfcControllerType; class IfcConversionBasedUnit; class IfcConversionBasedUnitWithOffset; class IfcCooledBeam; class IfcCooledBeamType; class IfcCoolingTower; class IfcCoolingTowerType; class IfcCoordinateOperation; class IfcCoordinateReferenceSystem; class IfcCostItem; class IfcCostSchedule; class IfcCostValue; class IfcCovering; class IfcCoveringType; class IfcCrewResource; class IfcCrewResourceType; class IfcCsgPrimitive3D; class IfcCsgSolid; class IfcCurrencyRelationship; class IfcCurtainWall; class IfcCurtainWallType; class IfcCurve; class IfcCurveBoundedPlane; class IfcCurveBoundedSurface; class IfcCurveStyle; class IfcCurveStyleFont; class IfcCurveStyleFontAndScaling; class IfcCurveStyleFontPattern; class IfcCylindricalSurface; class IfcDamper; class IfcDamperType; class IfcDerivedProfileDef; class IfcDerivedUnit; class IfcDerivedUnitElement; class IfcDimensionalExponents; class IfcDirection; class IfcDiscreteAccessory; class IfcDiscreteAccessoryType; class IfcDistributionChamberElement; class IfcDistributionChamberElementType; class IfcDistributionCircuit; class IfcDistributionControlElement; class IfcDistributionControlElementType; class IfcDistributionElement; class IfcDistributionElementType; class IfcDistributionFlowElement; class IfcDistributionFlowElementType; class IfcDistributionPort; class IfcDistributionSystem; class IfcDocumentInformation; class IfcDocumentInformationRelationship; class IfcDocumentReference; class IfcDoor; class IfcDoorLiningProperties; class IfcDoorPanelProperties; class IfcDoorStandardCase; class IfcDoorStyle; class IfcDoorType; class IfcDraughtingPreDefinedColour; class IfcDraughtingPreDefinedCurveFont; class IfcDuctFitting; class IfcDuctFittingType; class IfcDuctSegment; class IfcDuctSegmentType; class IfcDuctSilencer; class IfcDuctSilencerType; class IfcEdge; class IfcEdgeCurve; class IfcEdgeLoop; class IfcElectricAppliance; class IfcElectricApplianceType; class IfcElectricDistributionBoard; class IfcElectricDistributionBoardType; class IfcElectricFlowStorageDevice; class IfcElectricFlowStorageDeviceType; class IfcElectricGenerator; class IfcElectricGeneratorType; class IfcElectricMotor; class IfcElectricMotorType; class IfcElectricTimeControl; class IfcElectricTimeControlType; class IfcElement; class IfcElementAssembly; class IfcElementAssemblyType; class IfcElementComponent; class IfcElementComponentType; class IfcElementQuantity; class IfcElementType; class IfcElementarySurface; class IfcEllipse; class IfcEllipseProfileDef; class IfcEnergyConversionDevice; class IfcEnergyConversionDeviceType; class IfcEngine; class IfcEngineType; class IfcEvaporativeCooler; class IfcEvaporativeCoolerType; class IfcEvaporator; class IfcEvaporatorType; class IfcEvent; class IfcEventTime; class IfcEventType; class IfcExtendedProperties; class IfcExternalInformation; class IfcExternalReference; class IfcExternalReferenceRelationship; class IfcExternalSpatialElement; class IfcExternalSpatialStructureElement; class IfcExternallyDefinedHatchStyle; class IfcExternallyDefinedSurfaceStyle; class IfcExternallyDefinedTextFont; class IfcExtrudedAreaSolid; class IfcExtrudedAreaSolidTapered; class IfcFace; class IfcFaceBasedSurfaceModel; class IfcFaceBound; class IfcFaceOuterBound; class IfcFaceSurface; class IfcFacetedBrep; class IfcFacetedBrepWithVoids; class IfcFailureConnectionCondition; class IfcFan; class IfcFanType; class IfcFastener; class IfcFastenerType; class IfcFeatureElement; class IfcFeatureElementAddition; class IfcFeatureElementSubtraction; class IfcFillAreaStyle; class IfcFillAreaStyleHatching; class IfcFillAreaStyleTiles; class IfcFilter; class IfcFilterType; class IfcFireSuppressionTerminal; class IfcFireSuppressionTerminalType; class IfcFixedReferenceSweptAreaSolid; class IfcFlowController; class IfcFlowControllerType; class IfcFlowFitting; class IfcFlowFittingType; class IfcFlowInstrument; class IfcFlowInstrumentType; class IfcFlowMeter; class IfcFlowMeterType; class IfcFlowMovingDevice; class IfcFlowMovingDeviceType; class IfcFlowSegment; class IfcFlowSegmentType; class IfcFlowStorageDevice; class IfcFlowStorageDeviceType; class IfcFlowTerminal; class IfcFlowTerminalType; class IfcFlowTreatmentDevice; class IfcFlowTreatmentDeviceType; class IfcFooting; class IfcFootingType; class IfcFurnishingElement; class IfcFurnishingElementType; class IfcFurniture; class IfcFurnitureType; class IfcGeographicElement; class IfcGeographicElementType; class IfcGeometricCurveSet; class IfcGeometricRepresentationContext; class IfcGeometricRepresentationItem; class IfcGeometricRepresentationSubContext; class IfcGeometricSet; class IfcGrid; class IfcGridAxis; class IfcGridPlacement; class IfcGroup; class IfcHalfSpaceSolid; class IfcHeatExchanger; class IfcHeatExchangerType; class IfcHumidifier; class IfcHumidifierType; class IfcIShapeProfileDef; class IfcImageTexture; class IfcIndexedColourMap; class IfcIndexedTextureMap; class IfcIndexedTriangleTextureMap; class IfcInterceptor; class IfcInterceptorType; class IfcInventory; class IfcIrregularTimeSeries; class IfcIrregularTimeSeriesValue; class IfcJunctionBox; class IfcJunctionBoxType; class IfcLShapeProfileDef; class IfcLaborResource; class IfcLaborResourceType; class IfcLagTime; class IfcLamp; class IfcLampType; class IfcLibraryInformation; class IfcLibraryReference; class IfcLightDistributionData; class IfcLightFixture; class IfcLightFixtureType; class IfcLightIntensityDistribution; class IfcLightSource; class IfcLightSourceAmbient; class IfcLightSourceDirectional; class IfcLightSourceGoniometric; class IfcLightSourcePositional; class IfcLightSourceSpot; class IfcLine; class IfcLocalPlacement; class IfcLoop; class IfcManifoldSolidBrep; class IfcMapConversion; class IfcMappedItem; class IfcMaterial; class IfcMaterialClassificationRelationship; class IfcMaterialConstituent; class IfcMaterialConstituentSet; class IfcMaterialDefinition; class IfcMaterialDefinitionRepresentation; class IfcMaterialLayer; class IfcMaterialLayerSet; class IfcMaterialLayerSetUsage; class IfcMaterialLayerWithOffsets; class IfcMaterialList; class IfcMaterialProfile; class IfcMaterialProfileSet; class IfcMaterialProfileSetUsage; class IfcMaterialProfileSetUsageTapering; class IfcMaterialProfileWithOffsets; class IfcMaterialProperties; class IfcMaterialRelationship; class IfcMaterialUsageDefinition; class IfcMeasureWithUnit; class IfcMechanicalFastener; class IfcMechanicalFastenerType; class IfcMedicalDevice; class IfcMedicalDeviceType; class IfcMember; class IfcMemberStandardCase; class IfcMemberType; class IfcMetric; class IfcMirroredProfileDef; class IfcMonetaryUnit; class IfcMotorConnection; class IfcMotorConnectionType; class IfcNamedUnit; class IfcObject; class IfcObjectDefinition; class IfcObjectPlacement; class IfcObjective; class IfcOccupant; class IfcOffsetCurve2D; class IfcOffsetCurve3D; class IfcOpenShell; class IfcOpeningElement; class IfcOpeningStandardCase; class IfcOrganization; class IfcOrganizationRelationship; class IfcOrientedEdge; class IfcOuterBoundaryCurve; class IfcOutlet; class IfcOutletType; class IfcOwnerHistory; class IfcParameterizedProfileDef; class IfcPath; class IfcPcurve; class IfcPerformanceHistory; class IfcPermeableCoveringProperties; class IfcPermit; class IfcPerson; class IfcPersonAndOrganization; class IfcPhysicalComplexQuantity; class IfcPhysicalQuantity; class IfcPhysicalSimpleQuantity; class IfcPile; class IfcPileType; class IfcPipeFitting; class IfcPipeFittingType; class IfcPipeSegment; class IfcPipeSegmentType; class IfcPixelTexture; class IfcPlacement; class IfcPlanarBox; class IfcPlanarExtent; class IfcPlane; class IfcPlate; class IfcPlateStandardCase; class IfcPlateType; class IfcPoint; class IfcPointOnCurve; class IfcPointOnSurface; class IfcPolyLoop; class IfcPolygonalBoundedHalfSpace; class IfcPolyline; class IfcPort; class IfcPostalAddress; class IfcPreDefinedColour; class IfcPreDefinedCurveFont; class IfcPreDefinedItem; class IfcPreDefinedProperties; class IfcPreDefinedPropertySet; class IfcPreDefinedTextFont; class IfcPresentationItem; class IfcPresentationLayerAssignment; class IfcPresentationLayerWithStyle; class IfcPresentationStyle; class IfcPresentationStyleAssignment; class IfcProcedure; class IfcProcedureType; class IfcProcess; class IfcProduct; class IfcProductDefinitionShape; class IfcProductRepresentation; class IfcProfileDef; class IfcProfileProperties; class IfcProject; class IfcProjectLibrary; class IfcProjectOrder; class IfcProjectedCRS; class IfcProjectionElement; class IfcProperty; class IfcPropertyAbstraction; class IfcPropertyBoundedValue; class IfcPropertyDefinition; class IfcPropertyDependencyRelationship; class IfcPropertyEnumeratedValue; class IfcPropertyEnumeration; class IfcPropertyListValue; class IfcPropertyReferenceValue; class IfcPropertySet; class IfcPropertySetDefinition; class IfcPropertySetTemplate; class IfcPropertySingleValue; class IfcPropertyTableValue; class IfcPropertyTemplate; class IfcPropertyTemplateDefinition; class IfcProtectiveDevice; class IfcProtectiveDeviceTrippingUnit; class IfcProtectiveDeviceTrippingUnitType; class IfcProtectiveDeviceType; class IfcProxy; class IfcPump; class IfcPumpType; class IfcQuantityArea; class IfcQuantityCount; class IfcQuantityLength; class IfcQuantitySet; class IfcQuantityTime; class IfcQuantityVolume; class IfcQuantityWeight; class IfcRailing; class IfcRailingType; class IfcRamp; class IfcRampFlight; class IfcRampFlightType; class IfcRampType; class IfcRationalBSplineCurveWithKnots; class IfcRationalBSplineSurfaceWithKnots; class IfcRectangleHollowProfileDef; class IfcRectangleProfileDef; class IfcRectangularPyramid; class IfcRectangularTrimmedSurface; class IfcRecurrencePattern; class IfcReference; class IfcRegularTimeSeries; class IfcReinforcementBarProperties; class IfcReinforcementDefinitionProperties; class IfcReinforcingBar; class IfcReinforcingBarType; class IfcReinforcingElement; class IfcReinforcingElementType; class IfcReinforcingMesh; class IfcReinforcingMeshType; class IfcRelAggregates; class IfcRelAssigns; class IfcRelAssignsToActor; class IfcRelAssignsToControl; class IfcRelAssignsToGroup; class IfcRelAssignsToGroupByFactor; class IfcRelAssignsToProcess; class IfcRelAssignsToProduct; class IfcRelAssignsToResource; class IfcRelAssociates; class IfcRelAssociatesApproval; class IfcRelAssociatesClassification; class IfcRelAssociatesConstraint; class IfcRelAssociatesDocument; class IfcRelAssociatesLibrary; class IfcRelAssociatesMaterial; class IfcRelConnects; class IfcRelConnectsElements; class IfcRelConnectsPathElements; class IfcRelConnectsPortToElement; class IfcRelConnectsPorts; class IfcRelConnectsStructuralActivity; class IfcRelConnectsStructuralMember; class IfcRelConnectsWithEccentricity; class IfcRelConnectsWithRealizingElements; class IfcRelContainedInSpatialStructure; class IfcRelCoversBldgElements; class IfcRelCoversSpaces; class IfcRelDeclares; class IfcRelDecomposes; class IfcRelDefines; class IfcRelDefinesByObject; class IfcRelDefinesByProperties; class IfcRelDefinesByTemplate; class IfcRelDefinesByType; class IfcRelFillsElement; class IfcRelFlowControlElements; class IfcRelInterferesElements; class IfcRelNests; class IfcRelProjectsElement; class IfcRelReferencedInSpatialStructure; class IfcRelSequence; class IfcRelServicesBuildings; class IfcRelSpaceBoundary; class IfcRelSpaceBoundary1stLevel; class IfcRelSpaceBoundary2ndLevel; class IfcRelVoidsElement; class IfcRelationship; class IfcReparametrisedCompositeCurveSegment; class IfcRepresentation; class IfcRepresentationContext; class IfcRepresentationItem; class IfcRepresentationMap; class IfcResource; class IfcResourceApprovalRelationship; class IfcResourceConstraintRelationship; class IfcResourceLevelRelationship; class IfcResourceTime; class IfcRevolvedAreaSolid; class IfcRevolvedAreaSolidTapered; class IfcRightCircularCone; class IfcRightCircularCylinder; class IfcRoof; class IfcRoofType; class IfcRoot; class IfcRoundedRectangleProfileDef; class IfcSIUnit; class IfcSanitaryTerminal; class IfcSanitaryTerminalType; class IfcSchedulingTime; class IfcSectionProperties; class IfcSectionReinforcementProperties; class IfcSectionedSpine; class IfcSensor; class IfcSensorType; class IfcShadingDevice; class IfcShadingDeviceType; class IfcShapeAspect; class IfcShapeModel; class IfcShapeRepresentation; class IfcShellBasedSurfaceModel; class IfcSimpleProperty; class IfcSimplePropertyTemplate; class IfcSite; class IfcSlab; class IfcSlabElementedCase; class IfcSlabStandardCase; class IfcSlabType; class IfcSlippageConnectionCondition; class IfcSolarDevice; class IfcSolarDeviceType; class IfcSolidModel; class IfcSpace; class IfcSpaceHeater; class IfcSpaceHeaterType; class IfcSpaceType; class IfcSpatialElement; class IfcSpatialElementType; class IfcSpatialStructureElement; class IfcSpatialStructureElementType; class IfcSpatialZone; class IfcSpatialZoneType; class IfcSphere; class IfcStackTerminal; class IfcStackTerminalType; class IfcStair; class IfcStairFlight; class IfcStairFlightType; class IfcStairType; class IfcStructuralAction; class IfcStructuralActivity; class IfcStructuralAnalysisModel; class IfcStructuralConnection; class IfcStructuralConnectionCondition; class IfcStructuralCurveAction; class IfcStructuralCurveConnection; class IfcStructuralCurveMember; class IfcStructuralCurveMemberVarying; class IfcStructuralCurveReaction; class IfcStructuralItem; class IfcStructuralLinearAction; class IfcStructuralLoad; class IfcStructuralLoadCase; class IfcStructuralLoadConfiguration; class IfcStructuralLoadGroup; class IfcStructuralLoadLinearForce; class IfcStructuralLoadOrResult; class IfcStructuralLoadPlanarForce; class IfcStructuralLoadSingleDisplacement; class IfcStructuralLoadSingleDisplacementDistortion; class IfcStructuralLoadSingleForce; class IfcStructuralLoadSingleForceWarping; class IfcStructuralLoadStatic; class IfcStructuralLoadTemperature; class IfcStructuralMember; class IfcStructuralPlanarAction; class IfcStructuralPointAction; class IfcStructuralPointConnection; class IfcStructuralPointReaction; class IfcStructuralReaction; class IfcStructuralResultGroup; class IfcStructuralSurfaceAction; class IfcStructuralSurfaceConnection; class IfcStructuralSurfaceMember; class IfcStructuralSurfaceMemberVarying; class IfcStructuralSurfaceReaction; class IfcStyleModel; class IfcStyledItem; class IfcStyledRepresentation; class IfcSubContractResource; class IfcSubContractResourceType; class IfcSubedge; class IfcSurface; class IfcSurfaceCurveSweptAreaSolid; class IfcSurfaceFeature; class IfcSurfaceOfLinearExtrusion; class IfcSurfaceOfRevolution; class IfcSurfaceReinforcementArea; class IfcSurfaceStyle; class IfcSurfaceStyleLighting; class IfcSurfaceStyleRefraction; class IfcSurfaceStyleRendering; class IfcSurfaceStyleShading; class IfcSurfaceStyleWithTextures; class IfcSurfaceTexture; class IfcSweptAreaSolid; class IfcSweptDiskSolid; class IfcSweptDiskSolidPolygonal; class IfcSweptSurface; class IfcSwitchingDevice; class IfcSwitchingDeviceType; class IfcSystem; class IfcSystemFurnitureElement; class IfcSystemFurnitureElementType; class IfcTShapeProfileDef; class IfcTable; class IfcTableColumn; class IfcTableRow; class IfcTank; class IfcTankType; class IfcTask; class IfcTaskTime; class IfcTaskTimeRecurring; class IfcTaskType; class IfcTelecomAddress; class IfcTendon; class IfcTendonAnchor; class IfcTendonAnchorType; class IfcTendonType; class IfcTessellatedFaceSet; class IfcTessellatedItem; class IfcTextLiteral; class IfcTextLiteralWithExtent; class IfcTextStyle; class IfcTextStyleFontModel; class IfcTextStyleForDefinedFont; class IfcTextStyleTextModel; class IfcTextureCoordinate; class IfcTextureCoordinateGenerator; class IfcTextureMap; class IfcTextureVertex; class IfcTextureVertexList; class IfcTimePeriod; class IfcTimeSeries; class IfcTimeSeriesValue; class IfcTopologicalRepresentationItem; class IfcTopologyRepresentation; class IfcTransformer; class IfcTransformerType; class IfcTransportElement; class IfcTransportElementType; class IfcTrapeziumProfileDef; class IfcTriangulatedFaceSet; class IfcTrimmedCurve; class IfcTubeBundle; class IfcTubeBundleType; class IfcTypeObject; class IfcTypeProcess; class IfcTypeProduct; class IfcTypeResource; class IfcUShapeProfileDef; class IfcUnitAssignment; class IfcUnitaryControlElement; class IfcUnitaryControlElementType; class IfcUnitaryEquipment; class IfcUnitaryEquipmentType; class IfcValve; class IfcValveType; class IfcVector; class IfcVertex; class IfcVertexLoop; class IfcVertexPoint; class IfcVibrationIsolator; class IfcVibrationIsolatorType; class IfcVirtualElement; class IfcVirtualGridIntersection; class IfcVoidingFeature; class IfcWall; class IfcWallElementedCase; class IfcWallStandardCase; class IfcWallType; class IfcWasteTerminal; class IfcWasteTerminalType; class IfcWindow; class IfcWindowLiningProperties; class IfcWindowPanelProperties; class IfcWindowStandardCase; class IfcWindowStyle; class IfcWindowType; class IfcWorkCalendar; class IfcWorkControl; class IfcWorkPlan; class IfcWorkSchedule; class IfcWorkTime; class IfcZShapeProfileDef; class IfcZone; +class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; class IfcActuatorType; class IfcAddress; class IfcAdvancedBrep; class IfcAdvancedBrepWithVoids; class IfcAdvancedFace; class IfcAirTerminal; class IfcAirTerminalBox; class IfcAirTerminalBoxType; class IfcAirTerminalType; class IfcAirToAirHeatRecovery; class IfcAirToAirHeatRecoveryType; class IfcAlarm; class IfcAlarmType; class IfcAnnotation; class IfcAnnotationFillArea; class IfcApplication; class IfcAppliedValue; class IfcApproval; class IfcApprovalRelationship; class IfcArbitraryClosedProfileDef; class IfcArbitraryOpenProfileDef; class IfcArbitraryProfileDefWithVoids; class IfcAsset; class IfcAsymmetricIShapeProfileDef; class IfcAudioVisualAppliance; class IfcAudioVisualApplianceType; class IfcAxis1Placement; class IfcAxis2Placement2D; class IfcAxis2Placement3D; class IfcBSplineCurve; class IfcBSplineCurveWithKnots; class IfcBSplineSurface; class IfcBSplineSurfaceWithKnots; class IfcBeam; class IfcBeamStandardCase; class IfcBeamType; class IfcBlobTexture; class IfcBlock; class IfcBoiler; class IfcBoilerType; class IfcBooleanClippingResult; class IfcBooleanResult; class IfcBoundaryCondition; class IfcBoundaryCurve; class IfcBoundaryEdgeCondition; class IfcBoundaryFaceCondition; class IfcBoundaryNodeCondition; class IfcBoundaryNodeConditionWarping; class IfcBoundedCurve; class IfcBoundedSurface; class IfcBoundingBox; class IfcBoxedHalfSpace; class IfcBuilding; class IfcBuildingElement; class IfcBuildingElementPart; class IfcBuildingElementPartType; class IfcBuildingElementProxy; class IfcBuildingElementProxyType; class IfcBuildingElementType; class IfcBuildingStorey; class IfcBuildingSystem; class IfcBurner; class IfcBurnerType; class IfcCShapeProfileDef; class IfcCableCarrierFitting; class IfcCableCarrierFittingType; class IfcCableCarrierSegment; class IfcCableCarrierSegmentType; class IfcCableFitting; class IfcCableFittingType; class IfcCableSegment; class IfcCableSegmentType; class IfcCartesianPoint; class IfcCartesianPointList; class IfcCartesianPointList3D; class IfcCartesianTransformationOperator; class IfcCartesianTransformationOperator2D; class IfcCartesianTransformationOperator2DnonUniform; class IfcCartesianTransformationOperator3D; class IfcCartesianTransformationOperator3DnonUniform; class IfcCenterLineProfileDef; class IfcChiller; class IfcChillerType; class IfcChimney; class IfcChimneyType; class IfcCircle; class IfcCircleHollowProfileDef; class IfcCircleProfileDef; class IfcCivilElement; class IfcCivilElementType; class IfcClassification; class IfcClassificationReference; class IfcClosedShell; class IfcCoil; class IfcCoilType; class IfcColourRgb; class IfcColourRgbList; class IfcColourSpecification; class IfcColumn; class IfcColumnStandardCase; class IfcColumnType; class IfcCommunicationsAppliance; class IfcCommunicationsApplianceType; class IfcComplexProperty; class IfcComplexPropertyTemplate; class IfcCompositeCurve; class IfcCompositeCurveOnSurface; class IfcCompositeCurveSegment; class IfcCompositeProfileDef; class IfcCompressor; class IfcCompressorType; class IfcCondenser; class IfcCondenserType; class IfcConic; class IfcConnectedFaceSet; class IfcConnectionCurveGeometry; class IfcConnectionGeometry; class IfcConnectionPointEccentricity; class IfcConnectionPointGeometry; class IfcConnectionSurfaceGeometry; class IfcConnectionVolumeGeometry; class IfcConstraint; class IfcConstructionEquipmentResource; class IfcConstructionEquipmentResourceType; class IfcConstructionMaterialResource; class IfcConstructionMaterialResourceType; class IfcConstructionProductResource; class IfcConstructionProductResourceType; class IfcConstructionResource; class IfcConstructionResourceType; class IfcContext; class IfcContextDependentUnit; class IfcControl; class IfcController; class IfcControllerType; class IfcConversionBasedUnit; class IfcConversionBasedUnitWithOffset; class IfcCooledBeam; class IfcCooledBeamType; class IfcCoolingTower; class IfcCoolingTowerType; class IfcCoordinateOperation; class IfcCoordinateReferenceSystem; class IfcCostItem; class IfcCostSchedule; class IfcCostValue; class IfcCovering; class IfcCoveringType; class IfcCrewResource; class IfcCrewResourceType; class IfcCsgPrimitive3D; class IfcCsgSolid; class IfcCurrencyRelationship; class IfcCurtainWall; class IfcCurtainWallType; class IfcCurve; class IfcCurveBoundedPlane; class IfcCurveBoundedSurface; class IfcCurveStyle; class IfcCurveStyleFont; class IfcCurveStyleFontAndScaling; class IfcCurveStyleFontPattern; class IfcCylindricalSurface; class IfcDamper; class IfcDamperType; class IfcDerivedProfileDef; class IfcDerivedUnit; class IfcDerivedUnitElement; class IfcDimensionalExponents; class IfcDirection; class IfcDiscreteAccessory; class IfcDiscreteAccessoryType; class IfcDistributionChamberElement; class IfcDistributionChamberElementType; class IfcDistributionCircuit; class IfcDistributionControlElement; class IfcDistributionControlElementType; class IfcDistributionElement; class IfcDistributionElementType; class IfcDistributionFlowElement; class IfcDistributionFlowElementType; class IfcDistributionPort; class IfcDistributionSystem; class IfcDocumentInformation; class IfcDocumentInformationRelationship; class IfcDocumentReference; class IfcDoor; class IfcDoorLiningProperties; class IfcDoorPanelProperties; class IfcDoorStandardCase; class IfcDoorStyle; class IfcDoorType; class IfcDraughtingPreDefinedColour; class IfcDraughtingPreDefinedCurveFont; class IfcDuctFitting; class IfcDuctFittingType; class IfcDuctSegment; class IfcDuctSegmentType; class IfcDuctSilencer; class IfcDuctSilencerType; class IfcEdge; class IfcEdgeCurve; class IfcEdgeLoop; class IfcElectricAppliance; class IfcElectricApplianceType; class IfcElectricDistributionBoard; class IfcElectricDistributionBoardType; class IfcElectricFlowStorageDevice; class IfcElectricFlowStorageDeviceType; class IfcElectricGenerator; class IfcElectricGeneratorType; class IfcElectricMotor; class IfcElectricMotorType; class IfcElectricTimeControl; class IfcElectricTimeControlType; class IfcElement; class IfcElementAssembly; class IfcElementAssemblyType; class IfcElementComponent; class IfcElementComponentType; class IfcElementQuantity; class IfcElementType; class IfcElementarySurface; class IfcEllipse; class IfcEllipseProfileDef; class IfcEnergyConversionDevice; class IfcEnergyConversionDeviceType; class IfcEngine; class IfcEngineType; class IfcEvaporativeCooler; class IfcEvaporativeCoolerType; class IfcEvaporator; class IfcEvaporatorType; class IfcEvent; class IfcEventTime; class IfcEventType; class IfcExtendedProperties; class IfcExternalInformation; class IfcExternalReference; class IfcExternalReferenceRelationship; class IfcExternalSpatialElement; class IfcExternalSpatialStructureElement; class IfcExternallyDefinedHatchStyle; class IfcExternallyDefinedSurfaceStyle; class IfcExternallyDefinedTextFont; class IfcExtrudedAreaSolid; class IfcExtrudedAreaSolidTapered; class IfcFace; class IfcFaceBasedSurfaceModel; class IfcFaceBound; class IfcFaceOuterBound; class IfcFaceSurface; class IfcFacetedBrep; class IfcFacetedBrepWithVoids; class IfcFailureConnectionCondition; class IfcFan; class IfcFanType; class IfcFastener; class IfcFastenerType; class IfcFeatureElement; class IfcFeatureElementAddition; class IfcFeatureElementSubtraction; class IfcFillAreaStyle; class IfcFillAreaStyleHatching; class IfcFillAreaStyleTiles; class IfcFilter; class IfcFilterType; class IfcFireSuppressionTerminal; class IfcFireSuppressionTerminalType; class IfcFixedReferenceSweptAreaSolid; class IfcFlowController; class IfcFlowControllerType; class IfcFlowFitting; class IfcFlowFittingType; class IfcFlowInstrument; class IfcFlowInstrumentType; class IfcFlowMeter; class IfcFlowMeterType; class IfcFlowMovingDevice; class IfcFlowMovingDeviceType; class IfcFlowSegment; class IfcFlowSegmentType; class IfcFlowStorageDevice; class IfcFlowStorageDeviceType; class IfcFlowTerminal; class IfcFlowTerminalType; class IfcFlowTreatmentDevice; class IfcFlowTreatmentDeviceType; class IfcFooting; class IfcFootingType; class IfcFurnishingElement; class IfcFurnishingElementType; class IfcFurniture; class IfcFurnitureType; class IfcGeographicElement; class IfcGeographicElementType; class IfcGeometricCurveSet; class IfcGeometricRepresentationContext; class IfcGeometricRepresentationItem; class IfcGeometricRepresentationSubContext; class IfcGeometricSet; class IfcGrid; class IfcGridAxis; class IfcGridPlacement; class IfcGroup; class IfcHalfSpaceSolid; class IfcHeatExchanger; class IfcHeatExchangerType; class IfcHumidifier; class IfcHumidifierType; class IfcIShapeProfileDef; class IfcImageTexture; class IfcIndexedColourMap; class IfcIndexedTextureMap; class IfcIndexedTriangleTextureMap; class IfcInterceptor; class IfcInterceptorType; class IfcInventory; class IfcIrregularTimeSeries; class IfcIrregularTimeSeriesValue; class IfcJunctionBox; class IfcJunctionBoxType; class IfcLShapeProfileDef; class IfcLaborResource; class IfcLaborResourceType; class IfcLagTime; class IfcLamp; class IfcLampType; class IfcLibraryInformation; class IfcLibraryReference; class IfcLightDistributionData; class IfcLightFixture; class IfcLightFixtureType; class IfcLightIntensityDistribution; class IfcLightSource; class IfcLightSourceAmbient; class IfcLightSourceDirectional; class IfcLightSourceGoniometric; class IfcLightSourcePositional; class IfcLightSourceSpot; class IfcLine; class IfcLocalPlacement; class IfcLoop; class IfcManifoldSolidBrep; class IfcMapConversion; class IfcMappedItem; class IfcMaterial; class IfcMaterialClassificationRelationship; class IfcMaterialConstituent; class IfcMaterialConstituentSet; class IfcMaterialDefinition; class IfcMaterialDefinitionRepresentation; class IfcMaterialLayer; class IfcMaterialLayerSet; class IfcMaterialLayerSetUsage; class IfcMaterialLayerWithOffsets; class IfcMaterialList; class IfcMaterialProfile; class IfcMaterialProfileSet; class IfcMaterialProfileSetUsage; class IfcMaterialProfileSetUsageTapering; class IfcMaterialProfileWithOffsets; class IfcMaterialProperties; class IfcMaterialRelationship; class IfcMaterialUsageDefinition; class IfcMeasureWithUnit; class IfcMechanicalFastener; class IfcMechanicalFastenerType; class IfcMedicalDevice; class IfcMedicalDeviceType; class IfcMember; class IfcMemberStandardCase; class IfcMemberType; class IfcMetric; class IfcMirroredProfileDef; class IfcMonetaryUnit; class IfcMotorConnection; class IfcMotorConnectionType; class IfcNamedUnit; class IfcObject; class IfcObjectDefinition; class IfcObjectPlacement; class IfcObjective; class IfcOccupant; class IfcOffsetCurve2D; class IfcOffsetCurve3D; class IfcOpenShell; class IfcOpeningElement; class IfcOpeningStandardCase; class IfcOrganization; class IfcOrganizationRelationship; class IfcOrientedEdge; class IfcOuterBoundaryCurve; class IfcOutlet; class IfcOutletType; class IfcOwnerHistory; class IfcParameterizedProfileDef; class IfcPath; class IfcPcurve; class IfcPerformanceHistory; class IfcPermeableCoveringProperties; class IfcPermit; class IfcPerson; class IfcPersonAndOrganization; class IfcPhysicalComplexQuantity; class IfcPhysicalQuantity; class IfcPhysicalSimpleQuantity; class IfcPile; class IfcPileType; class IfcPipeFitting; class IfcPipeFittingType; class IfcPipeSegment; class IfcPipeSegmentType; class IfcPixelTexture; class IfcPlacement; class IfcPlanarBox; class IfcPlanarExtent; class IfcPlane; class IfcPlate; class IfcPlateStandardCase; class IfcPlateType; class IfcPoint; class IfcPointOnCurve; class IfcPointOnSurface; class IfcPolyLoop; class IfcPolygonalBoundedHalfSpace; class IfcPolyline; class IfcPort; class IfcPostalAddress; class IfcPreDefinedColour; class IfcPreDefinedCurveFont; class IfcPreDefinedItem; class IfcPreDefinedProperties; class IfcPreDefinedPropertySet; class IfcPreDefinedTextFont; class IfcPresentationItem; class IfcPresentationLayerAssignment; class IfcPresentationLayerWithStyle; class IfcPresentationStyle; class IfcPresentationStyleAssignment; class IfcProcedure; class IfcProcedureType; class IfcProcess; class IfcProduct; class IfcProductDefinitionShape; class IfcProductRepresentation; class IfcProfileDef; class IfcProfileProperties; class IfcProject; class IfcProjectLibrary; class IfcProjectOrder; class IfcProjectedCRS; class IfcProjectionElement; class IfcProperty; class IfcPropertyAbstraction; class IfcPropertyBoundedValue; class IfcPropertyDefinition; class IfcPropertyDependencyRelationship; class IfcPropertyEnumeratedValue; class IfcPropertyEnumeration; class IfcPropertyListValue; class IfcPropertyReferenceValue; class IfcPropertySet; class IfcPropertySetDefinition; class IfcPropertySetTemplate; class IfcPropertySingleValue; class IfcPropertyTableValue; class IfcPropertyTemplate; class IfcPropertyTemplateDefinition; class IfcProtectiveDevice; class IfcProtectiveDeviceTrippingUnit; class IfcProtectiveDeviceTrippingUnitType; class IfcProtectiveDeviceType; class IfcProxy; class IfcPump; class IfcPumpType; class IfcQuantityArea; class IfcQuantityCount; class IfcQuantityLength; class IfcQuantitySet; class IfcQuantityTime; class IfcQuantityVolume; class IfcQuantityWeight; class IfcRailing; class IfcRailingType; class IfcRamp; class IfcRampFlight; class IfcRampFlightType; class IfcRampType; class IfcRationalBSplineCurveWithKnots; class IfcRationalBSplineSurfaceWithKnots; class IfcRectangleHollowProfileDef; class IfcRectangleProfileDef; class IfcRectangularPyramid; class IfcRectangularTrimmedSurface; class IfcRecurrencePattern; class IfcReference; class IfcRegularTimeSeries; class IfcReinforcementBarProperties; class IfcReinforcementDefinitionProperties; class IfcReinforcingBar; class IfcReinforcingBarType; class IfcReinforcingElement; class IfcReinforcingElementType; class IfcReinforcingMesh; class IfcReinforcingMeshType; class IfcRelAggregates; class IfcRelAssigns; class IfcRelAssignsToActor; class IfcRelAssignsToControl; class IfcRelAssignsToGroup; class IfcRelAssignsToGroupByFactor; class IfcRelAssignsToProcess; class IfcRelAssignsToProduct; class IfcRelAssignsToResource; class IfcRelAssociates; class IfcRelAssociatesApproval; class IfcRelAssociatesClassification; class IfcRelAssociatesConstraint; class IfcRelAssociatesDocument; class IfcRelAssociatesLibrary; class IfcRelAssociatesMaterial; class IfcRelConnects; class IfcRelConnectsElements; class IfcRelConnectsPathElements; class IfcRelConnectsPortToElement; class IfcRelConnectsPorts; class IfcRelConnectsStructuralActivity; class IfcRelConnectsStructuralMember; class IfcRelConnectsWithEccentricity; class IfcRelConnectsWithRealizingElements; class IfcRelContainedInSpatialStructure; class IfcRelCoversBldgElements; class IfcRelCoversSpaces; class IfcRelDeclares; class IfcRelDecomposes; class IfcRelDefines; class IfcRelDefinesByObject; class IfcRelDefinesByProperties; class IfcRelDefinesByTemplate; class IfcRelDefinesByType; class IfcRelFillsElement; class IfcRelFlowControlElements; class IfcRelInterferesElements; class IfcRelNests; class IfcRelProjectsElement; class IfcRelReferencedInSpatialStructure; class IfcRelSequence; class IfcRelServicesBuildings; class IfcRelSpaceBoundary; class IfcRelSpaceBoundary1stLevel; class IfcRelSpaceBoundary2ndLevel; class IfcRelVoidsElement; class IfcRelationship; class IfcReparametrisedCompositeCurveSegment; class IfcRepresentation; class IfcRepresentationContext; class IfcRepresentationItem; class IfcRepresentationMap; class IfcResource; class IfcResourceApprovalRelationship; class IfcResourceConstraintRelationship; class IfcResourceLevelRelationship; class IfcResourceTime; class IfcRevolvedAreaSolid; class IfcRevolvedAreaSolidTapered; class IfcRightCircularCone; class IfcRightCircularCylinder; class IfcRoof; class IfcRoofType; class IfcRoot; class IfcRoundedRectangleProfileDef; class IfcSIUnit; class IfcSanitaryTerminal; class IfcSanitaryTerminalType; class IfcSchedulingTime; class IfcSectionProperties; class IfcSectionReinforcementProperties; class IfcSectionedSpine; class IfcSensor; class IfcSensorType; class IfcShadingDevice; class IfcShadingDeviceType; class IfcShapeAspect; class IfcShapeModel; class IfcShapeRepresentation; class IfcShellBasedSurfaceModel; class IfcSimpleProperty; class IfcSimplePropertyTemplate; class IfcSite; class IfcSlab; class IfcSlabElementedCase; class IfcSlabStandardCase; class IfcSlabType; class IfcSlippageConnectionCondition; class IfcSolarDevice; class IfcSolarDeviceType; class IfcSolidModel; class IfcSpace; class IfcSpaceHeater; class IfcSpaceHeaterType; class IfcSpaceType; class IfcSpatialElement; class IfcSpatialElementType; class IfcSpatialStructureElement; class IfcSpatialStructureElementType; class IfcSpatialZone; class IfcSpatialZoneType; class IfcSphere; class IfcStackTerminal; class IfcStackTerminalType; class IfcStair; class IfcStairFlight; class IfcStairFlightType; class IfcStairType; class IfcStructuralAction; class IfcStructuralActivity; class IfcStructuralAnalysisModel; class IfcStructuralConnection; class IfcStructuralConnectionCondition; class IfcStructuralCurveAction; class IfcStructuralCurveConnection; class IfcStructuralCurveMember; class IfcStructuralCurveMemberVarying; class IfcStructuralCurveReaction; class IfcStructuralItem; class IfcStructuralLinearAction; class IfcStructuralLoad; class IfcStructuralLoadCase; class IfcStructuralLoadConfiguration; class IfcStructuralLoadGroup; class IfcStructuralLoadLinearForce; class IfcStructuralLoadOrResult; class IfcStructuralLoadPlanarForce; class IfcStructuralLoadSingleDisplacement; class IfcStructuralLoadSingleDisplacementDistortion; class IfcStructuralLoadSingleForce; class IfcStructuralLoadSingleForceWarping; class IfcStructuralLoadStatic; class IfcStructuralLoadTemperature; class IfcStructuralMember; class IfcStructuralPlanarAction; class IfcStructuralPointAction; class IfcStructuralPointConnection; class IfcStructuralPointReaction; class IfcStructuralReaction; class IfcStructuralResultGroup; class IfcStructuralSurfaceAction; class IfcStructuralSurfaceConnection; class IfcStructuralSurfaceMember; class IfcStructuralSurfaceMemberVarying; class IfcStructuralSurfaceReaction; class IfcStyleModel; class IfcStyledItem; class IfcStyledRepresentation; class IfcSubContractResource; class IfcSubContractResourceType; class IfcSubedge; class IfcSurface; class IfcSurfaceCurveSweptAreaSolid; class IfcSurfaceFeature; class IfcSurfaceOfLinearExtrusion; class IfcSurfaceOfRevolution; class IfcSurfaceReinforcementArea; class IfcSurfaceStyle; class IfcSurfaceStyleLighting; class IfcSurfaceStyleRefraction; class IfcSurfaceStyleRendering; class IfcSurfaceStyleShading; class IfcSurfaceStyleWithTextures; class IfcSurfaceTexture; class IfcSweptAreaSolid; class IfcSweptDiskSolid; class IfcSweptDiskSolidPolygonal; class IfcSweptSurface; class IfcSwitchingDevice; class IfcSwitchingDeviceType; class IfcSystem; class IfcSystemFurnitureElement; class IfcSystemFurnitureElementType; class IfcTShapeProfileDef; class IfcTable; class IfcTableColumn; class IfcTableRow; class IfcTank; class IfcTankType; class IfcTask; class IfcTaskTime; class IfcTaskTimeRecurring; class IfcTaskType; class IfcTelecomAddress; class IfcTendon; class IfcTendonAnchor; class IfcTendonAnchorType; class IfcTendonType; class IfcTessellatedFaceSet; class IfcTessellatedItem; class IfcTextLiteral; class IfcTextLiteralWithExtent; class IfcTextStyle; class IfcTextStyleFontModel; class IfcTextStyleForDefinedFont; class IfcTextStyleTextModel; class IfcTextureCoordinate; class IfcTextureCoordinateGenerator; class IfcTextureMap; class IfcTextureVertex; class IfcTextureVertexList; class IfcTimePeriod; class IfcTimeSeries; class IfcTimeSeriesValue; class IfcTopologicalRepresentationItem; class IfcTopologyRepresentation; class IfcTransformer; class IfcTransformerType; class IfcTransportElement; class IfcTransportElementType; class IfcTrapeziumProfileDef; class IfcTriangulatedFaceSet; class IfcTrimmedCurve; class IfcTubeBundle; class IfcTubeBundleType; class IfcTypeObject; class IfcTypeProcess; class IfcTypeProduct; class IfcTypeResource; class IfcUShapeProfileDef; class IfcUnitAssignment; class IfcUnitaryControlElement; class IfcUnitaryControlElementType; class IfcUnitaryEquipment; class IfcUnitaryEquipmentType; class IfcValve; class IfcValveType; class IfcVector; class IfcVertex; class IfcVertexLoop; class IfcVertexPoint; class IfcVibrationIsolator; class IfcVibrationIsolatorType; class IfcVirtualElement; class IfcVirtualGridIntersection; class IfcVoidingFeature; class IfcWall; class IfcWallElementedCase; class IfcWallStandardCase; class IfcWallType; class IfcWasteTerminal; class IfcWasteTerminalType; class IfcWindow; class IfcWindowLiningProperties; class IfcWindowPanelProperties; class IfcWindowStandardCase; class IfcWindowStyle; class IfcWindowType; class IfcWorkCalendar; class IfcWorkControl; class IfcWorkPlan; class IfcWorkSchedule; class IfcWorkTime; class IfcZShapeProfileDef; class IfcZone; class IfcAbsorbedDoseMeasure; class IfcAccelerationMeasure; class IfcAmountOfSubstanceMeasure; class IfcAngularVelocityMeasure; class IfcAreaDensityMeasure; class IfcAreaMeasure; class IfcBoolean; class IfcBoxAlignment; class IfcCardinalPointReference; class IfcComplexNumber; class IfcCompoundPlaneAngleMeasure; class IfcContextDependentMeasure; class IfcCountMeasure; class IfcCurvatureMeasure; class IfcDate; class IfcDateTime; class IfcDayInMonthNumber; class IfcDayInWeekNumber; class IfcDescriptiveMeasure; class IfcDimensionCount; class IfcDoseEquivalentMeasure; class IfcDuration; class IfcDynamicViscosityMeasure; class IfcElectricCapacitanceMeasure; class IfcElectricChargeMeasure; class IfcElectricConductanceMeasure; class IfcElectricCurrentMeasure; class IfcElectricResistanceMeasure; class IfcElectricVoltageMeasure; class IfcEnergyMeasure; class IfcFontStyle; class IfcFontVariant; class IfcFontWeight; class IfcForceMeasure; class IfcFrequencyMeasure; class IfcGloballyUniqueId; class IfcHeatFluxDensityMeasure; class IfcHeatingValueMeasure; class IfcIdentifier; class IfcIlluminanceMeasure; class IfcInductanceMeasure; class IfcInteger; class IfcIntegerCountRateMeasure; class IfcIonConcentrationMeasure; class IfcIsothermalMoistureCapacityMeasure; class IfcKinematicViscosityMeasure; class IfcLabel; class IfcLanguageId; class IfcLengthMeasure; class IfcLinearForceMeasure; class IfcLinearMomentMeasure; class IfcLinearStiffnessMeasure; class IfcLinearVelocityMeasure; class IfcLogical; class IfcLuminousFluxMeasure; class IfcLuminousIntensityDistributionMeasure; class IfcLuminousIntensityMeasure; class IfcMagneticFluxDensityMeasure; class IfcMagneticFluxMeasure; class IfcMassDensityMeasure; class IfcMassFlowRateMeasure; class IfcMassMeasure; class IfcMassPerLengthMeasure; class IfcModulusOfElasticityMeasure; class IfcModulusOfLinearSubgradeReactionMeasure; class IfcModulusOfRotationalSubgradeReactionMeasure; class IfcModulusOfSubgradeReactionMeasure; class IfcMoistureDiffusivityMeasure; class IfcMolecularWeightMeasure; class IfcMomentOfInertiaMeasure; class IfcMonetaryMeasure; class IfcMonthInYearNumber; class IfcNonNegativeLengthMeasure; class IfcNormalisedRatioMeasure; class IfcNumericMeasure; class IfcPHMeasure; class IfcParameterValue; class IfcPlanarForceMeasure; class IfcPlaneAngleMeasure; class IfcPositiveLengthMeasure; class IfcPositivePlaneAngleMeasure; class IfcPositiveRatioMeasure; class IfcPowerMeasure; class IfcPresentableText; class IfcPressureMeasure; class IfcPropertySetDefinitionSet; class IfcRadioActivityMeasure; class IfcRatioMeasure; class IfcReal; class IfcRotationalFrequencyMeasure; class IfcRotationalMassMeasure; class IfcRotationalStiffnessMeasure; class IfcSectionModulusMeasure; class IfcSectionalAreaIntegralMeasure; class IfcShearModulusMeasure; class IfcSolidAngleMeasure; class IfcSoundPowerLevelMeasure; class IfcSoundPowerMeasure; class IfcSoundPressureLevelMeasure; class IfcSoundPressureMeasure; class IfcSpecificHeatCapacityMeasure; class IfcSpecularExponent; class IfcSpecularRoughness; class IfcTemperatureGradientMeasure; class IfcTemperatureRateOfChangeMeasure; class IfcText; class IfcTextAlignment; class IfcTextDecoration; class IfcTextFontName; class IfcTextTransformation; class IfcThermalAdmittanceMeasure; class IfcThermalConductivityMeasure; class IfcThermalExpansionCoefficientMeasure; class IfcThermalResistanceMeasure; class IfcThermalTransmittanceMeasure; class IfcThermodynamicTemperatureMeasure; class IfcTime; class IfcTimeMeasure; class IfcTimeStamp; class IfcTorqueMeasure; class IfcURIReference; class IfcVaporPermeabilityMeasure; class IfcVolumeMeasure; class IfcVolumetricFlowRateMeasure; class IfcWarpingConstantMeasure; class IfcWarpingMomentMeasure; -/// IfcAbsorbedDoseMeasure is a measure of the absorbed radioactivity dose. -/// Usually measured in Gray (Gy, J/kg). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcAbsorbedDoseMeasure; -/// IfcAccelerationMeasure is a measure of acceleration. -/// Usually measured in m/s2. -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcAccelerationMeasure; -/// Definition from ISO/CD 10303-41:1992: An amount of substance measure is the value for the quantity of a substance when compared with the number of atoms in 0.012kilogram of carbon 12. -/// -/// Usually measure in mole (mol). -/// Type: REAL -/// -/// NOTE Corresponding ISO 10303 name: amount_of_substance_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. -/// -/// HISTORY New type in IFC Release 1.5.1. -typedef double IfcAmountOfSubstanceMeasure; -/// IfcAngularVelocityMeasure is a measure of the velocity of a body measured in terms of angle subtended per unit time. -/// Usually measured in radians/s. -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2.0. -typedef double IfcAngularVelocityMeasure; - -typedef double IfcAreaDensityMeasure; -/// Definition from ISO/CD 10303-41:1992: An area measure is the value of the extent of a surface. -/// Usually measured in square metre (m2). -/// Type: REAL -/// -/// NOTE Corresponding ISO 10303 name: area_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. -/// -/// HISTORY New type in IFC Release 1.5.1. -typedef double IfcAreaMeasure; -/// IfcBoolean is a defined data type of simple data type Boolean. It is required since a select type (IfcSimpleValue) cannot directly include simple types in its select list. A boolean type can have value TRUE or FALSE. -/// -/// Type: BOOLEAN -/// -/// HISTORY New type in IFC Release 1.5.1. -typedef bool IfcBoolean; -/// An IfcCardinalPointReference is an index reference to -/// significant points of a section profile. This index is used to -/// describe the spatial relationship between the section of a member -/// and a reference axis of the same member. -/// -/// HISTORY  New Type in IFC2x4. -/// -/// Indexes 1...9 refer to points at the bounding box of a -/// profile. Indexes 10...19 refer to points defined by geometric -/// centroid (usually centre of gravity) and shear centre, and their -/// combinations with bounding box coordinates. In particular, the -/// following index values are specified in this IFC Release: -/// -/// bottom left -/// bottom centre -/// bottom right -/// mid-depth left -/// mid-depth centre -/// mid-depth right -/// top left -/// top centre -/// top right -/// geometric centroid -/// bottom in line with the geometric centroid -/// left in line with the geometric centroid -/// right in line with the geometric centroid -/// top in line with the geometric centroid -/// shear centre -/// bottom in line with the shear centre -/// left in line with the shear centre -/// right in line with the shear centre -/// top in line with the shear centre -/// -/// Other index values are possible but outside the scope of this -/// specification. -/// -/// Figure 283 illustrates cardinal point values. -/// -/// Figure 283 — Cardinal point values -/// -/// Figure 284 illustrates an example extrusion shape with arbitrary profile (IfcArbitraryClosedProfileDef), aligned "mid-depth right" on the member axis. The line of sight follows the extrusion direction Z which points into the drawing plane of above illustration. Hence, "left" is in the positive X direction of the IfcProfileDef. "Top" is in the positive Y direction of the IfcProfileDef. -/// -/// Figure 284 — Cardinal point extrusion -typedef int IfcCardinalPointReference; -/// IfcComplexNumber is a representation of a complex number expressed as an array with two elements. -/// The first element (index 1) denotes the real component which is the numerical -/// component of a complex number whose square roots can be calculated explicitly. -/// The second element (index 2) denotes the imaginary component which is the numerical -/// component of a complex number whose square roots cannot be determined other -/// than through the provision of the square of the imaginary number j where j^2 = -1. -/// Note that the imaginary component may be referred to as i in certain references. -/// -/// Type: ARRAY [1:2] OF REAL -/// -/// HISTORY New type in IFC Release 2x2. -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. -/// -/// NOTE: While the unit of measurement of the type IfcPlaneAngleMeasure depends on unit assignment (radian or degree or other derived units; globally at the IfcPoject or locally at an IfcMeasureWithUnit), the units of IfcCompoundPlaneAngleMeasure are always degrees, minutes, seconds, and millionth-seconds irrespective of unit assignments. -/// -/// HISTORY New type in IFC Release 1.5.1. -/// -/// Type: LIST [3:4] OF INTEGER -/// -/// Value restrictions -/// -/// The first integer measure is the number of degrees and is generally not range-restricted. However, when IfcCompoundPlaneAngleMeasure is used to express geographic coordinates, only latitudes of [-90, 90] and longitudes of [-180, 180] are used in practice. -/// The second integer measure is the number of minutes and shall be in the range (-60, 60). -/// The third integer measure is the number of seconds and shall be in the range (-60, 60). -/// The optional fourth integer measure is the number of millionth-seconds and shall be in the range (-1 000 000, 1 000 000). -/// -/// Signedness -/// -/// 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; -/// 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 -/// -/// (* convert from compound to float *) -///   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 -/// -/// 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 -/// -/// NOTE Corresponding ISO 10303 name: context_dependent_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. -/// -/// HISTORY New type in IFC Release 1.5.1. -typedef double IfcContextDependentMeasure; -/// Definition from ISO/CD 10303-41:1992: A count measure is the value of a count. -/// Type: NUMBER -/// -/// NOTE Corresponding ISO 10303 name: count_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. -/// -/// HISTORY New type in IFC Release 1.5.1. -typedef double IfcCountMeasure; -/// IfcCurvatureMeasure is a measure for curvature, which is defined as the change of slope per length. -/// This is typically a computed value in structural analysis. -/// It is usually measured in rad/m. -/// -/// Type: REAL -/// -/// HISTORY New type in IFC2x2. -typedef double IfcCurvatureMeasure; -/// The lexical representation for date is the reduced (right truncated) lexical representation for dateTime: CCYY-MM-DD. No left truncation is allowed. An optional following time zone qualifier is allowed as for dateTime. To accommodate year values outside the range from 0001 to 9999, additional digits can be added to the left of this representation and a preceding "-" sign is allowed. -/// -/// HISTORY: New type in IFC2x4 -/// -/// Use definitions -/// All given values should be provided in context and converted into a Gregorian date context and be shall be processable by a receiving application. -typedef std::string IfcDate; -/// This lexical representation is the [ISO 8601] extended -/// format CCYY-MM-DDThh:mm:ss where "CC" represents the -/// century, "YY" the year, "MM" the month and "DD" the day, -/// preceded by an optional leading "-" sign to indicate a -/// negative number. If the sign is omitted, "+" is assumed. -/// The letter "T" is the date/time separator and "hh", "mm", -/// "ss" represent hour, minute and second respectively. -/// Additional digits can be used to increase the precision of -/// fractional seconds if desired i.e the format ss.ss... with -/// any number of digits after the decimal point is supported. -/// The fractional seconds part is optional; other parts of the -/// lexical form are not optional. To accommodate year values -/// greater than 9999 additional digits can be added to the -/// left of this representation. Leading zeros are required if -/// the year value would otherwise have fewer than four digits; -/// otherwise they are forbidden. The year 0000 is prohibited. -/// -/// HISTORY: New type in IFC2x4 -typedef std::string IfcDateTime; -/// Definition from IAI: The IfcDayInMonthNumber is -/// an integer that defines the position of the specified day in a -/// month. -/// Type: INTEGER -/// NOTE Corresponding STEP -/// name: day_in_month_number, please refer to ISO/IS 10303-41:1994 -/// for the final definition of the formal -/// standard. -/// HISTORY New type in IFC -/// Release 1.5.1. -/// IFC2x4 CHANGE Where rule -/// ValidRange added. -typedef int IfcDayInMonthNumber; -/// Definition from IAI: The IfcDayInWeekNumber is -/// an integer that defines the position of the specified day in a -/// week. The positions have the following meaning (according to -/// ISO8601 "the calendar week") that assigns the ordinal day number -/// in the week to the Calender day name. -/// -/// Ordinal day number -/// Calendar day -/// name -/// -/// 01 -/// Monday -/// -/// 02 -/// Tuesday -/// -/// 03 -/// Wednesday -/// -/// 04 -/// Thursday -/// -/// 05 -/// Friday -/// -/// 06 -/// Saturday -/// -/// 07 -/// Sunday -/// -/// Type: INTEGER -/// HISTORY New type in -/// IFC2x4. -typedef int IfcDayInWeekNumber; -/// Definition from ISO/CD 10303-41:1992: A descriptive measure is a human interpretable definition of a quantifiable value. -/// Type: STRING -/// -/// NOTE Corresponding ISO 10303 name:descriptive_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. -/// -/// HISTORY New type in IFC Release 1.5.1. -typedef std::string IfcDescriptiveMeasure; -/// Definition from ISO/CD 10303-42:1992: A dimension count is a positive integer used to define the coordinate space dimensionality. -/// -/// The IfcDimensionCount is restricted to have the dimensionality of either 1, 2, or 3 - the WR1 had been added as an addition to the ISO 10303:42 entity dimension_count. In contrary to the ISO 10303:42 constraint, that all geometric representation items within a geometric representation context are forced to have the same dimension count, the IFC geometry allows mixed dimensions, particularly when defining the boundary of planar surfaces. -/// -/// NOTE Corresponding ISO 10303 type: dimension_count, please refer to ISO/IS 10303-42:1994, p. 14 for the final definition of the formal standard. -/// -/// HISTORY New Type in IFC Release 1.5 -typedef int IfcDimensionCount; -/// IfcDoseEquivalentMeasure is a measure of the radioactive dose equivalent. -/// Usually measured in Sievert (Sv, J/kg). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcDoseEquivalentMeasure; -/// String representation of a time duration according to ISO8601:2000 "Data elements and interchange formats - Information interchange - Representation of dates and times" as defined in section 5.5.3 "Representation of duration". -/// It is recommended to use the alternative format (section 5.5.4.2.2) in its extended version: PYYYY-MM-DDThh:mm:ss. -/// EXAMPLE: P0002-10-15T10:30:20 (duration of two years, 10 months, 15 days, 10 hours, 30 minutes and 20 seconds). -/// -/// HISTORY: New type in IFC2x4 -typedef std::string IfcDuration; -/// IfcDynamicViscosityMeasure is a measure of the viscous resistance of a medium. -/// -/// Usually measured in Pascal second (Pa s). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2.0. -typedef double IfcDynamicViscosityMeasure; -/// IfcElectricCapacitanceMeasure is a measure of the electric capacitance. -/// Usually measured in Farad (F, C/V = A s/V). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcElectricCapacitanceMeasure; -/// IfcElectricChargeMeasure is a measure of the electric charge. -/// Usually measured in Coulomb (C, A s). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcElectricChargeMeasure; -/// IfcElectricConductanceMeasure is a measure of the electric conductance. -/// Usually measured in Siemens (S, 1/Ohm = A/V). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcElectricConductanceMeasure; -/// Definition from ISO/CD 10303-41:1992: The value for the movement of electrically charged particles. -/// Usually measured in Ampere (A). -/// Type: REAL -/// -/// NOTE Corresponding ISO 10303 name: electric_current_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. -/// -/// HISTORY New type in IFC Release 1.5.1. -typedef double IfcElectricCurrentMeasure; -/// IfcElectricResistanceMeasure is a measure of the electric resistance. -/// Usually measured in Ohm (V/A). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcElectricResistanceMeasure; -/// IfcElectricVoltageMeasure is a measure of electromotive force. -/// Usually measured in Volts (V, W/A). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2.0. -typedef double IfcElectricVoltageMeasure; -/// IfcEnergyMeasure is a measure of energy required or used. -/// Usually measured in Joules, (J, Nm). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2.0. -typedef double IfcEnergyMeasure; -/// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal (sometimes -/// referred to as "roman" or "upright"), italic and oblique faces within a font family. Values are: -/// -/// normal -/// italic -/// oblique -/// -/// A value of 'normal' selects a font that is classified as 'normal' in the user agents font database, while 'oblique' selects a font that is labeled 'oblique'. A value of 'italic' selects a font that is labeled 'italic', or, if that is not available, one labeled 'oblique'. The font that is labeled 'oblique' in the user agents font database may actually have been generated by electronically slanting a normal font. -/// -/// 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. -/// -/// 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: -/// -/// normal -/// small-caps -/// -/// Another type of variation within a font family is the small-caps. In a small-caps font the lower case letters look similar to the uppercase ones, but in a smaller size and with slightly different proportions. The 'font-variant' property selects that font. -/// -/// 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. -/// -/// 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: -/// -/// normal -/// bold -/// 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 -/// -/// Fonts (the font data) typically have one or more properties whose values are names that are descriptive of the "weight" of a font. There is no accepted, universal meaning to these weight names. Their primary role is to distinguish faces of differing darkness within a single font family. Usage across font families is quite variant; for example a font that you might think of as being bold might be described as being Regular, Roman, Book, Medium, Semi- or DemiBold, Bold, or Black, depending on how black the "normal" face of the font is within the design. Because there is no standard usage of names, the weight property values in CSS1 are given on a numerical scale in which the value '400' (or 'normal') corresponds to the "normal" text face for that family. The weight name associated with that face will typically be Book, Regular, Roman, Normal or sometimes Medium. -/// -/// The association of other weights within a family to the numerical weight values is intended only to preserve the ordering of darkness within that family. However, the following heuristics tell how the assignment is done in typical cases: -/// -/// If the font family already uses a numerical scale with nine values (such as with OpenType), the font weights should be mapped directly. -/// If there is both a face labeled Medium and one labeled Book, Regular, Roman or Normal, then the Medium is normally assigned to the '500'. -/// The font labeled "Bold" will often correspond to the weight value '700'. -/// If there are fewer then 9 weights in the family, the default algorithm for filling the "holes" is as follows. If '500' is unassigned, it will be assigned the same font as '400'. If any of the values '600', '700', '800' or '900' remains unassigned, they are assigned to the same face as the next darker assigned keyword, if any, or the next lighter one otherwise. If any of '300', '200' or '100' remains unassigned, it is assigned to the next lighter assigned keyword, if any, or the next darker otherwise. -/// -/// The following two examples illustrate the process. Assume four weights in the "Example1" family, from lightest to darkest: Regular, Medium, Bold, Heavy. And assume six weights in the "Example2" family: Book, Medium, Bold, Heavy, Black, ExtraBlack. Note how in the second example it has been decided not to assign "Example2 ExtraBlack" to anything. -/// -/// 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. -/// -/// 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). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcForceMeasure; -/// IfcFrequencyMeasure is a measure of the number of times that an item vibrates in unit time. -/// Usually measured in cycles/s or Herz (Hz). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2.0. -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 -/// -/// "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. -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). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2.0. -typedef double IfcHeatFluxDensityMeasure; -/// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. -/// -/// HISTORY: This is new type in IFC2x2. -typedef double IfcHeatingValueMeasure; -/// Definition from ISO/CD 10303-41:1992: An identifier is an alphanumeric string which allows an individual thing to be identified. It may not provide natural-language meaning. -/// -/// Type: STRING of up to 255 characters -/// -/// NOTE Corresponding STEP name: identifier, please refer to ISO/IS 10303-41 for the final definition of the formal standard. -/// -/// HISTORY New type in IFC Release 2x. -/// IFC 2x4 CHANGE: Previously recommended size restriction of 255 characters is now mandatory. -/// -/// As a merely machine-readable string for identification purposes, an identifier is usually machine-generated and locale-independent (in contrast to human-readable labels, IfcLabel). -/// -/// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. -/// -/// Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier. -typedef std::string IfcIdentifier; -/// IfcIlluminanceMeasure is a measure of the illuminance. -/// Usually measured in Lux (lx, Lumen/m2 = Candela Steradian/m2). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcIlluminanceMeasure; -/// IfcInductanceMeasure is a measure of the inductance. -/// Usually measure in Henry (H, Weber/A = V s/A). -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcInductanceMeasure; -/// IfcInteger is a defined type of simple data type Integer. It is required since a select type (IfcSimpleValue) cannot include directly simple types in its select list. -/// -/// In principle, the domain of IfcInteger (being an Integer) is all integer numbers. Here the number of bits used for the IfcInteger representation is unconstrained, but in practice it is implementation specific. -/// -/// Type: INTEGER -/// -/// HISTORY New type in IFC Release 1.5.1. -typedef int IfcInteger; -/// IfcIntegerCountRateMeasure is a measure of the integer number of units flowing per unit time. -/// -/// EXAMPLE: This measure may be used for measuring integer units per second or per hour. For example, it may be used to measure the number of books per hour passing along a part of a mechanical book handling system, the number of people per hour travelling along a moving walkway or the number of vehicles per hour travelling along a section of road. -/// -/// Type: INTEGER -/// -/// HISTORY New type in IFC Release 2.0. -typedef int IfcIntegerCountRateMeasure; -/// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. -/// -/// HISTORY: New type in IFC2x2. -typedef double IfcIonConcentrationMeasure; -/// IfcIsothermalMoistureCapacityMeasure is a measure of isothermal moisture capacity. -/// Usually measured in m3/kg. -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcIsothermalMoistureCapacityMeasure; -/// IfcKinematicViscosityMeasure is a measure of the viscous resistance of a medium to a moving body. -/// Usually measured in m2/s. -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2.0. -typedef double IfcKinematicViscosityMeasure; -/// Definition from ISO/CD 10303-41:1992: A label is the term by which something may be referred to. It is a string which represents the human-interpretable name of something and shall have a natural-language meaning. -/// -/// Type: STRING of up to 255 characters -/// -/// NOTE Corresponding STEP name: label, please refer to ISO/IS 10303-41 for the final definition of the formal standard. -/// -/// HISTORY New type in IFC Release 2x. -/// IFC 2x4 CHANGE: Previously recommended size restriction of 255 characters is now mandatory. -/// -/// As a human-readable string for naming purposes, a label is usually human-specified and locale-dependent (in contrast to purely machine-readable identifiers, IfcIdentifier). -/// -/// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. -/// -/// Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label. -typedef std::string IfcLabel; -/// IfcLanguageId identifies the language in which a natural language text is expressed. It uses a language tag to identify the language. -/// The tag shall comply to the Internet Engineering Task Force (IETF) language tag as expressed in RFC 5646. A conforming program shall support the "simple language" subtag and the "language-region" tag format. -/// -/// EXAMPLE  for simple language tags en (English), de (German), fr (France), or ja (Japanese), and for language-region tags en-US (English as used in United States), de-CH (German as used in German speaking part of Switzerland). -/// -/// Type: IfcIdentifier -/// -/// NOTE  The use of IfcLanguageId should conform to the use of language tags in HTML and XML as published by the W3C consortium. -/// -/// HISTORY  New defined datatype in IFC2x4. -typedef IfcIdentifier IfcLanguageId; -/// Definition from ISO/CD 10303-41:1992: A length measure is the value of a distance. -/// Usually measured in millimeters (mm). -/// Type: REAL -/// -/// NOTE Corresponding ISO 10303 name: length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. -/// -/// HISTORY New type in IFC Release 1.5.1. -typedef double IfcLengthMeasure; -/// IfcLinearForceMeasure is a measure of linear force. -/// Usually measured in N/m. -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcLinearForceMeasure; -/// IfcLinearMomentMeasure is a measure of linear moment. -/// Usually measured in Nm/m. -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcLinearMomentMeasure; -/// IfcLinearStiffnessMeasureA measure of linear stiffness. -/// Usually measured in N/m. -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2x. -typedef double IfcLinearStiffnessMeasure; -/// IfcLinearVelocityMeasure is a measure of the velocity of a body measured in terms of distance moved per unit time. -/// Usually measured in m/s. -/// Type: REAL -/// -/// HISTORY New type in IFC Release 2.0. -typedef double IfcLinearVelocityMeasure; -/// IfcLogical::ptr IfcPropertySetDefinitionSet; +typedef IfcUtil::IfcBaseClass IfcWarpingStiffnessSelect; namespace IfcActionRequestTypeEnum { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. /// HISTORY: New Enumeration in IFC2x4. @@ -6850,6 +5731,2385 @@ typedef enum {IfcWorkScheduleType_ACTUAL, IfcWorkScheduleType_BASELINE, IfcWorkS const char* ToString(IfcWorkScheduleTypeEnum v); IfcWorkScheduleTypeEnum FromString(const std::string& s); } +/// IfcAbsorbedDoseMeasure is a measure of the absorbed radioactivity dose. +/// Usually measured in Gray (Gy, J/kg). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcAbsorbedDoseMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcAbsorbedDoseMeasure (IfcAbstractEntity* e); + IfcAbsorbedDoseMeasure (double v); + operator double() const; +}; +/// IfcAccelerationMeasure is a measure of acceleration. +/// Usually measured in m/s2. +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcAccelerationMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcAccelerationMeasure (IfcAbstractEntity* e); + IfcAccelerationMeasure (double v); + operator double() const; +}; +/// Definition from ISO/CD 10303-41:1992: An amount of substance measure is the value for the quantity of a substance when compared with the number of atoms in 0.012kilogram of carbon 12. +/// +/// Usually measure in mole (mol). +/// Type: REAL +/// +/// NOTE Corresponding ISO 10303 name: amount_of_substance_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. +/// +/// HISTORY New type in IFC Release 1.5.1. +class IfcAmountOfSubstanceMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcAmountOfSubstanceMeasure (IfcAbstractEntity* e); + IfcAmountOfSubstanceMeasure (double v); + operator double() const; +}; +/// IfcAngularVelocityMeasure is a measure of the velocity of a body measured in terms of angle subtended per unit time. +/// Usually measured in radians/s. +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2.0. +class IfcAngularVelocityMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcAngularVelocityMeasure (IfcAbstractEntity* e); + IfcAngularVelocityMeasure (double v); + operator double() const; +}; + +class IfcAreaDensityMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcAreaDensityMeasure (IfcAbstractEntity* e); + IfcAreaDensityMeasure (double v); + operator double() const; +}; +/// Definition from ISO/CD 10303-41:1992: An area measure is the value of the extent of a surface. +/// Usually measured in square metre (m2). +/// Type: REAL +/// +/// NOTE Corresponding ISO 10303 name: area_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. +/// +/// HISTORY New type in IFC Release 1.5.1. +class IfcAreaMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcAreaMeasure (IfcAbstractEntity* e); + IfcAreaMeasure (double v); + operator double() const; +}; +/// IfcBoolean is a defined data type of simple data type Boolean. It is required since a select type (IfcSimpleValue) cannot directly include simple types in its select list. A boolean type can have value TRUE or FALSE. +/// +/// Type: BOOLEAN +/// +/// HISTORY New type in IFC Release 1.5.1. +class IfcBoolean : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcBoolean (IfcAbstractEntity* e); + IfcBoolean (bool v); + operator bool() const; +}; +/// An IfcCardinalPointReference is an index reference to +/// significant points of a section profile. This index is used to +/// describe the spatial relationship between the section of a member +/// and a reference axis of the same member. +/// +/// HISTORY  New Type in IFC2x4. +/// +/// Indexes 1...9 refer to points at the bounding box of a +/// profile. Indexes 10...19 refer to points defined by geometric +/// centroid (usually centre of gravity) and shear centre, and their +/// combinations with bounding box coordinates. In particular, the +/// following index values are specified in this IFC Release: +/// +/// bottom left +/// bottom centre +/// bottom right +/// mid-depth left +/// mid-depth centre +/// mid-depth right +/// top left +/// top centre +/// top right +/// geometric centroid +/// bottom in line with the geometric centroid +/// left in line with the geometric centroid +/// right in line with the geometric centroid +/// top in line with the geometric centroid +/// shear centre +/// bottom in line with the shear centre +/// left in line with the shear centre +/// right in line with the shear centre +/// top in line with the shear centre +/// +/// Other index values are possible but outside the scope of this +/// specification. +/// +/// Figure 283 illustrates cardinal point values. +/// +/// Figure 283 — Cardinal point values +/// +/// Figure 284 illustrates an example extrusion shape with arbitrary profile (IfcArbitraryClosedProfileDef), aligned "mid-depth right" on the member axis. The line of sight follows the extrusion direction Z which points into the drawing plane of above illustration. Hence, "left" is in the positive X direction of the IfcProfileDef. "Top" is in the positive Y direction of the IfcProfileDef. +/// +/// Figure 284 — Cardinal point extrusion +class IfcCardinalPointReference : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcCardinalPointReference (IfcAbstractEntity* e); + IfcCardinalPointReference (int v); + operator int() const; +}; +/// IfcComplexNumber is a representation of a complex number expressed as an array with two elements. +/// The first element (index 1) denotes the real component which is the numerical +/// component of a complex number whose square roots can be calculated explicitly. +/// The second element (index 2) denotes the imaginary component which is the numerical +/// component of a complex number whose square roots cannot be determined other +/// than through the provision of the square of the imaginary number j where j^2 = -1. +/// Note that the imaginary component may be referred to as i in certain references. +/// +/// Type: ARRAY [1:2] OF REAL +/// +/// HISTORY New type in IFC Release 2x2. +class IfcComplexNumber : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcComplexNumber (IfcAbstractEntity* e); + IfcComplexNumber (std::vector< double > /*[1:2]*/ v); + operator std::vector< double > /*[1:2]*/() const; +}; +/// 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. +/// +/// NOTE: While the unit of measurement of the type IfcPlaneAngleMeasure depends on unit assignment (radian or degree or other derived units; globally at the IfcPoject or locally at an IfcMeasureWithUnit), the units of IfcCompoundPlaneAngleMeasure are always degrees, minutes, seconds, and millionth-seconds irrespective of unit assignments. +/// +/// HISTORY New type in IFC Release 1.5.1. +/// +/// Type: LIST [3:4] OF INTEGER +/// +/// Value restrictions +/// +/// The first integer measure is the number of degrees and is generally not range-restricted. However, when IfcCompoundPlaneAngleMeasure is used to express geographic coordinates, only latitudes of [-90, 90] and longitudes of [-180, 180] are used in practice. +/// The second integer measure is the number of minutes and shall be in the range (-60, 60). +/// The third integer measure is the number of seconds and shall be in the range (-60, 60). +/// The optional fourth integer measure is the number of millionth-seconds and shall be in the range (-1 000 000, 1 000 000). +/// +/// Signedness +/// +/// 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; +/// 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 +/// +/// (* convert from compound to float *) +///   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 +/// +/// 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. +class IfcCompoundPlaneAngleMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcCompoundPlaneAngleMeasure (IfcAbstractEntity* e); + IfcCompoundPlaneAngleMeasure (std::vector< int > /*[3:4]*/ v); + operator std::vector< int > /*[3:4]*/() const; +}; +/// Definition from ISO/CD 10303-41:1992: Is the value of a physical quantity as defined by an application context. +/// Type: REAL +/// +/// NOTE Corresponding ISO 10303 name: context_dependent_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. +/// +/// HISTORY New type in IFC Release 1.5.1. +class IfcContextDependentMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcContextDependentMeasure (IfcAbstractEntity* e); + IfcContextDependentMeasure (double v); + operator double() const; +}; +/// Definition from ISO/CD 10303-41:1992: A count measure is the value of a count. +/// Type: NUMBER +/// +/// NOTE Corresponding ISO 10303 name: count_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. +/// +/// HISTORY New type in IFC Release 1.5.1. +class IfcCountMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcCountMeasure (IfcAbstractEntity* e); + IfcCountMeasure (double v); + operator double() const; +}; +/// IfcCurvatureMeasure is a measure for curvature, which is defined as the change of slope per length. +/// This is typically a computed value in structural analysis. +/// It is usually measured in rad/m. +/// +/// Type: REAL +/// +/// HISTORY New type in IFC2x2. +class IfcCurvatureMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcCurvatureMeasure (IfcAbstractEntity* e); + IfcCurvatureMeasure (double v); + operator double() const; +}; +/// The lexical representation for date is the reduced (right truncated) lexical representation for dateTime: CCYY-MM-DD. No left truncation is allowed. An optional following time zone qualifier is allowed as for dateTime. To accommodate year values outside the range from 0001 to 9999, additional digits can be added to the left of this representation and a preceding "-" sign is allowed. +/// +/// HISTORY: New type in IFC2x4 +/// +/// Use definitions +/// All given values should be provided in context and converted into a Gregorian date context and be shall be processable by a receiving application. +class IfcDate : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcDate (IfcAbstractEntity* e); + IfcDate (std::string v); + operator std::string() const; +}; +/// This lexical representation is the [ISO 8601] extended +/// format CCYY-MM-DDThh:mm:ss where "CC" represents the +/// century, "YY" the year, "MM" the month and "DD" the day, +/// preceded by an optional leading "-" sign to indicate a +/// negative number. If the sign is omitted, "+" is assumed. +/// The letter "T" is the date/time separator and "hh", "mm", +/// "ss" represent hour, minute and second respectively. +/// Additional digits can be used to increase the precision of +/// fractional seconds if desired i.e the format ss.ss... with +/// any number of digits after the decimal point is supported. +/// The fractional seconds part is optional; other parts of the +/// lexical form are not optional. To accommodate year values +/// greater than 9999 additional digits can be added to the +/// left of this representation. Leading zeros are required if +/// the year value would otherwise have fewer than four digits; +/// otherwise they are forbidden. The year 0000 is prohibited. +/// +/// HISTORY: New type in IFC2x4 +class IfcDateTime : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcDateTime (IfcAbstractEntity* e); + IfcDateTime (std::string v); + operator std::string() const; +}; +/// Definition from IAI: The IfcDayInMonthNumber is +/// an integer that defines the position of the specified day in a +/// month. +/// Type: INTEGER +/// NOTE Corresponding STEP +/// name: day_in_month_number, please refer to ISO/IS 10303-41:1994 +/// for the final definition of the formal +/// standard. +/// HISTORY New type in IFC +/// Release 1.5.1. +/// IFC2x4 CHANGE Where rule +/// ValidRange added. +class IfcDayInMonthNumber : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcDayInMonthNumber (IfcAbstractEntity* e); + IfcDayInMonthNumber (int v); + operator int() const; +}; +/// Definition from IAI: The IfcDayInWeekNumber is +/// an integer that defines the position of the specified day in a +/// week. The positions have the following meaning (according to +/// ISO8601 "the calendar week") that assigns the ordinal day number +/// in the week to the Calender day name. +/// +/// Ordinal day number +/// Calendar day +/// name +/// +/// 01 +/// Monday +/// +/// 02 +/// Tuesday +/// +/// 03 +/// Wednesday +/// +/// 04 +/// Thursday +/// +/// 05 +/// Friday +/// +/// 06 +/// Saturday +/// +/// 07 +/// Sunday +/// +/// Type: INTEGER +/// HISTORY New type in +/// IFC2x4. +class IfcDayInWeekNumber : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcDayInWeekNumber (IfcAbstractEntity* e); + IfcDayInWeekNumber (int v); + operator int() const; +}; +/// Definition from ISO/CD 10303-41:1992: A descriptive measure is a human interpretable definition of a quantifiable value. +/// Type: STRING +/// +/// NOTE Corresponding ISO 10303 name:descriptive_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. +/// +/// HISTORY New type in IFC Release 1.5.1. +class IfcDescriptiveMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcDescriptiveMeasure (IfcAbstractEntity* e); + IfcDescriptiveMeasure (std::string v); + operator std::string() const; +}; +/// Definition from ISO/CD 10303-42:1992: A dimension count is a positive integer used to define the coordinate space dimensionality. +/// +/// The IfcDimensionCount is restricted to have the dimensionality of either 1, 2, or 3 - the WR1 had been added as an addition to the ISO 10303:42 entity dimension_count. In contrary to the ISO 10303:42 constraint, that all geometric representation items within a geometric representation context are forced to have the same dimension count, the IFC geometry allows mixed dimensions, particularly when defining the boundary of planar surfaces. +/// +/// NOTE Corresponding ISO 10303 type: dimension_count, please refer to ISO/IS 10303-42:1994, p. 14 for the final definition of the formal standard. +/// +/// HISTORY New Type in IFC Release 1.5 +class IfcDimensionCount : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcDimensionCount (IfcAbstractEntity* e); + IfcDimensionCount (int v); + operator int() const; +}; +/// IfcDoseEquivalentMeasure is a measure of the radioactive dose equivalent. +/// Usually measured in Sievert (Sv, J/kg). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcDoseEquivalentMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcDoseEquivalentMeasure (IfcAbstractEntity* e); + IfcDoseEquivalentMeasure (double v); + operator double() const; +}; +/// String representation of a time duration according to ISO8601:2000 "Data elements and interchange formats - Information interchange - Representation of dates and times" as defined in section 5.5.3 "Representation of duration". +/// It is recommended to use the alternative format (section 5.5.4.2.2) in its extended version: PYYYY-MM-DDThh:mm:ss. +/// EXAMPLE: P0002-10-15T10:30:20 (duration of two years, 10 months, 15 days, 10 hours, 30 minutes and 20 seconds). +/// +/// HISTORY: New type in IFC2x4 +class IfcDuration : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcDuration (IfcAbstractEntity* e); + IfcDuration (std::string v); + operator std::string() const; +}; +/// IfcDynamicViscosityMeasure is a measure of the viscous resistance of a medium. +/// +/// Usually measured in Pascal second (Pa s). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2.0. +class IfcDynamicViscosityMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcDynamicViscosityMeasure (IfcAbstractEntity* e); + IfcDynamicViscosityMeasure (double v); + operator double() const; +}; +/// IfcElectricCapacitanceMeasure is a measure of the electric capacitance. +/// Usually measured in Farad (F, C/V = A s/V). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcElectricCapacitanceMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcElectricCapacitanceMeasure (IfcAbstractEntity* e); + IfcElectricCapacitanceMeasure (double v); + operator double() const; +}; +/// IfcElectricChargeMeasure is a measure of the electric charge. +/// Usually measured in Coulomb (C, A s). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcElectricChargeMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcElectricChargeMeasure (IfcAbstractEntity* e); + IfcElectricChargeMeasure (double v); + operator double() const; +}; +/// IfcElectricConductanceMeasure is a measure of the electric conductance. +/// Usually measured in Siemens (S, 1/Ohm = A/V). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcElectricConductanceMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcElectricConductanceMeasure (IfcAbstractEntity* e); + IfcElectricConductanceMeasure (double v); + operator double() const; +}; +/// Definition from ISO/CD 10303-41:1992: The value for the movement of electrically charged particles. +/// Usually measured in Ampere (A). +/// Type: REAL +/// +/// NOTE Corresponding ISO 10303 name: electric_current_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. +/// +/// HISTORY New type in IFC Release 1.5.1. +class IfcElectricCurrentMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcElectricCurrentMeasure (IfcAbstractEntity* e); + IfcElectricCurrentMeasure (double v); + operator double() const; +}; +/// IfcElectricResistanceMeasure is a measure of the electric resistance. +/// Usually measured in Ohm (V/A). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcElectricResistanceMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcElectricResistanceMeasure (IfcAbstractEntity* e); + IfcElectricResistanceMeasure (double v); + operator double() const; +}; +/// IfcElectricVoltageMeasure is a measure of electromotive force. +/// Usually measured in Volts (V, W/A). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2.0. +class IfcElectricVoltageMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcElectricVoltageMeasure (IfcAbstractEntity* e); + IfcElectricVoltageMeasure (double v); + operator double() const; +}; +/// IfcEnergyMeasure is a measure of energy required or used. +/// Usually measured in Joules, (J, Nm). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2.0. +class IfcEnergyMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcEnergyMeasure (IfcAbstractEntity* e); + IfcEnergyMeasure (double v); + operator double() const; +}; +/// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal (sometimes +/// referred to as "roman" or "upright"), italic and oblique faces within a font family. Values are: +/// +/// normal +/// italic +/// oblique +/// +/// A value of 'normal' selects a font that is classified as 'normal' in the user agents font database, while 'oblique' selects a font that is labeled 'oblique'. A value of 'italic' selects a font that is labeled 'italic', or, if that is not available, one labeled 'oblique'. The font that is labeled 'oblique' in the user agents font database may actually have been generated by electronically slanting a normal font. +/// +/// 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. +/// +/// HISTORY  New type in IFC2x3. +class IfcFontStyle : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcFontStyle (IfcAbstractEntity* e); + IfcFontStyle (std::string v); + operator std::string() const; +}; +/// Definition from CSS1 (W3C Recommendation): The font-style property selects between normal and small-caps within a font family. Values are: +/// +/// normal +/// small-caps +/// +/// Another type of variation within a font family is the small-caps. In a small-caps font the lower case letters look similar to the uppercase ones, but in a smaller size and with slightly different proportions. The 'font-variant' property selects that font. +/// +/// 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. +/// +/// HISTORY  New type in IFC2x3. +class IfcFontVariant : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcFontVariant (IfcAbstractEntity* e); + IfcFontVariant (std::string v); + operator std::string() const; +}; +/// 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: +/// +/// normal +/// bold +/// 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 +/// +/// Fonts (the font data) typically have one or more properties whose values are names that are descriptive of the "weight" of a font. There is no accepted, universal meaning to these weight names. Their primary role is to distinguish faces of differing darkness within a single font family. Usage across font families is quite variant; for example a font that you might think of as being bold might be described as being Regular, Roman, Book, Medium, Semi- or DemiBold, Bold, or Black, depending on how black the "normal" face of the font is within the design. Because there is no standard usage of names, the weight property values in CSS1 are given on a numerical scale in which the value '400' (or 'normal') corresponds to the "normal" text face for that family. The weight name associated with that face will typically be Book, Regular, Roman, Normal or sometimes Medium. +/// +/// The association of other weights within a family to the numerical weight values is intended only to preserve the ordering of darkness within that family. However, the following heuristics tell how the assignment is done in typical cases: +/// +/// If the font family already uses a numerical scale with nine values (such as with OpenType), the font weights should be mapped directly. +/// If there is both a face labeled Medium and one labeled Book, Regular, Roman or Normal, then the Medium is normally assigned to the '500'. +/// The font labeled "Bold" will often correspond to the weight value '700'. +/// If there are fewer then 9 weights in the family, the default algorithm for filling the "holes" is as follows. If '500' is unassigned, it will be assigned the same font as '400'. If any of the values '600', '700', '800' or '900' remains unassigned, they are assigned to the same face as the next darker assigned keyword, if any, or the next lighter one otherwise. If any of '300', '200' or '100' remains unassigned, it is assigned to the next lighter assigned keyword, if any, or the next darker otherwise. +/// +/// The following two examples illustrate the process. Assume four weights in the "Example1" family, from lightest to darkest: Regular, Medium, Bold, Heavy. And assume six weights in the "Example2" family: Book, Medium, Bold, Heavy, Black, ExtraBlack. Note how in the second example it has been decided not to assign "Example2 ExtraBlack" to anything. +/// +/// 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. +/// +/// HISTORY  New type in IFC2x2 Addendum 2. +class IfcFontWeight : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcFontWeight (IfcAbstractEntity* e); + IfcFontWeight (std::string v); + operator std::string() const; +}; +/// IfcForceMeasure is a measure of the force. +/// Usually measured in Newton (N, kg m/s2). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcForceMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcForceMeasure (IfcAbstractEntity* e); + IfcForceMeasure (double v); + operator double() const; +}; +/// IfcFrequencyMeasure is a measure of the number of times that an item vibrates in unit time. +/// Usually measured in cycles/s or Herz (Hz). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2.0. +class IfcFrequencyMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcFrequencyMeasure (IfcAbstractEntity* e); + IfcFrequencyMeasure (double v); + operator double() const; +}; +/// 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 +/// +/// "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. +class IfcGloballyUniqueId : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcGloballyUniqueId (IfcAbstractEntity* e); + IfcGloballyUniqueId (std::string v); + operator std::string() const; +}; +/// IfcHeatFluxDensityMeasure is a measure of the density of heat flux within a body. +/// Usually measured in W/m2 (J/s m2). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2.0. +class IfcHeatFluxDensityMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcHeatFluxDensityMeasure (IfcAbstractEntity* e); + IfcHeatFluxDensityMeasure (double v); + operator double() const; +}; +/// IfcHeatingValueMeasure defines the amount of energy released (usually in MJ/kg) when a fuel is burned. +/// +/// HISTORY: This is new type in IFC2x2. +class IfcHeatingValueMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcHeatingValueMeasure (IfcAbstractEntity* e); + IfcHeatingValueMeasure (double v); + operator double() const; +}; +/// Definition from ISO/CD 10303-41:1992: An identifier is an alphanumeric string which allows an individual thing to be identified. It may not provide natural-language meaning. +/// +/// Type: STRING of up to 255 characters +/// +/// NOTE Corresponding STEP name: identifier, please refer to ISO/IS 10303-41 for the final definition of the formal standard. +/// +/// HISTORY New type in IFC Release 2x. +/// IFC 2x4 CHANGE: Previously recommended size restriction of 255 characters is now mandatory. +/// +/// As a merely machine-readable string for identification purposes, an identifier is usually machine-generated and locale-independent (in contrast to human-readable labels, IfcLabel). +/// +/// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. +/// +/// Note that while IfcIdentifier is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the identifier. +class IfcIdentifier : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcIdentifier (IfcAbstractEntity* e); + IfcIdentifier (std::string v); + operator std::string() const; +}; +/// IfcIlluminanceMeasure is a measure of the illuminance. +/// Usually measured in Lux (lx, Lumen/m2 = Candela Steradian/m2). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcIlluminanceMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcIlluminanceMeasure (IfcAbstractEntity* e); + IfcIlluminanceMeasure (double v); + operator double() const; +}; +/// IfcInductanceMeasure is a measure of the inductance. +/// Usually measure in Henry (H, Weber/A = V s/A). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcInductanceMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcInductanceMeasure (IfcAbstractEntity* e); + IfcInductanceMeasure (double v); + operator double() const; +}; +/// IfcInteger is a defined type of simple data type Integer. It is required since a select type (IfcSimpleValue) cannot include directly simple types in its select list. +/// +/// In principle, the domain of IfcInteger (being an Integer) is all integer numbers. Here the number of bits used for the IfcInteger representation is unconstrained, but in practice it is implementation specific. +/// +/// Type: INTEGER +/// +/// HISTORY New type in IFC Release 1.5.1. +class IfcInteger : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcInteger (IfcAbstractEntity* e); + IfcInteger (int v); + operator int() const; +}; +/// IfcIntegerCountRateMeasure is a measure of the integer number of units flowing per unit time. +/// +/// EXAMPLE: This measure may be used for measuring integer units per second or per hour. For example, it may be used to measure the number of books per hour passing along a part of a mechanical book handling system, the number of people per hour travelling along a moving walkway or the number of vehicles per hour travelling along a section of road. +/// +/// Type: INTEGER +/// +/// HISTORY New type in IFC Release 2.0. +class IfcIntegerCountRateMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcIntegerCountRateMeasure (IfcAbstractEntity* e); + IfcIntegerCountRateMeasure (int v); + operator int() const; +}; +/// IfcIonConcentrationMeasure is a measure of particular ion concentration in a liquid, given in mg/L. +/// +/// HISTORY: New type in IFC2x2. +class IfcIonConcentrationMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcIonConcentrationMeasure (IfcAbstractEntity* e); + IfcIonConcentrationMeasure (double v); + operator double() const; +}; +/// IfcIsothermalMoistureCapacityMeasure is a measure of isothermal moisture capacity. +/// Usually measured in m3/kg. +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcIsothermalMoistureCapacityMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcIsothermalMoistureCapacityMeasure (IfcAbstractEntity* e); + IfcIsothermalMoistureCapacityMeasure (double v); + operator double() const; +}; +/// IfcKinematicViscosityMeasure is a measure of the viscous resistance of a medium to a moving body. +/// Usually measured in m2/s. +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2.0. +class IfcKinematicViscosityMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcKinematicViscosityMeasure (IfcAbstractEntity* e); + IfcKinematicViscosityMeasure (double v); + operator double() const; +}; +/// Definition from ISO/CD 10303-41:1992: A label is the term by which something may be referred to. It is a string which represents the human-interpretable name of something and shall have a natural-language meaning. +/// +/// Type: STRING of up to 255 characters +/// +/// NOTE Corresponding STEP name: label, please refer to ISO/IS 10303-41 for the final definition of the formal standard. +/// +/// HISTORY New type in IFC Release 2x. +/// IFC 2x4 CHANGE: Previously recommended size restriction of 255 characters is now mandatory. +/// +/// As a human-readable string for naming purposes, a label is usually human-specified and locale-dependent (in contrast to purely machine-readable identifiers, IfcIdentifier). +/// +/// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. +/// +/// Note that while IfcLabel is restricted to 255 characters, the size in exchange files after encoding may be considerably larger than 255 octets, depending on the particular encoding and on the contents of the label. +class IfcLabel : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcLabel (IfcAbstractEntity* e); + IfcLabel (std::string v); + operator std::string() const; +}; +/// IfcLanguageId identifies the language in which a natural language text is expressed. It uses a language tag to identify the language. +/// The tag shall comply to the Internet Engineering Task Force (IETF) language tag as expressed in RFC 5646. A conforming program shall support the "simple language" subtag and the "language-region" tag format. +/// +/// EXAMPLE  for simple language tags en (English), de (German), fr (France), or ja (Japanese), and for language-region tags en-US (English as used in United States), de-CH (German as used in German speaking part of Switzerland). +/// +/// Type: IfcIdentifier +/// +/// NOTE  The use of IfcLanguageId should conform to the use of language tags in HTML and XML as published by the W3C consortium. +/// +/// HISTORY  New defined datatype in IFC2x4. +class IfcLanguageId : public IfcIdentifier { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcLanguageId (IfcAbstractEntity* e); + IfcLanguageId (std::string v); + operator std::string() const; +}; +/// Definition from ISO/CD 10303-41:1992: A length measure is the value of a distance. +/// Usually measured in millimeters (mm). +/// Type: REAL +/// +/// NOTE Corresponding ISO 10303 name: length_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. +/// +/// HISTORY New type in IFC Release 1.5.1. +class IfcLengthMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcLengthMeasure (IfcAbstractEntity* e); + IfcLengthMeasure (double v); + operator double() const; +}; +/// IfcLinearForceMeasure is a measure of linear force. +/// Usually measured in N/m. +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcLinearForceMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcLinearForceMeasure (IfcAbstractEntity* e); + IfcLinearForceMeasure (double v); + operator double() const; +}; +/// IfcLinearMomentMeasure is a measure of linear moment. +/// Usually measured in Nm/m. +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcLinearMomentMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcLinearMomentMeasure (IfcAbstractEntity* e); + IfcLinearMomentMeasure (double v); + operator double() const; +}; +/// IfcLinearStiffnessMeasureA measure of linear stiffness. +/// Usually measured in N/m. +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcLinearStiffnessMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcLinearStiffnessMeasure (IfcAbstractEntity* e); + IfcLinearStiffnessMeasure (double v); + operator double() const; +}; +/// IfcLinearVelocityMeasure is a measure of the velocity of a body measured in terms of distance moved per unit time. +/// Usually measured in m/s. +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2.0. +class IfcLinearVelocityMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcLinearVelocityMeasure (IfcAbstractEntity* e); + IfcLinearVelocityMeasure (double v); + operator double() const; +}; +/// IfcLogical::ptr v); + operator IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr() const; +}; +/// IfcRadioActivityMeasure is a measure of activity of radionuclide. +/// Usually measured in Becquerel (Bq, 1/s). +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcRadioActivityMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcRadioActivityMeasure (IfcAbstractEntity* e); + IfcRadioActivityMeasure (double v); + operator double() const; +}; +/// Definition from ISO/CD 10303-41:1992: A ratio measure is the value of the relation between two +/// physical quantities that are of the same kind. +/// +/// NOTE: Input given in percent is to be divided by 100% when stored as an IfcRatioMeasure. For example, 25% becomes 0.25. +/// +/// Type: REAL +/// +/// NOTE Corresponding STEP name: ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. +/// +/// HISTORY New type in IFC Release 1.5.1. +class IfcRatioMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcRatioMeasure (IfcAbstractEntity* e); + IfcRatioMeasure (double v); + operator double() const; +}; +/// IfcReal is a defined type of simple data type REAL. It is required since a select type (IfcSimpleValue), cannot directly include simple types in its select list. +/// +/// In principle, the domain of IfcReal (being a Real) is all rational, irrational and scientific real numbers. Here the precision is unconstrained, but in practice it is implementation specific. +/// +/// Type: REAL +/// +/// HISTORY: New type in IFC Release 1.5.1. +class IfcReal : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcReal (IfcAbstractEntity* e); + IfcReal (double v); + operator double() const; +}; +/// IfcRotationalFrequencyMeasure is a measure of the number of cycles that an item revolves in unit time. +/// Usually measured in cycles/s. +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcRotationalFrequencyMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcRotationalFrequencyMeasure (IfcAbstractEntity* e); + IfcRotationalFrequencyMeasure (double v); + operator double() const; +}; +/// The rotational mass measure denotes the inertia of a body with respect to angular acceleration. +/// It is usually measured in kg*m^2. +/// +/// Type: REAL +/// +/// HISTORY New type in IFC2x2. +class IfcRotationalMassMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcRotationalMassMeasure (IfcAbstractEntity* e); + IfcRotationalMassMeasure (double v); + operator double() const; +}; +/// IfcRotationalStiffnessMeasure is a measure of rotational stiffness. +/// Usually measured in Nm/rad. +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcRotationalStiffnessMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcRotationalStiffnessMeasure (IfcAbstractEntity* e); + IfcRotationalStiffnessMeasure (double v); + operator double() const; +}; +/// IfcSectionModulusMeasure is a measure for the resistance of a cross section against bending or torsional moment. It is usually measured in m^3. +/// +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x2. +class IfcSectionModulusMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcSectionModulusMeasure (IfcAbstractEntity* e); + IfcSectionModulusMeasure (double v); + operator double() const; +}; +/// The sectional area integral measure is typically used in torsional analysis. It is usually measured in m^5. +/// +/// Type: REAL +/// +/// HISTORY New type in IFC2x2. +class IfcSectionalAreaIntegralMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcSectionalAreaIntegralMeasure (IfcAbstractEntity* e); + IfcSectionalAreaIntegralMeasure (double v); + operator double() const; +}; +/// IfcShearModulusMeasure is a measure of shear modulus. +/// Usually measured in N/m2. +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcShearModulusMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcShearModulusMeasure (IfcAbstractEntity* e); + IfcShearModulusMeasure (double v); + operator double() const; +}; +/// Definition from ISO/CD 10303-41:1992: A solid angle measure is the value of an angle in a solid. +/// Usually measured in Steradians, (sr, m2/m2). +/// Type: REAL +/// +/// NOTE Corresponding ISO 10303 name: solid_angle_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. +/// +/// HISTORY New type in IFC Release 1.5.1. +class IfcSolidAngleMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcSolidAngleMeasure (IfcAbstractEntity* e); + IfcSolidAngleMeasure (double v); + operator double() const; +}; + +class IfcSoundPowerLevelMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcSoundPowerLevelMeasure (IfcAbstractEntity* e); + IfcSoundPowerLevelMeasure (double v); + operator double() const; +}; +/// A sound power measure is a measure of total radiated noise with units of decibels with a reference value of picowatts. +/// +/// Type: REAL +/// +/// HISTORY New type in IFC2x2. +class IfcSoundPowerMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcSoundPowerMeasure (IfcAbstractEntity* e); + IfcSoundPowerMeasure (double v); + operator double() const; +}; + +class IfcSoundPressureLevelMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcSoundPressureLevelMeasure (IfcAbstractEntity* e); + IfcSoundPressureLevelMeasure (double v); + operator double() const; +}; +/// A sound pressure measure is a measure of the pressure fluctuations superimposed over the ambient pressure level with units of decibels with a reference value of micropascals. +/// +/// Type: REAL +/// +/// HISTORY New type in IFC2x2. +class IfcSoundPressureMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcSoundPressureMeasure (IfcAbstractEntity* e); + IfcSoundPressureMeasure (double v); + operator double() const; +}; +/// IfcSpecificHeatCapacityMeasure defines the specific heat of material: The heat energy absorbed per temperature unit. +/// Usually measured in J / kg Kelvin. +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcSpecificHeatCapacityMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcSpecificHeatCapacityMeasure (IfcAbstractEntity* e); + IfcSpecificHeatCapacityMeasure (double v); + operator double() const; +}; +/// The IfcSpecularExponent defines the datatype for exponent determining the sharpness of the 'reflection'. reflection is made sharper with large values of the exponent, such as 10.0. Small values, such as 1.0, decrease the specular fall-off. +/// +/// IfcSpecularExponent is of type REAL. +/// +/// NOTE: The datatype relates to the definition of specular_exponent in ISO 10303-46 entity surface_style_reflectance_ambient_diffuse_specular. +/// +/// HISTORY: New type in IFC2x2. +class IfcSpecularExponent : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcSpecularExponent (IfcAbstractEntity* e); + IfcSpecularExponent (double v); + operator double() const; +}; +/// The IfcSpecularRoughness defines the datatype for the reflection resulting from the roughness of a surface through the height of surface impurities where the specular highlight is made sharper with small values for the roughness, such as 0.1. +/// +/// Applies to "glass", "metal", "mirror" and "plastic" reflection models. Larger values, close to 1.0 decrease the specular fall-off. +/// +/// IfcSpecularRoughness is of type REAL. It is constraint to values between (and including) 0 and 1. +/// +/// NOTE: The datatype relates to the definition of "shiness" in VRML97, which is the reciprocate value to the specular roughness. +/// +/// HISTORY: New type in Release IFC2x2. +class IfcSpecularRoughness : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcSpecularRoughness (IfcAbstractEntity* e); + IfcSpecularRoughness (double v); + operator double() const; +}; +/// The temperature gradient measures the difference of a temperature per lenght, as for instance used in an external wall or its layers. It is usually measured in K/m. +/// +/// Type: REAL +/// +/// HISTORY New type in IFC2x2. +class IfcTemperatureGradientMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcTemperatureGradientMeasure (IfcAbstractEntity* e); + IfcTemperatureGradientMeasure (double v); + operator double() const; +}; +/// The temperature rate of change measures the difference of a temperature per time (positive: rise, negative: fall), as for instance used with heat sensors. It is for example measured in K/s (Kelvin per second). +/// +/// Type: REAL +/// +/// HISTORY  New type in IFC2x4. +class IfcTemperatureRateOfChangeMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcTemperatureRateOfChangeMeasure (IfcAbstractEntity* e); + IfcTemperatureRateOfChangeMeasure (double v); + operator double() const; +}; +/// Definition from ISO/CD 10303-41:1992: A text is an alphanumeric string of characters which is intended to be read and understood by a human being. It is for information purposes only. +/// +/// Type: STRING +/// +/// NOTE Corresponding STEP name: text, please refer to ISO/IS 10303-41 for the final definition of the formal standard. +/// +/// HISTORY New type in IFC Release 2x. +/// +/// Per ISO 10303-11, the set of characters that may appear in STRINGs is defined in ISO 10646. The encoding of characters in case of file-based exchange is defined in ISO 10303-21 (STEP physical files) and ISO 10303-28 (XML files). Among else, these specifications define the encoding of 8-bit characters from ISO 8859-1...-16 and of 2-byte Unicode characters. +/// +/// 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. +class IfcText : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcText (IfcAbstractEntity* e); + IfcText (std::string v); + operator std::string() const; +}; +/// 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. +/// +/// HISTORY  New type in IFC2x3. +class IfcTextAlignment : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcTextAlignment (IfcAbstractEntity* e); + IfcTextAlignment (std::string v); + operator std::string() const; +}; +/// 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: +/// +/// none +/// underline +/// overline +/// line-through +/// blink +/// +/// User agents must recognize the keyword 'blink', but are not required to support the blink effect. +/// +/// NOTE  Corresponding CSS1 definition is text-decoration. +/// +/// HISTORY  New type in IFC2x3. +class IfcTextDecoration : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcTextDecoration (IfcAbstractEntity* e); + IfcTextDecoration (std::string v); + operator std::string() const; +}; +/// Definition from CSS1 (W3C Recommendation): The value is a font family name and/or generic family name. Values are: +/// +/// The name of a font family of choice. For example, "gill" and "helvetica" are font families. +/// +/// In the example above, the last value is a generic family name. The following generic families are defined: +/// +/// 'serif' (Example: Times) +/// 'sans-serif' (Example: Helvetica) +/// 'cursive' (Example: Zapf-Chancery) +/// 'fantasy' (Example: Western) +/// 'monospace' (Example: Courier) +/// +/// It is encouraged to offer a generic font family as a last alternative. +/// +/// NOTE  Corresponding CSS1 definitions are font-family. +/// +/// HISTORY  New type in IFC2x2 Addendum 2. +/// +/// IFC2x2 Addendum 2 CHANGE: The IfcFontFamily has been added. +class IfcTextFontName : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcTextFontName (IfcAbstractEntity* e); + IfcTextFontName (std::string v); + operator std::string() const; +}; +/// Definition from CSS1 (W3C Recommendation): This property describes how the cases of characters are handled. Values are: +/// +/// capitalize: uppercases the first character of each word +/// uppercase: uppercases all letters of the element +/// lowercase: lowercases all letters of the element +/// none +/// +/// NOTE  Corresponding CSS1 definition is text-transform. +/// +/// HISTORY  New type in IFC2x3. +class IfcTextTransformation : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcTextTransformation (IfcAbstractEntity* e); + IfcTextTransformation (std::string v); + operator std::string() const; +}; +/// IfcThermalAdmittanceMeasure is the measure of the ability of a surface to smooth out temperature variations. +/// Usually measured in Watt / m2 Kelvin. +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2.0. +class IfcThermalAdmittanceMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcThermalAdmittanceMeasure (IfcAbstractEntity* e); + IfcThermalAdmittanceMeasure (double v); + operator double() const; +}; +/// IfcThermalConductivityMeasure is a measure of thermal conductivity. +/// Usually measured in Watt / m Kelvin. +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcThermalConductivityMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcThermalConductivityMeasure (IfcAbstractEntity* e); + IfcThermalConductivityMeasure (double v); + operator double() const; +}; +/// IfcThermalExpansionCoeffientMeasure is a measure of the thermal expansion coefficient of a material, which expresses its elongation (as a ratio) per temperature difference. It is usually measured in 1/K. A positive elongation per (positive) rise of temperature is expressed by a positive value. +/// Type: REAL +/// +/// HISTORY New type in IFC2x2. +class IfcThermalExpansionCoefficientMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcThermalExpansionCoefficientMeasure (IfcAbstractEntity* e); + IfcThermalExpansionCoefficientMeasure (double v); + operator double() const; +}; +/// IfcThermalResistanceMeasure is a measure of the resistance offered by a body to the flow of energy. +/// Usually measured in m2 Kelvin/Watt. +/// +/// HISTORY New type in IFC Release 2.0. +class IfcThermalResistanceMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcThermalResistanceMeasure (IfcAbstractEntity* e); + IfcThermalResistanceMeasure (double v); + operator double() const; +}; +/// IfcThermalTransmittanceMeasure is a measure of the rate at which energy is transmitted through a body. +/// Usually measured in Watts/m2 Kelvin. +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2.0. +class IfcThermalTransmittanceMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcThermalTransmittanceMeasure (IfcAbstractEntity* e); + IfcThermalTransmittanceMeasure (double v); + operator double() const; +}; +/// Definition from ISO/CD 10303-41:1992: A thermodynamic temperature measure is the value for the degree of heat of a body. +/// Usually measured in degrees Kelvin (K). +/// Type: REAL +/// +/// NOTE Corresponding ISO 10303 name: thermodynamic_temperature_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. +/// +/// HISTORY New type in IFC Release 1.5.1. +class IfcThermodynamicTemperatureMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcThermodynamicTemperatureMeasure (IfcAbstractEntity* e); + IfcThermodynamicTemperatureMeasure (double v); + operator double() const; +}; +/// The lexical representation for time is the left truncated +/// lexical representation for dateTime: hh:mm:ss.sss with +/// optional following time zone indicator. For example, to +/// indicate 1:20 pm for Eastern Standard Time which is 5 hours +/// behind Coordinated Universal Time (UTC), one would write: +/// 13:20:00-05:00. +/// +/// HISTORY: New type in IFC2x4 +class IfcTime : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcTime (IfcAbstractEntity* e); + IfcTime (std::string v); + operator std::string() const; +}; +/// Definition from ISO/CD 10303-41:1992: A time measure is the value of the duration of periods. +/// Measured in seconds (s) or days (d) or other units of time. +/// Type: REAL +/// +/// NOTE Corresponding ISO 10303 name: time_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. +/// +/// HISTORY New type in IFC Release 1.5.1. +class IfcTimeMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcTimeMeasure (IfcAbstractEntity* e); + IfcTimeMeasure (double v); + operator double() const; +}; +/// IfcTimeStamp is an indication of date and time by measuring the number of seconds which have elapsed since the beginning of the year 1970. +/// Type: INTEGER +/// +/// HISTORY New type in IFC Release 1.5.1. +class IfcTimeStamp : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcTimeStamp (IfcAbstractEntity* e); + IfcTimeStamp (int v); + operator int() const; +}; +/// IfcTorqueMeasure is a measure of the torque or moment of a couple. +/// Usually measured in N m. +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcTorqueMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcTorqueMeasure (IfcAbstractEntity* e); + IfcTorqueMeasure (double v); + operator double() const; +}; +/// IfcURIReference provides for identifying a Uniform Resource Identifier, URI, as defined by the RFC3986 of the Network Working Group. A URI can be classified as a locator or a name or both, that is it may comprise a Uniform Resource Locator (URL) and/or a Uniform Resource Name (URN). +/// +/// A Uniform Resource Locator, URL, is a string conforming to a standardized format, which refers to a resource on the internet (such as a document or an image) by its location. +/// A Uniform Resource Name, URN, is intended to serve as persistent, location-independent resource identifier and is +/// designed to make it easy to map other namespaces (that share the properties of URNs) into URN-space. +/// +/// HISTORY New defined datatype in IFC 2x4. +class IfcURIReference : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcURIReference (IfcAbstractEntity* e); + IfcURIReference (std::string v); + operator std::string() const; +}; +/// IfcVaporPermeabilityMeasure is a measure of vapor permeability. +/// Usually measured in kg / s m Pascal. +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcVaporPermeabilityMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcVaporPermeabilityMeasure (IfcAbstractEntity* e); + IfcVaporPermeabilityMeasure (double v); + operator double() const; +}; +/// Definition from ISO/CD 10303-41:1992: A volume measure is the value of the solid content of a body. +/// Usually measured in cubic metre (m3). +/// Type: REAL +/// +/// NOTE Corresponding ISO 10303 name: volume_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. +/// +/// HISTORY New type in IFC Release 1.5.1. +class IfcVolumeMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcVolumeMeasure (IfcAbstractEntity* e); + IfcVolumeMeasure (double v); + operator double() const; +}; +/// IfcVolumetricFlowRateMeasure is a measure of the volume of a medium flowing per unit time. +/// Usually measured in m3/s. +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2.0. +class IfcVolumetricFlowRateMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcVolumetricFlowRateMeasure (IfcAbstractEntity* e); + IfcVolumetricFlowRateMeasure (double v); + operator double() const; +}; +/// IfcWarpingConstantMeasure is a measure for the warping constant or warping resistance of a cross section under torsional loading. It is usually measured in m^6. +/// +/// Type: REAL +/// +/// HISTORY New type in IFC2x2. +class IfcWarpingConstantMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcWarpingConstantMeasure (IfcAbstractEntity* e); + IfcWarpingConstantMeasure (double v); + operator double() const; +}; +/// The warping moment measure is a measure for the warping moment, which occurs in warping torsional analysis. It is usually measured in kN*m^2. +/// +/// Type: REAL +/// +/// HISTORY New type in IFC2x2. +class IfcWarpingMomentMeasure : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcWarpingMomentMeasure (IfcAbstractEntity* e); + IfcWarpingMomentMeasure (double v); + operator double() const; +}; +/// The box alignment specifies the alignment of the text box relative to its position. The following string values shall be used: +/// +/// top-left +/// top-middle +/// top-right +/// middle-left +/// center +/// middle-right +/// bottom-left +/// bottom-middle +/// bottom-right +/// +/// NOTE  The top-left is the default value. +/// +/// Figure 298 illustrates alignment values. +/// +/// Figure 298 — Box alignment values +/// +/// Figure 299 illustrates use of alignment values together with the placement and planar extent. +/// +/// Figure 299 — Box alignment examples +/// +/// HISTORY  New type in IFC2x2 Addendum2. +/// +/// IFC2x3 CHANGE  The IfcBoxAlignment has been added. +class IfcBoxAlignment : public IfcLabel { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcBoxAlignment (IfcAbstractEntity* e); + IfcBoxAlignment (std::string v); + operator std::string() const; +}; +/// IfcNormalisedRatioMeasure is a dimensionless measure to express ratio values ranging from 0.0 to 1.0. +/// +/// Type: REAL +/// +/// HISTORY New type in IFC Release 2x. +class IfcNormalisedRatioMeasure : public IfcRatioMeasure { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcNormalisedRatioMeasure (IfcAbstractEntity* e); + IfcNormalisedRatioMeasure (double v); + operator double() const; +}; +/// Definition from ISO/CD 10303-41:1992: A positive ratio measure is a ratio measure that is greater than zero. +/// Type: IfcRatioMeasure +/// +/// NOTE Corresponding ISO 10303 name: positive_ratio_measure, please refer to ISO/IS 10303-41 for the final definition of the formal standard. +/// +/// HISTORY New type in IFC Release 1.5.1. +class IfcPositiveRatioMeasure : public IfcRatioMeasure { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcPositiveRatioMeasure (IfcAbstractEntity* e); + IfcPositiveRatioMeasure (double v); + operator double() const; +}; /// Definition: A role which is performed by an actor, either a person, an organization or a @@ -6874,13 +8134,13 @@ public: /// enumeration values provided by Role attribute of type IfcRoleEnum. /// When a value is provided for attribute UserDefinedRole in parallel /// the attribute Role shall have enumeration value USERDEFINED. - IfcLabel UserDefinedRole() const; - void setUserDefinedRole(IfcLabel v); + std::string UserDefinedRole() const; + void setUserDefinedRole(std::string v); /// Whether the optional attribute Description is defined for this IfcActorRole bool hasDescription() const; /// A textual description relating the nature of the role played by an actor. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Role"; case 1: return "UserDefinedRole"; case 2: return "Description"; } throw IfcParse::IfcException("argument out of range"); } @@ -6890,7 +8150,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcActorRole (IfcAbstractEntity* e); - IfcActorRole (IfcRoleEnum::IfcRoleEnum v1_Role, boost::optional< IfcLabel > v2_UserDefinedRole, boost::optional< IfcText > v3_Description); + IfcActorRole (IfcRoleEnum::IfcRoleEnum v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description); typedef IfcTemplatedEntityList< IfcActorRole > list; }; /// Definition: An abstract entity type for various kinds of postal and telecom addresses. @@ -6908,16 +8168,16 @@ public: /// Whether the optional attribute Description is defined for this IfcAddress bool hasDescription() const; /// Text that relates the nature of the address. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Whether the optional attribute UserDefinedPurpose is defined for this IfcAddress bool hasUserDefinedPurpose() const; /// Allows for specification of user specific purpose of the address beyond the /// enumeration values provided by Purpose attribute of type IfcAddressTypeEnum. /// When a value is provided for attribute UserDefinedPurpose, in parallel the /// attribute Purpose shall have enumeration value USERDEFINED. - IfcLabel UserDefinedPurpose() const; - void setUserDefinedPurpose(IfcLabel v); + std::string UserDefinedPurpose() const; + void setUserDefinedPurpose(std::string v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::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 IfcParse::IfcException("argument out of range"); } @@ -6928,7 +8188,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAddress (IfcAbstractEntity* e); - IfcAddress (boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose); + IfcAddress (boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose); typedef IfcTemplatedEntityList< IfcAddress > list; }; /// 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. @@ -6940,14 +8200,14 @@ public: IfcOrganization* ApplicationDeveloper() const; void setApplicationDeveloper(IfcOrganization* v); /// The version number of this software as specified by the developer of the application. - IfcLabel Version() const; - void setVersion(IfcLabel v); + std::string Version() const; + void setVersion(std::string v); /// The full name of the application as specified by the application developer. - IfcLabel ApplicationFullName() const; - void setApplicationFullName(IfcLabel v); + std::string ApplicationFullName() const; + void setApplicationFullName(std::string v); /// Short identifying name for the application. - IfcIdentifier ApplicationIdentifier() const; - void setApplicationIdentifier(IfcIdentifier v); + std::string ApplicationIdentifier() const; + void setApplicationIdentifier(std::string v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ApplicationDeveloper"; case 1: return "Version"; case 2: return "ApplicationFullName"; case 3: return "ApplicationIdentifier"; } throw IfcParse::IfcException("argument out of range"); } @@ -6956,7 +8216,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcApplication (IfcAbstractEntity* e); - IfcApplication (IfcOrganization* v1_ApplicationDeveloper, IfcLabel v2_Version, IfcLabel v3_ApplicationFullName, IfcIdentifier v4_ApplicationIdentifier); + IfcApplication (IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier); typedef IfcTemplatedEntityList< IfcApplication > list; }; /// IfcAppliedValue is an abstract supertype that specifies the common attributes for cost values. @@ -6978,18 +8238,18 @@ public: /// Whether the optional attribute Name is defined for this IfcAppliedValue bool hasName() const; /// A name or additional clarification given to a cost value. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcAppliedValue bool hasDescription() const; /// The description that may apply additional information about a cost value. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Whether the optional attribute AppliedValue is defined for this IfcAppliedValue bool hasAppliedValue() const; /// The extent or quantity or amount of an applied value. - IfcAppliedValueSelect AppliedValue() const; - void setAppliedValue(IfcAppliedValueSelect v); + IfcAppliedValueSelect* AppliedValue() const; + void setAppliedValue(IfcAppliedValueSelect* v); /// Whether the optional attribute UnitBasis is defined for this IfcAppliedValue bool hasUnitBasis() const; /// The number and unit of measure on which the unit cost is based. @@ -7004,23 +8264,23 @@ public: /// The date on or from which an applied value is applicable. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - IfcDate ApplicableDate() const; - void setApplicableDate(IfcDate v); + std::string ApplicableDate() const; + void setApplicableDate(std::string v); /// Whether the optional attribute FixedUntilDate is defined for this IfcAppliedValue bool hasFixedUntilDate() const; /// The date until which applied value is applicable. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - IfcDate FixedUntilDate() const; - void setFixedUntilDate(IfcDate v); + std::string FixedUntilDate() const; + void setFixedUntilDate(std::string v); /// Whether the optional attribute Category is defined for this IfcAppliedValue bool hasCategory() const; - IfcLabel Category() const; - void setCategory(IfcLabel v); + std::string Category() const; + void setCategory(std::string v); /// Whether the optional attribute Condition is defined for this IfcAppliedValue bool hasCondition() const; - IfcLabel Condition() const; - void setCondition(IfcLabel v); + std::string Condition() const; + void setCondition(std::string v); /// Whether the optional attribute ArithmeticOperator is defined for this IfcAppliedValue bool hasArithmeticOperator() const; IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum ArithmeticOperator() const; @@ -7038,7 +8298,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAppliedValue (IfcAbstractEntity* e); - IfcAppliedValue (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDate > v5_ApplicableDate, boost::optional< IfcDate > v6_FixedUntilDate, boost::optional< IfcLabel > v7_Category, boost::optional< IfcLabel > v8_Condition, boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v9_ArithmeticOperator, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_Components); + IfcAppliedValue (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcAppliedValueSelect* v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< std::string > v5_ApplicableDate, boost::optional< std::string > v6_FixedUntilDate, boost::optional< std::string > v7_Category, boost::optional< std::string > v8_Condition, boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v9_ArithmeticOperator, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_Components); typedef IfcTemplatedEntityList< IfcAppliedValue > list; }; /// 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 @@ -7051,54 +8311,54 @@ public: /// Whether the optional attribute Identifier is defined for this IfcApproval bool hasIdentifier() const; /// A computer interpretable identifier by which the approval is known. - IfcIdentifier Identifier() const; - void setIdentifier(IfcIdentifier v); + std::string Identifier() const; + void setIdentifier(std::string v); /// Whether the optional attribute Name is defined for this IfcApproval bool hasName() const; /// A human readable name given to an approval. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcApproval bool hasDescription() const; /// A general textual description of a design, work task, plan, etc. that is being approved for. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Whether the optional attribute TimeOfApproval is defined for this IfcApproval bool hasTimeOfApproval() const; /// Date and time when the result of the approval process is produced. /// /// IFC2x4 CHANGE  Attribute data type changed to IfcDateTime using ISO 8601 representation, renamed from ApprovalDateTime and made OPTIONAL. - IfcDateTime TimeOfApproval() const; - void setTimeOfApproval(IfcDateTime v); + std::string TimeOfApproval() const; + void setTimeOfApproval(std::string v); /// Whether the optional attribute Status is defined for this IfcApproval bool hasStatus() const; /// The result or current status of the approval, e.g. Requested, Processed, Approved, Not Approved. - IfcLabel Status() const; - void setStatus(IfcLabel v); + std::string Status() const; + void setStatus(std::string v); /// Whether the optional attribute Level is defined for this IfcApproval bool hasLevel() const; /// Level of the approval e.g. Draft v.s. Completed design. - IfcLabel Level() const; - void setLevel(IfcLabel v); + std::string Level() const; + void setLevel(std::string v); /// Whether the optional attribute Qualifier is defined for this IfcApproval bool hasQualifier() const; /// Textual description of special constraints or conditions for the approval. - IfcText Qualifier() const; - void setQualifier(IfcText v); + std::string Qualifier() const; + void setQualifier(std::string v); /// Whether the optional attribute RequestingApproval is defined for this IfcApproval bool hasRequestingApproval() const; /// The actor that is acting in the role specified at IfcOrganization or individually at IfcPerson and requesting an approval. /// /// IFC2x4 CHANGE  New attribute for approval request replacing IfcApprovalActorRelationship (being deleted). - IfcActorSelect RequestingApproval() const; - void setRequestingApproval(IfcActorSelect v); + IfcActorSelect* RequestingApproval() const; + void setRequestingApproval(IfcActorSelect* v); /// Whether the optional attribute GivingApproval is defined for this IfcApproval bool hasGivingApproval() const; /// The actor that is acting in the role specified at IfcOrganization or individually at IfcPerson and giving an approval. /// /// IFC2x4 CHANGE  New attribute for approval provision replacing IfcApprovalActorRelationship (being deleted). - IfcActorSelect GivingApproval() const; - void setGivingApproval(IfcActorSelect v); + IfcActorSelect* GivingApproval() const; + void setGivingApproval(IfcActorSelect* v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_ENTITY; case 8: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Identifier"; case 1: return "Name"; case 2: return "Description"; case 3: return "TimeOfApproval"; case 4: return "Status"; case 5: return "Level"; case 6: return "Qualifier"; case 7: return "RequestingApproval"; case 8: return "GivingApproval"; } throw IfcParse::IfcException("argument out of range"); } @@ -7112,7 +8372,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcApproval (IfcAbstractEntity* e); - IfcApproval (boost::optional< IfcIdentifier > v1_Identifier, boost::optional< IfcLabel > v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcDateTime > v4_TimeOfApproval, boost::optional< IfcLabel > v5_Status, boost::optional< IfcLabel > v6_Level, boost::optional< IfcText > v7_Qualifier, boost::optional< IfcActorSelect > v8_RequestingApproval, boost::optional< IfcActorSelect > v9_GivingApproval); + IfcApproval (boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_TimeOfApproval, boost::optional< std::string > v5_Status, boost::optional< std::string > v6_Level, boost::optional< std::string > v7_Qualifier, IfcActorSelect* v8_RequestingApproval, IfcActorSelect* v9_GivingApproval); typedef IfcTemplatedEntityList< IfcApproval > list; }; /// Definition @@ -7135,8 +8395,8 @@ public: /// Whether the optional attribute Name is defined for this IfcBoundaryCondition bool hasName() const; /// Optionally defines a name for this boundary condition. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } throw IfcParse::IfcException("argument out of range"); } @@ -7145,7 +8405,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBoundaryCondition (IfcAbstractEntity* e); - IfcBoundaryCondition (boost::optional< IfcLabel > v1_Name); + IfcBoundaryCondition (boost::optional< std::string > v1_Name); typedef IfcTemplatedEntityList< IfcBoundaryCondition > list; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. @@ -7163,33 +8423,33 @@ public: /// Whether the optional attribute TranslationalStiffnessByLengthX is defined for this IfcBoundaryEdgeCondition bool hasTranslationalStiffnessByLengthX() const; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfTranslationalSubgradeReactionSelect TranslationalStiffnessByLengthX() const; - void setTranslationalStiffnessByLengthX(IfcModulusOfTranslationalSubgradeReactionSelect v); + IfcModulusOfTranslationalSubgradeReactionSelect* TranslationalStiffnessByLengthX() const; + void setTranslationalStiffnessByLengthX(IfcModulusOfTranslationalSubgradeReactionSelect* v); /// Whether the optional attribute TranslationalStiffnessByLengthY is defined for this IfcBoundaryEdgeCondition bool hasTranslationalStiffnessByLengthY() const; /// Translational stiffness value in y-direction of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfTranslationalSubgradeReactionSelect TranslationalStiffnessByLengthY() const; - void setTranslationalStiffnessByLengthY(IfcModulusOfTranslationalSubgradeReactionSelect v); + IfcModulusOfTranslationalSubgradeReactionSelect* TranslationalStiffnessByLengthY() const; + void setTranslationalStiffnessByLengthY(IfcModulusOfTranslationalSubgradeReactionSelect* v); /// Whether the optional attribute TranslationalStiffnessByLengthZ is defined for this IfcBoundaryEdgeCondition bool hasTranslationalStiffnessByLengthZ() const; /// Translational stiffness value in z-direction of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfTranslationalSubgradeReactionSelect TranslationalStiffnessByLengthZ() const; - void setTranslationalStiffnessByLengthZ(IfcModulusOfTranslationalSubgradeReactionSelect v); + IfcModulusOfTranslationalSubgradeReactionSelect* TranslationalStiffnessByLengthZ() const; + void setTranslationalStiffnessByLengthZ(IfcModulusOfTranslationalSubgradeReactionSelect* v); /// Whether the optional attribute RotationalStiffnessByLengthX is defined for this IfcBoundaryEdgeCondition bool hasRotationalStiffnessByLengthX() const; /// Rotational stiffness value about the x-axis of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfRotationalSubgradeReactionSelect RotationalStiffnessByLengthX() const; - void setRotationalStiffnessByLengthX(IfcModulusOfRotationalSubgradeReactionSelect v); + IfcModulusOfRotationalSubgradeReactionSelect* RotationalStiffnessByLengthX() const; + void setRotationalStiffnessByLengthX(IfcModulusOfRotationalSubgradeReactionSelect* v); /// Whether the optional attribute RotationalStiffnessByLengthY is defined for this IfcBoundaryEdgeCondition bool hasRotationalStiffnessByLengthY() const; /// Rotational stiffness value about the y-axis of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfRotationalSubgradeReactionSelect RotationalStiffnessByLengthY() const; - void setRotationalStiffnessByLengthY(IfcModulusOfRotationalSubgradeReactionSelect v); + IfcModulusOfRotationalSubgradeReactionSelect* RotationalStiffnessByLengthY() const; + void setRotationalStiffnessByLengthY(IfcModulusOfRotationalSubgradeReactionSelect* v); /// Whether the optional attribute RotationalStiffnessByLengthZ is defined for this IfcBoundaryEdgeCondition bool hasRotationalStiffnessByLengthZ() const; /// Rotational stiffness value about the z-axis of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfRotationalSubgradeReactionSelect RotationalStiffnessByLengthZ() const; - void setRotationalStiffnessByLengthZ(IfcModulusOfRotationalSubgradeReactionSelect v); + IfcModulusOfRotationalSubgradeReactionSelect* RotationalStiffnessByLengthZ() const; + void setRotationalStiffnessByLengthZ(IfcModulusOfRotationalSubgradeReactionSelect* v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; } return IfcBoundaryCondition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "TranslationalStiffnessByLengthX"; case 2: return "TranslationalStiffnessByLengthY"; case 3: return "TranslationalStiffnessByLengthZ"; case 4: return "RotationalStiffnessByLengthX"; case 5: return "RotationalStiffnessByLengthY"; case 6: return "RotationalStiffnessByLengthZ"; } return IfcBoundaryCondition::getArgumentName(i); } @@ -7198,7 +8458,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBoundaryEdgeCondition (IfcAbstractEntity* e); - IfcBoundaryEdgeCondition (boost::optional< IfcLabel > v1_Name, boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect > v2_TranslationalStiffnessByLengthX, boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect > v3_TranslationalStiffnessByLengthY, boost::optional< IfcModulusOfTranslationalSubgradeReactionSelect > v4_TranslationalStiffnessByLengthZ, boost::optional< IfcModulusOfRotationalSubgradeReactionSelect > v5_RotationalStiffnessByLengthX, boost::optional< IfcModulusOfRotationalSubgradeReactionSelect > v6_RotationalStiffnessByLengthY, boost::optional< IfcModulusOfRotationalSubgradeReactionSelect > v7_RotationalStiffnessByLengthZ); + IfcBoundaryEdgeCondition (boost::optional< std::string > v1_Name, IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ); typedef IfcTemplatedEntityList< IfcBoundaryEdgeCondition > list; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. @@ -7216,18 +8476,18 @@ public: /// Whether the optional attribute TranslationalStiffnessByAreaX is defined for this IfcBoundaryFaceCondition bool hasTranslationalStiffnessByAreaX() const; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfSubgradeReactionSelect TranslationalStiffnessByAreaX() const; - void setTranslationalStiffnessByAreaX(IfcModulusOfSubgradeReactionSelect v); + IfcModulusOfSubgradeReactionSelect* TranslationalStiffnessByAreaX() const; + void setTranslationalStiffnessByAreaX(IfcModulusOfSubgradeReactionSelect* v); /// Whether the optional attribute TranslationalStiffnessByAreaY is defined for this IfcBoundaryFaceCondition bool hasTranslationalStiffnessByAreaY() const; /// Translational stiffness value in y-direction of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfSubgradeReactionSelect TranslationalStiffnessByAreaY() const; - void setTranslationalStiffnessByAreaY(IfcModulusOfSubgradeReactionSelect v); + IfcModulusOfSubgradeReactionSelect* TranslationalStiffnessByAreaY() const; + void setTranslationalStiffnessByAreaY(IfcModulusOfSubgradeReactionSelect* v); /// Whether the optional attribute TranslationalStiffnessByAreaZ is defined for this IfcBoundaryFaceCondition bool hasTranslationalStiffnessByAreaZ() const; /// Translational stiffness value in z-direction of the coordinate system defined by the instance which uses this resource object. - IfcModulusOfSubgradeReactionSelect TranslationalStiffnessByAreaZ() const; - void setTranslationalStiffnessByAreaZ(IfcModulusOfSubgradeReactionSelect v); + IfcModulusOfSubgradeReactionSelect* TranslationalStiffnessByAreaZ() const; + void setTranslationalStiffnessByAreaZ(IfcModulusOfSubgradeReactionSelect* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; } return IfcBoundaryCondition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "TranslationalStiffnessByAreaX"; case 2: return "TranslationalStiffnessByAreaY"; case 3: return "TranslationalStiffnessByAreaZ"; } return IfcBoundaryCondition::getArgumentName(i); } @@ -7236,7 +8496,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBoundaryFaceCondition (IfcAbstractEntity* e); - IfcBoundaryFaceCondition (boost::optional< IfcLabel > v1_Name, boost::optional< IfcModulusOfSubgradeReactionSelect > v2_TranslationalStiffnessByAreaX, boost::optional< IfcModulusOfSubgradeReactionSelect > v3_TranslationalStiffnessByAreaY, boost::optional< IfcModulusOfSubgradeReactionSelect > v4_TranslationalStiffnessByAreaZ); + IfcBoundaryFaceCondition (boost::optional< std::string > v1_Name, IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ); typedef IfcTemplatedEntityList< IfcBoundaryFaceCondition > list; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions. @@ -7254,33 +8514,33 @@ public: /// Whether the optional attribute TranslationalStiffnessX is defined for this IfcBoundaryNodeCondition bool hasTranslationalStiffnessX() const; /// Translational stiffness value in x-direction of the coordinate system defined by the instance which uses this resource object. - IfcTranslationalStiffnessSelect TranslationalStiffnessX() const; - void setTranslationalStiffnessX(IfcTranslationalStiffnessSelect v); + IfcTranslationalStiffnessSelect* TranslationalStiffnessX() const; + void setTranslationalStiffnessX(IfcTranslationalStiffnessSelect* v); /// Whether the optional attribute TranslationalStiffnessY is defined for this IfcBoundaryNodeCondition bool hasTranslationalStiffnessY() const; /// Translational stiffness value in y-direction of the coordinate system defined by the instance which uses this resource object. - IfcTranslationalStiffnessSelect TranslationalStiffnessY() const; - void setTranslationalStiffnessY(IfcTranslationalStiffnessSelect v); + IfcTranslationalStiffnessSelect* TranslationalStiffnessY() const; + void setTranslationalStiffnessY(IfcTranslationalStiffnessSelect* v); /// Whether the optional attribute TranslationalStiffnessZ is defined for this IfcBoundaryNodeCondition bool hasTranslationalStiffnessZ() const; /// Translational stiffness value in z-direction of the coordinate system defined by the instance which uses this resource object. - IfcTranslationalStiffnessSelect TranslationalStiffnessZ() const; - void setTranslationalStiffnessZ(IfcTranslationalStiffnessSelect v); + IfcTranslationalStiffnessSelect* TranslationalStiffnessZ() const; + void setTranslationalStiffnessZ(IfcTranslationalStiffnessSelect* v); /// Whether the optional attribute RotationalStiffnessX is defined for this IfcBoundaryNodeCondition bool hasRotationalStiffnessX() const; /// Rotational stiffness value about the x-axis of the coordinate system defined by the instance which uses this resource object. - IfcRotationalStiffnessSelect RotationalStiffnessX() const; - void setRotationalStiffnessX(IfcRotationalStiffnessSelect v); + IfcRotationalStiffnessSelect* RotationalStiffnessX() const; + void setRotationalStiffnessX(IfcRotationalStiffnessSelect* v); /// Whether the optional attribute RotationalStiffnessY is defined for this IfcBoundaryNodeCondition bool hasRotationalStiffnessY() const; /// Rotational stiffness value about the y-axis of the coordinate system defined by the instance which uses this resource object. - IfcRotationalStiffnessSelect RotationalStiffnessY() const; - void setRotationalStiffnessY(IfcRotationalStiffnessSelect v); + IfcRotationalStiffnessSelect* RotationalStiffnessY() const; + void setRotationalStiffnessY(IfcRotationalStiffnessSelect* v); /// Whether the optional attribute RotationalStiffnessZ is defined for this IfcBoundaryNodeCondition bool hasRotationalStiffnessZ() const; /// Rotational stiffness value about the z-axis of the coordinate system defined by the instance which uses this resource object. - IfcRotationalStiffnessSelect RotationalStiffnessZ() const; - void setRotationalStiffnessZ(IfcRotationalStiffnessSelect v); + IfcRotationalStiffnessSelect* RotationalStiffnessZ() const; + void setRotationalStiffnessZ(IfcRotationalStiffnessSelect* v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; } return IfcBoundaryCondition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "TranslationalStiffnessX"; case 2: return "TranslationalStiffnessY"; case 3: return "TranslationalStiffnessZ"; case 4: return "RotationalStiffnessX"; case 5: return "RotationalStiffnessY"; case 6: return "RotationalStiffnessZ"; } return IfcBoundaryCondition::getArgumentName(i); } @@ -7289,7 +8549,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBoundaryNodeCondition (IfcAbstractEntity* e); - IfcBoundaryNodeCondition (boost::optional< IfcLabel > v1_Name, boost::optional< IfcTranslationalStiffnessSelect > v2_TranslationalStiffnessX, boost::optional< IfcTranslationalStiffnessSelect > v3_TranslationalStiffnessY, boost::optional< IfcTranslationalStiffnessSelect > v4_TranslationalStiffnessZ, boost::optional< IfcRotationalStiffnessSelect > v5_RotationalStiffnessX, boost::optional< IfcRotationalStiffnessSelect > v6_RotationalStiffnessY, boost::optional< IfcRotationalStiffnessSelect > v7_RotationalStiffnessZ); + IfcBoundaryNodeCondition (boost::optional< std::string > v1_Name, IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ); typedef IfcTemplatedEntityList< IfcBoundaryNodeCondition > list; }; /// Definition from IAI: Describes linearly elastic support conditions or connection conditions, including linearly elastic warping restraints. @@ -7306,8 +8566,8 @@ public: /// Whether the optional attribute WarpingStiffness is defined for this IfcBoundaryNodeConditionWarping bool hasWarpingStiffness() const; /// Defines the warping stiffness value. - IfcWarpingStiffnessSelect WarpingStiffness() const; - void setWarpingStiffness(IfcWarpingStiffnessSelect v); + IfcWarpingStiffnessSelect* WarpingStiffness() const; + void setWarpingStiffness(IfcWarpingStiffnessSelect* v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENTITY; } return IfcBoundaryNodeCondition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "WarpingStiffness"; } return IfcBoundaryNodeCondition::getArgumentName(i); } @@ -7316,7 +8576,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBoundaryNodeConditionWarping (IfcAbstractEntity* e); - IfcBoundaryNodeConditionWarping (boost::optional< IfcLabel > v1_Name, boost::optional< IfcTranslationalStiffnessSelect > v2_TranslationalStiffnessX, boost::optional< IfcTranslationalStiffnessSelect > v3_TranslationalStiffnessY, boost::optional< IfcTranslationalStiffnessSelect > v4_TranslationalStiffnessZ, boost::optional< IfcRotationalStiffnessSelect > v5_RotationalStiffnessX, boost::optional< IfcRotationalStiffnessSelect > v6_RotationalStiffnessY, boost::optional< IfcRotationalStiffnessSelect > v7_RotationalStiffnessZ, boost::optional< IfcWarpingStiffnessSelect > v8_WarpingStiffness); + IfcBoundaryNodeConditionWarping (boost::optional< std::string > v1_Name, IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ, IfcWarpingStiffnessSelect* v8_WarpingStiffness); typedef IfcTemplatedEntityList< IfcBoundaryNodeConditionWarping > list; }; /// 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. @@ -7365,13 +8625,13 @@ public: class IfcConnectionPointGeometry : public IfcConnectionGeometry { public: /// Point at which the connected object is aligned at the relating element, given in the LCS of the relating element. - IfcPointOrVertexPoint PointOnRelatingElement() const; - void setPointOnRelatingElement(IfcPointOrVertexPoint v); + IfcPointOrVertexPoint* PointOnRelatingElement() const; + void setPointOnRelatingElement(IfcPointOrVertexPoint* v); /// Whether the optional attribute PointOnRelatedElement is defined for this IfcConnectionPointGeometry bool hasPointOnRelatedElement() const; /// Point at which connected objects are aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used. - IfcPointOrVertexPoint PointOnRelatedElement() const; - void setPointOnRelatedElement(IfcPointOrVertexPoint v); + IfcPointOrVertexPoint* PointOnRelatedElement() const; + void setPointOnRelatedElement(IfcPointOrVertexPoint* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcConnectionGeometry::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "PointOnRelatingElement"; case 1: return "PointOnRelatedElement"; } return IfcConnectionGeometry::getArgumentName(i); } @@ -7380,7 +8640,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConnectionPointGeometry (IfcAbstractEntity* e); - IfcConnectionPointGeometry (IfcPointOrVertexPoint v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint > v2_PointOnRelatedElement); + IfcConnectionPointGeometry (IfcPointOrVertexPoint* v1_PointOnRelatingElement, IfcPointOrVertexPoint* v2_PointOnRelatedElement); typedef IfcTemplatedEntityList< IfcConnectionPointGeometry > list; }; /// 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. @@ -7394,13 +8654,13 @@ public: class IfcConnectionSurfaceGeometry : public IfcConnectionGeometry { public: /// Surface at which related object is aligned at the relating element, given in the LCS of the relating element. - IfcSurfaceOrFaceSurface SurfaceOnRelatingElement() const; - void setSurfaceOnRelatingElement(IfcSurfaceOrFaceSurface v); + IfcSurfaceOrFaceSurface* SurfaceOnRelatingElement() const; + void setSurfaceOnRelatingElement(IfcSurfaceOrFaceSurface* v); /// Whether the optional attribute SurfaceOnRelatedElement is defined for this IfcConnectionSurfaceGeometry bool hasSurfaceOnRelatedElement() const; /// Surface at which the relating element is aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used. - IfcSurfaceOrFaceSurface SurfaceOnRelatedElement() const; - void setSurfaceOnRelatedElement(IfcSurfaceOrFaceSurface v); + IfcSurfaceOrFaceSurface* SurfaceOnRelatedElement() const; + void setSurfaceOnRelatedElement(IfcSurfaceOrFaceSurface* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcConnectionGeometry::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "SurfaceOnRelatingElement"; case 1: return "SurfaceOnRelatedElement"; } return IfcConnectionGeometry::getArgumentName(i); } @@ -7409,7 +8669,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConnectionSurfaceGeometry (IfcAbstractEntity* e); - IfcConnectionSurfaceGeometry (IfcSurfaceOrFaceSurface v1_SurfaceOnRelatingElement, boost::optional< IfcSurfaceOrFaceSurface > v2_SurfaceOnRelatedElement); + IfcConnectionSurfaceGeometry (IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement); typedef IfcTemplatedEntityList< IfcConnectionSurfaceGeometry > list; }; /// IfcConnectionVolumeGeometry is used to describe the geometric constraints that facilitate the physical connection (or overlap) of two objects at a volume defined by a solid or closed shell. It is envisioned as a control that applies to the element connection or interference relationships. @@ -7421,13 +8681,13 @@ public: class IfcConnectionVolumeGeometry : public IfcConnectionGeometry { public: /// Volume at which related object overlaps with the relating element, given in the LCS of the relating element. - IfcSolidOrShell VolumeOnRelatingElement() const; - void setVolumeOnRelatingElement(IfcSolidOrShell v); + IfcSolidOrShell* VolumeOnRelatingElement() const; + void setVolumeOnRelatingElement(IfcSolidOrShell* v); /// Whether the optional attribute VolumeOnRelatedElement is defined for this IfcConnectionVolumeGeometry bool hasVolumeOnRelatedElement() const; /// Volume at which related object overlaps with the relating element, given in the LCS of the related element. - IfcSolidOrShell VolumeOnRelatedElement() const; - void setVolumeOnRelatedElement(IfcSolidOrShell v); + IfcSolidOrShell* VolumeOnRelatedElement() const; + void setVolumeOnRelatedElement(IfcSolidOrShell* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcConnectionGeometry::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "VolumeOnRelatingElement"; case 1: return "VolumeOnRelatedElement"; } return IfcConnectionGeometry::getArgumentName(i); } @@ -7436,7 +8696,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConnectionVolumeGeometry (IfcAbstractEntity* e); - IfcConnectionVolumeGeometry (IfcSolidOrShell v1_VolumeOnRelatingElement, boost::optional< IfcSolidOrShell > v2_VolumeOnRelatedElement); + IfcConnectionVolumeGeometry (IfcSolidOrShell* v1_VolumeOnRelatingElement, IfcSolidOrShell* v2_VolumeOnRelatedElement); typedef IfcTemplatedEntityList< IfcConnectionVolumeGeometry > list; }; /// 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. @@ -7454,39 +8714,39 @@ public: class IfcConstraint : public IfcUtil::IfcBaseEntity { public: /// A name to be used for the constraint (e.g., ChillerCoefficientOfPerformance). - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcConstraint bool hasDescription() const; /// A description that may apply additional information about a constraint. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Enumeration that qualifies the type of constraint. IfcConstraintEnum::IfcConstraintEnum ConstraintGrade() const; void setConstraintGrade(IfcConstraintEnum::IfcConstraintEnum v); /// Whether the optional attribute ConstraintSource is defined for this IfcConstraint bool hasConstraintSource() const; /// Any source material, such as a code or standard, from which the constraint originated. - IfcLabel ConstraintSource() const; - void setConstraintSource(IfcLabel v); + std::string ConstraintSource() const; + void setConstraintSource(std::string v); /// Whether the optional attribute CreatingActor is defined for this IfcConstraint bool hasCreatingActor() const; /// Person and/or organization that has created the constraint. - IfcActorSelect CreatingActor() const; - void setCreatingActor(IfcActorSelect v); + IfcActorSelect* CreatingActor() const; + void setCreatingActor(IfcActorSelect* v); /// Whether the optional attribute CreationTime is defined for this IfcConstraint bool hasCreationTime() const; /// Time when information specifying the constraint instance was created. /// /// Note IFC2x4 CHANGE: Attribute data type changed to IfcDateTime using ISO 8601 representation - IfcDateTime CreationTime() const; - void setCreationTime(IfcDateTime v); + std::string CreationTime() const; + void setCreationTime(std::string v); /// Whether the optional attribute UserDefinedGrade is defined for this IfcConstraint bool hasUserDefinedGrade() const; /// Allows for specification of user defined grade of the constraint beyond the enumeration values (hard, soft, advisory) provided by ConstraintGrade attribute of type IfcConstraintEnum. /// When a value is provided for attribute UserDefinedGrade in parallel the attribute ConstraintGrade shall have enumeration value USERDEFINED. - IfcLabel UserDefinedGrade() const; - void setUserDefinedGrade(IfcLabel v); + std::string UserDefinedGrade() const; + void setUserDefinedGrade(std::string v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; } throw IfcParse::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 IfcParse::IfcException("argument out of range"); } @@ -7497,7 +8757,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstraint (IfcAbstractEntity* e); - IfcConstraint (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTime > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade); + IfcConstraint (std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade); typedef IfcTemplatedEntityList< IfcConstraint > list; }; /// Definition from OpenGIS® Abstract Specification, @@ -7549,8 +8809,8 @@ public: class IfcCoordinateOperation : public IfcUtil::IfcBaseEntity { public: /// Source coordinate reference system for the operation. - IfcCoordinateReferenceSystemSelect SourceCRS() const; - void setSourceCRS(IfcCoordinateReferenceSystemSelect v); + IfcCoordinateReferenceSystemSelect* SourceCRS() const; + void setSourceCRS(IfcCoordinateReferenceSystemSelect* v); /// Target coordinate reference system for the operation. IfcCoordinateReferenceSystem* TargetCRS() const; void setTargetCRS(IfcCoordinateReferenceSystem* v); @@ -7562,7 +8822,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCoordinateOperation (IfcAbstractEntity* e); - IfcCoordinateOperation (IfcCoordinateReferenceSystemSelect v1_SourceCRS, IfcCoordinateReferenceSystem* v2_TargetCRS); + IfcCoordinateOperation (IfcCoordinateReferenceSystemSelect* v1_SourceCRS, IfcCoordinateReferenceSystem* v2_TargetCRS); typedef IfcTemplatedEntityList< IfcCoordinateOperation > list; }; /// Definition from OpenGIS® Abstract Specification, Topic @@ -7593,28 +8853,28 @@ public: bool hasName() const; /// Name by which the coordinate reference system is identified. /// Note  The name shall be taken from the list recognized by the European Petroleum Survey Group EPSG. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcCoordinateReferenceSystem bool hasDescription() const; /// Informal description of this coordinate reference system. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Name by which this datum is identified. The geodetic datum is associated with the coordinate reference system and indicates the shape and size of the rotation ellipsoid and this ellipsoid's connection and orientation to the actual globe/earth. Examples for geodetic datums include: /// /// ED50 /// EUREF89 /// WSG84 - IfcIdentifier GeodeticDatum() const; - void setGeodeticDatum(IfcIdentifier v); + std::string GeodeticDatum() const; + void setGeodeticDatum(std::string v); /// Whether the optional attribute VerticalDatum is defined for this IfcCoordinateReferenceSystem bool hasVerticalDatum() const; /// Name by which the vertical datum is identified. The vertical datum is associated with the height axis of the coordinate reference system and indicates the reference plane and fundamental point defining the origin of a height system. Examples for vertical datums include: /// /// height above mean sea level at Dover in 1952 /// other sea levels - IfcIdentifier VerticalDatum() const; - void setVerticalDatum(IfcIdentifier v); + std::string VerticalDatum() const; + void setVerticalDatum(std::string v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::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 "GeodeticDatum"; case 3: return "VerticalDatum"; } throw IfcParse::IfcException("argument out of range"); } @@ -7623,7 +8883,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCoordinateReferenceSystem (IfcAbstractEntity* e); - IfcCoordinateReferenceSystem (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcIdentifier v3_GeodeticDatum, boost::optional< IfcIdentifier > v4_VerticalDatum); + IfcCoordinateReferenceSystem (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, std::string v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum); typedef IfcTemplatedEntityList< IfcCoordinateReferenceSystem > list; }; /// IfcCostValue is an amount of money or a value that affects an amount of money. @@ -7678,7 +8938,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCostValue (IfcAbstractEntity* e); - IfcCostValue (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcAppliedValueSelect > v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< IfcDate > v5_ApplicableDate, boost::optional< IfcDate > v6_FixedUntilDate, boost::optional< IfcLabel > v7_Category, boost::optional< IfcLabel > v8_Condition, boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v9_ArithmeticOperator, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_Components); + IfcCostValue (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcAppliedValueSelect* v3_AppliedValue, IfcMeasureWithUnit* v4_UnitBasis, boost::optional< std::string > v5_ApplicableDate, boost::optional< std::string > v6_FixedUntilDate, boost::optional< std::string > v7_Category, boost::optional< std::string > v8_Condition, boost::optional< IfcArithmeticOperatorEnum::IfcArithmeticOperatorEnum > v9_ArithmeticOperator, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_Components); typedef IfcTemplatedEntityList< IfcCostValue > list; }; /// Definition from ISO/CD 10303-41:1992: A derived unit is an expression of units. @@ -7698,8 +8958,8 @@ public: void setUnitType(IfcDerivedUnitEnum::IfcDerivedUnitEnum v); /// Whether the optional attribute UserDefinedType is defined for this IfcDerivedUnit bool hasUserDefinedType() const; - IfcLabel UserDefinedType() const; - void setUserDefinedType(IfcLabel v); + std::string UserDefinedType() const; + void setUserDefinedType(std::string v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_ENUMERATION; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Elements"; case 1: return "UnitType"; case 2: return "UserDefinedType"; } throw IfcParse::IfcException("argument out of range"); } @@ -7708,7 +8968,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDerivedUnit (IfcAbstractEntity* e); - IfcDerivedUnit (IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr v1_Elements, IfcDerivedUnitEnum::IfcDerivedUnitEnum v2_UnitType, boost::optional< IfcLabel > v3_UserDefinedType); + IfcDerivedUnit (IfcTemplatedEntityList< IfcDerivedUnitElement >::ptr v1_Elements, IfcDerivedUnitEnum::IfcDerivedUnitEnum v2_UnitType, boost::optional< std::string > v3_UserDefinedType); typedef IfcTemplatedEntityList< IfcDerivedUnit > list; }; /// Definition from ISO/CD 10303-41:1992: A derived unit element is one of the unit quantities @@ -7825,8 +9085,8 @@ public: /// 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. - IfcURIReference Location() const; - void setLocation(IfcURIReference v); + std::string Location() const; + void setLocation(std::string v); /// Whether the optional attribute Identification is defined for this IfcExternalReference bool hasIdentification() const; /// The Identification provides a unique identifier of the referenced item within the external source (classification, document or library). It may be provided as @@ -7838,13 +9098,13 @@ public: /// It may be human readable (such as a key) or not (such as a handle or uuid) depending on the context of its usage (which has to be determined by local agreement). /// /// IFC2x4 CHANGE Attribute renamed from ItemReference for consistency. - IfcIdentifier Identification() const; - void setIdentification(IfcIdentifier v); + std::string Identification() const; + void setIdentification(std::string v); /// Whether the optional attribute Name is defined for this IfcExternalReference bool hasName() const; /// Optional name to further specify the reference. It can provide a human readable identifier (which does not necessarily need to have a counterpart in the internal structure of the document). - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Location"; case 1: return "Identification"; case 2: return "Name"; } throw IfcParse::IfcException("argument out of range"); } @@ -7854,7 +9114,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcExternalReference (IfcAbstractEntity* e); - IfcExternalReference (boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name); + IfcExternalReference (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcExternalReference > list; }; /// Definition from ISO/CD 10303-46:1992: The externally defined hatch style is an entity which makes an external reference to a hatching style. @@ -7875,7 +9135,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcExternallyDefinedHatchStyle (IfcAbstractEntity* e); - IfcExternallyDefinedHatchStyle (boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name); + IfcExternallyDefinedHatchStyle (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcExternallyDefinedHatchStyle > list; }; /// IfcExternallyDefinedSurfaceStyle is a definition of a surface style through referencing an external source, such as a material library for rendering information. @@ -7895,7 +9155,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcExternallyDefinedSurfaceStyle (IfcAbstractEntity* e); - IfcExternallyDefinedSurfaceStyle (boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name); + IfcExternallyDefinedSurfaceStyle (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcExternallyDefinedSurfaceStyle > list; }; /// Definition from ISO/CD 10303-46:1992: The externally defined text font is an external reference to a text font @@ -7915,7 +9175,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcExternallyDefinedTextFont (IfcAbstractEntity* e); - IfcExternallyDefinedTextFont (boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name); + IfcExternallyDefinedTextFont (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcExternallyDefinedTextFont > list; }; /// 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. @@ -7946,14 +9206,14 @@ public: /// Whether the optional attribute AxisTag is defined for this IfcGridAxis bool hasAxisTag() const; /// The tag or name for this grid axis. - IfcLabel AxisTag() const; - void setAxisTag(IfcLabel v); + std::string AxisTag() const; + void setAxisTag(std::string v); /// Underlying curve which provides the geometry for this grid axis. IfcCurve* AxisCurve() const; void setAxisCurve(IfcCurve* v); /// Defines whether the original sense of curve is used or whether it is reversed in the context of the grid axis. - IfcBoolean SameSense() const; - void setSameSense(IfcBoolean v); + bool SameSense() const; + void setSameSense(bool v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_BOOL; } throw IfcParse::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 IfcParse::IfcException("argument out of range"); } @@ -7966,7 +9226,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGridAxis (IfcAbstractEntity* e); - IfcGridAxis (boost::optional< IfcLabel > v1_AxisTag, IfcCurve* v2_AxisCurve, IfcBoolean v3_SameSense); + IfcGridAxis (boost::optional< std::string > v1_AxisTag, IfcCurve* v2_AxisCurve, bool v3_SameSense); typedef IfcTemplatedEntityList< IfcGridAxis > list; }; /// The IfcIrregularTimeSeriesValue describes a value (or set of values) at a particular time point. @@ -7975,11 +9235,11 @@ public: class IfcIrregularTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// The specification of the time point. - IfcDateTime TimeStamp() const; - void setTimeStamp(IfcDateTime v); + std::string TimeStamp() const; + void setTimeStamp(std::string v); /// A list of time-series values. At least one value is required. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr ListValues() const; - void setListValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr ListValues() const; + void setListValues(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TimeStamp"; case 1: return "ListValues"; } throw IfcParse::IfcException("argument out of range"); } @@ -7988,7 +9248,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcIrregularTimeSeriesValue (IfcAbstractEntity* e); - IfcIrregularTimeSeriesValue (IfcDateTime v1_TimeStamp, IfcEntityList::ptr v2_ListValues); + IfcIrregularTimeSeriesValue (std::string v1_TimeStamp, IfcEntityList::ptr v2_ListValues); typedef IfcTemplatedEntityList< IfcIrregularTimeSeriesValue > list; }; /// 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. @@ -8002,36 +9262,36 @@ public: class IfcLibraryInformation : public IfcExternalInformation { public: /// The name which is used to identify the library. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Version is defined for this IfcLibraryInformation bool hasVersion() const; /// Identifier for the library version used for reference. - IfcLabel Version() const; - void setVersion(IfcLabel v); + std::string Version() const; + void setVersion(std::string v); /// Whether the optional attribute Publisher is defined for this IfcLibraryInformation bool hasPublisher() const; /// Information of the organization that acts as the library publisher. - IfcActorSelect Publisher() const; - void setPublisher(IfcActorSelect v); + IfcActorSelect* Publisher() const; + void setPublisher(IfcActorSelect* v); /// Whether the optional attribute VersionDate is defined for this IfcLibraryInformation bool hasVersionDate() const; /// Date of the referenced version of the library. /// /// IFC2x4 CHANGE  The data type has been changed to IfcDate, the date string according to ISO8601. - IfcDateTime VersionDate() const; - void setVersionDate(IfcDateTime v); + std::string VersionDate() const; + void setVersionDate(std::string v); /// Whether the optional attribute Location is defined for this IfcLibraryInformation bool hasLocation() const; /// Resource identifier or locator, provided as URI, URN or URL, of the library information for online references. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - IfcURIReference Location() const; - void setLocation(IfcURIReference v); + std::string Location() const; + void setLocation(std::string v); /// Whether the optional attribute Description is defined for this IfcLibraryInformation bool hasDescription() const; - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; } return IfcExternalInformation::getArgumentType(i); } 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 "Location"; case 5: return "Description"; } return IfcExternalInformation::getArgumentName(i); } @@ -8042,7 +9302,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLibraryInformation (IfcAbstractEntity* e); - IfcLibraryInformation (IfcLabel v1_Name, boost::optional< IfcLabel > v2_Version, boost::optional< IfcActorSelect > v3_Publisher, boost::optional< IfcDateTime > v4_VersionDate, boost::optional< IfcURIReference > v5_Location, boost::optional< IfcText > v6_Description); + IfcLibraryInformation (std::string v1_Name, boost::optional< std::string > v2_Version, IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description); typedef IfcTemplatedEntityList< IfcLibraryInformation > list; }; /// 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. @@ -8059,15 +9319,15 @@ public: /// Additional description provided for the library reference. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Whether the optional attribute Language is defined for this IfcLibraryReference bool hasLanguage() const; /// The language in which a library reference is expressed. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - IfcLanguageId Language() const; - void setLanguage(IfcLanguageId v); + std::string Language() const; + void setLanguage(std::string v); /// Whether the optional attribute ReferencedLibrary is defined for this IfcLibraryReference bool hasReferencedLibrary() const; /// The library information that is being referenced. @@ -8082,7 +9342,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLibraryReference (IfcAbstractEntity* e); - IfcLibraryReference (boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLanguageId > v5_Language, IfcLibraryInformation* v6_ReferencedLibrary); + IfcLibraryReference (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_Language, IfcLibraryInformation* v6_ReferencedLibrary); typedef IfcTemplatedEntityList< IfcLibraryReference > list; }; /// 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 @@ -8103,16 +9363,16 @@ public: class IfcLightDistributionData : public IfcUtil::IfcBaseEntity { public: /// The main plane angle (A, B or C angles, according to the light distribution curve chosen). - IfcPlaneAngleMeasure MainPlaneAngle() const; - void setMainPlaneAngle(IfcPlaneAngleMeasure v); + double MainPlaneAngle() const; + void setMainPlaneAngle(double v); /// 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< IfcPlaneAngleMeasure > /*[1:?]*/ SecondaryPlaneAngle() const; - void setSecondaryPlaneAngle(std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ v); + std::vector< double > /*[1:?]*/ SecondaryPlaneAngle() const; + void setSecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v); /// The luminous intensity distribution measure for this pair of main and secondary plane angles according to the light distribution curve chosen. - std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ LuminousIntensity() const; - void setLuminousIntensity(std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ v); + std::vector< double > /*[1:?]*/ LuminousIntensity() const; + void setLuminousIntensity(std::vector< double > /*[1:?]*/ v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_VECTOR_DOUBLE; case 2: return IfcUtil::Argument_VECTOR_DOUBLE; } throw IfcParse::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 IfcParse::IfcException("argument out of range"); } @@ -8121,7 +9381,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLightDistributionData (IfcAbstractEntity* e); - IfcLightDistributionData (IfcPlaneAngleMeasure v1_MainPlaneAngle, std::vector< IfcPlaneAngleMeasure > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< IfcLuminousIntensityDistributionMeasure > /*[1:?]*/ v3_LuminousIntensity); + IfcLightDistributionData (double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity); typedef IfcTemplatedEntityList< IfcLightDistributionData > list; }; /// 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. @@ -8161,35 +9421,35 @@ class IfcMapConversion : public IfcCoordinateOperation { public: /// Specifies the location along the easting of the coordinate system of the target map coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the x axis - IfcLengthMeasure Eastings() const; - void setEastings(IfcLengthMeasure v); + double Eastings() const; + void setEastings(double v); /// Specifies the location along the northing of the coordinate system of the target map coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the y axis - IfcLengthMeasure Northings() const; - void setNorthings(IfcLengthMeasure v); + double Northings() const; + void setNorthings(double v); /// Orthogonal height relativ to the vertical datum specified. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the z axis - IfcLengthMeasure OrthogonalHeight() const; - void setOrthogonalHeight(IfcLengthMeasure v); + double OrthogonalHeight() const; + void setOrthogonalHeight(double v); /// Whether the optional attribute XAxisAbscissa is defined for this IfcMapConversion bool hasXAxisAbscissa() const; /// Specifies the value along the easing axis of the end point of a vector indicating the position of the local x axis of the engineering coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the x axis /// NOTE  together with the XAxisOrdinate it provides the direction of the local x axis within the horizontal plane of the map coordinate system - IfcReal XAxisAbscissa() const; - void setXAxisAbscissa(IfcReal v); + double XAxisAbscissa() const; + void setXAxisAbscissa(double v); /// Whether the optional attribute XAxisOrdinate is defined for this IfcMapConversion bool hasXAxisOrdinate() const; /// Specifies the value along the northing axis of the end point of a vector indicating the position of the local x axis of the engineering coordinate reference system. /// NOTE  for right-handed Cartesian coordinate systems this would establish the location along the y axis /// NOTE  together with the XAxisAbscissa it provides the direction of the local x axis within the horizontal plane of the map coordinate system - IfcReal XAxisOrdinate() const; - void setXAxisOrdinate(IfcReal v); + double XAxisOrdinate() const; + void setXAxisOrdinate(double v); /// Whether the optional attribute Scale is defined for this IfcMapConversion bool hasScale() const; /// Scale to be used, when the units of the CRS are not identical to the units of the engineering coordinate system. If omited, the value of 1.0 is assumed. - IfcReal Scale() const; - void setScale(IfcReal v); + double Scale() const; + void setScale(double v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; } return IfcCoordinateOperation::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Eastings"; case 3: return "Northings"; case 4: return "OrthogonalHeight"; case 5: return "XAxisAbscissa"; case 6: return "XAxisOrdinate"; case 7: return "Scale"; } return IfcCoordinateOperation::getArgumentName(i); } @@ -8198,7 +9458,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMapConversion (IfcAbstractEntity* e); - IfcMapConversion (IfcCoordinateReferenceSystemSelect v1_SourceCRS, IfcCoordinateReferenceSystem* v2_TargetCRS, IfcLengthMeasure v3_Eastings, IfcLengthMeasure v4_Northings, IfcLengthMeasure v5_OrthogonalHeight, boost::optional< IfcReal > v6_XAxisAbscissa, boost::optional< IfcReal > v7_XAxisOrdinate, boost::optional< IfcReal > v8_Scale); + IfcMapConversion (IfcCoordinateReferenceSystemSelect* v1_SourceCRS, IfcCoordinateReferenceSystem* v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, boost::optional< double > v6_XAxisAbscissa, boost::optional< double > v7_XAxisOrdinate, boost::optional< double > v8_Scale); typedef IfcTemplatedEntityList< IfcMapConversion > list; }; /// IfcMaterialClassificationRelationship is a relationship assigning classifications to materials. @@ -8209,8 +9469,8 @@ public: class IfcMaterialClassificationRelationship : public IfcUtil::IfcBaseEntity { public: /// The material classifications identifying the type of material. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr MaterialClassifications() const; - void setMaterialClassifications(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr MaterialClassifications() const; + void setMaterialClassifications(IfcEntityList::ptr v); /// Material being classified. IfcMaterial* ClassifiedMaterial() const; void setClassifiedMaterial(IfcMaterial* v); @@ -8300,8 +9560,8 @@ public: /// 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. - IfcNonNegativeLengthMeasure LayerThickness() const; - void setLayerThickness(IfcNonNegativeLengthMeasure v); + double LayerThickness() const; + void setLayerThickness(double v); /// Whether the optional attribute IsVentilated is defined for this IfcMaterialLayer bool hasIsVentilated() const; /// Indication of whether the material layer represents an air layer (or cavity). @@ -8309,28 +9569,28 @@ public: /// set to TRUE if the material layer is an air gap and provides air exchange from the layer to the outside air. /// set to UNKNOWN if the material layer is an air gap and does not provide air exchange (or when this information about air exchange of the air gap is not available). /// set to FALSE if the material layer is a solid material layer (the default). - IfcLogical IsVentilated() const; - void setIsVentilated(IfcLogical v); + bool IsVentilated() const; + void setIsVentilated(bool v); /// Whether the optional attribute Name is defined for this IfcMaterialLayer bool hasName() const; /// The name by which the material layer is known. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcMaterialLayer bool hasDescription() const; /// Definition of the material layer in more descriptive terms than given by attributes Name or Category. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Whether the optional attribute Category is defined for this IfcMaterialLayer bool hasCategory() const; /// Category of the material layer, e.g. the role it has in the layer set it belongs to (such as 'load bearing', 'thermal insulation' etc.). - IfcLabel Category() const; - void setCategory(IfcLabel v); + std::string Category() const; + void setCategory(std::string v); /// Whether the optional attribute Priority is defined for this IfcMaterialLayer bool hasPriority() const; /// The relative priority of the layer, expressed as ratio measure, normalised to 0..1. Controls how layers intersect in connections and corners of building elements: a layer from one element protrudes into (i.e. displaces) a layer from another element in a joint of these elements if the former element's layer has higher priority than the latter. The priorty value for a material layer in an element has to be set and maintained by software applications, in relation to the material layers in connected elements. The usage has to be further specified for each element, especially to avoid simultanious use with IfcLayerOffset. - IfcNormalisedRatioMeasure Priority() const; - void setPriority(IfcNormalisedRatioMeasure v); + double Priority() const; + void setPriority(double v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_BOOL; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_DOUBLE; } return IfcMaterialDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Material"; case 1: return "LayerThickness"; case 2: return "IsVentilated"; case 3: return "Name"; case 4: return "Description"; case 5: return "Category"; case 6: return "Priority"; } return IfcMaterialDefinition::getArgumentName(i); } @@ -8340,7 +9600,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterialLayer (IfcAbstractEntity* e); - IfcMaterialLayer (IfcMaterial* v1_Material, IfcNonNegativeLengthMeasure v2_LayerThickness, boost::optional< IfcLogical > v3_IsVentilated, boost::optional< IfcLabel > v4_Name, boost::optional< IfcText > v5_Description, boost::optional< IfcLabel > v6_Category, boost::optional< IfcNormalisedRatioMeasure > v7_Priority); + IfcMaterialLayer (IfcMaterial* v1_Material, double v2_LayerThickness, boost::optional< bool > v3_IsVentilated, boost::optional< std::string > v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Category, boost::optional< double > v7_Priority); typedef IfcTemplatedEntityList< IfcMaterialLayer > list; }; /// 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. @@ -8384,15 +9644,15 @@ public: /// Whether the optional attribute LayerSetName is defined for this IfcMaterialLayerSet bool hasLayerSetName() const; /// The name by which the material layer set is known. - IfcLabel LayerSetName() const; - void setLayerSetName(IfcLabel v); + std::string LayerSetName() const; + void setLayerSetName(std::string v); /// Whether the optional attribute Description is defined for this IfcMaterialLayerSet bool hasDescription() const; /// Definition of the material layer set in descriptive terms. /// /// IFC2x4 CHANGE  The attribute has been added at the end of attribute list. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } return IfcMaterialDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "MaterialLayers"; case 1: return "LayerSetName"; case 2: return "Description"; } return IfcMaterialDefinition::getArgumentName(i); } @@ -8401,7 +9661,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterialLayerSet (IfcAbstractEntity* e); - IfcMaterialLayerSet (IfcTemplatedEntityList< IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< IfcLabel > v2_LayerSetName, boost::optional< IfcText > v3_Description); + IfcMaterialLayerSet (IfcTemplatedEntityList< IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description); typedef IfcTemplatedEntityList< IfcMaterialLayerSet > list; }; /// IfcMaterialLayerWithOffsets is a specialization of IfcMaterialLayer enabling definition @@ -8453,8 +9713,8 @@ public: IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum OffsetDirection() const; void setOffsetDirection(IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v); /// The numerical value of layer offset, in the direction of the axis assigned by the attribute OffsetDirection. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion), - std::vector< IfcLengthMeasure > /*[1:2]*/ OffsetValues() const; - void setOffsetValues(std::vector< IfcLengthMeasure > /*[1:2]*/ v); + std::vector< double > /*[1:2]*/ OffsetValues() const; + void setOffsetValues(std::vector< double > /*[1:2]*/ v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_VECTOR_DOUBLE; } return IfcMaterialLayer::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "OffsetDirection"; case 8: return "OffsetValues"; } return IfcMaterialLayer::getArgumentName(i); } @@ -8463,7 +9723,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterialLayerWithOffsets (IfcAbstractEntity* e); - IfcMaterialLayerWithOffsets (IfcMaterial* v1_Material, IfcNonNegativeLengthMeasure v2_LayerThickness, boost::optional< IfcLogical > v3_IsVentilated, boost::optional< IfcLabel > v4_Name, boost::optional< IfcText > v5_Description, boost::optional< IfcLabel > v6_Category, boost::optional< IfcNormalisedRatioMeasure > v7_Priority, IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v8_OffsetDirection, std::vector< IfcLengthMeasure > /*[1:2]*/ v9_OffsetValues); + IfcMaterialLayerWithOffsets (IfcMaterial* v1_Material, double v2_LayerThickness, boost::optional< bool > v3_IsVentilated, boost::optional< std::string > v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Category, boost::optional< double > v7_Priority, IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues); typedef IfcTemplatedEntityList< IfcMaterialLayerWithOffsets > list; }; /// IfcMaterialList is a list of the different materials @@ -8509,13 +9769,13 @@ public: /// Whether the optional attribute Name is defined for this IfcMaterialProfile bool hasName() const; /// The name by which the material profile is known. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcMaterialProfile bool hasDescription() const; /// Definition of the material profile in descriptive terms. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Whether the optional attribute Material is defined for this IfcMaterialProfile bool hasMaterial() const; /// Optional reference to the material from which the profile is constructed. @@ -8527,13 +9787,13 @@ public: /// Whether the optional attribute Priority is defined for this IfcMaterialProfile bool hasPriority() const; /// The relative priority of the profile, expressed as ratio measure, normalised to 0..1. Controls how profiles intersect in connections and corners of building elements: a profile from one element protrudes into (i.e. displaces) a profile from another element in a joint of these elements if the former element's profile has higher priority than the latter. The priorty value for a material profile in an element has to be set and maintained by software applications, in relation to the material profiles in connected elements. - IfcNormalisedRatioMeasure Priority() const; - void setPriority(IfcNormalisedRatioMeasure v); + double Priority() const; + void setPriority(double v); /// Whether the optional attribute Category is defined for this IfcMaterialProfile bool hasCategory() const; /// Category of the material profile, e.g. the role it has in the profile set it belongs to. - IfcLabel Category() const; - void setCategory(IfcLabel v); + std::string Category() const; + void setCategory(std::string v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_STRING; } return IfcMaterialDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "Material"; case 3: return "Profile"; case 4: return "Priority"; case 5: return "Category"; } return IfcMaterialDefinition::getArgumentName(i); } @@ -8543,7 +9803,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterialProfile (IfcAbstractEntity* e); - IfcMaterialProfile (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMaterial* v3_Material, IfcProfileDef* v4_Profile, boost::optional< IfcNormalisedRatioMeasure > v5_Priority, boost::optional< IfcLabel > v6_Category); + IfcMaterialProfile (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcMaterial* v3_Material, IfcProfileDef* v4_Profile, boost::optional< double > v5_Priority, boost::optional< std::string > v6_Category); typedef IfcTemplatedEntityList< IfcMaterialProfile > list; }; /// IfcMaterialProfileSet is a designation by which individual material(s) of a prismatic element (for example, beam or column) constructed of a single or multiple material profiles is known. If only a single material profile is used (the most typical case) then no CompositeProfile is asserted. @@ -8556,13 +9816,13 @@ public: /// Whether the optional attribute Name is defined for this IfcMaterialProfileSet bool hasName() const; /// The name by which the material profile set is known. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcMaterialProfileSet bool hasDescription() const; /// Definition of the material profile set in descriptive terms. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Identification of the profiles from which the material profile set is composed. IfcTemplatedEntityList< IfcMaterialProfile >::ptr MaterialProfiles() const; void setMaterialProfiles(IfcTemplatedEntityList< IfcMaterialProfile >::ptr v); @@ -8582,7 +9842,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterialProfileSet (IfcAbstractEntity* e); - IfcMaterialProfileSet (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcMaterialProfile >::ptr v3_MaterialProfiles, IfcCompositeProfileDef* v4_CompositeProfile); + IfcMaterialProfileSet (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcMaterialProfile >::ptr v3_MaterialProfiles, IfcCompositeProfileDef* v4_CompositeProfile); typedef IfcTemplatedEntityList< IfcMaterialProfileSet > list; }; /// IfcMaterialProfileWithOffsets is a specialization of IfcMaterialProfile enabling definition offset values for profile start or end in its use in parent material profile set usage. @@ -8593,8 +9853,8 @@ public: class IfcMaterialProfileWithOffsets : public IfcMaterialProfile { public: /// The numerical value of profile offset, in the direction of the axis direction - always AXIS1 i.e. the axis along the extrusion path. The OffsetValues[1] identifies the offset from the lower position along the axis direction (normally the start of the standard extrusion), the OffsetValues[2] identifies the offset from the upper position along the axis direction (normally the end of the standard extrusion), - std::vector< IfcLengthMeasure > /*[1:2]*/ OffsetValues() const; - void setOffsetValues(std::vector< IfcLengthMeasure > /*[1:2]*/ v); + std::vector< double > /*[1:2]*/ OffsetValues() const; + void setOffsetValues(std::vector< double > /*[1:2]*/ v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_VECTOR_DOUBLE; } return IfcMaterialProfile::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "OffsetValues"; } return IfcMaterialProfile::getArgumentName(i); } @@ -8603,7 +9863,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterialProfileWithOffsets (IfcAbstractEntity* e); - IfcMaterialProfileWithOffsets (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMaterial* v3_Material, IfcProfileDef* v4_Profile, boost::optional< IfcNormalisedRatioMeasure > v5_Priority, boost::optional< IfcLabel > v6_Category, std::vector< IfcLengthMeasure > /*[1:2]*/ v7_OffsetValues); + IfcMaterialProfileWithOffsets (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcMaterial* v3_Material, IfcProfileDef* v4_Profile, boost::optional< double > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues); typedef IfcTemplatedEntityList< IfcMaterialProfileWithOffsets > list; }; /// IfcMaterialUsageDefinition is a general supertype for all @@ -8664,11 +9924,11 @@ public: class IfcMeasureWithUnit : public IfcUtil::IfcBaseEntity { public: /// The value of the physical quantity when expressed in the specified units. - IfcValue ValueComponent() const; - void setValueComponent(IfcValue v); + IfcValue* ValueComponent() const; + void setValueComponent(IfcValue* v); /// The unit in which the physical quantity is expressed. - IfcUnit UnitComponent() const; - void setUnitComponent(IfcUnit v); + IfcUnit* UnitComponent() const; + void setUnitComponent(IfcUnit* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ValueComponent"; case 1: return "UnitComponent"; } throw IfcParse::IfcException("argument out of range"); } @@ -8677,7 +9937,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMeasureWithUnit (IfcAbstractEntity* e); - IfcMeasureWithUnit (IfcValue v1_ValueComponent, IfcUnit v2_UnitComponent); + IfcMeasureWithUnit (IfcValue* v1_ValueComponent, IfcUnit* v2_UnitComponent); typedef IfcTemplatedEntityList< IfcMeasureWithUnit > list; }; /// An IfcMetric is used to capture quantitative resultant metrics that can be applied to objectives. @@ -8740,11 +10000,11 @@ public: /// Whether the optional attribute ValueSource is defined for this IfcMetric bool hasValueSource() const; /// Reference source for data values. - IfcLabel ValueSource() const; - void setValueSource(IfcLabel v); + std::string ValueSource() const; + void setValueSource(std::string v); /// The value with data type defined by the underlying type accesses via IfcMetricValueSelect. - IfcMetricValueSelect DataValue() const; - void setDataValue(IfcMetricValueSelect v); + IfcMetricValueSelect* DataValue() const; + void setDataValue(IfcMetricValueSelect* v); /// Whether the optional attribute ReferencePath is defined for this IfcMetric bool hasReferencePath() const; IfcReference* ReferencePath() const; @@ -8757,7 +10017,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMetric (IfcAbstractEntity* e); - IfcMetric (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTime > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade, IfcBenchmarkEnum::IfcBenchmarkEnum v8_Benchmark, boost::optional< IfcLabel > v9_ValueSource, IfcMetricValueSelect v10_DataValue, IfcReference* v11_ReferencePath); + IfcMetric (std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, IfcBenchmarkEnum::IfcBenchmarkEnum v8_Benchmark, boost::optional< std::string > v9_ValueSource, IfcMetricValueSelect* v10_DataValue, IfcReference* v11_ReferencePath); typedef IfcTemplatedEntityList< IfcMetric > list; }; /// IfcMonetaryUnit is a unit to define currency for money. @@ -8768,8 +10028,8 @@ public: class IfcMonetaryUnit : public IfcUtil::IfcBaseEntity { public: /// Code or name of the currency. Permissible values are the three-letter alphabetic currency codes as per ISO 4217, for example CNY, EUR, GBP, JPY, USD. - IfcLabel Currency() const; - void setCurrency(IfcLabel v); + std::string Currency() const; + void setCurrency(std::string v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Currency"; } throw IfcParse::IfcException("argument out of range"); } @@ -8778,7 +10038,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMonetaryUnit (IfcAbstractEntity* e); - IfcMonetaryUnit (IfcLabel v1_Currency); + IfcMonetaryUnit (std::string v1_Currency); typedef IfcTemplatedEntityList< IfcMonetaryUnit > list; }; /// 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. @@ -8857,8 +10117,8 @@ public: /// Whether the optional attribute UserDefinedQualifier is defined for this IfcObjective bool hasUserDefinedQualifier() const; /// A user defined value that qualifies the type of objective constraint when ObjectiveQualifier attribute of type IfcObjectiveEnum has value USERDEFINED. - IfcLabel UserDefinedQualifier() const; - void setUserDefinedQualifier(IfcLabel v); + std::string UserDefinedQualifier() const; + void setUserDefinedQualifier(std::string v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENTITY_LIST; case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_STRING; } return IfcConstraint::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "BenchmarkValues"; case 8: return "LogicalAggregator"; case 9: return "ObjectiveQualifier"; case 10: return "UserDefinedQualifier"; } return IfcConstraint::getArgumentName(i); } @@ -8867,7 +10127,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcObjective (IfcAbstractEntity* e); - IfcObjective (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< IfcLabel > v4_ConstraintSource, boost::optional< IfcActorSelect > v5_CreatingActor, boost::optional< IfcDateTime > v6_CreationTime, boost::optional< IfcLabel > v7_UserDefinedGrade, boost::optional< IfcTemplatedEntityList< IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< IfcLogicalOperatorEnum::IfcLogicalOperatorEnum > v9_LogicalAggregator, IfcObjectiveEnum::IfcObjectiveEnum v10_ObjectiveQualifier, boost::optional< IfcLabel > v11_UserDefinedQualifier); + IfcObjective (std::string v1_Name, boost::optional< std::string > v2_Description, IfcConstraintEnum::IfcConstraintEnum v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< IfcTemplatedEntityList< IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< IfcLogicalOperatorEnum::IfcLogicalOperatorEnum > v9_LogicalAggregator, IfcObjectiveEnum::IfcObjectiveEnum v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier); typedef IfcTemplatedEntityList< IfcObjective > list; }; /// A named and structured grouping with a corporate identity. @@ -8883,16 +10143,16 @@ public: /// Whether the optional attribute Identification is defined for this IfcOrganization bool hasIdentification() const; /// Identification of the organization. - IfcIdentifier Identification() const; - void setIdentification(IfcIdentifier v); + std::string Identification() const; + void setIdentification(std::string v); /// The word, or group of words, by which the organization is referred to. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcOrganization bool hasDescription() const; /// Text that relates the nature of the organization. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Whether the optional attribute Roles is defined for this IfcOrganization bool hasRoles() const; /// Roles played by the organization. @@ -8915,7 +10175,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOrganization (IfcAbstractEntity* e); - IfcOrganization (boost::optional< IfcIdentifier > v1_Identification, IfcLabel v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v4_Roles, boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v5_Addresses); + IfcOrganization (boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v4_Roles, boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v5_Addresses); typedef IfcTemplatedEntityList< IfcOrganization > list; }; /// 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. @@ -8949,8 +10209,8 @@ public: /// Whether the optional attribute LastModifiedDate is defined for this IfcOwnerHistory bool hasLastModifiedDate() const; /// Date and Time expressed in UTC (Universal Time Coordinated, formerly Greenwich Mean Time or GMT) at which the last modification was made by LastModifyingUser and LastModifyingApplication. - IfcTimeStamp LastModifiedDate() const; - void setLastModifiedDate(IfcTimeStamp v); + int LastModifiedDate() const; + void setLastModifiedDate(int v); /// Whether the optional attribute LastModifyingUser is defined for this IfcOwnerHistory bool hasLastModifyingUser() const; /// User who carried out the last modification using LastModifyingApplication. @@ -8962,8 +10222,8 @@ public: IfcApplication* LastModifyingApplication() const; void setLastModifyingApplication(IfcApplication* v); /// The date and time expressed in UTC (Universal Time Coordinated, formerly Greenwich Mean Time or GMT) when first created by the original OwningApplication. Once defined this value remains unchanged through the lifetime of the entity. - IfcTimeStamp CreationDate() const; - void setCreationDate(IfcTimeStamp v); + int CreationDate() const; + void setCreationDate(int v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_ENUMERATION; case 4: return IfcUtil::Argument_INT; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_INT; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "OwningUser"; case 1: return "OwningApplication"; case 2: return "State"; case 3: return "ChangeAction"; case 4: return "LastModifiedDate"; case 5: return "LastModifyingUser"; case 6: return "LastModifyingApplication"; case 7: return "CreationDate"; } throw IfcParse::IfcException("argument out of range"); } @@ -8972,7 +10232,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOwnerHistory (IfcAbstractEntity* e); - IfcOwnerHistory (IfcPersonAndOrganization* v1_OwningUser, IfcApplication* v2_OwningApplication, boost::optional< IfcStateEnum::IfcStateEnum > v3_State, boost::optional< IfcChangeActionEnum::IfcChangeActionEnum > v4_ChangeAction, boost::optional< IfcTimeStamp > v5_LastModifiedDate, IfcPersonAndOrganization* v6_LastModifyingUser, IfcApplication* v7_LastModifyingApplication, IfcTimeStamp v8_CreationDate); + IfcOwnerHistory (IfcPersonAndOrganization* v1_OwningUser, IfcApplication* v2_OwningApplication, boost::optional< IfcStateEnum::IfcStateEnum > v3_State, boost::optional< IfcChangeActionEnum::IfcChangeActionEnum > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, IfcPersonAndOrganization* v6_LastModifyingUser, IfcApplication* v7_LastModifyingApplication, int v8_CreationDate); typedef IfcTemplatedEntityList< IfcOwnerHistory > list; }; /// Definition: an individual human being. @@ -8989,38 +10249,38 @@ public: /// Whether the optional attribute Identification is defined for this IfcPerson bool hasIdentification() const; /// Identification of the person. - IfcIdentifier Identification() const; - void setIdentification(IfcIdentifier v); + std::string Identification() const; + void setIdentification(std::string v); /// Whether the optional attribute FamilyName is defined for this IfcPerson bool hasFamilyName() const; /// The name by which the family identity of the person may be recognized. /// NOTE: Depending on geographical location and culture, family name may appear either as the first or last component of a name. - IfcLabel FamilyName() const; - void setFamilyName(IfcLabel v); + std::string FamilyName() const; + void setFamilyName(std::string v); /// Whether the optional attribute GivenName is defined for this IfcPerson bool hasGivenName() const; /// The name by which a person is known within a family and by which he or she may be familiarly recognized. /// NOTE: Depending on geographical location and culture, given name may appear either as the first or last component of a name. - IfcLabel GivenName() const; - void setGivenName(IfcLabel v); + std::string GivenName() const; + void setGivenName(std::string v); /// Whether the optional attribute MiddleNames is defined for this IfcPerson bool hasMiddleNames() const; /// Additional names given to a person that enable their identification apart from others who may have the same or similar family and given names. /// 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< IfcLabel > /*[1:?]*/ MiddleNames() const; - void setMiddleNames(std::vector< IfcLabel > /*[1:?]*/ v); + std::vector< std::string > /*[1:?]*/ MiddleNames() const; + void setMiddleNames(std::vector< std::string > /*[1:?]*/ v); /// Whether the optional attribute PrefixTitles is defined for this IfcPerson bool hasPrefixTitles() const; /// The word, or group of words, which specify the person's social and/or professional standing and appear before his/her names. - std::vector< IfcLabel > /*[1:?]*/ PrefixTitles() const; - void setPrefixTitles(std::vector< IfcLabel > /*[1:?]*/ v); + std::vector< std::string > /*[1:?]*/ PrefixTitles() const; + void setPrefixTitles(std::vector< std::string > /*[1:?]*/ v); /// Whether the optional attribute SuffixTitles is defined for this IfcPerson bool hasSuffixTitles() const; /// The word, or group of words, which specify the person's social and/or professional standing and appear after his/her names. - std::vector< IfcLabel > /*[1:?]*/ SuffixTitles() const; - void setSuffixTitles(std::vector< IfcLabel > /*[1:?]*/ v); + std::vector< std::string > /*[1:?]*/ SuffixTitles() const; + void setSuffixTitles(std::vector< std::string > /*[1:?]*/ v); /// Whether the optional attribute Roles is defined for this IfcPerson bool hasRoles() const; /// Roles played by the person. @@ -9041,7 +10301,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPerson (IfcAbstractEntity* e); - IfcPerson (boost::optional< IfcIdentifier > v1_Identification, boost::optional< IfcLabel > v2_FamilyName, boost::optional< IfcLabel > v3_GivenName, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v6_SuffixTitles, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v7_Roles, boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v8_Addresses); + IfcPerson (boost::optional< std::string > v1_Identification, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< IfcTemplatedEntityList< IfcActorRole >::ptr > v7_Roles, boost::optional< IfcTemplatedEntityList< IfcAddress >::ptr > v8_Addresses); typedef IfcTemplatedEntityList< IfcPerson > list; }; /// Definition: Identification of a person within an organization. @@ -9081,13 +10341,13 @@ public: class IfcPhysicalQuantity : public IfcUtil::IfcBaseEntity { public: /// Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcPhysicalQuantity bool hasDescription() const; /// Further explanation that might be given to the quantity. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; } throw IfcParse::IfcException("argument out of range"); } @@ -9098,7 +10358,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPhysicalQuantity (IfcAbstractEntity* e); - IfcPhysicalQuantity (IfcLabel v1_Name, boost::optional< IfcText > v2_Description); + IfcPhysicalQuantity (std::string v1_Name, boost::optional< std::string > v2_Description); typedef IfcTemplatedEntityList< IfcPhysicalQuantity > list; }; /// 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. @@ -9125,7 +10385,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPhysicalSimpleQuantity (IfcAbstractEntity* e); - IfcPhysicalSimpleQuantity (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit); + IfcPhysicalSimpleQuantity (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit); typedef IfcTemplatedEntityList< IfcPhysicalSimpleQuantity > list; }; /// Definition: The address for delivery of paper based mail. @@ -9136,8 +10396,8 @@ public: /// Whether the optional attribute InternalLocation is defined for this IfcPostalAddress bool hasInternalLocation() const; /// An organization defined address for internal mail delivery. - IfcLabel InternalLocation() const; - void setInternalLocation(IfcLabel v); + std::string InternalLocation() const; + void setInternalLocation(std::string v); /// Whether the optional attribute AddressLines is defined for this IfcPostalAddress bool hasAddressLines() const; /// The postal address. @@ -9146,34 +10406,34 @@ 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< IfcLabel > /*[1:?]*/ AddressLines() const; - void setAddressLines(std::vector< IfcLabel > /*[1:?]*/ v); + std::vector< std::string > /*[1:?]*/ AddressLines() const; + void setAddressLines(std::vector< std::string > /*[1:?]*/ v); /// Whether the optional attribute PostalBox is defined for this IfcPostalAddress bool hasPostalBox() const; /// An address that is implied by an identifiable mail drop. - IfcLabel PostalBox() const; - void setPostalBox(IfcLabel v); + std::string PostalBox() const; + void setPostalBox(std::string v); /// Whether the optional attribute Town is defined for this IfcPostalAddress bool hasTown() const; /// The name of a town. - IfcLabel Town() const; - void setTown(IfcLabel v); + std::string Town() const; + void setTown(std::string v); /// Whether the optional attribute Region is defined for this IfcPostalAddress bool hasRegion() const; /// The name of a region. /// NOTE: The counties of the United Kingdom and the states of North America are examples of regions. - IfcLabel Region() const; - void setRegion(IfcLabel v); + std::string Region() const; + void setRegion(std::string v); /// Whether the optional attribute PostalCode is defined for this IfcPostalAddress bool hasPostalCode() const; /// The code that is used by the country's postal service. - IfcLabel PostalCode() const; - void setPostalCode(IfcLabel v); + std::string PostalCode() const; + void setPostalCode(std::string v); /// Whether the optional attribute Country is defined for this IfcPostalAddress bool hasCountry() const; /// The name of a country. - IfcLabel Country() const; - void setCountry(IfcLabel v); + std::string Country() const; + void setCountry(std::string v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_VECTOR_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_STRING; } return IfcAddress::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "InternalLocation"; case 4: return "AddressLines"; case 5: return "PostalBox"; case 6: return "Town"; case 7: return "Region"; case 8: return "PostalCode"; case 9: return "Country"; } return IfcAddress::getArgumentName(i); } @@ -9182,7 +10442,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPostalAddress (IfcAbstractEntity* e); - IfcPostalAddress (boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose, boost::optional< IfcLabel > v4_InternalLocation, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_AddressLines, boost::optional< IfcLabel > v6_PostalBox, boost::optional< IfcLabel > v7_Town, boost::optional< IfcLabel > v8_Region, boost::optional< IfcLabel > v9_PostalCode, boost::optional< IfcLabel > v10_Country); + IfcPostalAddress (boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose, boost::optional< std::string > v4_InternalLocation, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_AddressLines, boost::optional< std::string > v6_PostalBox, boost::optional< std::string > v7_Town, boost::optional< std::string > v8_Region, boost::optional< std::string > v9_PostalCode, boost::optional< std::string > v10_Country); typedef IfcTemplatedEntityList< IfcPostalAddress > list; }; @@ -9217,21 +10477,21 @@ public: class IfcPresentationLayerAssignment : public IfcUtil::IfcBaseEntity { public: /// Name of the layer. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcPresentationLayerAssignment bool hasDescription() const; /// Additional description of the layer. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// The set of layered items, which are assigned to this layer. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr AssignedItems() const; - void setAssignedItems(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr AssignedItems() const; + void setAssignedItems(IfcEntityList::ptr v); /// Whether the optional attribute Identifier is defined for this IfcPresentationLayerAssignment bool hasIdentifier() const; /// An (internal) identifier assigned to the layer. - IfcIdentifier Identifier() const; - void setIdentifier(IfcIdentifier v); + std::string Identifier() const; + void setIdentifier(std::string v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::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 "AssignedItems"; case 3: return "Identifier"; } throw IfcParse::IfcException("argument out of range"); } @@ -9240,7 +10500,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPresentationLayerAssignment (IfcAbstractEntity* e); - IfcPresentationLayerAssignment (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< IfcIdentifier > v4_Identifier); + IfcPresentationLayerAssignment (std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier); typedef IfcTemplatedEntityList< IfcPresentationLayerAssignment > list; }; /// An IfcPresentationLayerAssignmentWithStyle extends the presentation layer assignment with capabilities to define visibility control, access control and common style information. @@ -9282,7 +10542,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPresentationLayerWithStyle (IfcAbstractEntity* e); - IfcPresentationLayerWithStyle (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< IfcIdentifier > v4_Identifier, bool v5_LayerOn, bool v6_LayerFrozen, bool v7_LayerBlocked, IfcTemplatedEntityList< IfcPresentationStyle >::ptr v8_LayerStyles); + IfcPresentationLayerWithStyle (std::string v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, bool v5_LayerOn, bool v6_LayerFrozen, bool v7_LayerBlocked, IfcTemplatedEntityList< IfcPresentationStyle >::ptr v8_LayerStyles); typedef IfcTemplatedEntityList< IfcPresentationLayerWithStyle > list; }; /// 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. @@ -9295,8 +10555,8 @@ public: /// Whether the optional attribute Name is defined for this IfcPresentationStyle bool hasName() const; /// Name of the presentation style. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } throw IfcParse::IfcException("argument out of range"); } @@ -9305,7 +10565,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPresentationStyle (IfcAbstractEntity* e); - IfcPresentationStyle (boost::optional< IfcLabel > v1_Name); + IfcPresentationStyle (boost::optional< std::string > v1_Name); typedef IfcTemplatedEntityList< IfcPresentationStyle > list; }; /// 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. @@ -9316,8 +10576,8 @@ public: class IfcPresentationStyleAssignment : public IfcUtil::IfcBaseEntity { public: /// A set of presentation styles that are assigned to styled items. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Styles() const; - void setStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr Styles() const; + void setStyles(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Styles"; } throw IfcParse::IfcException("argument out of range"); } @@ -9351,13 +10611,13 @@ public: /// Whether the optional attribute Name is defined for this IfcProductRepresentation bool hasName() const; /// The word or group of words by which the product representation is known. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcProductRepresentation bool hasDescription() const; /// 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() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Contained list of representations (including shape representations). Each member defines a valid representation of a particular type within a particular representation context. IfcTemplatedEntityList< IfcRepresentation >::ptr Representations() const; void setRepresentations(IfcTemplatedEntityList< IfcRepresentation >::ptr v); @@ -9369,7 +10629,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProductRepresentation (IfcAbstractEntity* e); - IfcProductRepresentation (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations); + IfcProductRepresentation (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations); typedef IfcTemplatedEntityList< IfcProductRepresentation > list; }; /// IfcProfileDef @@ -9550,8 +10810,8 @@ public: /// Whether the optional attribute ProfileName is defined for this IfcProfileDef bool hasProfileName() const; /// Human-readable name of the profile, for example according to a standard profile table. As noted above, machine-readable standardized profile designations should be provided in IfcExternalReference.ItemReference. - IfcLabel ProfileName() const; - void setProfileName(IfcLabel v); + std::string ProfileName() const; + void setProfileName(std::string v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ProfileType"; case 1: return "ProfileName"; } throw IfcParse::IfcException("argument out of range"); } @@ -9562,7 +10822,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProfileDef (IfcAbstractEntity* e); - IfcProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName); + IfcProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName); typedef IfcTemplatedEntityList< IfcProfileDef > list; }; /// Definition from OpenGIS® Abstract Specification, @@ -9596,16 +10856,16 @@ public: /// /// UTM /// Gaus-Krueger - IfcIdentifier MapProjection() const; - void setMapProjection(IfcIdentifier v); + std::string MapProjection() const; + void setMapProjection(std::string v); /// Whether the optional attribute MapZone is defined for this IfcProjectedCRS bool hasMapZone() const; /// Name by which the map zone, relating to the MapProjection, is identified. Examples are /// /// for UTM, the zone number, like 32 for UTM32 /// for Gaus-Krueger, the zones of longitudinal width, like 3' - IfcIdentifier MapZone() const; - void setMapZone(IfcIdentifier v); + std::string MapZone() const; + void setMapZone(std::string v); /// Whether the optional attribute MapUnit is defined for this IfcProjectedCRS bool hasMapUnit() const; /// Unit of the coordinate axes composing the map coordinate system. @@ -9620,7 +10880,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProjectedCRS (IfcAbstractEntity* e); - IfcProjectedCRS (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcIdentifier v3_GeodeticDatum, boost::optional< IfcIdentifier > v4_VerticalDatum, boost::optional< IfcIdentifier > v5_MapProjection, boost::optional< IfcIdentifier > v6_MapZone, IfcNamedUnit* v7_MapUnit); + IfcProjectedCRS (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, std::string v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum, boost::optional< std::string > v5_MapProjection, boost::optional< std::string > v6_MapZone, IfcNamedUnit* v7_MapUnit); typedef IfcTemplatedEntityList< IfcProjectedCRS > list; }; @@ -9687,16 +10947,16 @@ public: class IfcPropertyEnumeration : public IfcPropertyAbstraction { public: /// Name of this enumeration. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// List of values that form the enumeration. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr EnumerationValues() const; - void setEnumerationValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr EnumerationValues() const; + void setEnumerationValues(IfcEntityList::ptr v); /// Whether the optional attribute Unit is defined for this IfcPropertyEnumeration bool hasUnit() const; /// 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. - IfcUnit Unit() const; - void setUnit(IfcUnit v); + IfcUnit* Unit() const; + void setUnit(IfcUnit* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_ENTITY; } return IfcPropertyAbstraction::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "EnumerationValues"; case 2: return "Unit"; } return IfcPropertyAbstraction::getArgumentName(i); } @@ -9705,7 +10965,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyEnumeration (IfcAbstractEntity* e); - IfcPropertyEnumeration (IfcLabel v1_Name, IfcEntityList::ptr v2_EnumerationValues, boost::optional< IfcUnit > v3_Unit); + IfcPropertyEnumeration (std::string v1_Name, IfcEntityList::ptr v2_EnumerationValues, IfcUnit* v3_Unit); typedef IfcTemplatedEntityList< IfcPropertyEnumeration > list; }; /// 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. @@ -9716,15 +10976,15 @@ public: class IfcQuantityArea : public IfcPhysicalSimpleQuantity { public: /// Area measure value of this quantity. - IfcAreaMeasure AreaValue() const; - void setAreaValue(IfcAreaMeasure v); + double AreaValue() const; + void setAreaValue(double v); /// Whether the optional attribute Formula is defined for this IfcQuantityArea bool hasFormula() const; /// A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only. /// /// IFC2x4 CHANGE Attribute added to the end of the attribute list. - IfcLabel Formula() const; - void setFormula(IfcLabel v); + std::string Formula() const; + void setFormula(std::string v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_STRING; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "AreaValue"; case 4: return "Formula"; } return IfcPhysicalSimpleQuantity::getArgumentName(i); } @@ -9733,7 +10993,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantityArea (IfcAbstractEntity* e); - IfcQuantityArea (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcAreaMeasure v4_AreaValue, boost::optional< IfcLabel > v5_Formula); + IfcQuantityArea (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula); typedef IfcTemplatedEntityList< IfcQuantityArea > list; }; /// 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. @@ -9744,15 +11004,15 @@ public: class IfcQuantityCount : public IfcPhysicalSimpleQuantity { public: /// Count measure value of this quantity. - IfcCountMeasure CountValue() const; - void setCountValue(IfcCountMeasure v); + double CountValue() const; + void setCountValue(double v); /// Whether the optional attribute Formula is defined for this IfcQuantityCount bool hasFormula() const; /// A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only. /// /// IFC2x4 CHANGE Attribute added to the end of the attribute list. - IfcLabel Formula() const; - void setFormula(IfcLabel v); + std::string Formula() const; + void setFormula(std::string v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_STRING; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "CountValue"; case 4: return "Formula"; } return IfcPhysicalSimpleQuantity::getArgumentName(i); } @@ -9761,7 +11021,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantityCount (IfcAbstractEntity* e); - IfcQuantityCount (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcCountMeasure v4_CountValue, boost::optional< IfcLabel > v5_Formula); + IfcQuantityCount (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_CountValue, boost::optional< std::string > v5_Formula); typedef IfcTemplatedEntityList< IfcQuantityCount > list; }; /// 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. @@ -9772,15 +11032,15 @@ public: class IfcQuantityLength : public IfcPhysicalSimpleQuantity { public: /// Length measure value of this quantity. - IfcLengthMeasure LengthValue() const; - void setLengthValue(IfcLengthMeasure v); + double LengthValue() const; + void setLengthValue(double v); /// Whether the optional attribute Formula is defined for this IfcQuantityLength bool hasFormula() const; /// A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only. /// /// IFC2x4 CHANGE Attribute added to the end of the attribute list. - IfcLabel Formula() const; - void setFormula(IfcLabel v); + std::string Formula() const; + void setFormula(std::string v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_STRING; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "LengthValue"; case 4: return "Formula"; } return IfcPhysicalSimpleQuantity::getArgumentName(i); } @@ -9789,7 +11049,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantityLength (IfcAbstractEntity* e); - IfcQuantityLength (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcLengthMeasure v4_LengthValue, boost::optional< IfcLabel > v5_Formula); + IfcQuantityLength (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula); typedef IfcTemplatedEntityList< IfcQuantityLength > list; }; /// 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. @@ -9800,15 +11060,15 @@ public: class IfcQuantityTime : public IfcPhysicalSimpleQuantity { public: /// Time measure value of this quantity. - IfcTimeMeasure TimeValue() const; - void setTimeValue(IfcTimeMeasure v); + double TimeValue() const; + void setTimeValue(double v); /// Whether the optional attribute Formula is defined for this IfcQuantityTime bool hasFormula() const; /// A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only. /// /// IFC2x4 CHANGE Attribute added to the end of the attribute list. - IfcLabel Formula() const; - void setFormula(IfcLabel v); + std::string Formula() const; + void setFormula(std::string v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_STRING; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "TimeValue"; case 4: return "Formula"; } return IfcPhysicalSimpleQuantity::getArgumentName(i); } @@ -9817,7 +11077,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantityTime (IfcAbstractEntity* e); - IfcQuantityTime (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcTimeMeasure v4_TimeValue, boost::optional< IfcLabel > v5_Formula); + IfcQuantityTime (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula); typedef IfcTemplatedEntityList< IfcQuantityTime > list; }; /// 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. @@ -9828,15 +11088,15 @@ public: class IfcQuantityVolume : public IfcPhysicalSimpleQuantity { public: /// Volume measure value of this quantity. - IfcVolumeMeasure VolumeValue() const; - void setVolumeValue(IfcVolumeMeasure v); + double VolumeValue() const; + void setVolumeValue(double v); /// Whether the optional attribute Formula is defined for this IfcQuantityVolume bool hasFormula() const; /// A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only. /// /// IFC2x4 CHANGE Attribute added to the end of the attribute list. - IfcLabel Formula() const; - void setFormula(IfcLabel v); + std::string Formula() const; + void setFormula(std::string v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_STRING; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "VolumeValue"; case 4: return "Formula"; } return IfcPhysicalSimpleQuantity::getArgumentName(i); } @@ -9845,7 +11105,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantityVolume (IfcAbstractEntity* e); - IfcQuantityVolume (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcVolumeMeasure v4_VolumeValue, boost::optional< IfcLabel > v5_Formula); + IfcQuantityVolume (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula); typedef IfcTemplatedEntityList< IfcQuantityVolume > list; }; /// 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. @@ -9856,15 +11116,15 @@ public: class IfcQuantityWeight : public IfcPhysicalSimpleQuantity { public: /// Mass measure value of this quantity. - IfcMassMeasure WeightValue() const; - void setWeightValue(IfcMassMeasure v); + double WeightValue() const; + void setWeightValue(double v); /// Whether the optional attribute Formula is defined for this IfcQuantityWeight bool hasFormula() const; /// A formula by which the quantity has been calculated. It can be assigned in addition to the actual value of the quantity. Formulas could be mathematic calculations (like width x height), database links, or a combination. The formula is for informational purposes only. /// /// IFC2x4 CHANGE Attribute added to the end of the attribute list. - IfcLabel Formula() const; - void setFormula(IfcLabel v); + std::string Formula() const; + void setFormula(std::string v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_STRING; } return IfcPhysicalSimpleQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "WeightValue"; case 4: return "Formula"; } return IfcPhysicalSimpleQuantity::getArgumentName(i); } @@ -9873,7 +11133,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantityWeight (IfcAbstractEntity* e); - IfcQuantityWeight (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcNamedUnit* v3_Unit, IfcMassMeasure v4_WeightValue, boost::optional< IfcLabel > v5_Formula); + IfcQuantityWeight (std::string v1_Name, boost::optional< std::string > v2_Description, IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula); typedef IfcTemplatedEntityList< IfcQuantityWeight > list; }; /// IfcRecurrencePattern defines repetitive time periods on the basis of regular recurrences such as each Monday in a week, or every third Tuesday in a month. The population of the remaining attributes such as DayComponent, Position, and Interval depend on the specified recurrence type. @@ -9893,26 +11153,26 @@ public: /// Whether the optional attribute DayComponent is defined for this IfcRecurrencePattern bool hasDayComponent() const; /// The position of the specified day in a month. - std::vector< IfcDayInMonthNumber > /*[1:?]*/ DayComponent() const; - void setDayComponent(std::vector< IfcDayInMonthNumber > /*[1:?]*/ v); + std::vector< int > /*[1:?]*/ DayComponent() const; + void setDayComponent(std::vector< int > /*[1:?]*/ v); /// Whether the optional attribute WeekdayComponent is defined for this IfcRecurrencePattern bool hasWeekdayComponent() const; /// The weekday name of the specified day in a week. - std::vector< IfcDayInWeekNumber > /*[1:?]*/ WeekdayComponent() const; - void setWeekdayComponent(std::vector< IfcDayInWeekNumber > /*[1:?]*/ v); + std::vector< int > /*[1:?]*/ WeekdayComponent() const; + void setWeekdayComponent(std::vector< int > /*[1:?]*/ v); /// Whether the optional attribute MonthComponent is defined for this IfcRecurrencePattern bool hasMonthComponent() const; /// The position of the specified month in a year. - std::vector< IfcMonthInYearNumber > /*[1:?]*/ MonthComponent() const; - void setMonthComponent(std::vector< IfcMonthInYearNumber > /*[1:?]*/ v); + std::vector< int > /*[1:?]*/ MonthComponent() const; + void setMonthComponent(std::vector< int > /*[1:?]*/ v); /// Whether the optional attribute Position is defined for this IfcRecurrencePattern bool hasPosition() const; /// The position of the specified component, e.g. the 3rd /// (position=3) Tuesday (weekday component) in a month. A /// negative position value is used to define the last position /// of the component (-1), the next to last position (-2) etc. - IfcInteger Position() const; - void setPosition(IfcInteger v); + int Position() const; + void setPosition(int v); /// Whether the optional attribute Interval is defined for this IfcRecurrencePattern bool hasInterval() const; /// An interval can be given according to the pattern type. An @@ -9920,14 +11180,14 @@ public: /// months, years. An empty interval value is regarded as 1. The /// used interval values should be in a reasonable range, e.g. /// not 0 or <0. - IfcInteger Interval() const; - void setInterval(IfcInteger v); + int Interval() const; + void setInterval(int v); /// Whether the optional attribute Occurrences is defined for this IfcRecurrencePattern bool hasOccurrences() const; /// Defines the number of occurrences of this pattern, e.g. a weekly /// event might be defined to occur 5 times before it stops. - IfcInteger Occurrences() const; - void setOccurrences(IfcInteger v); + int Occurrences() const; + void setOccurrences(int v); /// Whether the optional attribute TimePeriods is defined for this IfcRecurrencePattern bool hasTimePeriods() const; /// List of time periods that are defined by a start and end time @@ -9943,7 +11203,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRecurrencePattern (IfcAbstractEntity* e); - IfcRecurrencePattern (IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum v1_RecurrenceType, boost::optional< std::vector< IfcDayInMonthNumber > /*[1:?]*/ > v2_DayComponent, boost::optional< std::vector< IfcDayInWeekNumber > /*[1:?]*/ > v3_WeekdayComponent, boost::optional< std::vector< IfcMonthInYearNumber > /*[1:?]*/ > v4_MonthComponent, boost::optional< IfcInteger > v5_Position, boost::optional< IfcInteger > v6_Interval, boost::optional< IfcInteger > v7_Occurrences, boost::optional< IfcTemplatedEntityList< IfcTimePeriod >::ptr > v8_TimePeriods); + IfcRecurrencePattern (IfcRecurrenceTypeEnum::IfcRecurrenceTypeEnum v1_RecurrenceType, boost::optional< std::vector< int > /*[1:?]*/ > v2_DayComponent, boost::optional< std::vector< int > /*[1:?]*/ > v3_WeekdayComponent, boost::optional< std::vector< int > /*[1:?]*/ > v4_MonthComponent, boost::optional< int > v5_Position, boost::optional< int > v6_Interval, boost::optional< int > v7_Occurrences, boost::optional< IfcTemplatedEntityList< IfcTimePeriod >::ptr > v8_TimePeriods); typedef IfcTemplatedEntityList< IfcRecurrencePattern > list; }; @@ -9951,16 +11211,16 @@ class IfcReference : public IfcUtil::IfcBaseEntity { public: /// Whether the optional attribute TypeIdentifier is defined for this IfcReference bool hasTypeIdentifier() const; - IfcIdentifier TypeIdentifier() const; - void setTypeIdentifier(IfcIdentifier v); + std::string TypeIdentifier() const; + void setTypeIdentifier(std::string v); /// Whether the optional attribute AttributeIdentifier is defined for this IfcReference bool hasAttributeIdentifier() const; - IfcIdentifier AttributeIdentifier() const; - void setAttributeIdentifier(IfcIdentifier v); + std::string AttributeIdentifier() const; + void setAttributeIdentifier(std::string v); /// Whether the optional attribute InstanceName is defined for this IfcReference bool hasInstanceName() const; - IfcLabel InstanceName() const; - void setInstanceName(IfcLabel v); + std::string InstanceName() const; + void setInstanceName(std::string v); /// Whether the optional attribute ListPositions is defined for this IfcReference bool hasListPositions() const; std::vector< int > /*[1:?]*/ ListPositions() const; @@ -9977,7 +11237,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReference (IfcAbstractEntity* e); - IfcReference (boost::optional< IfcIdentifier > v1_TypeIdentifier, boost::optional< IfcIdentifier > v2_AttributeIdentifier, boost::optional< IfcLabel > v3_InstanceName, boost::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, IfcReference* v5_InnerReference); + IfcReference (boost::optional< std::string > v1_TypeIdentifier, boost::optional< std::string > v2_AttributeIdentifier, boost::optional< std::string > v3_InstanceName, boost::optional< std::vector< int > /*[1:?]*/ > v4_ListPositions, IfcReference* v5_InnerReference); typedef IfcTemplatedEntityList< IfcReference > list; }; /// Definition from ISO/CD 10303-43:1992: A @@ -10034,14 +11294,14 @@ public: /// Whether the optional attribute RepresentationIdentifier is defined for this IfcRepresentation bool hasRepresentationIdentifier() const; /// The optional identifier of the representation as used within a project. - IfcLabel RepresentationIdentifier() const; - void setRepresentationIdentifier(IfcLabel v); + std::string RepresentationIdentifier() const; + void setRepresentationIdentifier(std::string v); /// Whether the optional attribute RepresentationType is defined for this IfcRepresentation bool hasRepresentationType() const; /// The description of the type of a representation context. The representation type defines the type of geometry or topology used for representing the product representation. More information is given at the subtypes IfcShapeRepresentation and IfcTopologyRepresentation. /// The supported values for context type are to be specified by implementers agreements. - IfcLabel RepresentationType() const; - void setRepresentationType(IfcLabel v); + std::string RepresentationType() const; + void setRepresentationType(std::string v); /// Set of geometric representation items that are defined for this representation. IfcTemplatedEntityList< IfcRepresentationItem >::ptr Items() const; void setItems(IfcTemplatedEntityList< IfcRepresentationItem >::ptr v); @@ -10056,7 +11316,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRepresentation (IfcAbstractEntity* e); - IfcRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); + IfcRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); typedef IfcTemplatedEntityList< IfcRepresentation > list; }; /// Definition from ISO/CD 10303-42:1992: A representation context is a context in which a set of representation items are related. @@ -10074,13 +11334,13 @@ public: /// Whether the optional attribute ContextIdentifier is defined for this IfcRepresentationContext bool hasContextIdentifier() const; /// The optional identifier of the representation context as used within a project. - IfcLabel ContextIdentifier() const; - void setContextIdentifier(IfcLabel v); + std::string ContextIdentifier() const; + void setContextIdentifier(std::string v); /// Whether the optional attribute ContextType is defined for this IfcRepresentationContext bool hasContextType() const; /// The description of the type of a representation context. The supported values for context type are to be specified by implementers agreements. - IfcLabel ContextType() const; - void setContextType(IfcLabel v); + std::string ContextType() const; + void setContextType(std::string v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ContextIdentifier"; case 1: return "ContextType"; } throw IfcParse::IfcException("argument out of range"); } @@ -10090,7 +11350,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRepresentationContext (IfcAbstractEntity* e); - IfcRepresentationContext (boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType); + IfcRepresentationContext (boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType); typedef IfcTemplatedEntityList< IfcRepresentationContext > list; }; /// Definition from ISO/CD @@ -10155,8 +11415,8 @@ class IfcRepresentationMap : public IfcUtil::IfcBaseEntity { public: /// An axis2 placement that defines the position about which the mapped /// representation is mapped. - IfcAxis2Placement MappingOrigin() const; - void setMappingOrigin(IfcAxis2Placement v); + IfcAxis2Placement* MappingOrigin() const; + void setMappingOrigin(IfcAxis2Placement* v); /// A representation that is mapped to at least one mapped item. IfcRepresentation* MappedRepresentation() const; void setMappedRepresentation(IfcRepresentation* v); @@ -10170,7 +11430,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRepresentationMap (IfcAbstractEntity* e); - IfcRepresentationMap (IfcAxis2Placement v1_MappingOrigin, IfcRepresentation* v2_MappedRepresentation); + IfcRepresentationMap (IfcAxis2Placement* v1_MappingOrigin, IfcRepresentation* v2_MappedRepresentation); typedef IfcTemplatedEntityList< IfcRepresentationMap > list; }; /// IfcResourceLevelRelationship is an abstract base class for relationships between resource-level entities. @@ -10181,13 +11441,13 @@ public: /// Whether the optional attribute Name is defined for this IfcResourceLevelRelationship bool hasName() const; /// A name used to identify or qualify the relationship. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcResourceLevelRelationship bool hasDescription() const; /// A description that may apply additional information about the relationship. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; } throw IfcParse::IfcException("argument out of range"); } @@ -10196,7 +11456,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcResourceLevelRelationship (IfcAbstractEntity* e); - IfcResourceLevelRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description); + IfcResourceLevelRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description); typedef IfcTemplatedEntityList< IfcResourceLevelRelationship > list; }; /// 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. @@ -10211,8 +11471,8 @@ public: class IfcRoot : public IfcUtil::IfcBaseEntity { public: /// Assignment of a globally unique identifier within the entire software world. - IfcGloballyUniqueId GlobalId() const; - void setGlobalId(IfcGloballyUniqueId v); + std::string GlobalId() const; + void setGlobalId(std::string v); /// Whether the optional attribute OwnerHistory is defined for this IfcRoot bool hasOwnerHistory() const; /// Assignment of the information about the current ownership of that object, including owning actor, application, local identification and information captured about the recent changes of the object, @@ -10225,13 +11485,13 @@ public: /// Whether the optional attribute Name is defined for this IfcRoot bool hasName() const; /// Optional name for use by the participating software systems or users. For some subtypes of IfcRoot the insertion of the Name attribute may be required. This would be enforced by a where rule. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcRoot bool hasDescription() const; /// Optional description, provided for exchanging informative comments. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "GlobalId"; case 1: return "OwnerHistory"; case 2: return "Name"; case 3: return "Description"; } throw IfcParse::IfcException("argument out of range"); } @@ -10240,7 +11500,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRoot (IfcAbstractEntity* e); - IfcRoot (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); + IfcRoot (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcRoot > list; }; /// 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). @@ -10281,8 +11541,8 @@ public: /// Whether the optional attribute Name is defined for this IfcSchedulingTime bool hasName() const; /// Optional name for the time definition. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute DataOrigin is defined for this IfcSchedulingTime bool hasDataOrigin() const; /// Specifies the origin of the scheduling time entity. It currently @@ -10292,8 +11552,8 @@ public: /// Whether the optional attribute UserDefinedDataOrigin is defined for this IfcSchedulingTime bool hasUserDefinedDataOrigin() const; /// Value of the data origin if DataOrigin attribute is USERDEFINED. - IfcLabel UserDefinedDataOrigin() const; - void setUserDefinedDataOrigin(IfcLabel v); + std::string UserDefinedDataOrigin() const; + void setUserDefinedDataOrigin(std::string v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENUMERATION; case 2: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "DataOrigin"; case 2: return "UserDefinedDataOrigin"; } throw IfcParse::IfcException("argument out of range"); } @@ -10302,7 +11562,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSchedulingTime (IfcAbstractEntity* e); - IfcSchedulingTime (boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin); + IfcSchedulingTime (boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin); typedef IfcTemplatedEntityList< IfcSchedulingTime > list; }; /// Definition from ISO/CD 10303-41:1992: The shape @@ -10351,13 +11611,13 @@ public: /// Whether the optional attribute Name is defined for this IfcShapeAspect bool hasName() const; /// 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. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcShapeAspect bool hasDescription() const; /// The word or group of words that characterize the shape aspect. It can be used to add additional meaning to the name of the aspect. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// An indication that the shape aspect is on the physical boundary of the product definition shape. If the value of this attribute is TRUE, it shall be asserted that the shape aspect being identified is on such a boundary. If the value is FALSE, it shall be asserted that the shape aspect being identified is not on such a boundary. If the value is UNKNOWN, it shall be asserted that it is not known whether or not the shape aspect being identified is on such a boundary. /// --- /// EXAMPLE: Would be FALSE for a center line, identified as shape aspect; would be TRUE for a cantilever. @@ -10367,8 +11627,8 @@ public: /// Whether the optional attribute PartOfProductDefinitionShape is defined for this IfcShapeAspect bool hasPartOfProductDefinitionShape() const; /// Reference to the product definition shape of which this class is an aspect. - IfcProductRepresentationSelect PartOfProductDefinitionShape() const; - void setPartOfProductDefinitionShape(IfcProductRepresentationSelect v); + IfcProductRepresentationSelect* PartOfProductDefinitionShape() const; + void setPartOfProductDefinitionShape(IfcProductRepresentationSelect* v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_BOOL; case 4: return IfcUtil::Argument_ENTITY; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ShapeRepresentations"; case 1: return "Name"; case 2: return "Description"; case 3: return "ProductDefinitional"; case 4: return "PartOfProductDefinitionShape"; } throw IfcParse::IfcException("argument out of range"); } @@ -10377,7 +11637,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcShapeAspect (IfcAbstractEntity* e); - IfcShapeAspect (IfcTemplatedEntityList< IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< IfcLabel > v2_Name, boost::optional< IfcText > v3_Description, bool v4_ProductDefinitional, boost::optional< IfcProductRepresentationSelect > v5_PartOfProductDefinitionShape); + IfcShapeAspect (IfcTemplatedEntityList< IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, bool v4_ProductDefinitional, IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape); typedef IfcTemplatedEntityList< IfcShapeAspect > list; }; /// IfcShapeModel represents @@ -10409,7 +11669,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcShapeModel (IfcAbstractEntity* e); - IfcShapeModel (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); + IfcShapeModel (IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); typedef IfcTemplatedEntityList< IfcShapeModel > list; }; /// The IfcShapeRepresentation represents the concept of a @@ -10557,7 +11817,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcShapeRepresentation (IfcAbstractEntity* e); - IfcShapeRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); + IfcShapeRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); typedef IfcTemplatedEntityList< IfcShapeRepresentation > list; }; /// Definition from IAI: Describe more rarely needed connection properties. @@ -10568,8 +11828,8 @@ public: /// Whether the optional attribute Name is defined for this IfcStructuralConnectionCondition bool hasName() const; /// Optionally defines a name for this connection condition. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } throw IfcParse::IfcException("argument out of range"); } @@ -10578,7 +11838,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralConnectionCondition (IfcAbstractEntity* e); - IfcStructuralConnectionCondition (boost::optional< IfcLabel > v1_Name); + IfcStructuralConnectionCondition (boost::optional< std::string > v1_Name); typedef IfcTemplatedEntityList< IfcStructuralConnectionCondition > list; }; /// 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. @@ -10589,8 +11849,8 @@ public: /// Whether the optional attribute Name is defined for this IfcStructuralLoad bool hasName() const; /// Optionally defines a name for this load. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } throw IfcParse::IfcException("argument out of range"); } @@ -10599,7 +11859,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoad (IfcAbstractEntity* e); - IfcStructuralLoad (boost::optional< IfcLabel > v1_Name); + IfcStructuralLoad (boost::optional< std::string > v1_Name); typedef IfcTemplatedEntityList< IfcStructuralLoad > list; }; /// Definition from IAI: This class combines one or more load or result values in a 1- or 2-dimensional configuration. @@ -10629,7 +11889,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoadConfiguration (IfcAbstractEntity* e); - IfcStructuralLoadConfiguration (boost::optional< IfcLabel > v1_Name, IfcTemplatedEntityList< IfcStructuralLoadOrResult >::ptr v2_Values); + IfcStructuralLoadConfiguration (boost::optional< std::string > v1_Name, IfcTemplatedEntityList< IfcStructuralLoadOrResult >::ptr v2_Values); typedef IfcTemplatedEntityList< IfcStructuralLoadConfiguration > list; }; /// Definition from IAI: Abstract superclass of simple load or result classes. @@ -10645,7 +11905,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoadOrResult (IfcAbstractEntity* e); - IfcStructuralLoadOrResult (boost::optional< IfcLabel > v1_Name); + IfcStructuralLoadOrResult (boost::optional< std::string > v1_Name); typedef IfcTemplatedEntityList< IfcStructuralLoadOrResult > list; }; /// 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. @@ -10661,7 +11921,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoadStatic (IfcAbstractEntity* e); - IfcStructuralLoadStatic (boost::optional< IfcLabel > v1_Name); + IfcStructuralLoadStatic (boost::optional< std::string > v1_Name); typedef IfcTemplatedEntityList< IfcStructuralLoadStatic > list; }; /// 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. @@ -10676,22 +11936,22 @@ public: /// Temperature change which affects the complete section of the structural member, or the uniform portion of a non-uniform temperature change. /// /// A positive value describes an increase in temperature. I.e. a positive constant temperature change causes elongation of a member, or compression in the member if there are respective restraints. - IfcThermodynamicTemperatureMeasure DeltaTConstant() const; - void setDeltaTConstant(IfcThermodynamicTemperatureMeasure v); + double DeltaTConstant() const; + void setDeltaTConstant(double v); /// Whether the optional attribute DeltaTY is defined for this IfcStructuralLoadTemperature bool hasDeltaTY() const; /// Non-uniform temperature change, specified as the difference of the temperature change at the outer fibre of the positive y direction minus the temperature change at the outer fibre of the negative y direction of the analysis member. /// /// I.e. a positive non-uniform temperature change in y induces a negative curvature of the member about z, or a positive bending moment about z if there are respective restraints. y and z are local member axes. - IfcThermodynamicTemperatureMeasure DeltaTY() const; - void setDeltaTY(IfcThermodynamicTemperatureMeasure v); + double DeltaTY() const; + void setDeltaTY(double v); /// Whether the optional attribute DeltaTZ is defined for this IfcStructuralLoadTemperature bool hasDeltaTZ() const; /// Non-uniform temperature change, specified as the difference of the temperature change at the outer fibre of the positive z direction minus the temperature change at the outer fibre of the negative z direction of the analysis member. /// /// I.e. a positive non-uniform temperature change in z induces a positive curvature of the member about y, or a negative bending moment about y if there are respective restraints. y and z are local member axes. - IfcThermodynamicTemperatureMeasure DeltaTZ() const; - void setDeltaTZ(IfcThermodynamicTemperatureMeasure v); + double DeltaTZ() const; + void setDeltaTZ(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "DeltaTConstant"; case 2: return "DeltaTY"; case 3: return "DeltaTZ"; } return IfcStructuralLoadStatic::getArgumentName(i); } @@ -10700,7 +11960,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoadTemperature (IfcAbstractEntity* e); - IfcStructuralLoadTemperature (boost::optional< IfcLabel > v1_Name, boost::optional< IfcThermodynamicTemperatureMeasure > v2_DeltaTConstant, boost::optional< IfcThermodynamicTemperatureMeasure > v3_DeltaTY, boost::optional< IfcThermodynamicTemperatureMeasure > v4_DeltaTZ); + IfcStructuralLoadTemperature (boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaTConstant, boost::optional< double > v3_DeltaTY, boost::optional< double > v4_DeltaTZ); typedef IfcTemplatedEntityList< IfcStructuralLoadTemperature > list; }; /// 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. @@ -10718,7 +11978,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStyleModel (IfcAbstractEntity* e); - IfcStyleModel (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); + IfcStyleModel (IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); typedef IfcTemplatedEntityList< IfcStyleModel > list; }; /// 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. @@ -10764,13 +12024,13 @@ public: /// for file based exchange. /// /// NOTE Only the select item IfcPresentationStyle shall be used from IFC2x4 onwards, the IfcPresentationStyleAssignment has been deprecated. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Styles() const; - void setStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr Styles() const; + void setStyles(IfcEntityList::ptr v); /// Whether the optional attribute Name is defined for this IfcStyledItem bool hasName() const; /// The word, or group of words, by which the styled item is referred to. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_STRING; } return IfcRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Item"; case 1: return "Styles"; case 2: return "Name"; } return IfcRepresentationItem::getArgumentName(i); } @@ -10779,7 +12039,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStyledItem (IfcAbstractEntity* e); - IfcStyledItem (IfcRepresentationItem* v1_Item, IfcEntityList::ptr v2_Styles, boost::optional< IfcLabel > v3_Name); + IfcStyledItem (IfcRepresentationItem* v1_Item, IfcEntityList::ptr v2_Styles, boost::optional< std::string > v3_Name); typedef IfcTemplatedEntityList< IfcStyledItem > list; }; /// 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. @@ -10799,7 +12059,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStyledRepresentation (IfcAbstractEntity* e); - IfcStyledRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); + IfcStyledRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); typedef IfcTemplatedEntityList< IfcStyledRepresentation > list; }; /// Definition from IAI: Describes required or provided reinforcement area of surface members. @@ -10812,18 +12072,18 @@ public: /// Whether the optional attribute SurfaceReinforcement1 is defined for this IfcSurfaceReinforcementArea bool hasSurfaceReinforcement1() const; /// Reinforcement at the face of the member which is located at the side of the positive local z direction of the surface member. Specified as area per length, e.g. square metre per metre (hence length measure, e.g. metre). The reinforcement area may be specified for two or three directions of reinforcement bars. - std::vector< IfcLengthMeasure > /*[2:3]*/ SurfaceReinforcement1() const; - void setSurfaceReinforcement1(std::vector< IfcLengthMeasure > /*[2:3]*/ v); + std::vector< double > /*[2:3]*/ SurfaceReinforcement1() const; + void setSurfaceReinforcement1(std::vector< double > /*[2:3]*/ v); /// Whether the optional attribute SurfaceReinforcement2 is defined for this IfcSurfaceReinforcementArea bool hasSurfaceReinforcement2() const; /// Reinforcement at the face of the member which is located at the side of the negative local z direction of the surface member. Specified as area per length, e.g. square metre per metre (hence length measure, e.g. metre). The reinforcement area may be specified for two or three directions of reinforcement bars. - std::vector< IfcLengthMeasure > /*[2:3]*/ SurfaceReinforcement2() const; - void setSurfaceReinforcement2(std::vector< IfcLengthMeasure > /*[2:3]*/ v); + std::vector< double > /*[2:3]*/ SurfaceReinforcement2() const; + void setSurfaceReinforcement2(std::vector< double > /*[2:3]*/ v); /// Whether the optional attribute ShearReinforcement is defined for this IfcSurfaceReinforcementArea bool hasShearReinforcement() const; /// Shear reinforcement. Specified as area per area, e.g. square metre per square metre (hence ratio measure, i.e. unitless). - IfcRatioMeasure ShearReinforcement() const; - void setShearReinforcement(IfcRatioMeasure v); + double ShearReinforcement() const; + void setShearReinforcement(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_VECTOR_DOUBLE; case 2: return IfcUtil::Argument_VECTOR_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadOrResult::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "SurfaceReinforcement1"; case 2: return "SurfaceReinforcement2"; case 3: return "ShearReinforcement"; } return IfcStructuralLoadOrResult::getArgumentName(i); } @@ -10832,7 +12092,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSurfaceReinforcementArea (IfcAbstractEntity* e); - IfcSurfaceReinforcementArea (boost::optional< IfcLabel > v1_Name, boost::optional< std::vector< IfcLengthMeasure > /*[2:3]*/ > v2_SurfaceReinforcement1, boost::optional< std::vector< IfcLengthMeasure > /*[2:3]*/ > v3_SurfaceReinforcement2, boost::optional< IfcRatioMeasure > v4_ShearReinforcement); + IfcSurfaceReinforcementArea (boost::optional< std::string > v1_Name, boost::optional< std::vector< double > /*[2:3]*/ > v2_SurfaceReinforcement1, boost::optional< std::vector< double > /*[2:3]*/ > v3_SurfaceReinforcement2, boost::optional< double > v4_ShearReinforcement); typedef IfcTemplatedEntityList< IfcSurfaceReinforcementArea > list; }; /// 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. @@ -10848,8 +12108,8 @@ public: IfcSurfaceSide::IfcSurfaceSide Side() const; void setSide(IfcSurfaceSide::IfcSurfaceSide v); /// A collection of different surface styles. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Styles() const; - void setStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr Styles() const; + void setStyles(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENUMERATION; case 2: return IfcUtil::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); } @@ -10858,7 +12118,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSurfaceStyle (IfcAbstractEntity* e); - IfcSurfaceStyle (boost::optional< IfcLabel > v1_Name, IfcSurfaceSide::IfcSurfaceSide v2_Side, IfcEntityList::ptr v3_Styles); + IfcSurfaceStyle (boost::optional< std::string > v1_Name, IfcSurfaceSide::IfcSurfaceSide v2_Side, IfcEntityList::ptr v3_Styles); typedef IfcTemplatedEntityList< IfcSurfaceStyle > list; }; /// IfcSurfaceStyleLighting is a container class for properties for calculation of physically exact illuminance related to a particular surface style. @@ -10911,13 +12171,13 @@ public: /// Whether the optional attribute RefractionIndex is defined for this IfcSurfaceStyleRefraction bool hasRefractionIndex() const; /// The index of refraction for all wave lengths of light. The refraction index is the ratio between the speed of light in a vacuum and the speed of light in the medium. E.g. glass has a refraction index of 1.5, whereas water has an index of 1.33 - IfcReal RefractionIndex() const; - void setRefractionIndex(IfcReal v); + double RefractionIndex() const; + void setRefractionIndex(double v); /// Whether the optional attribute DispersionFactor is defined for this IfcSurfaceStyleRefraction bool hasDispersionFactor() const; /// The Abbe constant given as a fixed ratio between the refractive indices of the material at different wavelengths. A low Abbe number means a high dispersive power. In general this translates to a greater angular spread of the emergent spectrum. - IfcReal DispersionFactor() const; - void setDispersionFactor(IfcReal v); + double DispersionFactor() const; + void setDispersionFactor(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; } return IfcPresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RefractionIndex"; case 1: return "DispersionFactor"; } return IfcPresentationItem::getArgumentName(i); } @@ -10926,7 +12186,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSurfaceStyleRefraction (IfcAbstractEntity* e); - IfcSurfaceStyleRefraction (boost::optional< IfcReal > v1_RefractionIndex, boost::optional< IfcReal > v2_DispersionFactor); + IfcSurfaceStyleRefraction (boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor); typedef IfcTemplatedEntityList< IfcSurfaceStyleRefraction > list; }; /// 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. @@ -11093,8 +12353,8 @@ public: /// 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.3 MultiTexture for recommended values. /// /// IFC2x4 CHANGE  New attribute replacing previous TextureType. - IfcIdentifier Mode() const; - void setMode(IfcIdentifier v); + std::string Mode() const; + void setMode(std::string v); /// Whether the optional attribute TextureTransform is defined for this IfcSurfaceTexture bool hasTextureTransform() const; /// The TextureTransform defines a 2D transformation that is applied to the texture coordinates. It affects the way texture coordinates are applied to the surfaces of geometric representation itesm. The 2D transformation supports changes to the size, orientation, and position of textures on shapes. @@ -11110,8 +12370,8 @@ public: /// By convention, Parameter[1] shall then hold the source value, Parameter[2] the function value, Parameter[3] the base RGB color for select operations, and Parameter[4] the alpha value for select operations. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - std::vector< IfcIdentifier > /*[1:?]*/ Parameter() const; - void setParameter(std::vector< IfcIdentifier > /*[1:?]*/ v); + std::vector< std::string > /*[1:?]*/ Parameter() const; + void setParameter(std::vector< std::string > /*[1:?]*/ v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_BOOL; case 1: return IfcUtil::Argument_BOOL; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_VECTOR_STRING; } return IfcPresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RepeatS"; case 1: return "RepeatT"; case 2: return "Mode"; case 3: return "TextureTransform"; case 4: return "Parameter"; } return IfcPresentationItem::getArgumentName(i); } @@ -11122,7 +12382,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSurfaceTexture (IfcAbstractEntity* e); - IfcSurfaceTexture (bool v1_RepeatS, bool v2_RepeatT, boost::optional< IfcIdentifier > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< IfcIdentifier > /*[1:?]*/ > v5_Parameter); + IfcSurfaceTexture (bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter); typedef IfcTemplatedEntityList< IfcSurfaceTexture > list; }; /// 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. @@ -11145,8 +12405,8 @@ public: /// Whether the optional attribute Name is defined for this IfcTable bool hasName() const; /// A unique name which is intended to describe the usage of the Table. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Rows is defined for this IfcTable bool hasRows() const; /// Reference to information content of rows. @@ -11165,7 +12425,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTable (IfcAbstractEntity* e); - IfcTable (boost::optional< IfcLabel > v1_Name, boost::optional< IfcTemplatedEntityList< IfcTableRow >::ptr > v2_Rows, boost::optional< IfcTemplatedEntityList< IfcTableColumn >::ptr > v3_Columns); + IfcTable (boost::optional< std::string > v1_Name, boost::optional< IfcTemplatedEntityList< IfcTableRow >::ptr > v2_Rows, boost::optional< IfcTemplatedEntityList< IfcTableColumn >::ptr > v3_Columns); typedef IfcTemplatedEntityList< IfcTable > list; }; /// An IfcTableColumn is a data structure that captures column information for use in an IfcTable. Each instance defines the name, description, identifier, and units of measure that are applicable to the columnar data associated with the IfcTableRow objects. @@ -11178,23 +12438,23 @@ public: /// Whether the optional attribute Identifier is defined for this IfcTableColumn bool hasIdentifier() const; /// Table column identifier. - IfcIdentifier Identifier() const; - void setIdentifier(IfcIdentifier v); + std::string Identifier() const; + void setIdentifier(std::string v); /// Whether the optional attribute Name is defined for this IfcTableColumn bool hasName() const; /// The table column display name. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcTableColumn bool hasDescription() const; /// Descriptive text for the table column. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Whether the optional attribute Unit is defined for this IfcTableColumn bool hasUnit() const; /// The unit of measure to be used for this column's data. - IfcUnit Unit() const; - void setUnit(IfcUnit v); + IfcUnit* Unit() const; + void setUnit(IfcUnit* v); /// Whether the optional attribute ReferencePath is defined for this IfcTableColumn bool hasReferencePath() const; IfcReference* ReferencePath() const; @@ -11207,7 +12467,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTableColumn (IfcAbstractEntity* e); - IfcTableColumn (boost::optional< IfcIdentifier > v1_Identifier, boost::optional< IfcLabel > v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcUnit > v4_Unit, IfcReference* v5_ReferencePath); + IfcTableColumn (boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, IfcUnit* v4_Unit, IfcReference* v5_ReferencePath); typedef IfcTemplatedEntityList< IfcTableColumn > list; }; /// IfcTableRow contains data for a single row within an IfcTable. @@ -11228,8 +12488,8 @@ public: /// Whether the optional attribute RowCells is defined for this IfcTableRow bool hasRowCells() const; /// The data value of the table cell.. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr RowCells() const; - void setRowCells(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr RowCells() const; + void setRowCells(IfcEntityList::ptr v); /// Whether the optional attribute IsHeading is defined for this IfcTableRow bool hasIsHeading() const; /// 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. @@ -11274,8 +12534,8 @@ public: /// /// NOTE: Scheduled Duration may be calculated as the /// time from scheduled start date to scheduled finish date. - IfcDuration ScheduleDuration() const; - void setScheduleDuration(IfcDuration v); + std::string ScheduleDuration() const; + void setScheduleDuration(std::string v); /// Whether the optional attribute ScheduleStart is defined for this IfcTaskTime bool hasScheduleStart() const; /// The date on which a task is scheduled to be started. @@ -11284,8 +12544,8 @@ public: /// /// NOTE: The scheduled start date must be greater than /// or equal to the earliest start date. - IfcDateTime ScheduleStart() const; - void setScheduleStart(IfcDateTime v); + std::string ScheduleStart() const; + void setScheduleStart(std::string v); /// Whether the optional attribute ScheduleFinish is defined for this IfcTaskTime bool hasScheduleFinish() const; /// The date on which a task is scheduled to be finished. @@ -11294,35 +12554,35 @@ public: /// /// NOTE: The scheduled finish date must be greater than /// or equal to the earliest finish date. - IfcDateTime ScheduleFinish() const; - void setScheduleFinish(IfcDateTime v); + std::string ScheduleFinish() const; + void setScheduleFinish(std::string v); /// Whether the optional attribute EarlyStart is defined for this IfcTaskTime bool hasEarlyStart() const; /// The earliest date on which a task can be started. It is a calculated value. - IfcDateTime EarlyStart() const; - void setEarlyStart(IfcDateTime v); + std::string EarlyStart() const; + void setEarlyStart(std::string v); /// Whether the optional attribute EarlyFinish is defined for this IfcTaskTime bool hasEarlyFinish() const; /// The earliest date on which a task can be finished. It is a calculated value. - IfcDateTime EarlyFinish() const; - void setEarlyFinish(IfcDateTime v); + std::string EarlyFinish() const; + void setEarlyFinish(std::string v); /// Whether the optional attribute LateStart is defined for this IfcTaskTime bool hasLateStart() const; /// The latest date on which a task can be started. It is a calculated value. - IfcDateTime LateStart() const; - void setLateStart(IfcDateTime v); + std::string LateStart() const; + void setLateStart(std::string v); /// Whether the optional attribute LateFinish is defined for this IfcTaskTime bool hasLateFinish() const; /// The latest date on which a task can be finished. It is a calculated value. - IfcDateTime LateFinish() const; - void setLateFinish(IfcDateTime v); + std::string LateFinish() const; + void setLateFinish(std::string v); /// Whether the optional attribute FreeFloat is defined for this IfcTaskTime bool hasFreeFloat() const; /// The amount of time during which the start or finish of a /// task may be varied without any effect on the overall /// programme of work. It is a calculated elapsed time value. - IfcDuration FreeFloat() const; - void setFreeFloat(IfcDuration v); + std::string FreeFloat() const; + void setFreeFloat(std::string v); /// Whether the optional attribute TotalFloat is defined for this IfcTaskTime bool hasTotalFloat() const; /// The difference between the duration available to carry out @@ -11335,8 +12595,8 @@ public: /// finish. Float time may be either positive, zero or /// negative. Where it is zero or negative, the task becomes /// critical. - IfcDuration TotalFloat() const; - void setTotalFloat(IfcDuration v); + std::string TotalFloat() const; + void setTotalFloat(std::string v); /// Whether the optional attribute IsCritical is defined for this IfcTaskTime bool hasIsCritical() const; /// A flag which identifies whether a scheduled task is a @@ -11350,15 +12610,15 @@ public: bool hasStatusTime() const; /// The date or time at which the status of the tasks within /// the schedule is analyzed. - IfcDateTime StatusTime() const; - void setStatusTime(IfcDateTime v); + std::string StatusTime() const; + void setStatusTime(std::string v); /// Whether the optional attribute ActualDuration is defined for this IfcTaskTime bool hasActualDuration() const; /// The actual duration of the task. It is a measured value. /// The value is either given as elapsed time or work time, which is defined by /// DurationType. - IfcDuration ActualDuration() const; - void setActualDuration(IfcDuration v); + std::string ActualDuration() const; + void setActualDuration(std::string v); /// Whether the optional attribute ActualStart is defined for this IfcTaskTime bool hasActualStart() const; /// The date on which a task is actually started. It is a measured value. @@ -11368,13 +12628,13 @@ public: /// applied to the actual start date with respect to the /// scheduled start date since a task may be started earlier /// than had originally been scheduled if circumstances allow. - IfcDateTime ActualStart() const; - void setActualStart(IfcDateTime v); + std::string ActualStart() const; + void setActualStart(std::string v); /// Whether the optional attribute ActualFinish is defined for this IfcTaskTime bool hasActualFinish() const; /// The date on which a task is actually finished. - IfcDateTime ActualFinish() const; - void setActualFinish(IfcDateTime v); + std::string ActualFinish() const; + void setActualFinish(std::string v); /// Whether the optional attribute RemainingTime is defined for this IfcTaskTime bool hasRemainingTime() const; /// The amount of time remaining to complete a task. It is a predicted value. @@ -11388,14 +12648,14 @@ public: /// task already started, remaining time is calculated as the /// difference between the scheduled finish and the point of /// analysis. - IfcDuration RemainingTime() const; - void setRemainingTime(IfcDuration v); + std::string RemainingTime() const; + void setRemainingTime(std::string v); /// Whether the optional attribute Completion is defined for this IfcTaskTime bool hasCompletion() const; /// The extent of completion expressed as a ratio or percentage. /// It is a measured value. - IfcPositiveRatioMeasure Completion() const; - void setCompletion(IfcPositiveRatioMeasure v); + double Completion() const; + void setCompletion(double v); virtual unsigned int getArgumentCount() const { return 20; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENUMERATION; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_STRING; case 10: return IfcUtil::Argument_STRING; case 11: return IfcUtil::Argument_STRING; case 12: return IfcUtil::Argument_STRING; case 13: return IfcUtil::Argument_BOOL; case 14: return IfcUtil::Argument_STRING; case 15: return IfcUtil::Argument_STRING; case 16: return IfcUtil::Argument_STRING; case 17: return IfcUtil::Argument_STRING; case 18: return IfcUtil::Argument_STRING; case 19: return IfcUtil::Argument_DOUBLE; } return IfcSchedulingTime::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "DurationType"; case 4: return "ScheduleDuration"; case 5: return "ScheduleStart"; case 6: return "ScheduleFinish"; case 7: return "EarlyStart"; case 8: return "EarlyFinish"; case 9: return "LateStart"; case 10: return "LateFinish"; case 11: return "FreeFloat"; case 12: return "TotalFloat"; case 13: return "IsCritical"; case 14: return "StatusTime"; case 15: return "ActualDuration"; case 16: return "ActualStart"; case 17: return "ActualFinish"; case 18: return "RemainingTime"; case 19: return "Completion"; } return IfcSchedulingTime::getArgumentName(i); } @@ -11404,7 +12664,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTaskTime (IfcAbstractEntity* e); - IfcTaskTime (boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v4_DurationType, boost::optional< IfcDuration > v5_ScheduleDuration, boost::optional< IfcDateTime > v6_ScheduleStart, boost::optional< IfcDateTime > v7_ScheduleFinish, boost::optional< IfcDateTime > v8_EarlyStart, boost::optional< IfcDateTime > v9_EarlyFinish, boost::optional< IfcDateTime > v10_LateStart, boost::optional< IfcDateTime > v11_LateFinish, boost::optional< IfcDuration > v12_FreeFloat, boost::optional< IfcDuration > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< IfcDateTime > v15_StatusTime, boost::optional< IfcDuration > v16_ActualDuration, boost::optional< IfcDateTime > v17_ActualStart, boost::optional< IfcDateTime > v18_ActualFinish, boost::optional< IfcDuration > v19_RemainingTime, boost::optional< IfcPositiveRatioMeasure > v20_Completion); + IfcTaskTime (boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion); typedef IfcTemplatedEntityList< IfcTaskTime > list; }; /// IfcTaskTimeRecurring is a recurring instance of IfcTaskTime for handling regularly scheduled or repetitive tasks. @@ -11422,7 +12682,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTaskTimeRecurring (IfcAbstractEntity* e); - IfcTaskTimeRecurring (boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v4_DurationType, boost::optional< IfcDuration > v5_ScheduleDuration, boost::optional< IfcDateTime > v6_ScheduleStart, boost::optional< IfcDateTime > v7_ScheduleFinish, boost::optional< IfcDateTime > v8_EarlyStart, boost::optional< IfcDateTime > v9_EarlyFinish, boost::optional< IfcDateTime > v10_LateStart, boost::optional< IfcDateTime > v11_LateFinish, boost::optional< IfcDuration > v12_FreeFloat, boost::optional< IfcDuration > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< IfcDateTime > v15_StatusTime, boost::optional< IfcDuration > v16_ActualDuration, boost::optional< IfcDateTime > v17_ActualStart, boost::optional< IfcDateTime > v18_ActualFinish, boost::optional< IfcDuration > v19_RemainingTime, boost::optional< IfcPositiveRatioMeasure > v20_Completion, IfcRecurrencePattern* v21_Recurrance); + IfcTaskTimeRecurring (boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion, IfcRecurrencePattern* v21_Recurrance); typedef IfcTemplatedEntityList< IfcTaskTimeRecurring > list; }; /// Definition: Address to which telephone, electronic mail and other forms of telecommunications should be addressed. @@ -11436,36 +12696,36 @@ public: /// Whether the optional attribute TelephoneNumbers is defined for this IfcTelecomAddress bool hasTelephoneNumbers() const; /// The list of telephone numbers at which telephone messages may be received. - std::vector< IfcLabel > /*[1:?]*/ TelephoneNumbers() const; - void setTelephoneNumbers(std::vector< IfcLabel > /*[1:?]*/ v); + std::vector< std::string > /*[1:?]*/ TelephoneNumbers() const; + void setTelephoneNumbers(std::vector< std::string > /*[1:?]*/ v); /// Whether the optional attribute FacsimileNumbers is defined for this IfcTelecomAddress bool hasFacsimileNumbers() const; /// The list of fax numbers at which fax messages may be received. - std::vector< IfcLabel > /*[1:?]*/ FacsimileNumbers() const; - void setFacsimileNumbers(std::vector< IfcLabel > /*[1:?]*/ v); + std::vector< std::string > /*[1:?]*/ FacsimileNumbers() const; + void setFacsimileNumbers(std::vector< std::string > /*[1:?]*/ v); /// Whether the optional attribute PagerNumber is defined for this IfcTelecomAddress bool hasPagerNumber() const; /// The pager number at which paging messages may be received. - IfcLabel PagerNumber() const; - void setPagerNumber(IfcLabel v); + std::string PagerNumber() const; + void setPagerNumber(std::string v); /// Whether the optional attribute ElectronicMailAddresses is defined for this IfcTelecomAddress bool hasElectronicMailAddresses() const; /// The list of Email addresses at which Email messages may be received. - std::vector< IfcLabel > /*[1:?]*/ ElectronicMailAddresses() const; - void setElectronicMailAddresses(std::vector< IfcLabel > /*[1:?]*/ v); + std::vector< std::string > /*[1:?]*/ ElectronicMailAddresses() const; + void setElectronicMailAddresses(std::vector< std::string > /*[1:?]*/ v); /// Whether the optional attribute WWWHomePageURL is defined for this IfcTelecomAddress bool hasWWWHomePageURL() const; /// The world wide web address at which the preliminary page of information for the person or organization can be located. /// NOTE: Information on the world wide web for a person or organization may be separated /// into a number of pages and across a number of host sites, all of which may be linked together. It is assumed that /// all such information may be referenced from a single page that is termed the home page for that person or organization. - IfcURIReference WWWHomePageURL() const; - void setWWWHomePageURL(IfcURIReference v); + std::string WWWHomePageURL() const; + void setWWWHomePageURL(std::string v); /// Whether the optional attribute MessagingIDs is defined for this IfcTelecomAddress bool hasMessagingIDs() const; /// IDs or addresses for any other means of telecommunication, for example instant messaging, voice-over-IP, or file transfer protocols. The communication protocol is indicated by the URI value with scheme designations such as irc:, sip:, or ftp:. - std::vector< IfcURIReference > /*[1:?]*/ MessagingIDs() const; - void setMessagingIDs(std::vector< IfcURIReference > /*[1:?]*/ v); + std::vector< std::string > /*[1:?]*/ MessagingIDs() const; + void setMessagingIDs(std::vector< std::string > /*[1:?]*/ v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_VECTOR_STRING; case 4: return IfcUtil::Argument_VECTOR_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_VECTOR_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_VECTOR_STRING; } return IfcAddress::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "TelephoneNumbers"; case 4: return "FacsimileNumbers"; case 5: return "PagerNumber"; case 6: return "ElectronicMailAddresses"; case 7: return "WWWHomePageURL"; case 8: return "MessagingIDs"; } return IfcAddress::getArgumentName(i); } @@ -11474,7 +12734,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTelecomAddress (IfcAbstractEntity* e); - IfcTelecomAddress (boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_UserDefinedPurpose, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v4_TelephoneNumbers, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v5_FacsimileNumbers, boost::optional< IfcLabel > v6_PagerNumber, boost::optional< std::vector< IfcLabel > /*[1:?]*/ > v7_ElectronicMailAddresses, boost::optional< IfcURIReference > v8_WWWHomePageURL, boost::optional< std::vector< IfcURIReference > /*[1:?]*/ > v9_MessagingIDs); + IfcTelecomAddress (boost::optional< IfcAddressTypeEnum::IfcAddressTypeEnum > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_TelephoneNumbers, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_FacsimileNumbers, boost::optional< std::string > v6_PagerNumber, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ElectronicMailAddresses, boost::optional< std::string > v8_WWWHomePageURL, boost::optional< std::vector< std::string > /*[1:?]*/ > v9_MessagingIDs); typedef IfcTemplatedEntityList< IfcTelecomAddress > list; }; /// Definition from ISO/CD 10303-46:1992: The text style is a presentation style for annotation text. @@ -11524,8 +12784,8 @@ public: /// It defines the font family, font style, weight and size. /// /// IFC2x Edition 2 Addendum 2 CHANGE The attribute TextFontStyle is a new attribute attached to IfcTextStyle. - IfcTextFontSelect TextFontStyle() const; - void setTextFontStyle(IfcTextFontSelect v); + IfcTextFontSelect* TextFontStyle() const; + void setTextFontStyle(IfcTextFontSelect* v); /// Whether the optional attribute ModelOrDraughting is defined for this IfcTextStyle bool hasModelOrDraughting() const; bool ModelOrDraughting() const; @@ -11538,7 +12798,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTextStyle (IfcAbstractEntity* e); - IfcTextStyle (boost::optional< IfcLabel > v1_Name, IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, IfcTextStyleTextModel* v3_TextStyle, IfcTextFontSelect v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting); + IfcTextStyle (boost::optional< std::string > v1_Name, IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, IfcTextStyleTextModel* v3_TextStyle, IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting); typedef IfcTemplatedEntityList< IfcTextStyle > list; }; /// 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. @@ -11561,13 +12821,13 @@ public: class IfcTextStyleForDefinedFont : public IfcPresentationItem { public: /// This property describes the text color of an element (often referred to as the foreground color). - IfcColour Colour() const; - void setColour(IfcColour v); + IfcColour* Colour() const; + void setColour(IfcColour* v); /// Whether the optional attribute BackgroundColour is defined for this IfcTextStyleForDefinedFont bool hasBackgroundColour() const; /// This property sets the background color of an element. - IfcColour BackgroundColour() const; - void setBackgroundColour(IfcColour v); + IfcColour* BackgroundColour() const; + void setBackgroundColour(IfcColour* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcPresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Colour"; case 1: return "BackgroundColour"; } return IfcPresentationItem::getArgumentName(i); } @@ -11576,7 +12836,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTextStyleForDefinedFont (IfcAbstractEntity* e); - IfcTextStyleForDefinedFont (IfcColour v1_Colour, boost::optional< IfcColour > v2_BackgroundColour); + IfcTextStyleForDefinedFont (IfcColour* v1_Colour, IfcColour* v2_BackgroundColour); typedef IfcTemplatedEntityList< IfcTextStyleForDefinedFont > list; }; /// Definition from CSS1 (W3C Recommendation): The properties defined in the text model affect the visual presentation of characters, spaces, words, and paragraphs. @@ -11592,44 +12852,44 @@ public: bool hasTextIndent() const; /// The property specifies the indentation that appears before the first formatted line. /// NOTE  It has been introduced for later compliance to full CSS1 support. - IfcSizeSelect TextIndent() const; - void setTextIndent(IfcSizeSelect v); + IfcSizeSelect* TextIndent() const; + void setTextIndent(IfcSizeSelect* v); /// Whether the optional attribute TextAlign is defined for this IfcTextStyleTextModel bool hasTextAlign() const; /// This property describes how text is aligned horizontally within the element. The actual justification algorithm used is dependent on the rendering algorithm. - IfcTextAlignment TextAlign() const; - void setTextAlign(IfcTextAlignment v); + std::string TextAlign() const; + void setTextAlign(std::string v); /// Whether the optional attribute TextDecoration is defined for this IfcTextStyleTextModel bool hasTextDecoration() const; /// This property describes decorations that are added to the text of an element. - IfcTextDecoration TextDecoration() const; - void setTextDecoration(IfcTextDecoration v); + std::string TextDecoration() const; + void setTextDecoration(std::string v); /// Whether the optional attribute LetterSpacing is defined for this IfcTextStyleTextModel bool hasLetterSpacing() const; /// 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. - IfcSizeSelect LetterSpacing() const; - void setLetterSpacing(IfcSizeSelect v); + IfcSizeSelect* LetterSpacing() const; + void setLetterSpacing(IfcSizeSelect* v); /// Whether the optional attribute WordSpacing is defined for this IfcTextStyleTextModel bool hasWordSpacing() const; /// 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. - IfcSizeSelect WordSpacing() const; - void setWordSpacing(IfcSizeSelect v); + IfcSizeSelect* WordSpacing() const; + void setWordSpacing(IfcSizeSelect* v); /// Whether the optional attribute TextTransform is defined for this IfcTextStyleTextModel bool hasTextTransform() const; /// 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. - IfcTextTransformation TextTransform() const; - void setTextTransform(IfcTextTransformation v); + std::string TextTransform() const; + void setTextTransform(std::string v); /// Whether the optional attribute LineHeight is defined for this IfcTextStyleTextModel bool hasLineHeight() const; /// 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 /// IfcLengthMeasure, with non-negative values, the length unit is globally defined at IfcUnitAssignment, or IfcRatioMeasure. - IfcSizeSelect LineHeight() const; - void setLineHeight(IfcSizeSelect v); + IfcSizeSelect* LineHeight() const; + void setLineHeight(IfcSizeSelect* v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_ENTITY; } return IfcPresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TextIndent"; case 1: return "TextAlign"; case 2: return "TextDecoration"; case 3: return "LetterSpacing"; case 4: return "WordSpacing"; case 5: return "TextTransform"; case 6: return "LineHeight"; } return IfcPresentationItem::getArgumentName(i); } @@ -11638,7 +12898,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTextStyleTextModel (IfcAbstractEntity* e); - IfcTextStyleTextModel (boost::optional< IfcSizeSelect > v1_TextIndent, boost::optional< IfcTextAlignment > v2_TextAlign, boost::optional< IfcTextDecoration > v3_TextDecoration, boost::optional< IfcSizeSelect > v4_LetterSpacing, boost::optional< IfcSizeSelect > v5_WordSpacing, boost::optional< IfcTextTransformation > v6_TextTransform, boost::optional< IfcSizeSelect > v7_LineHeight); + IfcTextStyleTextModel (IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, IfcSizeSelect* v4_LetterSpacing, IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, IfcSizeSelect* v7_LineHeight); typedef IfcTemplatedEntityList< IfcTextStyleTextModel > list; }; /// 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. @@ -11698,15 +12958,15 @@ 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. - IfcLabel Mode() const; - void setMode(IfcLabel v); + std::string Mode() const; + void setMode(std::string v); /// Whether the optional attribute Parameter is defined for this IfcTextureCoordinateGenerator bool hasParameter() const; /// The parameters used as arguments by the function as specified by Mode. /// /// IFC2x4 CHANGE  Made optional data type restricted to REAL. - std::vector< IfcReal > /*[1:?]*/ Parameter() const; - void setParameter(std::vector< IfcReal > /*[1:?]*/ v); + std::vector< double > /*[1:?]*/ Parameter() const; + void setParameter(std::vector< double > /*[1:?]*/ v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_VECTOR_DOUBLE; } return IfcTextureCoordinate::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Mode"; case 2: return "Parameter"; } return IfcTextureCoordinate::getArgumentName(i); } @@ -11715,7 +12975,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTextureCoordinateGenerator (IfcAbstractEntity* e); - IfcTextureCoordinateGenerator (IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v1_Maps, IfcLabel v2_Mode, boost::optional< std::vector< IfcReal > /*[1:?]*/ > v3_Parameter); + IfcTextureCoordinateGenerator (IfcTemplatedEntityList< IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter); typedef IfcTemplatedEntityList< IfcTextureCoordinateGenerator > list; }; /// An IfcTextureMap provides the mapping of the @@ -11819,8 +13079,8 @@ public: class IfcTextureVertex : public IfcPresentationItem { public: /// The first coordinate[1] is the S, the second coordinate[2] is the T parameter value. - std::vector< IfcParameterValue > /*[2:2]*/ Coordinates() const; - void setCoordinates(std::vector< IfcParameterValue > /*[2:2]*/ v); + std::vector< double > /*[2:2]*/ Coordinates() const; + void setCoordinates(std::vector< double > /*[2:2]*/ v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_VECTOR_DOUBLE; } return IfcPresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Coordinates"; } return IfcPresentationItem::getArgumentName(i); } @@ -11829,7 +13089,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTextureVertex (IfcAbstractEntity* e); - IfcTextureVertex (std::vector< IfcParameterValue > /*[2:2]*/ v1_Coordinates); + IfcTextureVertex (std::vector< double > /*[2:2]*/ v1_Coordinates); typedef IfcTemplatedEntityList< IfcTextureVertex > list; }; @@ -11855,11 +13115,11 @@ public: class IfcTimePeriod : public IfcUtil::IfcBaseEntity { public: /// Start time of the time period. - IfcTime StartTime() const; - void setStartTime(IfcTime v); + std::string StartTime() const; + void setStartTime(std::string v); /// End time of the time period. - IfcTime EndTime() const; - void setEndTime(IfcTime v); + std::string EndTime() const; + void setEndTime(std::string v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "StartTime"; case 1: return "EndTime"; } throw IfcParse::IfcException("argument out of range"); } @@ -11868,7 +13128,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTimePeriod (IfcAbstractEntity* e); - IfcTimePeriod (IfcTime v1_StartTime, IfcTime v2_EndTime); + IfcTimePeriod (std::string v1_StartTime, std::string v2_EndTime); typedef IfcTemplatedEntityList< IfcTimePeriod > list; }; /// 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. @@ -11879,19 +13139,19 @@ public: class IfcTimeSeries : public IfcUtil::IfcBaseEntity { public: /// An unique name for the time series. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcTimeSeries bool hasDescription() const; /// A text description of the data that the series represents. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// The start time of a time series. - IfcDateTime StartTime() const; - void setStartTime(IfcDateTime v); + std::string StartTime() const; + void setStartTime(std::string v); /// The end time of a time series. - IfcDateTime EndTime() const; - void setEndTime(IfcDateTime v); + std::string EndTime() const; + void setEndTime(std::string v); /// The time series data type. IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum TimeSeriesDataType() const; void setTimeSeriesDataType(IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v); @@ -11901,13 +13161,13 @@ public: /// Whether the optional attribute UserDefinedDataOrigin is defined for this IfcTimeSeries bool hasUserDefinedDataOrigin() const; /// Value of the data origin if DataOrigin attribute is USERDEFINED. - IfcLabel UserDefinedDataOrigin() const; - void setUserDefinedDataOrigin(IfcLabel v); + std::string UserDefinedDataOrigin() const; + void setUserDefinedDataOrigin(std::string v); /// Whether the optional attribute Unit is defined for this IfcTimeSeries bool hasUnit() const; /// The unit to be assigned to all values within the time series. Note that mixing units is not allowed. If the value is not given, the global unit for the type of IfcValue, as defined at IfcProject.UnitsInContext is used. - IfcUnit Unit() const; - void setUnit(IfcUnit v); + IfcUnit* Unit() const; + void setUnit(IfcUnit* v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_ENUMERATION; case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_ENTITY; } throw IfcParse::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 IfcParse::IfcException("argument out of range"); } @@ -11917,7 +13177,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTimeSeries (IfcAbstractEntity* e); - IfcTimeSeries (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTime v3_StartTime, IfcDateTime v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit); + IfcTimeSeries (std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, IfcUnit* v8_Unit); typedef IfcTemplatedEntityList< IfcTimeSeries > list; }; /// 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: @@ -11932,8 +13192,8 @@ public: class IfcTimeSeriesValue : public IfcUtil::IfcBaseEntity { public: /// A list of time-series values. At least one value is required. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr ListValues() const; - void setListValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr ListValues() const; + void setListValues(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ListValues"; } throw IfcParse::IfcException("argument out of range"); } @@ -12007,7 +13267,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTopologyRepresentation (IfcAbstractEntity* e); - IfcTopologyRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< IfcLabel > v2_RepresentationIdentifier, boost::optional< IfcLabel > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); + IfcTopologyRepresentation (IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, IfcTemplatedEntityList< IfcRepresentationItem >::ptr v4_Items); typedef IfcTemplatedEntityList< IfcTopologyRepresentation > list; }; /// 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. @@ -12018,8 +13278,8 @@ public: class IfcUnitAssignment : public IfcUtil::IfcBaseEntity { public: /// Units to be included within a unit assignment. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Units() const; - void setUnits(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr Units() const; + void setUnits(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Units"; } throw IfcParse::IfcException("argument out of range"); } @@ -12144,8 +13404,8 @@ public: IfcTemplatedEntityList< IfcGridAxis >::ptr IntersectingAxes() const; void setIntersectingAxes(IfcTemplatedEntityList< IfcGridAxis >::ptr v); /// 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< IfcLengthMeasure > /*[2:3]*/ OffsetDistances() const; - void setOffsetDistances(std::vector< IfcLengthMeasure > /*[2:3]*/ v); + std::vector< double > /*[2:3]*/ OffsetDistances() const; + void setOffsetDistances(std::vector< double > /*[2:3]*/ v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_VECTOR_DOUBLE; } throw IfcParse::IfcException("argument out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "IntersectingAxes"; case 1: return "OffsetDistances"; } throw IfcParse::IfcException("argument out of range"); } @@ -12154,7 +13414,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcVirtualGridIntersection (IfcAbstractEntity* e); - IfcVirtualGridIntersection (IfcTemplatedEntityList< IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< IfcLengthMeasure > /*[2:3]*/ v2_OffsetDistances); + IfcVirtualGridIntersection (IfcTemplatedEntityList< IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances); typedef IfcTemplatedEntityList< IfcVirtualGridIntersection > list; }; /// IfcWorkTime defines time periods that are used by IfcWorkCalendar for either describing working times or non-working exception times. Besides start and finish dates, a set of time periods can be given by various types of recurrence patterns. @@ -12178,14 +13438,14 @@ public: bool hasStart() const; /// Start date of the work time (0:00), that might be further /// restricted by a recurrence pattern. - IfcDate Start() const; - void setStart(IfcDate v); + std::string Start() const; + void setStart(std::string v); /// Whether the optional attribute Finish is defined for this IfcWorkTime bool hasFinish() const; /// End date of the work time (24:00), that might be further /// restricted by a recurrence pattern. - IfcDate Finish() const; - void setFinish(IfcDate v); + std::string Finish() const; + void setFinish(std::string v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; } return IfcSchedulingTime::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "RecurrencePattern"; case 4: return "Start"; case 5: return "Finish"; } return IfcSchedulingTime::getArgumentName(i); } @@ -12194,7 +13454,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWorkTime (IfcAbstractEntity* e); - IfcWorkTime (boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< IfcDate > v5_Start, boost::optional< IfcDate > v6_Finish); + IfcWorkTime (boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_Start, boost::optional< std::string > v6_Finish); typedef IfcTemplatedEntityList< IfcWorkTime > list; }; /// An IfcApprovalRelationship associates approvals (one @@ -12220,7 +13480,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcApprovalRelationship (IfcAbstractEntity* e); - IfcApprovalRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcApproval* v3_RelatingApproval, IfcTemplatedEntityList< IfcApproval >::ptr v4_RelatedApprovals); + IfcApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcApproval* v3_RelatingApproval, IfcTemplatedEntityList< IfcApproval >::ptr v4_RelatedApprovals); typedef IfcTemplatedEntityList< IfcApprovalRelationship > list; }; /// 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. @@ -12254,7 +13514,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcArbitraryClosedProfileDef (IfcAbstractEntity* e); - IfcArbitraryClosedProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcCurve* v3_OuterCurve); + IfcArbitraryClosedProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcCurve* v3_OuterCurve); typedef IfcTemplatedEntityList< IfcArbitraryClosedProfileDef > list; }; /// 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. @@ -12285,7 +13545,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcArbitraryOpenProfileDef (IfcAbstractEntity* e); - IfcArbitraryOpenProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcBoundedCurve* v3_Curve); + IfcArbitraryOpenProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcBoundedCurve* v3_Curve); typedef IfcTemplatedEntityList< IfcArbitraryOpenProfileDef > list; }; /// 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. @@ -12320,7 +13580,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcArbitraryProfileDefWithVoids (IfcAbstractEntity* e); - IfcArbitraryProfileDefWithVoids (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcCurve* v3_OuterCurve, IfcTemplatedEntityList< IfcCurve >::ptr v4_InnerCurves); + IfcArbitraryProfileDefWithVoids (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcCurve* v3_OuterCurve, IfcTemplatedEntityList< IfcCurve >::ptr v4_InnerCurves); typedef IfcTemplatedEntityList< IfcArbitraryProfileDefWithVoids > list; }; /// 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. @@ -12335,8 +13595,8 @@ public: class IfcBlobTexture : public IfcSurfaceTexture { public: /// The format of the RasterCode often using a compression. - IfcIdentifier RasterFormat() const; - void setRasterFormat(IfcIdentifier v); + std::string RasterFormat() const; + void setRasterFormat(std::string v); /// Blob, given as a single binary, to capture the texture within one popular file (compression) format. The file format is provided by the RasterFormat attribute. virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_UNKNOWN; } return IfcSurfaceTexture::getArgumentType(i); } @@ -12346,7 +13606,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBlobTexture (IfcAbstractEntity* e); - IfcBlobTexture (bool v1_RepeatS, bool v2_RepeatT, boost::optional< IfcIdentifier > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< IfcIdentifier > /*[1:?]*/ > v5_Parameter, IfcIdentifier v6_RasterFormat); + IfcBlobTexture (bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat); typedef IfcTemplatedEntityList< IfcBlobTexture > list; }; /// 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. @@ -12381,8 +13641,8 @@ public: class IfcCenterLineProfileDef : public IfcArbitraryOpenProfileDef { public: /// Constant thickness applied along the center line. - IfcPositiveLengthMeasure Thickness() const; - void setThickness(IfcPositiveLengthMeasure v); + double Thickness() const; + void setThickness(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcArbitraryOpenProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Thickness"; } return IfcArbitraryOpenProfileDef::getArgumentName(i); } @@ -12391,7 +13651,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCenterLineProfileDef (IfcAbstractEntity* e); - IfcCenterLineProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcBoundedCurve* v3_Curve, IfcPositiveLengthMeasure v4_Thickness); + IfcCenterLineProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcBoundedCurve* v3_Curve, double v4_Thickness); typedef IfcTemplatedEntityList< IfcCenterLineProfileDef > list; }; /// An IfcClassification is used for the arrangement of objects into a class or category according to a common purpose or their possession of common @@ -12416,8 +13676,8 @@ public: /// Source (or publisher) for this classification. /// /// NOTE that the source of the classification means the person or organization that was the original author or the person or organization currently acting as the publisher. - IfcLabel Source() const; - void setSource(IfcLabel v); + std::string Source() const; + void setSource(std::string v); /// Whether the optional attribute Edition is defined for this IfcClassification bool hasEdition() const; /// The edition or version of the classification system from which the classification notation is derived. @@ -12425,8 +13685,8 @@ public: /// NOTE the version labeling system is specific to the classification system. /// /// IFC2x4 CHANGE The attribute has been changed to be optional. - IfcLabel Edition() const; - void setEdition(IfcLabel v); + std::string Edition() const; + void setEdition(std::string v); /// Whether the optional attribute EditionDate is defined for this IfcClassification bool hasEditionDate() const; /// The date on which the edition of the classification used became valid. @@ -12434,27 +13694,27 @@ public: /// NOTE The indication of edition may be sufficient to identify the classification source uniquely but the edition date is provided as an optional attribute to enable more precise identification where required. /// /// IFC2x4 CHANGE The data type has been changed to IfcDate, the date string according to ISO8601. - IfcDate EditionDate() const; - void setEditionDate(IfcDate v); + std::string EditionDate() const; + void setEditionDate(std::string v); /// The name or label by which the classification used is normally known. /// /// NOTE Examples of names include CI/SfB, Masterformat, BSAB, Uniclass, STABU, DIN276, DIN277 etc. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcClassification bool hasDescription() const; /// Additional description provided for the classification. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Whether the optional attribute Location is defined for this IfcClassification bool hasLocation() const; /// Resource identifier or locator, provided as URI, URN or URL, of the classification. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - IfcURIReference Location() const; - void setLocation(IfcURIReference v); + std::string Location() const; + void setLocation(std::string v); /// Whether the optional attribute ReferenceTokens is defined for this IfcClassification bool hasReferenceTokens() const; /// The delimiter tokens that are used to mark the boundaries of individual facets (substrings) in a classification reference. @@ -12469,8 +13729,8 @@ public: /// EXAMPLE 2  The use of ReferenceTokens can also be extended to include masks. The use need to be agreed in view definitions or implementer agreements that stipulates a "mask syntax" that should be used. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - std::vector< IfcIdentifier > /*[1:?]*/ ReferenceTokens() const; - void setReferenceTokens(std::vector< IfcIdentifier > /*[1:?]*/ v); + std::vector< std::string > /*[1:?]*/ ReferenceTokens() const; + void setReferenceTokens(std::vector< std::string > /*[1:?]*/ v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_VECTOR_STRING; } return IfcExternalInformation::getArgumentType(i); } 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"; case 4: return "Description"; case 5: return "Location"; case 6: return "ReferenceTokens"; } return IfcExternalInformation::getArgumentName(i); } @@ -12481,7 +13741,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcClassification (IfcAbstractEntity* e); - IfcClassification (boost::optional< IfcLabel > v1_Source, boost::optional< IfcLabel > v2_Edition, boost::optional< IfcDate > v3_EditionDate, IfcLabel v4_Name, boost::optional< IfcText > v5_Description, boost::optional< IfcURIReference > v6_Location, boost::optional< std::vector< IfcIdentifier > /*[1:?]*/ > v7_ReferenceTokens); + IfcClassification (boost::optional< std::string > v1_Source, boost::optional< std::string > v2_Edition, boost::optional< std::string > v3_EditionDate, std::string v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Location, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens); typedef IfcTemplatedEntityList< IfcClassification > list; }; /// An IfcClassificationReference is a reference into a classification system or source (see IfcClassification) for a specific classification key (or notation). @@ -12510,19 +13770,19 @@ public: /// Whether the optional attribute ReferencedSource is defined for this IfcClassificationReference bool hasReferencedSource() const; /// The classification system or source that is referenced. - IfcClassificationReferenceSelect ReferencedSource() const; - void setReferencedSource(IfcClassificationReferenceSelect v); + IfcClassificationReferenceSelect* ReferencedSource() const; + void setReferencedSource(IfcClassificationReferenceSelect* v); /// Whether the optional attribute Description is defined for this IfcClassificationReference bool hasDescription() const; /// Description of the classification reference for informational purposes. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Whether the optional attribute Sort is defined for this IfcClassificationReference bool hasSort() const; - IfcIdentifier Sort() const; - void setSort(IfcIdentifier v); + std::string Sort() const; + void setSort(std::string v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; } return IfcExternalReference::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "ReferencedSource"; case 4: return "Description"; case 5: return "Sort"; } return IfcExternalReference::getArgumentName(i); } @@ -12533,7 +13793,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcClassificationReference (IfcAbstractEntity* e); - IfcClassificationReference (boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name, boost::optional< IfcClassificationReferenceSelect > v4_ReferencedSource, boost::optional< IfcText > v5_Description, boost::optional< IfcIdentifier > v6_Sort); + IfcClassificationReference (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, IfcClassificationReferenceSelect* v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort); typedef IfcTemplatedEntityList< IfcClassificationReference > list; }; @@ -12563,8 +13823,8 @@ public: /// /// NOTE  Examples are the names of a industry colour classification, such as RAL. /// IFC2x Edition 3 CHANGE  Attribute added. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } return IfcPresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } return IfcPresentationItem::getArgumentName(i); } @@ -12573,7 +13833,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcColourSpecification (IfcAbstractEntity* e); - IfcColourSpecification (boost::optional< IfcLabel > v1_Name); + IfcColourSpecification (boost::optional< std::string > v1_Name); typedef IfcTemplatedEntityList< IfcColourSpecification > list; }; /// The IfcCompositeProfileDef @@ -12620,8 +13880,8 @@ public: /// Whether the optional attribute Label is defined for this IfcCompositeProfileDef bool hasLabel() const; /// 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. - IfcLabel Label() const; - void setLabel(IfcLabel v); + std::string Label() const; + void setLabel(std::string v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_STRING; } return IfcProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Profiles"; case 3: return "Label"; } return IfcProfileDef::getArgumentName(i); } @@ -12630,7 +13890,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCompositeProfileDef (IfcAbstractEntity* e); - IfcCompositeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcTemplatedEntityList< IfcProfileDef >::ptr v3_Profiles, boost::optional< IfcLabel > v4_Label); + IfcCompositeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcTemplatedEntityList< IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label); typedef IfcTemplatedEntityList< IfcCompositeProfileDef > list; }; /// 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. @@ -12674,13 +13934,13 @@ public: class IfcConnectionCurveGeometry : public IfcConnectionGeometry { public: /// The bounded curve at which the connected objects are aligned at the relating element, given in the LCS of the relating element. - IfcCurveOrEdgeCurve CurveOnRelatingElement() const; - void setCurveOnRelatingElement(IfcCurveOrEdgeCurve v); + IfcCurveOrEdgeCurve* CurveOnRelatingElement() const; + void setCurveOnRelatingElement(IfcCurveOrEdgeCurve* v); /// Whether the optional attribute CurveOnRelatedElement is defined for this IfcConnectionCurveGeometry bool hasCurveOnRelatedElement() const; /// The bounded curve at which the connected objects are aligned at the related element, given in the LCS of the related element. If the information is omitted, then the origin of the related element is used. - IfcCurveOrEdgeCurve CurveOnRelatedElement() const; - void setCurveOnRelatedElement(IfcCurveOrEdgeCurve v); + IfcCurveOrEdgeCurve* CurveOnRelatedElement() const; + void setCurveOnRelatedElement(IfcCurveOrEdgeCurve* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcConnectionGeometry::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "CurveOnRelatingElement"; case 1: return "CurveOnRelatedElement"; } return IfcConnectionGeometry::getArgumentName(i); } @@ -12689,7 +13949,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConnectionCurveGeometry (IfcAbstractEntity* e); - IfcConnectionCurveGeometry (IfcCurveOrEdgeCurve v1_CurveOnRelatingElement, boost::optional< IfcCurveOrEdgeCurve > v2_CurveOnRelatedElement); + IfcConnectionCurveGeometry (IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement); typedef IfcTemplatedEntityList< IfcConnectionCurveGeometry > list; }; /// 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: @@ -12716,18 +13976,18 @@ public: /// Whether the optional attribute EccentricityInX is defined for this IfcConnectionPointEccentricity bool hasEccentricityInX() const; /// Distance in x direction between the two points (or vertex points) engaged in the point connection. - IfcLengthMeasure EccentricityInX() const; - void setEccentricityInX(IfcLengthMeasure v); + double EccentricityInX() const; + void setEccentricityInX(double v); /// Whether the optional attribute EccentricityInY is defined for this IfcConnectionPointEccentricity bool hasEccentricityInY() const; /// Distance in y direction between the two points (or vertex points) engaged in the point connection. - IfcLengthMeasure EccentricityInY() const; - void setEccentricityInY(IfcLengthMeasure v); + double EccentricityInY() const; + void setEccentricityInY(double v); /// Whether the optional attribute EccentricityInZ is defined for this IfcConnectionPointEccentricity bool hasEccentricityInZ() const; /// Distance in z direction between the two points (or vertex points) engaged in the point connection. - IfcLengthMeasure EccentricityInZ() const; - void setEccentricityInZ(IfcLengthMeasure v); + double EccentricityInZ() const; + void setEccentricityInZ(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcConnectionPointGeometry::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "EccentricityInX"; case 3: return "EccentricityInY"; case 4: return "EccentricityInZ"; } return IfcConnectionPointGeometry::getArgumentName(i); } @@ -12736,7 +13996,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConnectionPointEccentricity (IfcAbstractEntity* e); - IfcConnectionPointEccentricity (IfcPointOrVertexPoint v1_PointOnRelatingElement, boost::optional< IfcPointOrVertexPoint > v2_PointOnRelatedElement, boost::optional< IfcLengthMeasure > v3_EccentricityInX, boost::optional< IfcLengthMeasure > v4_EccentricityInY, boost::optional< IfcLengthMeasure > v5_EccentricityInZ); + IfcConnectionPointEccentricity (IfcPointOrVertexPoint* v1_PointOnRelatingElement, IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ); typedef IfcTemplatedEntityList< IfcConnectionPointEccentricity > list; }; /// Definition from ISO/CD 10303-41:1992: A context dependent unit is a unit which is not related to the SI system. @@ -12749,8 +14009,8 @@ public: class IfcContextDependentUnit : public IfcNamedUnit { public: /// The word, or group of words, by which the context dependent unit is referred to. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_STRING; } return IfcNamedUnit::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Name"; } return IfcNamedUnit::getArgumentName(i); } @@ -12760,7 +14020,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcContextDependentUnit (IfcAbstractEntity* e); - IfcContextDependentUnit (IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, IfcLabel v3_Name); + IfcContextDependentUnit (IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, std::string v3_Name); typedef IfcTemplatedEntityList< IfcContextDependentUnit > list; }; /// Definition from ISO/CD 10303-41:1992: A conversion based unit is a unit that is defined based on a measure with unit. @@ -12813,8 +14073,8 @@ public: class IfcConversionBasedUnit : public IfcNamedUnit { public: /// The word, or group of words, by which the conversion based unit is referred to. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// The physical quantity from which the converted unit is derived. IfcMeasureWithUnit* ConversionFactor() const; void setConversionFactor(IfcMeasureWithUnit* v); @@ -12827,7 +14087,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConversionBasedUnit (IfcAbstractEntity* e); - IfcConversionBasedUnit (IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, IfcLabel v3_Name, IfcMeasureWithUnit* v4_ConversionFactor); + IfcConversionBasedUnit (IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, std::string v3_Name, IfcMeasureWithUnit* v4_ConversionFactor); typedef IfcTemplatedEntityList< IfcConversionBasedUnit > list; }; /// IfcConversionBasedUnitWithOffset is a unit which is converted from another unit by applying a conversion factor and an offset. @@ -12851,8 +14111,8 @@ public: class IfcConversionBasedUnitWithOffset : public IfcConversionBasedUnit { public: /// A positive or negative offset to add after the inherited ConversionFactor was applied. - IfcReal ConversionOffset() const; - void setConversionOffset(IfcReal v); + double ConversionOffset() const; + void setConversionOffset(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_DOUBLE; } return IfcConversionBasedUnit::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "ConversionOffset"; } return IfcConversionBasedUnit::getArgumentName(i); } @@ -12861,7 +14121,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConversionBasedUnitWithOffset (IfcAbstractEntity* e); - IfcConversionBasedUnitWithOffset (IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, IfcLabel v3_Name, IfcMeasureWithUnit* v4_ConversionFactor, IfcReal v5_ConversionOffset); + IfcConversionBasedUnitWithOffset (IfcDimensionalExponents* v1_Dimensions, IfcUnitEnum::IfcUnitEnum v2_UnitType, std::string v3_Name, IfcMeasureWithUnit* v4_ConversionFactor, double v5_ConversionOffset); typedef IfcTemplatedEntityList< IfcConversionBasedUnitWithOffset > list; }; /// IfcCurrencyRelationship defines the rate of exchange @@ -12884,15 +14144,15 @@ public: IfcMonetaryUnit* RelatedMonetaryUnit() const; void setRelatedMonetaryUnit(IfcMonetaryUnit* v); /// The currently agreed ratio of the amount of a related monetary unit that is equivalent to a unit amount of the relating monetary unit in a currency relationship. For instance, in the case of a conversion from GBP to USD, the value of the exchange rate may be 1.486 (USD) : 1 (GBP). - IfcPositiveRatioMeasure ExchangeRate() const; - void setExchangeRate(IfcPositiveRatioMeasure v); + double ExchangeRate() const; + void setExchangeRate(double v); /// Whether the optional attribute RateDateTime is defined for this IfcCurrencyRelationship bool hasRateDateTime() const; /// The date and time at which an exchange rate applies. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. Attribute made optional. - IfcDateTime RateDateTime() const; - void setRateDateTime(IfcDateTime v); + std::string RateDateTime() const; + void setRateDateTime(std::string v); /// Whether the optional attribute RateSource is defined for this IfcCurrencyRelationship bool hasRateSource() const; /// The source from which an exchange rate is obtained. @@ -12906,7 +14166,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCurrencyRelationship (IfcAbstractEntity* e); - IfcCurrencyRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMonetaryUnit* v3_RelatingMonetaryUnit, IfcMonetaryUnit* v4_RelatedMonetaryUnit, IfcPositiveRatioMeasure v5_ExchangeRate, boost::optional< IfcDateTime > v6_RateDateTime, IfcLibraryInformation* v7_RateSource); + IfcCurrencyRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcMonetaryUnit* v3_RelatingMonetaryUnit, IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, IfcLibraryInformation* v7_RateSource); typedef IfcTemplatedEntityList< IfcCurrencyRelationship > list; }; /// Definition from ISO/CD 10303-46:1992: A curve style specifies the visual appearance of curves. @@ -12931,18 +14191,18 @@ public: /// Whether the optional attribute CurveFont is defined for this IfcCurveStyle bool hasCurveFont() const; /// A curve style font which is used to present a curve. It can either be a predefined curve font, or an explicitly defined curve font. Both may be scaled. If not given, then the curve font should be taken from the layer assignment with style, if that is not given either, then the default curve font applies. - IfcCurveFontOrScaledCurveFontSelect CurveFont() const; - void setCurveFont(IfcCurveFontOrScaledCurveFontSelect v); + IfcCurveFontOrScaledCurveFontSelect* CurveFont() const; + void setCurveFont(IfcCurveFontOrScaledCurveFontSelect* v); /// Whether the optional attribute CurveWidth is defined for this IfcCurveStyle bool hasCurveWidth() const; /// A positive length measure in units of the presentation area for the width of a presented curve. If not given, then the style should be taken from the layer assignment with style, if that is not given either, then the default style applies. - IfcSizeSelect CurveWidth() const; - void setCurveWidth(IfcSizeSelect v); + IfcSizeSelect* CurveWidth() const; + void setCurveWidth(IfcSizeSelect* v); /// Whether the optional attribute CurveColour is defined for this IfcCurveStyle bool hasCurveColour() const; /// The colour of the visible part of the curve. If not given, then the colour should be taken from the layer assignment with style, if that is not given either, then the default colour applies. - IfcColour CurveColour() const; - void setCurveColour(IfcColour v); + IfcColour* CurveColour() const; + void setCurveColour(IfcColour* v); /// Whether the optional attribute ModelOrDraughting is defined for this IfcCurveStyle bool hasModelOrDraughting() const; bool ModelOrDraughting() const; @@ -12955,7 +14215,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCurveStyle (IfcAbstractEntity* e); - IfcCurveStyle (boost::optional< IfcLabel > v1_Name, boost::optional< IfcCurveFontOrScaledCurveFontSelect > v2_CurveFont, boost::optional< IfcSizeSelect > v3_CurveWidth, boost::optional< IfcColour > v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting); + IfcCurveStyle (boost::optional< std::string > v1_Name, IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, IfcSizeSelect* v3_CurveWidth, IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting); typedef IfcTemplatedEntityList< IfcCurveStyle > list; }; /// 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. @@ -12968,8 +14228,8 @@ public: /// Whether the optional attribute Name is defined for this IfcCurveStyleFont bool hasName() const; /// Name that may be assigned with the curve font. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// 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. IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr PatternList() const; void setPatternList(IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v); @@ -12981,7 +14241,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCurveStyleFont (IfcAbstractEntity* e); - IfcCurveStyleFont (boost::optional< IfcLabel > v1_Name, IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v2_PatternList); + IfcCurveStyleFont (boost::optional< std::string > v1_Name, IfcTemplatedEntityList< IfcCurveStyleFontPattern >::ptr v2_PatternList); typedef IfcTemplatedEntityList< IfcCurveStyleFont > list; }; /// 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. @@ -13000,14 +14260,14 @@ public: /// Whether the optional attribute Name is defined for this IfcCurveStyleFontAndScaling bool hasName() const; /// Name that may be assigned with the scaling of a curve font. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// The curve font to be scaled. - IfcCurveStyleFontSelect CurveFont() const; - void setCurveFont(IfcCurveStyleFontSelect v); + IfcCurveStyleFontSelect* CurveFont() const; + void setCurveFont(IfcCurveStyleFontSelect* v); /// The scale factor. - IfcPositiveRatioMeasure CurveFontScaling() const; - void setCurveFontScaling(IfcPositiveRatioMeasure v); + double CurveFontScaling() const; + void setCurveFontScaling(double v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_DOUBLE; } return IfcPresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "CurveFont"; case 2: return "CurveFontScaling"; } return IfcPresentationItem::getArgumentName(i); } @@ -13016,7 +14276,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCurveStyleFontAndScaling (IfcAbstractEntity* e); - IfcCurveStyleFontAndScaling (boost::optional< IfcLabel > v1_Name, IfcCurveStyleFontSelect v2_CurveFont, IfcPositiveRatioMeasure v3_CurveFontScaling); + IfcCurveStyleFontAndScaling (boost::optional< std::string > v1_Name, IfcCurveStyleFontSelect* v2_CurveFont, double v3_CurveFontScaling); typedef IfcTemplatedEntityList< IfcCurveStyleFontAndScaling > list; }; /// 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. @@ -13031,11 +14291,11 @@ public: /// 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. - IfcLengthMeasure VisibleSegmentLength() const; - void setVisibleSegmentLength(IfcLengthMeasure v); + double VisibleSegmentLength() const; + void setVisibleSegmentLength(double v); /// The length of the invisible segment in the pattern definition. - IfcPositiveLengthMeasure InvisibleSegmentLength() const; - void setInvisibleSegmentLength(IfcPositiveLengthMeasure v); + double InvisibleSegmentLength() const; + void setInvisibleSegmentLength(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; } return IfcPresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "VisibleSegmentLength"; case 1: return "InvisibleSegmentLength"; } return IfcPresentationItem::getArgumentName(i); } @@ -13044,7 +14304,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCurveStyleFontPattern (IfcAbstractEntity* e); - IfcCurveStyleFontPattern (IfcLengthMeasure v1_VisibleSegmentLength, IfcPositiveLengthMeasure v2_InvisibleSegmentLength); + IfcCurveStyleFontPattern (double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength); typedef IfcTemplatedEntityList< IfcCurveStyleFontPattern > list; }; /// 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. @@ -13142,8 +14402,8 @@ public: /// Whether the optional attribute Label is defined for this IfcDerivedProfileDef bool hasLabel() const; /// The name by which the transformation may be referred to. The actual meaning of the name has to be defined in the context of applications. - IfcLabel Label() const; - void setLabel(IfcLabel v); + std::string Label() const; + void setLabel(std::string v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_STRING; } return IfcProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "ParentProfile"; case 3: return "Operator"; case 4: return "Label"; } return IfcProfileDef::getArgumentName(i); } @@ -13152,7 +14412,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDerivedProfileDef (IfcAbstractEntity* e); - IfcDerivedProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcProfileDef* v3_ParentProfile, IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< IfcLabel > v5_Label); + IfcDerivedProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcProfileDef* v3_ParentProfile, IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label); typedef IfcTemplatedEntityList< IfcDerivedProfileDef > list; }; /// 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. @@ -13160,86 +14420,86 @@ public: /// HISTORY: New entity in IFC 2x. class IfcDocumentInformation : public IfcExternalInformation { public: - IfcIdentifier Identification() const; - void setIdentification(IfcIdentifier v); + std::string Identification() const; + void setIdentification(std::string v); /// File name or document name assigned by owner. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcDocumentInformation bool hasDescription() const; /// Description of document and its content. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Whether the optional attribute Location is defined for this IfcDocumentInformation bool hasLocation() const; /// Resource identifier or locator, provided as URI, URN or URL, of the document information for online references. /// /// IFC2x4 CHANGE  New attribute added at end of attribute list. - IfcURIReference Location() const; - void setLocation(IfcURIReference v); + std::string Location() const; + void setLocation(std::string v); /// Whether the optional attribute Purpose is defined for this IfcDocumentInformation bool hasPurpose() const; /// Purpose for this document. - IfcText Purpose() const; - void setPurpose(IfcText v); + std::string Purpose() const; + void setPurpose(std::string v); /// Whether the optional attribute IntendedUse is defined for this IfcDocumentInformation bool hasIntendedUse() const; /// Intended use for this document. - IfcText IntendedUse() const; - void setIntendedUse(IfcText v); + std::string IntendedUse() const; + void setIntendedUse(std::string v); /// Whether the optional attribute Scope is defined for this IfcDocumentInformation bool hasScope() const; /// Scope for this document. - IfcText Scope() const; - void setScope(IfcText v); + std::string Scope() const; + void setScope(std::string v); /// Whether the optional attribute Revision is defined for this IfcDocumentInformation bool hasRevision() const; /// Document revision designation. - IfcLabel Revision() const; - void setRevision(IfcLabel v); + std::string Revision() const; + void setRevision(std::string v); /// Whether the optional attribute DocumentOwner is defined for this IfcDocumentInformation bool hasDocumentOwner() const; /// Information about the person and/or organization acknowledged as the 'owner' of this document. In some contexts, the document owner determines who has access to or editing right to the document. - IfcActorSelect DocumentOwner() const; - void setDocumentOwner(IfcActorSelect v); + IfcActorSelect* DocumentOwner() const; + void setDocumentOwner(IfcActorSelect* v); /// Whether the optional attribute Editors is defined for this IfcDocumentInformation bool hasEditors() const; /// The persons and/or organizations who have created this document or contributed to it. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Editors() const; - void setEditors(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr Editors() const; + void setEditors(IfcEntityList::ptr v); /// Whether the optional attribute CreationTime is defined for this IfcDocumentInformation bool hasCreationTime() const; /// Date and time stamp when the document was originally created. /// /// IFC2x4 CHANGE The data type has been changed to IfcDateTime, the date time string according to ISO8601. - IfcDateTime CreationTime() const; - void setCreationTime(IfcDateTime v); + std::string CreationTime() const; + void setCreationTime(std::string v); /// Whether the optional attribute LastRevisionTime is defined for this IfcDocumentInformation bool hasLastRevisionTime() const; /// Date and time stamp when this document version was created. /// /// IFC2x4 CHANGE The data type has been changed to IfcDateTime, the date time string according to ISO8601. - IfcDateTime LastRevisionTime() const; - void setLastRevisionTime(IfcDateTime v); + std::string LastRevisionTime() const; + void setLastRevisionTime(std::string v); /// Whether the optional attribute ElectronicFormat is defined for this IfcDocumentInformation bool hasElectronicFormat() const; /// Describes the electronic format of the document being referenced, providing the file extension and the manner in which the content is provided. - IfcIdentifier ElectronicFormat() const; - void setElectronicFormat(IfcIdentifier v); + std::string ElectronicFormat() const; + void setElectronicFormat(std::string v); /// Whether the optional attribute ValidFrom is defined for this IfcDocumentInformation bool hasValidFrom() const; /// Date when the document becomes valid. /// /// IFC2x4 CHANGE The data type has been changed to IfcDate, the date string according to ISO8601. - IfcDate ValidFrom() const; - void setValidFrom(IfcDate v); + std::string ValidFrom() const; + void setValidFrom(std::string v); /// Whether the optional attribute ValidUntil is defined for this IfcDocumentInformation bool hasValidUntil() const; /// Date until which the document remains valid. /// /// IFC2x4 CHANGE The data type has been changed to IfcDate, the date string according to ISO8601. - IfcDate ValidUntil() const; - void setValidUntil(IfcDate v); + std::string ValidUntil() const; + void setValidUntil(std::string v); /// Whether the optional attribute Confidentiality is defined for this IfcDocumentInformation bool hasConfidentiality() const; /// The level of confidentiality of the document. @@ -13266,7 +14526,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDocumentInformation (IfcAbstractEntity* e); - IfcDocumentInformation (IfcIdentifier v1_Identification, IfcLabel v2_Name, boost::optional< IfcText > v3_Description, boost::optional< IfcURIReference > v4_Location, boost::optional< IfcText > v5_Purpose, boost::optional< IfcText > v6_IntendedUse, boost::optional< IfcText > v7_Scope, boost::optional< IfcLabel > v8_Revision, boost::optional< IfcActorSelect > v9_DocumentOwner, boost::optional< IfcEntityList::ptr > v10_Editors, boost::optional< IfcDateTime > v11_CreationTime, boost::optional< IfcDateTime > v12_LastRevisionTime, boost::optional< IfcIdentifier > v13_ElectronicFormat, boost::optional< IfcDate > v14_ValidFrom, boost::optional< IfcDate > v15_ValidUntil, boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v16_Confidentiality, boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v17_Status); + IfcDocumentInformation (std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, IfcActorSelect* v9_DocumentOwner, boost::optional< IfcEntityList::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< IfcDocumentConfidentialityEnum::IfcDocumentConfidentialityEnum > v16_Confidentiality, boost::optional< IfcDocumentStatusEnum::IfcDocumentStatusEnum > v17_Status); typedef IfcTemplatedEntityList< IfcDocumentInformation > list; }; /// An IfcDocumentInformationRelationship is a relationship class that enables a document to have the ability to reference other documents. @@ -13288,8 +14548,8 @@ public: /// Whether the optional attribute RelationshipType is defined for this IfcDocumentInformationRelationship bool hasRelationshipType() const; /// Describes the type of relationship between documents. This could be sub-document, replacement etc. The interpretation has to be established in an application context. - IfcLabel RelationshipType() const; - void setRelationshipType(IfcLabel v); + std::string RelationshipType() const; + void setRelationshipType(std::string v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY_LIST; case 4: return IfcUtil::Argument_STRING; } return IfcResourceLevelRelationship::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "RelatingDocument"; case 3: return "RelatedDocuments"; case 4: return "RelationshipType"; } return IfcResourceLevelRelationship::getArgumentName(i); } @@ -13298,7 +14558,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDocumentInformationRelationship (IfcAbstractEntity* e); - IfcDocumentInformationRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcDocumentInformation* v3_RelatingDocument, IfcTemplatedEntityList< IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< IfcLabel > v5_RelationshipType); + IfcDocumentInformationRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcDocumentInformation* v3_RelatingDocument, IfcTemplatedEntityList< IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType); typedef IfcTemplatedEntityList< IfcDocumentInformationRelationship > list; }; /// An IfcDocumentReference is a reference @@ -13319,8 +14579,8 @@ public: /// Description of the document reference for informational purposes. /// /// IFC2x4 CHANGE  New attribute added at the end of the attribute list. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Whether the optional attribute ReferencedDocument is defined for this IfcDocumentReference bool hasReferencedDocument() const; /// The document that is referenced. @@ -13335,7 +14595,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDocumentReference (IfcAbstractEntity* e); - IfcDocumentReference (boost::optional< IfcURIReference > v1_Location, boost::optional< IfcIdentifier > v2_Identification, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcDocumentInformation* v5_ReferencedDocument); + IfcDocumentReference (boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcDocumentInformation* v5_ReferencedDocument); typedef IfcTemplatedEntityList< IfcDocumentReference > list; }; /// Definition from ISO/CD 10303-42:1992: An edge is the @@ -13486,25 +14746,25 @@ public: /// Whether the optional attribute ActualDate is defined for this IfcEventTime bool hasActualDate() const; /// The date on which an event actually occurs. It is a measured value. - IfcDateTime ActualDate() const; - void setActualDate(IfcDateTime v); + std::string ActualDate() const; + void setActualDate(std::string v); /// Whether the optional attribute EarlyDate is defined for this IfcEventTime bool hasEarlyDate() const; /// The earliest date on which an event can occur. It is a calculated value. - IfcDateTime EarlyDate() const; - void setEarlyDate(IfcDateTime v); + std::string EarlyDate() const; + void setEarlyDate(std::string v); /// Whether the optional attribute LateDate is defined for this IfcEventTime bool hasLateDate() const; /// The latest date on which an event can occur. It is a calculated value. - IfcDateTime LateDate() const; - void setLateDate(IfcDateTime v); + std::string LateDate() const; + void setLateDate(std::string v); /// Whether the optional attribute ScheduleDate is defined for this IfcEventTime bool hasScheduleDate() const; /// The date on which an event is scheduled to occur. /// The value might be measured or somehow calculated, which is defined by /// ScheduleDataOrigin. - IfcDateTime ScheduleDate() const; - void setScheduleDate(IfcDateTime v); + std::string ScheduleDate() const; + void setScheduleDate(std::string v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; } return IfcSchedulingTime::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "ActualDate"; case 4: return "EarlyDate"; case 5: return "LateDate"; case 6: return "ScheduleDate"; } return IfcSchedulingTime::getArgumentName(i); } @@ -13513,7 +14773,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEventTime (IfcAbstractEntity* e); - IfcEventTime (boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, boost::optional< IfcDateTime > v4_ActualDate, boost::optional< IfcDateTime > v5_EarlyDate, boost::optional< IfcDateTime > v6_LateDate, boost::optional< IfcDateTime > v7_ScheduleDate); + IfcEventTime (boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ActualDate, boost::optional< std::string > v5_EarlyDate, boost::optional< std::string > v6_LateDate, boost::optional< std::string > v7_ScheduleDate); typedef IfcTemplatedEntityList< IfcEventTime > list; }; @@ -13521,12 +14781,12 @@ class IfcExtendedProperties : public IfcPropertyAbstraction { public: /// Whether the optional attribute Name is defined for this IfcExtendedProperties bool hasName() const; - IfcIdentifier Name() const; - void setName(IfcIdentifier v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcExtendedProperties bool hasDescription() const; - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); IfcTemplatedEntityList< IfcProperty >::ptr Properties() const; void setProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); virtual unsigned int getArgumentCount() const { return 3; } @@ -13537,7 +14797,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcExtendedProperties (IfcAbstractEntity* e); - IfcExtendedProperties (boost::optional< IfcIdentifier > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcProperty >::ptr v3_Properties); + IfcExtendedProperties (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcProperty >::ptr v3_Properties); typedef IfcTemplatedEntityList< IfcExtendedProperties > list; }; /// IfcExternalReferenceRelationship is a relationship entity that enables objects from the @@ -13555,8 +14815,8 @@ public: IfcExternalReference* RelatingReference() const; void setRelatingReference(IfcExternalReference* v); /// Objects within the list of IfcResourceObjectSelect that can be tagged by an external reference to a dictionary, library, catalogue, classification or documentation. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY_LIST; } return IfcResourceLevelRelationship::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "RelatingReference"; case 3: return "RelatedResourceObjects"; } return IfcResourceLevelRelationship::getArgumentName(i); } @@ -13565,7 +14825,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcExternalReferenceRelationship (IfcAbstractEntity* e); - IfcExternalReferenceRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcExternalReference* v3_RelatingReference, IfcEntityList::ptr v4_RelatedResourceObjects); + IfcExternalReferenceRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcExternalReference* v3_RelatingReference, IfcEntityList::ptr v4_RelatedResourceObjects); typedef IfcTemplatedEntityList< IfcExternalReferenceRelationship > list; }; /// Definition from ISO/CD 10303-42:1992: A face is a topological @@ -13738,33 +14998,33 @@ public: /// Whether the optional attribute TensionFailureX is defined for this IfcFailureConnectionCondition bool hasTensionFailureX() const; /// Tension force in x-direction leading to failure of the connection. - IfcForceMeasure TensionFailureX() const; - void setTensionFailureX(IfcForceMeasure v); + double TensionFailureX() const; + void setTensionFailureX(double v); /// Whether the optional attribute TensionFailureY is defined for this IfcFailureConnectionCondition bool hasTensionFailureY() const; /// Tension force in y-direction leading to failure of the connection. - IfcForceMeasure TensionFailureY() const; - void setTensionFailureY(IfcForceMeasure v); + double TensionFailureY() const; + void setTensionFailureY(double v); /// Whether the optional attribute TensionFailureZ is defined for this IfcFailureConnectionCondition bool hasTensionFailureZ() const; /// Tension force in z-direction leading to failure of the connection. - IfcForceMeasure TensionFailureZ() const; - void setTensionFailureZ(IfcForceMeasure v); + double TensionFailureZ() const; + void setTensionFailureZ(double v); /// Whether the optional attribute CompressionFailureX is defined for this IfcFailureConnectionCondition bool hasCompressionFailureX() const; /// Compression force in x-direction leading to failure of the connection. - IfcForceMeasure CompressionFailureX() const; - void setCompressionFailureX(IfcForceMeasure v); + double CompressionFailureX() const; + void setCompressionFailureX(double v); /// Whether the optional attribute CompressionFailureY is defined for this IfcFailureConnectionCondition bool hasCompressionFailureY() const; /// Compression force in y-direction leading to failure of the connection. - IfcForceMeasure CompressionFailureY() const; - void setCompressionFailureY(IfcForceMeasure v); + double CompressionFailureY() const; + void setCompressionFailureY(double v); /// Whether the optional attribute CompressionFailureZ is defined for this IfcFailureConnectionCondition bool hasCompressionFailureZ() const; /// Compression force in z-direction leading to failure of the connection. - IfcForceMeasure CompressionFailureZ() const; - void setCompressionFailureZ(IfcForceMeasure v); + double CompressionFailureZ() const; + void setCompressionFailureZ(double v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcStructuralConnectionCondition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "TensionFailureX"; case 2: return "TensionFailureY"; case 3: return "TensionFailureZ"; case 4: return "CompressionFailureX"; case 5: return "CompressionFailureY"; case 6: return "CompressionFailureZ"; } return IfcStructuralConnectionCondition::getArgumentName(i); } @@ -13773,7 +15033,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFailureConnectionCondition (IfcAbstractEntity* e); - IfcFailureConnectionCondition (boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_TensionFailureX, boost::optional< IfcForceMeasure > v3_TensionFailureY, boost::optional< IfcForceMeasure > v4_TensionFailureZ, boost::optional< IfcForceMeasure > v5_CompressionFailureX, boost::optional< IfcForceMeasure > v6_CompressionFailureY, boost::optional< IfcForceMeasure > v7_CompressionFailureZ); + IfcFailureConnectionCondition (boost::optional< std::string > v1_Name, boost::optional< double > v2_TensionFailureX, boost::optional< double > v3_TensionFailureY, boost::optional< double > v4_TensionFailureZ, boost::optional< double > v5_CompressionFailureX, boost::optional< double > v6_CompressionFailureY, boost::optional< double > v7_CompressionFailureZ); typedef IfcTemplatedEntityList< IfcFailureConnectionCondition > list; }; /// Definition from ISO/CD 10303-46:1992: The style for filling visible curve segments, annotation fill areas or surfaces with tiles or hatches. @@ -13813,8 +15073,8 @@ public: class IfcFillAreaStyle : public IfcPresentationStyle { public: /// The set of fill area styles to use in presenting visible curve segments, annotation fill areas or surfaces. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr FillStyles() const; - void setFillStyles(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr FillStyles() const; + void setFillStyles(IfcEntityList::ptr v); /// Whether the optional attribute ModelorDraughting is defined for this IfcFillAreaStyle bool hasModelorDraughting() const; bool ModelorDraughting() const; @@ -13827,7 +15087,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFillAreaStyle (IfcAbstractEntity* e); - IfcFillAreaStyle (boost::optional< IfcLabel > v1_Name, IfcEntityList::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting); + IfcFillAreaStyle (boost::optional< std::string > v1_Name, IfcEntityList::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting); typedef IfcTemplatedEntityList< IfcFillAreaStyle > list; }; /// Definition from ISO/CD 10303-42:1992: A geometric @@ -13880,8 +15140,8 @@ public: class IfcGeometricRepresentationContext : public IfcRepresentationContext { public: /// The integer dimension count of the coordinate space modeled in a geometric representation context. - IfcDimensionCount CoordinateSpaceDimension() const; - void setCoordinateSpaceDimension(IfcDimensionCount v); + int CoordinateSpaceDimension() const; + void setCoordinateSpaceDimension(int v); /// Whether the optional attribute Precision is defined for this IfcGeometricRepresentationContext bool hasPrecision() const; /// Value of the model precision for geometric models. It is a double value (REAL), typically in 1E-5 to 1E-8 range, that indicates the tolerance under which two given points are still assumed to be identical. The value can be used e.g. to sets the maximum distance from an edge curve to the underlying face surface in brep models. @@ -13890,8 +15150,8 @@ public: /// 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.). - IfcAxis2Placement WorldCoordinateSystem() const; - void setWorldCoordinateSystem(IfcAxis2Placement v); + IfcAxis2Placement* WorldCoordinateSystem() const; + void setWorldCoordinateSystem(IfcAxis2Placement* v); /// Whether the optional attribute TrueNorth is defined for this IfcGeometricRepresentationContext bool hasTrueNorth() const; /// Direction of the true north, or geographic northing direction, relative to the underlying project coordinate system. It is given by a 2 dimensional direction within the xy-plane of the project coordinate system. If not resent, it defaults to 0. 1. - i.e. the positive Y axis of the project coordinate system equals the geographic northing direction. @@ -13906,7 +15166,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGeometricRepresentationContext (IfcAbstractEntity* e); - IfcGeometricRepresentationContext (boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType, IfcDimensionCount v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, IfcAxis2Placement v5_WorldCoordinateSystem, IfcDirection* v6_TrueNorth); + IfcGeometricRepresentationContext (boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, IfcAxis2Placement* v5_WorldCoordinateSystem, IfcDirection* v6_TrueNorth); typedef IfcTemplatedEntityList< IfcGeometricRepresentationContext > list; }; /// 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: @@ -13972,16 +15232,16 @@ public: /// /// Note: Scale 1:100 (given as 0.01 within TargetScale) /// is bigger then 1:200 (given as 0.005 within TargetScale). - IfcPositiveRatioMeasure TargetScale() const; - void setTargetScale(IfcPositiveRatioMeasure v); + double TargetScale() const; + void setTargetScale(double v); /// Target view of the representation to which this representation context applies. IfcGeometricProjectionEnum::IfcGeometricProjectionEnum TargetView() const; void setTargetView(IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v); /// Whether the optional attribute UserDefinedTargetView is defined for this IfcGeometricRepresentationSubContext bool hasUserDefinedTargetView() const; /// User defined target view, this attribute value shall be given, if the TargetView attribute is set to USERDEFINED. - IfcLabel UserDefinedTargetView() const; - void setUserDefinedTargetView(IfcLabel v); + std::string UserDefinedTargetView() const; + void setUserDefinedTargetView(std::string v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_STRING; } return IfcGeometricRepresentationContext::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "ParentContext"; case 7: return "TargetScale"; case 8: return "TargetView"; case 9: return "UserDefinedTargetView"; } return IfcGeometricRepresentationContext::getArgumentName(i); } @@ -13990,7 +15250,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGeometricRepresentationSubContext (IfcAbstractEntity* e); - IfcGeometricRepresentationSubContext (boost::optional< IfcLabel > v1_ContextIdentifier, boost::optional< IfcLabel > v2_ContextType, IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< IfcPositiveRatioMeasure > v8_TargetScale, IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v9_TargetView, boost::optional< IfcLabel > v10_UserDefinedTargetView); + IfcGeometricRepresentationSubContext (boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, IfcGeometricProjectionEnum::IfcGeometricProjectionEnum v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView); typedef IfcTemplatedEntityList< IfcGeometricRepresentationSubContext > list; }; /// Definition from ISO/CD 10303-42:1992: This entity is intended for the transfer of models when a topological structure is not available. @@ -14003,8 +15263,8 @@ 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. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Elements() const; - void setElements(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr Elements() const; + void setElements(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::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); } @@ -14071,8 +15331,8 @@ public: /// Reference to either an explicit direction, or a second grid axis intersection, which defines the orientation of the grid placement. /// /// IFC2x4 CHANGE The select of an explict direction has been added. - IfcGridPlacementDirectionSelect PlacementRefDirection() const; - void setPlacementRefDirection(IfcGridPlacementDirectionSelect v); + IfcGridPlacementDirectionSelect* PlacementRefDirection() const; + void setPlacementRefDirection(IfcGridPlacementDirectionSelect* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcObjectPlacement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "PlacementLocation"; case 1: return "PlacementRefDirection"; } return IfcObjectPlacement::getArgumentName(i); } @@ -14081,7 +15341,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGridPlacement (IfcAbstractEntity* e); - IfcGridPlacement (IfcVirtualGridIntersection* v1_PlacementLocation, boost::optional< IfcGridPlacementDirectionSelect > v2_PlacementRefDirection); + IfcGridPlacement (IfcVirtualGridIntersection* v1_PlacementLocation, IfcGridPlacementDirectionSelect* v2_PlacementRefDirection); typedef IfcTemplatedEntityList< IfcGridPlacement > list; }; /// 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. @@ -14156,8 +15416,8 @@ public: class IfcImageTexture : public IfcSurfaceTexture { public: /// Location, provided as an URI, at which the image texture is electronically published. - IfcURIReference URLReference() const; - void setURLReference(IfcURIReference v); + std::string URLReference() const; + void setURLReference(std::string v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; } return IfcSurfaceTexture::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "URLReference"; } return IfcSurfaceTexture::getArgumentName(i); } @@ -14166,7 +15426,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcImageTexture (IfcAbstractEntity* e); - IfcImageTexture (bool v1_RepeatS, bool v2_RepeatT, boost::optional< IfcIdentifier > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< IfcIdentifier > /*[1:?]*/ > v5_Parameter, IfcURIReference v6_URLReference); + IfcImageTexture (bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference); typedef IfcTemplatedEntityList< IfcImageTexture > list; }; @@ -14245,7 +15505,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcIrregularTimeSeries (IfcAbstractEntity* e); - IfcIrregularTimeSeries (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTime v3_StartTime, IfcDateTime v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit, IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v9_Values); + IfcIrregularTimeSeries (std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, IfcUnit* v8_Unit, IfcTemplatedEntityList< IfcIrregularTimeSeriesValue >::ptr v9_Values); typedef IfcTemplatedEntityList< IfcIrregularTimeSeries > list; }; /// IfcLagTime describes the time parameters that may exist within a sequence relationship between two processes. @@ -14289,8 +15549,8 @@ class IfcLagTime : public IfcSchedulingTime { public: /// Value of the time lag selected as being either a ratio or a /// time measure. - IfcTimeOrRatioSelect LagValue() const; - void setLagValue(IfcTimeOrRatioSelect v); + IfcTimeOrRatioSelect* LagValue() const; + void setLagValue(IfcTimeOrRatioSelect* v); /// The allowed types of task duration that specify the lag time /// measurement (work time or elapsed time). IfcTaskDurationEnum::IfcTaskDurationEnum DurationType() const; @@ -14303,7 +15563,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLagTime (IfcAbstractEntity* e); - IfcLagTime (boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, IfcTimeOrRatioSelect v4_LagValue, IfcTaskDurationEnum::IfcTaskDurationEnum v5_DurationType); + IfcLagTime (boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, IfcTimeOrRatioSelect* v4_LagValue, IfcTaskDurationEnum::IfcTaskDurationEnum v5_DurationType); typedef IfcTemplatedEntityList< IfcLagTime > list; }; /// 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. @@ -14318,8 +15578,8 @@ public: /// Whether the optional attribute Name is defined for this IfcLightSource bool hasName() const; /// The name given to the light source in presentation. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Definition from ISO/CD 10303-46:1992: Based on the current lighting model, the colour of the light to be used for shading. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The color field specifies the spectral color properties of both the direct and ambient light emission as an RGB value. IfcColourRgb* LightColour() const; @@ -14327,13 +15587,13 @@ public: /// Whether the optional attribute AmbientIntensity is defined for this IfcLightSource bool hasAmbientIntensity() const; /// Definition from VRML97 - ISO/IEC 14772-1:1997: The ambientIntensity specifies the intensity of the ambient emission from the light. Light intensity may range from 0.0 (no light emission) to 1.0 (full intensity). - IfcNormalisedRatioMeasure AmbientIntensity() const; - void setAmbientIntensity(IfcNormalisedRatioMeasure v); + double AmbientIntensity() const; + void setAmbientIntensity(double v); /// Whether the optional attribute Intensity is defined for this IfcLightSource bool hasIntensity() const; /// Definition from VRML97 - ISO/IEC 14772-1:1997: The intensity field specifies the brightness of the direct emission from the ligth. Light intensity may range from 0.0 (no light emission) to 1.0 (full intensity). - IfcNormalisedRatioMeasure Intensity() const; - void setIntensity(IfcNormalisedRatioMeasure v); + double Intensity() const; + void setIntensity(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "LightColour"; case 2: return "AmbientIntensity"; case 3: return "Intensity"; } return IfcGeometricRepresentationItem::getArgumentName(i); } @@ -14342,7 +15602,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLightSource (IfcAbstractEntity* e); - IfcLightSource (boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity); + IfcLightSource (boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity); typedef IfcTemplatedEntityList< IfcLightSource > list; }; /// 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. @@ -14362,7 +15622,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLightSourceAmbient (IfcAbstractEntity* e); - IfcLightSourceAmbient (boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity); + IfcLightSourceAmbient (boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity); typedef IfcTemplatedEntityList< IfcLightSourceAmbient > list; }; /// 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. @@ -14388,7 +15648,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLightSourceDirectional (IfcAbstractEntity* e); - IfcLightSourceDirectional (boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcDirection* v5_Orientation); + IfcLightSourceDirectional (boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, IfcDirection* v5_Orientation); typedef IfcTemplatedEntityList< IfcLightSourceDirectional > list; }; /// 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. @@ -14409,17 +15669,17 @@ public: IfcColourRgb* ColourAppearance() const; void setColourAppearance(IfcColourRgb* v); /// The color temperature of any source of radiation is defined as the temperature (in Kelvin) of a black-body or Planckian radiator whose radiation has the same chromaticity as the source of radiation. Often the values are only approximate color temperatures as the black-body radiator cannot emit radiation of every chromaticity value. The color temperatures of the commonest artificial light sources range from less than 3000K (warm white) to 4000K (intermediate) and over 5000K (daylight). - IfcThermodynamicTemperatureMeasure ColourTemperature() const; - void setColourTemperature(IfcThermodynamicTemperatureMeasure v); + double ColourTemperature() const; + void setColourTemperature(double v); /// Luminous flux is a photometric measure of radiant flux, i.e. the volume of light emitted from a light source. Luminous flux is measured either for the interior as a whole or for a part of the interior (partial luminous flux for a solid angle). All other photometric parameters are derivatives of luminous flux. Luminous flux is measured in lumens (lm). The luminous flux is given as a nominal value for each lamp. - IfcLuminousFluxMeasure LuminousFlux() const; - void setLuminousFlux(IfcLuminousFluxMeasure v); + double LuminousFlux() const; + void setLuminousFlux(double v); /// Identifies the types of light emitter from which the type required may be set. IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum LightEmissionSource() const; void setLightEmissionSource(IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v); /// The data source from which light distribution data is obtained. - IfcLightDistributionDataSourceSelect LightDistributionDataSource() const; - void setLightDistributionDataSource(IfcLightDistributionDataSourceSelect v); + IfcLightDistributionDataSourceSelect* LightDistributionDataSource() const; + void setLightDistributionDataSource(IfcLightDistributionDataSourceSelect* v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_ENTITY; } return IfcLightSource::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "Position"; case 5: return "ColourAppearance"; case 6: return "ColourTemperature"; case 7: return "LuminousFlux"; case 8: return "LightEmissionSource"; case 9: return "LightDistributionDataSource"; } return IfcLightSource::getArgumentName(i); } @@ -14428,7 +15688,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLightSourceGoniometric (IfcAbstractEntity* e); - IfcLightSourceGoniometric (boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcAxis2Placement3D* v5_Position, IfcColourRgb* v6_ColourAppearance, IfcThermodynamicTemperatureMeasure v7_ColourTemperature, IfcLuminousFluxMeasure v8_LuminousFlux, IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v9_LightEmissionSource, IfcLightDistributionDataSourceSelect v10_LightDistributionDataSource); + IfcLightSourceGoniometric (boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, IfcAxis2Placement3D* v5_Position, IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, IfcLightEmissionSourceEnum::IfcLightEmissionSourceEnum v9_LightEmissionSource, IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource); typedef IfcTemplatedEntityList< IfcLightSourceGoniometric > list; }; /// 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. @@ -14454,17 +15714,17 @@ public: void setPosition(IfcCartesianPoint* v); /// Definition from IAI: The maximum distance from the light source for a surface still to be illuminated. /// Definition from VRML97 - ISO/IEC 14772-1:1997: A Point light node illuminates geometry within radius of its location. - IfcPositiveLengthMeasure Radius() const; - void setRadius(IfcPositiveLengthMeasure v); + double Radius() const; + void setRadius(double v); /// Definition from ISO/CD 10303-46:1992: This real indicates the value of the attenuation in the lighting equation that is constant. - IfcReal ConstantAttenuation() const; - void setConstantAttenuation(IfcReal v); + double ConstantAttenuation() const; + void setConstantAttenuation(double v); /// Definition from ISO/CD 10303-46:1992: This real indicates the value of the attenuation in the lighting equation that proportional to the distance from the light source. - IfcReal DistanceAttenuation() const; - void setDistanceAttenuation(IfcReal v); + double DistanceAttenuation() const; + void setDistanceAttenuation(double v); /// Definition from the IAI: This real indicates the value of the attenuation in the lighting equation that proportional to the square value of the distance from the light source. - IfcReal QuadricAttenuation() const; - void setQuadricAttenuation(IfcReal v); + double QuadricAttenuation() const; + void setQuadricAttenuation(double v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; } return IfcLightSource::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "Position"; case 5: return "Radius"; case 6: return "ConstantAttenuation"; case 7: return "DistanceAttenuation"; case 8: return "QuadricAttenuation"; } return IfcLightSource::getArgumentName(i); } @@ -14473,7 +15733,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLightSourcePositional (IfcAbstractEntity* e); - IfcLightSourcePositional (boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcCartesianPoint* v5_Position, IfcPositiveLengthMeasure v6_Radius, IfcReal v7_ConstantAttenuation, IfcReal v8_DistanceAttenuation, IfcReal v9_QuadricAttenuation); + IfcLightSourcePositional (boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation); typedef IfcTemplatedEntityList< IfcLightSourcePositional > list; }; /// 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. @@ -14501,15 +15761,15 @@ public: bool hasConcentrationExponent() const; /// Definition from ISO/CD 10303-46:1992: This real is the exponent on the cosine of the angle between the line that starts at the position of the spot light source and is in the direction of the orientation of the spot light source and a line that starts at the position of the spot light source and goes through a point on the surface being shaded. /// NOTE: This attribute does not exists in ISO/IEC 14772-1:1997. - IfcReal ConcentrationExponent() const; - void setConcentrationExponent(IfcReal v); + double ConcentrationExponent() const; + void setConcentrationExponent(double v); /// Definition from ISO/CD 10303-46:1992: This planar angle measure is the angle between the line that starts at the position of the spot light source and is in the direction of the spot light source and any line on the boundary of the cone of influence. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The cutOffAngle (name of spread angle in VRML) field specifies the outer bound of the solid angle. The light source does not emit light outside of this solid angle. - IfcPositivePlaneAngleMeasure SpreadAngle() const; - void setSpreadAngle(IfcPositivePlaneAngleMeasure v); + double SpreadAngle() const; + void setSpreadAngle(double v); /// Definition from VRML97 - ISO/IEC 14772-1:1997: The beamWidth field specifies an inner solid angle 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). - IfcPositivePlaneAngleMeasure BeamWidthAngle() const; - void setBeamWidthAngle(IfcPositivePlaneAngleMeasure v); + double BeamWidthAngle() const; + void setBeamWidthAngle(double v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENTITY; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; } return IfcLightSourcePositional::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "Orientation"; case 10: return "ConcentrationExponent"; case 11: return "SpreadAngle"; case 12: return "BeamWidthAngle"; } return IfcLightSourcePositional::getArgumentName(i); } @@ -14518,7 +15778,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLightSourceSpot (IfcAbstractEntity* e); - IfcLightSourceSpot (boost::optional< IfcLabel > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< IfcNormalisedRatioMeasure > v3_AmbientIntensity, boost::optional< IfcNormalisedRatioMeasure > v4_Intensity, IfcCartesianPoint* v5_Position, IfcPositiveLengthMeasure v6_Radius, IfcReal v7_ConstantAttenuation, IfcReal v8_DistanceAttenuation, IfcReal v9_QuadricAttenuation, IfcDirection* v10_Orientation, boost::optional< IfcReal > v11_ConcentrationExponent, IfcPositivePlaneAngleMeasure v12_SpreadAngle, IfcPositivePlaneAngleMeasure v13_BeamWidthAngle); + IfcLightSourceSpot (boost::optional< std::string > v1_Name, IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle); typedef IfcTemplatedEntityList< IfcLightSourceSpot > list; }; /// IfcLocalPlacement defines the relative placement of a product in relation to the @@ -14581,8 +15841,8 @@ public: IfcObjectPlacement* PlacementRelTo() const; void setPlacementRelTo(IfcObjectPlacement* v); /// Geometric placement that defines the transformation from the related coordinate system into the relating. The placement can be either 2D or 3D, depending on the dimension count of the coordinate system. - IfcAxis2Placement RelativePlacement() const; - void setRelativePlacement(IfcAxis2Placement v); + IfcAxis2Placement* RelativePlacement() const; + void setRelativePlacement(IfcAxis2Placement* v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; } return IfcObjectPlacement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "PlacementRelTo"; case 1: return "RelativePlacement"; } return IfcObjectPlacement::getArgumentName(i); } @@ -14591,7 +15851,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLocalPlacement (IfcAbstractEntity* e); - IfcLocalPlacement (IfcObjectPlacement* v1_PlacementRelTo, IfcAxis2Placement v2_RelativePlacement); + IfcLocalPlacement (IfcObjectPlacement* v1_PlacementRelTo, IfcAxis2Placement* v2_RelativePlacement); typedef IfcTemplatedEntityList< IfcLocalPlacement > list; }; /// Definition from ISO/CD 10303-42:1992: A loop is a topological @@ -14705,15 +15965,15 @@ public: /// EXAMPLE A view definition may require Material.Name to uniquely specify e.g. concrete or steel grade, in which case the attribute Material.Category could take the value 'Concrete' or 'Steel'. /// /// NOTE Material grade may have diffenrent meaning in different view definitions, e.g. strength grade for structural design and analysis, or visible appearance grade in architectural application. Also, more elaborate material grade definition may be associated as classification via inverse attribute HasExternalReferences. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcMaterial bool hasDescription() const; /// Definition of the material in more descriptive terms than given by attributes Name or Category. /// /// IFC2x4 CHANGE  The attribute has been added at the end of attribute list. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Whether the optional attribute Category is defined for this IfcMaterial bool hasCategory() const; /// Definition of the category (group or type) of material, in more general terms than given by attribute Name. @@ -14721,8 +15981,8 @@ public: /// EXAMPLE A view definition may require each Material.Name to be unique, e.g. for each concrete or steel grade used in a project, in which case Material.Category could take the values 'Concrete' or 'Steel'. /// /// IFC2x4 CHANGE  The attribute has been added at the end of attribute list. - IfcLabel Category() const; - void setCategory(IfcLabel v); + std::string Category() const; + void setCategory(std::string v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; } return IfcMaterialDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "Category"; } return IfcMaterialDefinition::getArgumentName(i); } @@ -14734,7 +15994,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterial (IfcAbstractEntity* e); - IfcMaterial (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcLabel > v3_Category); + IfcMaterial (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category); typedef IfcTemplatedEntityList< IfcMaterial > list; }; /// IfcMaterialConstituent is a single and identifiable part of an element which is constructed of a number of part (one or more) each having an individual material. The association of the material constituent to the part is provided by a keyword as value of the Name attribute. @@ -14747,26 +16007,26 @@ public: /// Whether the optional attribute Name is defined for this IfcMaterialConstituent bool hasName() const; /// The name by which the material constituent is known. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcMaterialConstituent bool hasDescription() const; /// Definition of the material constituent in descriptive terms. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Reference to the material from which the constituent is constructed. IfcMaterial* Material() const; void setMaterial(IfcMaterial* v); /// Whether the optional attribute Fraction is defined for this IfcMaterialConstituent bool hasFraction() const; /// Optional provision of a fraction of the total amount (volume or weight) that applies to the IfcMaterialConstituentSet that is contributed by this IfcMaterialConstituent. - IfcNormalisedRatioMeasure Fraction() const; - void setFraction(IfcNormalisedRatioMeasure v); + double Fraction() const; + void setFraction(double v); /// Whether the optional attribute Category is defined for this IfcMaterialConstituent bool hasCategory() const; /// Category of the material constituent, e.g. the role it has in the constituent set it belongs to. - IfcLabel Category() const; - void setCategory(IfcLabel v); + std::string Category() const; + void setCategory(std::string v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_STRING; } return IfcMaterialDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "Material"; case 3: return "Fraction"; case 4: return "Category"; } return IfcMaterialDefinition::getArgumentName(i); } @@ -14776,7 +16036,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterialConstituent (IfcAbstractEntity* e); - IfcMaterialConstituent (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMaterial* v3_Material, boost::optional< IfcNormalisedRatioMeasure > v4_Fraction, boost::optional< IfcLabel > v5_Category); + IfcMaterialConstituent (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcMaterial* v3_Material, boost::optional< double > v4_Fraction, boost::optional< std::string > v5_Category); typedef IfcTemplatedEntityList< IfcMaterialConstituent > list; }; /// IfcMaterialConstituentSet is a collection of individual material constituents, each assigning a material to a part of an element. The parts are only identified by a keyword (as opposed to an IfcMaterialLayerSet or IfcMaterialProfileSet where each part has an individual shape parameter (layer thickness or layer profile). @@ -14798,13 +16058,13 @@ public: /// Whether the optional attribute Name is defined for this IfcMaterialConstituentSet bool hasName() const; /// The name by which the constituent set is known. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcMaterialConstituentSet bool hasDescription() const; /// Definition of the material constituent set in descriptive terms. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); /// Whether the optional attribute MaterialConstituents is defined for this IfcMaterialConstituentSet bool hasMaterialConstituents() const; /// Identification of the constituents from which the material constituent set is composed. @@ -14818,7 +16078,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterialConstituentSet (IfcAbstractEntity* e); - IfcMaterialConstituentSet (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcTemplatedEntityList< IfcMaterialConstituent >::ptr > v3_MaterialConstituents); + IfcMaterialConstituentSet (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcTemplatedEntityList< IfcMaterialConstituent >::ptr > v3_MaterialConstituents); typedef IfcTemplatedEntityList< IfcMaterialConstituentSet > list; }; /// IfcMaterialDefinitionRepresentation defines presentation information relating to IfcMaterial. It allows for multiple presentations of the same material for different geometric representation contexts. @@ -14864,7 +16124,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterialDefinitionRepresentation (IfcAbstractEntity* e); - IfcMaterialDefinitionRepresentation (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations, IfcMaterial* v4_RepresentedMaterial); + IfcMaterialDefinitionRepresentation (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations, IfcMaterial* v4_RepresentedMaterial); typedef IfcTemplatedEntityList< IfcMaterialDefinitionRepresentation > list; }; /// IfcMaterialLayerSetUsage determines the usage of @@ -14984,8 +16244,8 @@ public: IfcDirectionSenseEnum::IfcDirectionSenseEnum DirectionSense() const; void setDirectionSense(IfcDirectionSenseEnum::IfcDirectionSenseEnum v); /// 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() const; - void setOffsetFromReferenceLine(IfcLengthMeasure v); + double OffsetFromReferenceLine() const; + void setOffsetFromReferenceLine(double v); /// Whether the optional attribute ReferenceExtent is defined for this IfcMaterialLayerSetUsage bool hasReferenceExtent() const; /// EPM-HTML> @@ -14996,8 +16256,8 @@ public: /// NOTE 1  The attribute ReferenceExtent shall be asserted, if an IfcMaterialLayerSetWithOffsets is included in the ForLayerSet.MaterialLayers list of maerial layers. /// /// NOTE 2  The ReferenceExtent for IfcWallStandardCase is the reference height starting at z=0 being the XY plane of the object coordinate system. - IfcPositiveLengthMeasure ReferenceExtent() const; - void setReferenceExtent(IfcPositiveLengthMeasure v); + double ReferenceExtent() const; + void setReferenceExtent(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENUMERATION; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcMaterialUsageDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ForLayerSet"; case 1: return "LayerSetDirection"; case 2: return "DirectionSense"; case 3: return "OffsetFromReferenceLine"; case 4: return "ReferenceExtent"; } return IfcMaterialUsageDefinition::getArgumentName(i); } @@ -15006,7 +16266,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterialLayerSetUsage (IfcAbstractEntity* e); - IfcMaterialLayerSetUsage (IfcMaterialLayerSet* v1_ForLayerSet, IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v2_LayerSetDirection, IfcDirectionSenseEnum::IfcDirectionSenseEnum v3_DirectionSense, IfcLengthMeasure v4_OffsetFromReferenceLine, boost::optional< IfcPositiveLengthMeasure > v5_ReferenceExtent); + IfcMaterialLayerSetUsage (IfcMaterialLayerSet* v1_ForLayerSet, IfcLayerSetDirectionEnum::IfcLayerSetDirectionEnum v2_LayerSetDirection, IfcDirectionSenseEnum::IfcDirectionSenseEnum v3_DirectionSense, double v4_OffsetFromReferenceLine, boost::optional< double > v5_ReferenceExtent); typedef IfcTemplatedEntityList< IfcMaterialLayerSetUsage > list; }; /// IfcMaterialProfileSetUsage determines the usage of IfcMaterialProfileSet in terms of its location relative to the associated element geometry. The location of a material profile set shall be compatible with the building element geometry (that is, material profiles shall fit inside the element geometry). The rules to ensure the compatibility depend on the type of the building element. For building elements with shape representations which are based on extruded solids, this is accomplished by referring to the identical profile definition in the shape model as in the material profile set. @@ -15024,8 +16284,8 @@ public: /// Whether the optional attribute CardinalPoint is defined for this IfcMaterialProfileSetUsage bool hasCardinalPoint() const; /// Index reference to a significant point in the section profile. Describes how the section is aligned relative to the (longitudinal) axis of the member it is associated with. This parametric specification of profile alignment can be provided redundantly to the explicit alignment defined by ForProfileSet.MaterialProfiles[*].Profile. - IfcCardinalPointReference CardinalPoint() const; - void setCardinalPoint(IfcCardinalPointReference v); + int CardinalPoint() const; + void setCardinalPoint(int v); /// Whether the optional attribute ReferenceExtent is defined for this IfcMaterialProfileSetUsage bool hasReferenceExtent() const; /// EPM-HTML> @@ -15034,8 +16294,8 @@ public: /// NOTE 1  The attribute ReferenceExtent shall be asserted, if an IfcMaterialProfileSetWithOffsets is included in the ForProfileSet.MaterialProfiles list of maerial layers. /// /// NOTE 2  The ReferenceExtent for IfcBeamStandardCase, IfcColumnStandardCase, and IfcMemberStandardCase is the reference length starting at z=0 being the XY plane of the object coordinate system. - IfcPositiveLengthMeasure ReferenceExtent() const; - void setReferenceExtent(IfcPositiveLengthMeasure v); + double ReferenceExtent() const; + void setReferenceExtent(double v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_INT; case 2: return IfcUtil::Argument_DOUBLE; } return IfcMaterialUsageDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ForProfileSet"; case 1: return "CardinalPoint"; case 2: return "ReferenceExtent"; } return IfcMaterialUsageDefinition::getArgumentName(i); } @@ -15044,7 +16304,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterialProfileSetUsage (IfcAbstractEntity* e); - IfcMaterialProfileSetUsage (IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< IfcCardinalPointReference > v2_CardinalPoint, boost::optional< IfcPositiveLengthMeasure > v3_ReferenceExtent); + IfcMaterialProfileSetUsage (IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent); typedef IfcTemplatedEntityList< IfcMaterialProfileSetUsage > list; }; /// IfcMaterialProfileSetUsageTapering specifies dual material profile sets in association with tapered prismatic (beam- or column-like) elements. @@ -15080,8 +16340,8 @@ public: /// Whether the optional attribute CardinalEndPoint is defined for this IfcMaterialProfileSetUsageTapering bool hasCardinalEndPoint() const; /// Index reference to a significant point in the second section profile. Describes how this section is aligned relative to the axis of the member it is associated with. This parametric specification of profile alignment can be provided redundantly to the explicit alignment defined by ForProfileSet.MaterialProfiles[*].Profile. - IfcCardinalPointReference CardinalEndPoint() const; - void setCardinalEndPoint(IfcCardinalPointReference v); + int CardinalEndPoint() const; + void setCardinalEndPoint(int v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_INT; } return IfcMaterialProfileSetUsage::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "ForProfileEndSet"; case 4: return "CardinalEndPoint"; } return IfcMaterialProfileSetUsage::getArgumentName(i); } @@ -15090,7 +16350,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterialProfileSetUsageTapering (IfcAbstractEntity* e); - IfcMaterialProfileSetUsageTapering (IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< IfcCardinalPointReference > v2_CardinalPoint, boost::optional< IfcPositiveLengthMeasure > v3_ReferenceExtent, IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< IfcCardinalPointReference > v5_CardinalEndPoint); + IfcMaterialProfileSetUsageTapering (IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent, IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< int > v5_CardinalEndPoint); typedef IfcTemplatedEntityList< IfcMaterialProfileSetUsageTapering > list; }; /// IfcMaterialProperties is defined as an abstract @@ -15130,7 +16390,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterialProperties (IfcAbstractEntity* e); - IfcMaterialProperties (boost::optional< IfcIdentifier > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcProperty >::ptr v3_Properties, IfcMaterialDefinition* v4_Material); + IfcMaterialProperties (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcProperty >::ptr v3_Properties, IfcMaterialDefinition* v4_Material); typedef IfcTemplatedEntityList< IfcMaterialProperties > list; }; /// IfcMaterialRelationship defines a relationship between part and whole in material definitions (as in composite materials). The parts, expressed by the set of RelatedMaterials, are material constituents of which a single material aggregate is composed. @@ -15147,8 +16407,8 @@ public: /// Whether the optional attribute Expression is defined for this IfcMaterialRelationship bool hasExpression() const; /// The amount of related material in the whole (composite material or material set). Expressed as proportion (percentage) of weight or volume, or as any other appropriate value. - IfcLabel Expression() const; - void setExpression(IfcLabel v); + std::string Expression() const; + void setExpression(std::string v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY_LIST; case 4: return IfcUtil::Argument_STRING; } return IfcResourceLevelRelationship::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "RelatingMaterial"; case 3: return "RelatedMaterials"; case 4: return "Expression"; } return IfcResourceLevelRelationship::getArgumentName(i); } @@ -15157,7 +16417,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMaterialRelationship (IfcAbstractEntity* e); - IfcMaterialRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcMaterial* v3_RelatingMaterial, IfcTemplatedEntityList< IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< IfcLabel > v5_Expression); + IfcMaterialRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcMaterial* v3_RelatingMaterial, IfcTemplatedEntityList< IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_Expression); typedef IfcTemplatedEntityList< IfcMaterialRelationship > list; }; /// The IfcMirroredProfileDef defines the profile by mirroring the parent profile about the y axis of the parent profile coordinate system. That is, left and right of the parent profile are swapped. @@ -15197,7 +16457,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMirroredProfileDef (IfcAbstractEntity* e); - IfcMirroredProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcProfileDef* v3_ParentProfile, boost::optional< IfcLabel > v5_Label); + IfcMirroredProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcProfileDef* v3_ParentProfile, boost::optional< std::string > v5_Label); typedef IfcTemplatedEntityList< IfcMirroredProfileDef > list; }; /// An IfcObjectDefinition is the generalization of any @@ -15267,7 +16527,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcObjectDefinition (IfcAbstractEntity* e); - IfcObjectDefinition (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); + IfcObjectDefinition (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcObjectDefinition > list; }; /// Definition from ISO/CD 10303-42:1992: An open shell is a shell of @@ -15364,7 +16624,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOrganizationRelationship (IfcAbstractEntity* e); - IfcOrganizationRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcOrganization* v3_RelatingOrganization, IfcTemplatedEntityList< IfcOrganization >::ptr v4_RelatedOrganizations); + IfcOrganizationRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcOrganization* v3_RelatingOrganization, IfcTemplatedEntityList< IfcOrganization >::ptr v4_RelatedOrganizations); typedef IfcTemplatedEntityList< IfcOrganizationRelationship > list; }; /// 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. @@ -15450,7 +16710,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcParameterizedProfileDef (IfcAbstractEntity* e); - IfcParameterizedProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position); + IfcParameterizedProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position); typedef IfcTemplatedEntityList< IfcParameterizedProfileDef > list; }; /// 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). @@ -15498,18 +16758,18 @@ public: IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr HasQuantities() const; void setHasQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v); /// Identification of the discrimination by which this physical complex property is distinguished. Examples of discriminations are 'layer', 'steel bar diameter', etc. - IfcLabel Discrimination() const; - void setDiscrimination(IfcLabel v); + std::string Discrimination() const; + void setDiscrimination(std::string v); /// Whether the optional attribute Quality is defined for this IfcPhysicalComplexQuantity bool hasQuality() const; /// Additional indication of a quality of the quantities that are grouped under this physical complex quantity. - IfcLabel Quality() const; - void setQuality(IfcLabel v); + std::string Quality() const; + void setQuality(std::string v); /// Whether the optional attribute Usage is defined for this IfcPhysicalComplexQuantity bool hasUsage() const; /// Additional indication of a usage type of the quantities that are grouped under this physical complex quantity. - IfcLabel Usage() const; - void setUsage(IfcLabel v); + std::string Usage() const; + void setUsage(std::string v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; } return IfcPhysicalQuantity::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "HasQuantities"; case 3: return "Discrimination"; case 4: return "Quality"; case 5: return "Usage"; } return IfcPhysicalQuantity::getArgumentName(i); } @@ -15518,7 +16778,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPhysicalComplexQuantity (IfcAbstractEntity* e); - IfcPhysicalComplexQuantity (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v3_HasQuantities, IfcLabel v4_Discrimination, boost::optional< IfcLabel > v5_Quality, boost::optional< IfcLabel > v6_Usage); + IfcPhysicalComplexQuantity (std::string v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage); typedef IfcTemplatedEntityList< IfcPhysicalComplexQuantity > list; }; /// 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 @@ -15542,14 +16802,14 @@ public: class IfcPixelTexture : public IfcSurfaceTexture { public: /// The number of pixels in width (S) direction. - IfcInteger Width() const; - void setWidth(IfcInteger v); + int Width() const; + void setWidth(int v); /// The number of pixels in height (T) direction. - IfcInteger Height() const; - void setHeight(IfcInteger v); + int Height() const; + void setHeight(int v); /// Indication whether the pixel values contain a 1, 2, 3, or 4 colour component. - IfcInteger ColourComponents() const; - void setColourComponents(IfcInteger v); + int ColourComponents() const; + void setColourComponents(int v); /// 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. @@ -15561,7 +16821,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPixelTexture (IfcAbstractEntity* e); - IfcPixelTexture (bool v1_RepeatS, bool v2_RepeatT, boost::optional< IfcIdentifier > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< IfcIdentifier > /*[1:?]*/ > v5_Parameter, IfcInteger v6_Width, IfcInteger v7_Height, IfcInteger v8_ColourComponents); + IfcPixelTexture (bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents); typedef IfcTemplatedEntityList< IfcPixelTexture > list; }; /// 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. @@ -15597,11 +16857,11 @@ public: class IfcPlanarExtent : public IfcGeometricRepresentationItem { public: /// The extent in the direction of the x-axis. - IfcLengthMeasure SizeInX() const; - void setSizeInX(IfcLengthMeasure v); + double SizeInX() const; + void setSizeInX(double v); /// The extent in the direction of the y-axis. - IfcLengthMeasure SizeInY() const; - void setSizeInY(IfcLengthMeasure v); + double SizeInY() const; + void setSizeInY(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "SizeInX"; case 1: return "SizeInY"; } return IfcGeometricRepresentationItem::getArgumentName(i); } @@ -15610,7 +16870,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPlanarExtent (IfcAbstractEntity* e); - IfcPlanarExtent (IfcLengthMeasure v1_SizeInX, IfcLengthMeasure v2_SizeInY); + IfcPlanarExtent (double v1_SizeInX, double v2_SizeInY); typedef IfcTemplatedEntityList< IfcPlanarExtent > list; }; /// 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. @@ -15646,8 +16906,8 @@ public: IfcCurve* BasisCurve() const; void setBasisCurve(IfcCurve* v); /// The parameter value of the point location. - IfcParameterValue PointParameter() const; - void setPointParameter(IfcParameterValue v); + double PointParameter() const; + void setPointParameter(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; } return IfcPoint::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisCurve"; case 1: return "PointParameter"; } return IfcPoint::getArgumentName(i); } @@ -15656,7 +16916,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPointOnCurve (IfcAbstractEntity* e); - IfcPointOnCurve (IfcCurve* v1_BasisCurve, IfcParameterValue v2_PointParameter); + IfcPointOnCurve (IfcCurve* v1_BasisCurve, double v2_PointParameter); typedef IfcTemplatedEntityList< IfcPointOnCurve > list; }; /// 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. @@ -15674,11 +16934,11 @@ public: IfcSurface* BasisSurface() const; void setBasisSurface(IfcSurface* v); /// The first parameter value of the point location. - IfcParameterValue PointParameterU() const; - void setPointParameterU(IfcParameterValue v); + double PointParameterU() const; + void setPointParameterU(double v); /// The second parameter value of the point location. - IfcParameterValue PointParameterV() const; - void setPointParameterV(IfcParameterValue v); + double PointParameterV() const; + void setPointParameterV(double v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; } return IfcPoint::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisSurface"; case 1: return "PointParameterU"; case 2: return "PointParameterV"; } return IfcPoint::getArgumentName(i); } @@ -15687,7 +16947,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPointOnSurface (IfcAbstractEntity* e); - IfcPointOnSurface (IfcSurface* v1_BasisSurface, IfcParameterValue v2_PointParameterU, IfcParameterValue v3_PointParameterV); + IfcPointOnSurface (IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV); typedef IfcTemplatedEntityList< IfcPointOnSurface > list; }; /// Definition from ISO/CD 10303-42:1992: A @@ -15832,8 +17092,8 @@ public: class IfcPreDefinedItem : public IfcPresentationItem { public: /// The string by which the pre defined item is identified. Allowable values for the string are declared at the level of subtypes. - IfcLabel Name() const; - void setName(IfcLabel v); + std::string Name() const; + void setName(std::string v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; } return IfcPresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; } return IfcPresentationItem::getArgumentName(i); } @@ -15842,7 +17102,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPreDefinedItem (IfcAbstractEntity* e); - IfcPreDefinedItem (IfcLabel v1_Name); + IfcPreDefinedItem (std::string v1_Name); typedef IfcTemplatedEntityList< IfcPreDefinedItem > list; }; @@ -15880,7 +17140,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPreDefinedTextFont (IfcAbstractEntity* e); - IfcPreDefinedTextFont (IfcLabel v1_Name); + IfcPreDefinedTextFont (std::string v1_Name); typedef IfcTemplatedEntityList< IfcPreDefinedTextFont > list; }; /// 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: @@ -15907,7 +17167,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProductDefinitionShape (IfcAbstractEntity* e); - IfcProductDefinitionShape (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations); + IfcProductDefinitionShape (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcRepresentation >::ptr v3_Representations); typedef IfcTemplatedEntityList< IfcProductDefinitionShape > list; }; /// This is a collection of properties applicable to section profile definitions. @@ -15934,7 +17194,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProfileProperties (IfcAbstractEntity* e); - IfcProfileProperties (boost::optional< IfcIdentifier > v1_Name, boost::optional< IfcText > v2_Description, IfcTemplatedEntityList< IfcProperty >::ptr v3_Properties, IfcProfileDef* v4_ProfileDefinition); + IfcProfileProperties (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcTemplatedEntityList< IfcProperty >::ptr v3_Properties, IfcProfileDef* v4_ProfileDefinition); typedef IfcTemplatedEntityList< IfcProfileProperties > list; }; /// IfcProperty is an abstract generalization for all types of properties that can be associated with IFC objects through the property set mechanism. @@ -15943,13 +17203,13 @@ public: class IfcProperty : public IfcPropertyAbstraction { public: /// Name for this property. This label is the significant name string that defines the semantic meaning for the property. - IfcIdentifier Name() const; - void setName(IfcIdentifier v); + std::string Name() const; + void setName(std::string v); /// Whether the optional attribute Description is defined for this IfcProperty bool hasDescription() const; /// Informative text to explain the property. - IfcText Description() const; - void setDescription(IfcText v); + std::string Description() const; + void setDescription(std::string v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; } return IfcPropertyAbstraction::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; } return IfcPropertyAbstraction::getArgumentName(i); } @@ -15962,7 +17222,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProperty (IfcAbstractEntity* e); - IfcProperty (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description); + IfcProperty (std::string v1_Name, boost::optional< std::string > v2_Description); typedef IfcTemplatedEntityList< IfcProperty > list; }; /// IfcPropertyDefinition defines the generalization of @@ -16027,7 +17287,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyDefinition (IfcAbstractEntity* e); - IfcPropertyDefinition (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); + IfcPropertyDefinition (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcPropertyDefinition > list; }; /// An IfcPropertyDependencyRelationship describes an identified dependency between the value of one property and that of another. @@ -16049,8 +17309,8 @@ public: /// Whether the optional attribute Expression is defined for this IfcPropertyDependencyRelationship bool hasExpression() const; /// Expression that further describes the nature of the dependency relation. - IfcText Expression() const; - void setExpression(IfcText v); + std::string Expression() const; + void setExpression(std::string v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_STRING; } return IfcResourceLevelRelationship::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "DependingProperty"; case 3: return "DependantProperty"; case 4: return "Expression"; } return IfcResourceLevelRelationship::getArgumentName(i); } @@ -16059,7 +17319,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyDependencyRelationship (IfcAbstractEntity* e); - IfcPropertyDependencyRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcProperty* v3_DependingProperty, IfcProperty* v4_DependantProperty, boost::optional< IfcText > v5_Expression); + IfcPropertyDependencyRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcProperty* v3_DependingProperty, IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression); typedef IfcTemplatedEntityList< IfcPropertyDependencyRelationship > list; }; /// IfcPropertySetDefinition is a generalization of all @@ -16117,7 +17377,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertySetDefinition (IfcAbstractEntity* e); - IfcPropertySetDefinition (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); + IfcPropertySetDefinition (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcPropertySetDefinition > list; }; /// IfcPropertyTemplateDefinition is a generalization of @@ -16155,7 +17415,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyTemplateDefinition (IfcAbstractEntity* e); - IfcPropertyTemplateDefinition (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); + IfcPropertyTemplateDefinition (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcPropertyTemplateDefinition > list; }; @@ -16169,7 +17429,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcQuantitySet (IfcAbstractEntity* e); - IfcQuantitySet (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); + IfcQuantitySet (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcQuantitySet > list; }; /// 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. @@ -16209,11 +17469,11 @@ public: class IfcRectangleProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the rectangle in the direction of the x-axis. - IfcPositiveLengthMeasure XDim() const; - void setXDim(IfcPositiveLengthMeasure v); + double XDim() const; + void setXDim(double v); /// The extent of the rectangle in the direction of the y-axis. - IfcPositiveLengthMeasure YDim() const; - void setYDim(IfcPositiveLengthMeasure v); + double YDim() const; + void setYDim(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "XDim"; case 4: return "YDim"; } return IfcParameterizedProfileDef::getArgumentName(i); } @@ -16222,7 +17482,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRectangleProfileDef (IfcAbstractEntity* e); - IfcRectangleProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim); + IfcRectangleProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim); typedef IfcTemplatedEntityList< IfcRectangleProfileDef > list; }; /// 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. @@ -16233,8 +17493,8 @@ public: class IfcRegularTimeSeries : public IfcTimeSeries { public: /// A duration of time intervals between values. - IfcTimeMeasure TimeStep() const; - void setTimeStep(IfcTimeMeasure v); + double TimeStep() const; + void setTimeStep(double v); /// The collection of time series values. IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr Values() const; void setValues(IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v); @@ -16246,7 +17506,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRegularTimeSeries (IfcAbstractEntity* e); - IfcRegularTimeSeries (IfcLabel v1_Name, boost::optional< IfcText > v2_Description, IfcDateTime v3_StartTime, IfcDateTime v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< IfcLabel > v7_UserDefinedDataOrigin, boost::optional< IfcUnit > v8_Unit, IfcTimeMeasure v9_TimeStep, IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v10_Values); + IfcRegularTimeSeries (std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, IfcTimeSeriesDataTypeEnum::IfcTimeSeriesDataTypeEnum v5_TimeSeriesDataType, IfcDataOriginEnum::IfcDataOriginEnum v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, IfcUnit* v8_Unit, double v9_TimeStep, IfcTemplatedEntityList< IfcTimeSeriesValue >::ptr v10_Values); typedef IfcTemplatedEntityList< IfcRegularTimeSeries > list; }; /// IfcReinforcementProperties defines the set of properties for a specific combination of reinforcement bar steel grade, bar type and effective depth. @@ -16257,11 +17517,11 @@ public: class IfcReinforcementBarProperties : public IfcPreDefinedProperties { public: /// The total effective cross-section area of the reinforcement of a specific steel grade. - IfcAreaMeasure TotalCrossSectionArea() const; - void setTotalCrossSectionArea(IfcAreaMeasure v); + double TotalCrossSectionArea() const; + void setTotalCrossSectionArea(double v); /// The nominal steel grade defined according to local standards. - IfcLabel SteelGrade() const; - void setSteelGrade(IfcLabel v); + std::string SteelGrade() const; + void setSteelGrade(std::string v); /// Whether the optional attribute BarSurface is defined for this IfcReinforcementBarProperties bool hasBarSurface() const; /// Indicator for whether the bar surface is plain or textured. @@ -16270,18 +17530,18 @@ public: /// Whether the optional attribute EffectiveDepth is defined for this IfcReinforcementBarProperties bool hasEffectiveDepth() const; /// The effective depth, i.e. the distance of the specific reinforcement cross section area or reinforcement configuration in a row, counted from a common specific reference point. Usually the reference point is the upper surface (for beams and slabs) or a similar projection in a plane (for columns). - IfcLengthMeasure EffectiveDepth() const; - void setEffectiveDepth(IfcLengthMeasure v); + double EffectiveDepth() const; + void setEffectiveDepth(double v); /// Whether the optional attribute NominalBarDiameter is defined for this IfcReinforcementBarProperties bool hasNominalBarDiameter() const; /// The nominal diameter defining the cross-section size of the reinforcing bar. The bar diameter should be identical for all bars included in the specific reinforcement configuration. - IfcPositiveLengthMeasure NominalBarDiameter() const; - void setNominalBarDiameter(IfcPositiveLengthMeasure v); + double NominalBarDiameter() const; + void setNominalBarDiameter(double v); /// Whether the optional attribute BarCount is defined for this IfcReinforcementBarProperties bool hasBarCount() const; /// The number of bars with identical nominal diameter and steel grade included in the specific reinforcement configuration. - IfcCountMeasure BarCount() const; - void setBarCount(IfcCountMeasure v); + double BarCount() const; + void setBarCount(double v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_DOUBLE; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; } return IfcPreDefinedProperties::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TotalCrossSectionArea"; case 1: return "SteelGrade"; case 2: return "BarSurface"; case 3: return "EffectiveDepth"; case 4: return "NominalBarDiameter"; case 5: return "BarCount"; } return IfcPreDefinedProperties::getArgumentName(i); } @@ -16290,7 +17550,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReinforcementBarProperties (IfcAbstractEntity* e); - IfcReinforcementBarProperties (IfcAreaMeasure v1_TotalCrossSectionArea, IfcLabel v2_SteelGrade, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v3_BarSurface, boost::optional< IfcLengthMeasure > v4_EffectiveDepth, boost::optional< IfcPositiveLengthMeasure > v5_NominalBarDiameter, boost::optional< IfcCountMeasure > v6_BarCount); + IfcReinforcementBarProperties (double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< double > v6_BarCount); typedef IfcTemplatedEntityList< IfcReinforcementBarProperties > list; }; /// 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. @@ -16311,7 +17571,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelationship (IfcAbstractEntity* e); - IfcRelationship (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); + IfcRelationship (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcRelationship > list; }; /// An IfcResourceApprovalRelationship is used for @@ -16323,8 +17583,8 @@ public: class IfcResourceApprovalRelationship : public IfcResourceLevelRelationship { public: /// Resource objects that are approved. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(IfcEntityList::ptr v); /// The approval for the resource objects selected. IfcApproval* RelatingApproval() const; void setRelatingApproval(IfcApproval* v); @@ -16336,7 +17596,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcResourceApprovalRelationship (IfcAbstractEntity* e); - IfcResourceApprovalRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcEntityList::ptr v3_RelatedResourceObjects, IfcApproval* v4_RelatingApproval); + IfcResourceApprovalRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcEntityList::ptr v3_RelatedResourceObjects, IfcApproval* v4_RelatingApproval); typedef IfcTemplatedEntityList< IfcResourceApprovalRelationship > list; }; /// An IfcResourceConstraintRelationship is a relationship @@ -16365,8 +17625,8 @@ public: IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(IfcConstraint* v); /// The properties to which a constraint is to be related. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr RelatedResourceObjects() const; - void setRelatedResourceObjects(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr RelatedResourceObjects() const; + void setRelatedResourceObjects(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY_LIST; } return IfcResourceLevelRelationship::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "RelatingConstraint"; case 3: return "RelatedResourceObjects"; } return IfcResourceLevelRelationship::getArgumentName(i); } @@ -16375,7 +17635,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcResourceConstraintRelationship (IfcAbstractEntity* e); - IfcResourceConstraintRelationship (boost::optional< IfcLabel > v1_Name, boost::optional< IfcText > v2_Description, IfcConstraint* v3_RelatingConstraint, IfcEntityList::ptr v4_RelatedResourceObjects); + IfcResourceConstraintRelationship (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, IfcConstraint* v3_RelatingConstraint, IfcEntityList::ptr v4_RelatedResourceObjects); typedef IfcTemplatedEntityList< IfcResourceConstraintRelationship > list; }; /// IfcResourceTime captures the time-related information about a construction resource. @@ -16386,33 +17646,33 @@ public: bool hasScheduleWork() const; /// Indicates the total work (e.g. person-hours) allocated to the task on behalf of the resource. /// Note: this is not necessarily the same as the task duration (IfcTaskTime.ScheduleDuration); it may vary according to the resource usage ratio and other resources assigned to the task. - IfcDuration ScheduleWork() const; - void setScheduleWork(IfcDuration v); + std::string ScheduleWork() const; + void setScheduleWork(std::string v); /// Whether the optional attribute ScheduleUsage is defined for this IfcResourceTime bool hasScheduleUsage() const; /// Indicates the amount of the resource used concurrently. For example, 100% means 1 worker, 300% means 3 workers, 50% means half of 1 worker's time for scenarios where multitasking is feasible. If not provided, then the usage ratio is considered to be 100%. - IfcPositiveRatioMeasure ScheduleUsage() const; - void setScheduleUsage(IfcPositiveRatioMeasure v); + double ScheduleUsage() const; + void setScheduleUsage(double v); /// Whether the optional attribute ScheduleStart is defined for this IfcResourceTime bool hasScheduleStart() const; /// Indicates the time when the resource is scheduled to start working. - IfcDateTime ScheduleStart() const; - void setScheduleStart(IfcDateTime v); + std::string ScheduleStart() const; + void setScheduleStart(std::string v); /// Whether the optional attribute ScheduleFinish is defined for this IfcResourceTime bool hasScheduleFinish() const; /// Indicates the time when the resource is scheduled to finish working. - IfcDateTime ScheduleFinish() const; - void setScheduleFinish(IfcDateTime v); + std::string ScheduleFinish() const; + void setScheduleFinish(std::string v); /// Whether the optional attribute ScheduleContour is defined for this IfcResourceTime bool hasScheduleContour() const; /// Indicates how a resource should be leveled over time by adjusting the resource usage according to a specified curve. Standard values include: 'Flat', 'BackLoaded', 'FrontLoaded', 'DoublePeak', 'EarlyPeak', 'LatePeak', 'Bell', and 'Turtle'. Custom values may specify a custom name or formula. - IfcLabel ScheduleContour() const; - void setScheduleContour(IfcLabel v); + std::string ScheduleContour() const; + void setScheduleContour(std::string v); /// Whether the optional attribute LevelingDelay is defined for this IfcResourceTime bool hasLevelingDelay() const; /// Indicates a delay in the ScheduleStart caused by leveling. - IfcDuration LevelingDelay() const; - void setLevelingDelay(IfcDuration v); + std::string LevelingDelay() const; + void setLevelingDelay(std::string v); /// Whether the optional attribute IsOverAllocated is defined for this IfcResourceTime bool hasIsOverAllocated() const; /// Indicates that the resource is scheduled in excess of its capacity. @@ -16421,42 +17681,42 @@ public: /// Whether the optional attribute StatusTime is defined for this IfcResourceTime bool hasStatusTime() const; /// Indicates the date and time for which status values are applicable; particularly completion, actual, and remaining values. If values are time-phased (the referencing IfcConstructionResource has associated time series values for attributes), then the status values may be determined from such time-phased data as of the StatusTime. - IfcDateTime StatusTime() const; - void setStatusTime(IfcDateTime v); + std::string StatusTime() const; + void setStatusTime(std::string v); /// Whether the optional attribute ActualWork is defined for this IfcResourceTime bool hasActualWork() const; /// Indicates the actual work performed by the resource as of the StatusTime. - IfcDuration ActualWork() const; - void setActualWork(IfcDuration v); + std::string ActualWork() const; + void setActualWork(std::string v); /// Whether the optional attribute ActualUsage is defined for this IfcResourceTime bool hasActualUsage() const; /// Indicates the actual amount of the resource used concurrently. - IfcPositiveRatioMeasure ActualUsage() const; - void setActualUsage(IfcPositiveRatioMeasure v); + double ActualUsage() const; + void setActualUsage(double v); /// Whether the optional attribute ActualStart is defined for this IfcResourceTime bool hasActualStart() const; /// Indicates the time when the resource actually started working. - IfcDateTime ActualStart() const; - void setActualStart(IfcDateTime v); + std::string ActualStart() const; + void setActualStart(std::string v); /// Whether the optional attribute ActualFinish is defined for this IfcResourceTime bool hasActualFinish() const; /// Indicates the time when the resource actually finished working. - IfcDateTime ActualFinish() const; - void setActualFinish(IfcDateTime v); + std::string ActualFinish() const; + void setActualFinish(std::string v); /// Whether the optional attribute RemainingWork is defined for this IfcResourceTime bool hasRemainingWork() const; /// Indicates the work remaining to be completed by the resource. - IfcDuration RemainingWork() const; - void setRemainingWork(IfcDuration v); + std::string RemainingWork() const; + void setRemainingWork(std::string v); /// Whether the optional attribute RemainingUsage is defined for this IfcResourceTime bool hasRemainingUsage() const; - IfcPositiveRatioMeasure RemainingUsage() const; - void setRemainingUsage(IfcPositiveRatioMeasure v); + double RemainingUsage() const; + void setRemainingUsage(double v); /// Whether the optional attribute Completion is defined for this IfcResourceTime bool hasCompletion() const; /// Indicates the percent completion of this resource. If the resource is assigned to a task, then indicates completion of the task on behalf of the resource; if the resource is partitioned into sub-allocations, then indicates overall completion of sub-allocations. - IfcPositiveRatioMeasure Completion() const; - void setCompletion(IfcPositiveRatioMeasure v); + double Completion() const; + void setCompletion(double v); virtual unsigned int getArgumentCount() const { return 18; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_BOOL; case 10: return IfcUtil::Argument_STRING; case 11: return IfcUtil::Argument_STRING; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_STRING; case 14: return IfcUtil::Argument_STRING; case 15: return IfcUtil::Argument_STRING; case 16: return IfcUtil::Argument_DOUBLE; case 17: return IfcUtil::Argument_DOUBLE; } return IfcSchedulingTime::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "ScheduleWork"; case 4: return "ScheduleUsage"; case 5: return "ScheduleStart"; case 6: return "ScheduleFinish"; case 7: return "ScheduleContour"; case 8: return "LevelingDelay"; case 9: return "IsOverAllocated"; case 10: return "StatusTime"; case 11: return "ActualWork"; case 12: return "ActualUsage"; case 13: return "ActualStart"; case 14: return "ActualFinish"; case 15: return "RemainingWork"; case 16: return "RemainingUsage"; case 17: return "Completion"; } return IfcSchedulingTime::getArgumentName(i); } @@ -16465,7 +17725,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcResourceTime (IfcAbstractEntity* e); - IfcResourceTime (boost::optional< IfcLabel > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< IfcLabel > v3_UserDefinedDataOrigin, boost::optional< IfcDuration > v4_ScheduleWork, boost::optional< IfcPositiveRatioMeasure > v5_ScheduleUsage, boost::optional< IfcDateTime > v6_ScheduleStart, boost::optional< IfcDateTime > v7_ScheduleFinish, boost::optional< IfcLabel > v8_ScheduleContour, boost::optional< IfcDuration > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< IfcDateTime > v11_StatusTime, boost::optional< IfcDuration > v12_ActualWork, boost::optional< IfcPositiveRatioMeasure > v13_ActualUsage, boost::optional< IfcDateTime > v14_ActualStart, boost::optional< IfcDateTime > v15_ActualFinish, boost::optional< IfcDuration > v16_RemainingWork, boost::optional< IfcPositiveRatioMeasure > v17_RemainingUsage, boost::optional< IfcPositiveRatioMeasure > v18_Completion); + IfcResourceTime (boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ScheduleWork, boost::optional< double > v5_ScheduleUsage, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_ScheduleContour, boost::optional< std::string > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< std::string > v11_StatusTime, boost::optional< std::string > v12_ActualWork, boost::optional< double > v13_ActualUsage, boost::optional< std::string > v14_ActualStart, boost::optional< std::string > v15_ActualFinish, boost::optional< std::string > v16_RemainingWork, boost::optional< double > v17_RemainingUsage, boost::optional< double > v18_Completion); typedef IfcTemplatedEntityList< IfcResourceTime > list; }; /// 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. @@ -16508,8 +17768,8 @@ public: class IfcRoundedRectangleProfileDef : public IfcRectangleProfileDef { public: /// Radius of the circular arcs by which all four corners of the rectangle are equally rounded. - IfcPositiveLengthMeasure RoundingRadius() const; - void setRoundingRadius(IfcPositiveLengthMeasure v); + double RoundingRadius() const; + void setRoundingRadius(double v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_DOUBLE; } return IfcRectangleProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RoundingRadius"; } return IfcRectangleProfileDef::getArgumentName(i); } @@ -16518,7 +17778,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRoundedRectangleProfileDef (IfcAbstractEntity* e); - IfcRoundedRectangleProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim, IfcPositiveLengthMeasure v6_RoundingRadius); + IfcRoundedRectangleProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius); typedef IfcTemplatedEntityList< IfcRoundedRectangleProfileDef > list; }; /// IfcSectionProperties defines the cross section properties for a single longitudinal piece of a cross section. It is a special-purpose helper class for IfcSectionReinforcementProperties. @@ -16560,16 +17820,16 @@ public: class IfcSectionReinforcementProperties : public IfcPreDefinedProperties { public: /// The start position in longitudinal direction for the section reinforcement properties. - IfcLengthMeasure LongitudinalStartPosition() const; - void setLongitudinalStartPosition(IfcLengthMeasure v); + double LongitudinalStartPosition() const; + void setLongitudinalStartPosition(double v); /// The end position in longitudinal direction for the section reinforcement properties. - IfcLengthMeasure LongitudinalEndPosition() const; - void setLongitudinalEndPosition(IfcLengthMeasure v); + double LongitudinalEndPosition() const; + void setLongitudinalEndPosition(double v); /// Whether the optional attribute TransversePosition is defined for this IfcSectionReinforcementProperties bool hasTransversePosition() const; /// The position for the section reinforcement properties in transverse direction. - IfcLengthMeasure TransversePosition() const; - void setTransversePosition(IfcLengthMeasure v); + double TransversePosition() const; + void setTransversePosition(double v); /// The role, purpose or usage of the reinforcement, i.e. the kind of loads and stresses it is intended to carry, defined for the section reinforcement properties. IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum ReinforcementRole() const; void setReinforcementRole(IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v); @@ -16587,7 +17847,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSectionReinforcementProperties (IfcAbstractEntity* e); - IfcSectionReinforcementProperties (IfcLengthMeasure v1_LongitudinalStartPosition, IfcLengthMeasure v2_LongitudinalEndPosition, boost::optional< IfcLengthMeasure > v3_TransversePosition, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v4_ReinforcementRole, IfcSectionProperties* v5_SectionDefinition, IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions); + IfcSectionReinforcementProperties (double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, IfcReinforcingBarRoleEnum::IfcReinforcingBarRoleEnum v4_ReinforcementRole, IfcSectionProperties* v5_SectionDefinition, IfcTemplatedEntityList< IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions); typedef IfcTemplatedEntityList< IfcSectionReinforcementProperties > list; }; /// Definition from ISO 10303-42:1999: A sectioned @@ -16679,8 +17939,8 @@ public: /// The shells shall not overlap or intersect except at common faces, edges or vertices. class IfcShellBasedSurfaceModel : public IfcGeometricRepresentationItem { public: - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr SbsmBoundary() const; - void setSbsmBoundary(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr SbsmBoundary() const; + void setSbsmBoundary(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::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); } @@ -16705,7 +17965,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSimpleProperty (IfcAbstractEntity* e); - IfcSimpleProperty (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description); + IfcSimpleProperty (std::string v1_Name, boost::optional< std::string > v2_Description); typedef IfcTemplatedEntityList< IfcSimpleProperty > list; }; /// 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. @@ -16722,18 +17982,18 @@ public: /// Whether the optional attribute SlippageX is defined for this IfcSlippageConnectionCondition bool hasSlippageX() const; /// Slippage in x-direction of the coordinate system defined by the instance which uses this resource object. - IfcLengthMeasure SlippageX() const; - void setSlippageX(IfcLengthMeasure v); + double SlippageX() const; + void setSlippageX(double v); /// Whether the optional attribute SlippageY is defined for this IfcSlippageConnectionCondition bool hasSlippageY() const; /// Slippage in y-direction of the coordinate system defined by the instance which uses this resource object. - IfcLengthMeasure SlippageY() const; - void setSlippageY(IfcLengthMeasure v); + double SlippageY() const; + void setSlippageY(double v); /// Whether the optional attribute SlippageZ is defined for this IfcSlippageConnectionCondition bool hasSlippageZ() const; /// Slippage in z-direction of the coordinate system defined by the instance which uses this resource object. - IfcLengthMeasure SlippageZ() const; - void setSlippageZ(IfcLengthMeasure v); + double SlippageZ() const; + void setSlippageZ(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcStructuralConnectionCondition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "SlippageX"; case 2: return "SlippageY"; case 3: return "SlippageZ"; } return IfcStructuralConnectionCondition::getArgumentName(i); } @@ -16742,7 +18002,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSlippageConnectionCondition (IfcAbstractEntity* e); - IfcSlippageConnectionCondition (boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_SlippageX, boost::optional< IfcLengthMeasure > v3_SlippageY, boost::optional< IfcLengthMeasure > v4_SlippageZ); + IfcSlippageConnectionCondition (boost::optional< std::string > v1_Name, boost::optional< double > v2_SlippageX, boost::optional< double > v3_SlippageY, boost::optional< double > v4_SlippageZ); typedef IfcTemplatedEntityList< IfcSlippageConnectionCondition > list; }; /// 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. @@ -16773,33 +18033,33 @@ public: /// Whether the optional attribute LinearForceX is defined for this IfcStructuralLoadLinearForce bool hasLinearForceX() const; /// Linear force value in x-direction. - IfcLinearForceMeasure LinearForceX() const; - void setLinearForceX(IfcLinearForceMeasure v); + double LinearForceX() const; + void setLinearForceX(double v); /// Whether the optional attribute LinearForceY is defined for this IfcStructuralLoadLinearForce bool hasLinearForceY() const; /// Linear force value in y-direction. - IfcLinearForceMeasure LinearForceY() const; - void setLinearForceY(IfcLinearForceMeasure v); + double LinearForceY() const; + void setLinearForceY(double v); /// Whether the optional attribute LinearForceZ is defined for this IfcStructuralLoadLinearForce bool hasLinearForceZ() const; /// Linear force value in z-direction. - IfcLinearForceMeasure LinearForceZ() const; - void setLinearForceZ(IfcLinearForceMeasure v); + double LinearForceZ() const; + void setLinearForceZ(double v); /// Whether the optional attribute LinearMomentX is defined for this IfcStructuralLoadLinearForce bool hasLinearMomentX() const; /// Linear moment about the x-axis. - IfcLinearMomentMeasure LinearMomentX() const; - void setLinearMomentX(IfcLinearMomentMeasure v); + double LinearMomentX() const; + void setLinearMomentX(double v); /// Whether the optional attribute LinearMomentY is defined for this IfcStructuralLoadLinearForce bool hasLinearMomentY() const; /// Linear moment about the y-axis. - IfcLinearMomentMeasure LinearMomentY() const; - void setLinearMomentY(IfcLinearMomentMeasure v); + double LinearMomentY() const; + void setLinearMomentY(double v); /// Whether the optional attribute LinearMomentZ is defined for this IfcStructuralLoadLinearForce bool hasLinearMomentZ() const; /// Linear moment about the z-axis. - IfcLinearMomentMeasure LinearMomentZ() const; - void setLinearMomentZ(IfcLinearMomentMeasure v); + double LinearMomentZ() const; + void setLinearMomentZ(double v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "LinearForceX"; case 2: return "LinearForceY"; case 3: return "LinearForceZ"; case 4: return "LinearMomentX"; case 5: return "LinearMomentY"; case 6: return "LinearMomentZ"; } return IfcStructuralLoadStatic::getArgumentName(i); } @@ -16808,7 +18068,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoadLinearForce (IfcAbstractEntity* e); - IfcStructuralLoadLinearForce (boost::optional< IfcLabel > v1_Name, boost::optional< IfcLinearForceMeasure > v2_LinearForceX, boost::optional< IfcLinearForceMeasure > v3_LinearForceY, boost::optional< IfcLinearForceMeasure > v4_LinearForceZ, boost::optional< IfcLinearMomentMeasure > v5_LinearMomentX, boost::optional< IfcLinearMomentMeasure > v6_LinearMomentY, boost::optional< IfcLinearMomentMeasure > v7_LinearMomentZ); + IfcStructuralLoadLinearForce (boost::optional< std::string > v1_Name, boost::optional< double > v2_LinearForceX, boost::optional< double > v3_LinearForceY, boost::optional< double > v4_LinearForceZ, boost::optional< double > v5_LinearMomentX, boost::optional< double > v6_LinearMomentY, boost::optional< double > v7_LinearMomentZ); typedef IfcTemplatedEntityList< IfcStructuralLoadLinearForce > list; }; /// Definition from IAI: An instance of the entity @@ -16821,18 +18081,18 @@ public: /// Whether the optional attribute PlanarForceX is defined for this IfcStructuralLoadPlanarForce bool hasPlanarForceX() const; /// Planar force value in x-direction. - IfcPlanarForceMeasure PlanarForceX() const; - void setPlanarForceX(IfcPlanarForceMeasure v); + double PlanarForceX() const; + void setPlanarForceX(double v); /// Whether the optional attribute PlanarForceY is defined for this IfcStructuralLoadPlanarForce bool hasPlanarForceY() const; /// Planar force value in y-direction. - IfcPlanarForceMeasure PlanarForceY() const; - void setPlanarForceY(IfcPlanarForceMeasure v); + double PlanarForceY() const; + void setPlanarForceY(double v); /// Whether the optional attribute PlanarForceZ is defined for this IfcStructuralLoadPlanarForce bool hasPlanarForceZ() const; /// Planar force value in z-direction. - IfcPlanarForceMeasure PlanarForceZ() const; - void setPlanarForceZ(IfcPlanarForceMeasure v); + double PlanarForceZ() const; + void setPlanarForceZ(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "PlanarForceX"; case 2: return "PlanarForceY"; case 3: return "PlanarForceZ"; } return IfcStructuralLoadStatic::getArgumentName(i); } @@ -16841,7 +18101,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoadPlanarForce (IfcAbstractEntity* e); - IfcStructuralLoadPlanarForce (boost::optional< IfcLabel > v1_Name, boost::optional< IfcPlanarForceMeasure > v2_PlanarForceX, boost::optional< IfcPlanarForceMeasure > v3_PlanarForceY, boost::optional< IfcPlanarForceMeasure > v4_PlanarForceZ); + IfcStructuralLoadPlanarForce (boost::optional< std::string > v1_Name, boost::optional< double > v2_PlanarForceX, boost::optional< double > v3_PlanarForceY, boost::optional< double > v4_PlanarForceZ); typedef IfcTemplatedEntityList< IfcStructuralLoadPlanarForce > list; }; /// Definition from IAI: Instances of the entity @@ -16854,33 +18114,33 @@ public: /// Whether the optional attribute DisplacementX is defined for this IfcStructuralLoadSingleDisplacement bool hasDisplacementX() const; /// Displacement in x-direction. - IfcLengthMeasure DisplacementX() const; - void setDisplacementX(IfcLengthMeasure v); + double DisplacementX() const; + void setDisplacementX(double v); /// Whether the optional attribute DisplacementY is defined for this IfcStructuralLoadSingleDisplacement bool hasDisplacementY() const; /// Displacement in y-direction. - IfcLengthMeasure DisplacementY() const; - void setDisplacementY(IfcLengthMeasure v); + double DisplacementY() const; + void setDisplacementY(double v); /// Whether the optional attribute DisplacementZ is defined for this IfcStructuralLoadSingleDisplacement bool hasDisplacementZ() const; /// Displacement in z-direction. - IfcLengthMeasure DisplacementZ() const; - void setDisplacementZ(IfcLengthMeasure v); + double DisplacementZ() const; + void setDisplacementZ(double v); /// Whether the optional attribute RotationalDisplacementRX is defined for this IfcStructuralLoadSingleDisplacement bool hasRotationalDisplacementRX() const; /// Rotation about the x-axis. - IfcPlaneAngleMeasure RotationalDisplacementRX() const; - void setRotationalDisplacementRX(IfcPlaneAngleMeasure v); + double RotationalDisplacementRX() const; + void setRotationalDisplacementRX(double v); /// Whether the optional attribute RotationalDisplacementRY is defined for this IfcStructuralLoadSingleDisplacement bool hasRotationalDisplacementRY() const; /// Rotation about the y-axis. - IfcPlaneAngleMeasure RotationalDisplacementRY() const; - void setRotationalDisplacementRY(IfcPlaneAngleMeasure v); + double RotationalDisplacementRY() const; + void setRotationalDisplacementRY(double v); /// Whether the optional attribute RotationalDisplacementRZ is defined for this IfcStructuralLoadSingleDisplacement bool hasRotationalDisplacementRZ() const; /// Rotation about the z-axis. - IfcPlaneAngleMeasure RotationalDisplacementRZ() const; - void setRotationalDisplacementRZ(IfcPlaneAngleMeasure v); + double RotationalDisplacementRZ() const; + void setRotationalDisplacementRZ(double v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "DisplacementX"; case 2: return "DisplacementY"; case 3: return "DisplacementZ"; case 4: return "RotationalDisplacementRX"; case 5: return "RotationalDisplacementRY"; case 6: return "RotationalDisplacementRZ"; } return IfcStructuralLoadStatic::getArgumentName(i); } @@ -16889,7 +18149,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoadSingleDisplacement (IfcAbstractEntity* e); - IfcStructuralLoadSingleDisplacement (boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_DisplacementX, boost::optional< IfcLengthMeasure > v3_DisplacementY, boost::optional< IfcLengthMeasure > v4_DisplacementZ, boost::optional< IfcPlaneAngleMeasure > v5_RotationalDisplacementRX, boost::optional< IfcPlaneAngleMeasure > v6_RotationalDisplacementRY, boost::optional< IfcPlaneAngleMeasure > v7_RotationalDisplacementRZ); + IfcStructuralLoadSingleDisplacement (boost::optional< std::string > v1_Name, boost::optional< double > v2_DisplacementX, boost::optional< double > v3_DisplacementY, boost::optional< double > v4_DisplacementZ, boost::optional< double > v5_RotationalDisplacementRX, boost::optional< double > v6_RotationalDisplacementRY, boost::optional< double > v7_RotationalDisplacementRZ); typedef IfcTemplatedEntityList< IfcStructuralLoadSingleDisplacement > list; }; /// Definition from IAI: Defines a displacement with warping. @@ -16900,8 +18160,8 @@ public: /// Whether the optional attribute Distortion is defined for this IfcStructuralLoadSingleDisplacementDistortion bool hasDistortion() const; /// The distortion curvature (warping, i.e. a cross-sectional deplanation) given to the displacement load. - IfcCurvatureMeasure Distortion() const; - void setDistortion(IfcCurvatureMeasure v); + double Distortion() const; + void setDistortion(double v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadSingleDisplacement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "Distortion"; } return IfcStructuralLoadSingleDisplacement::getArgumentName(i); } @@ -16910,7 +18170,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoadSingleDisplacementDistortion (IfcAbstractEntity* e); - IfcStructuralLoadSingleDisplacementDistortion (boost::optional< IfcLabel > v1_Name, boost::optional< IfcLengthMeasure > v2_DisplacementX, boost::optional< IfcLengthMeasure > v3_DisplacementY, boost::optional< IfcLengthMeasure > v4_DisplacementZ, boost::optional< IfcPlaneAngleMeasure > v5_RotationalDisplacementRX, boost::optional< IfcPlaneAngleMeasure > v6_RotationalDisplacementRY, boost::optional< IfcPlaneAngleMeasure > v7_RotationalDisplacementRZ, boost::optional< IfcCurvatureMeasure > v8_Distortion); + IfcStructuralLoadSingleDisplacementDistortion (boost::optional< std::string > v1_Name, boost::optional< double > v2_DisplacementX, boost::optional< double > v3_DisplacementY, boost::optional< double > v4_DisplacementZ, boost::optional< double > v5_RotationalDisplacementRX, boost::optional< double > v6_RotationalDisplacementRY, boost::optional< double > v7_RotationalDisplacementRZ, boost::optional< double > v8_Distortion); typedef IfcTemplatedEntityList< IfcStructuralLoadSingleDisplacementDistortion > list; }; /// Definition from IAI: Instances of the entity @@ -16924,33 +18184,33 @@ public: /// Whether the optional attribute ForceX is defined for this IfcStructuralLoadSingleForce bool hasForceX() const; /// Force value in x-direction. - IfcForceMeasure ForceX() const; - void setForceX(IfcForceMeasure v); + double ForceX() const; + void setForceX(double v); /// Whether the optional attribute ForceY is defined for this IfcStructuralLoadSingleForce bool hasForceY() const; /// Force value in y-direction. - IfcForceMeasure ForceY() const; - void setForceY(IfcForceMeasure v); + double ForceY() const; + void setForceY(double v); /// Whether the optional attribute ForceZ is defined for this IfcStructuralLoadSingleForce bool hasForceZ() const; /// Force value in z-direction. - IfcForceMeasure ForceZ() const; - void setForceZ(IfcForceMeasure v); + double ForceZ() const; + void setForceZ(double v); /// Whether the optional attribute MomentX is defined for this IfcStructuralLoadSingleForce bool hasMomentX() const; /// Moment about the x-axis. - IfcTorqueMeasure MomentX() const; - void setMomentX(IfcTorqueMeasure v); + double MomentX() const; + void setMomentX(double v); /// Whether the optional attribute MomentY is defined for this IfcStructuralLoadSingleForce bool hasMomentY() const; /// Moment about the y-axis. - IfcTorqueMeasure MomentY() const; - void setMomentY(IfcTorqueMeasure v); + double MomentY() const; + void setMomentY(double v); /// Whether the optional attribute MomentZ is defined for this IfcStructuralLoadSingleForce bool hasMomentZ() const; /// Moment about the z-axis. - IfcTorqueMeasure MomentZ() const; - void setMomentZ(IfcTorqueMeasure v); + double MomentZ() const; + void setMomentZ(double v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadStatic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "ForceX"; case 2: return "ForceY"; case 3: return "ForceZ"; case 4: return "MomentX"; case 5: return "MomentY"; case 6: return "MomentZ"; } return IfcStructuralLoadStatic::getArgumentName(i); } @@ -16959,7 +18219,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoadSingleForce (IfcAbstractEntity* e); - IfcStructuralLoadSingleForce (boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_ForceX, boost::optional< IfcForceMeasure > v3_ForceY, boost::optional< IfcForceMeasure > v4_ForceZ, boost::optional< IfcTorqueMeasure > v5_MomentX, boost::optional< IfcTorqueMeasure > v6_MomentY, boost::optional< IfcTorqueMeasure > v7_MomentZ); + IfcStructuralLoadSingleForce (boost::optional< std::string > v1_Name, boost::optional< double > v2_ForceX, boost::optional< double > v3_ForceY, boost::optional< double > v4_ForceZ, boost::optional< double > v5_MomentX, boost::optional< double > v6_MomentY, boost::optional< double > v7_MomentZ); typedef IfcTemplatedEntityList< IfcStructuralLoadSingleForce > list; }; /// Definition from IAI: Instances of the entity @@ -16975,8 +18235,8 @@ public: /// Whether the optional attribute WarpingMoment is defined for this IfcStructuralLoadSingleForceWarping bool hasWarpingMoment() const; /// The warping moment at the point load. - IfcWarpingMomentMeasure WarpingMoment() const; - void setWarpingMoment(IfcWarpingMomentMeasure v); + double WarpingMoment() const; + void setWarpingMoment(double v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_DOUBLE; } return IfcStructuralLoadSingleForce::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "WarpingMoment"; } return IfcStructuralLoadSingleForce::getArgumentName(i); } @@ -16985,7 +18245,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoadSingleForceWarping (IfcAbstractEntity* e); - IfcStructuralLoadSingleForceWarping (boost::optional< IfcLabel > v1_Name, boost::optional< IfcForceMeasure > v2_ForceX, boost::optional< IfcForceMeasure > v3_ForceY, boost::optional< IfcForceMeasure > v4_ForceZ, boost::optional< IfcTorqueMeasure > v5_MomentX, boost::optional< IfcTorqueMeasure > v6_MomentY, boost::optional< IfcTorqueMeasure > v7_MomentZ, boost::optional< IfcWarpingMomentMeasure > v8_WarpingMoment); + IfcStructuralLoadSingleForceWarping (boost::optional< std::string > v1_Name, boost::optional< double > v2_ForceX, boost::optional< double > v3_ForceY, boost::optional< double > v4_ForceZ, boost::optional< double > v5_MomentX, boost::optional< double > v6_MomentY, boost::optional< double > v7_MomentZ, boost::optional< double > v8_WarpingMoment); typedef IfcTemplatedEntityList< IfcStructuralLoadSingleForceWarping > list; }; /// 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. @@ -17088,48 +18348,48 @@ public: bool hasTransparency() const; /// Definition from ISO/CD 10303-46: The degree of transparency is indicated by the percentage of light traversing the surface. /// Definition from VRML97 - ISO/IEC 14772-1:1997: The transparency field specifies how "clear" an object is, with 1.0 being completely transparent, and 0.0 completely opaque. If not given, the value 0.0 (opaque) is assumed. - IfcNormalisedRatioMeasure Transparency() const; - void setTransparency(IfcNormalisedRatioMeasure v); + double Transparency() const; + void setTransparency(double v); /// Whether the optional attribute DiffuseColour is defined for this IfcSurfaceStyleRendering bool hasDiffuseColour() const; /// The diffuse part of the reflectance equation can be given as either a colour or a scalar factor. /// The diffuse colour field reflects all light sources depending on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. /// The diffuse factor field specifies how much diffuse light from light sources this surface shall reflect. Diffuse light depends on the angle of the surface with respect to the light source. The more directly the surface faces the light, the more diffuse light reflects. The diffuse colour is then defined by surface colour * diffuse factor. - IfcColourOrFactor DiffuseColour() const; - void setDiffuseColour(IfcColourOrFactor v); + IfcColourOrFactor* DiffuseColour() const; + void setDiffuseColour(IfcColourOrFactor* v); /// Whether the optional attribute TransmissionColour is defined for this IfcSurfaceStyleRendering bool hasTransmissionColour() const; /// The transmissive part of the reflectance equation can be given as either a colour or a scalar factor. It only applies to materials which Transparency field is greater than zero. /// The transmissive colour field specifies the colour that passes through a transparant material (like the colour that shines through a glass). /// The transmissive factor defines the transmissive part, the transmissive colour is then defined by surface colour * transmissive factor. - IfcColourOrFactor TransmissionColour() const; - void setTransmissionColour(IfcColourOrFactor v); + IfcColourOrFactor* TransmissionColour() const; + void setTransmissionColour(IfcColourOrFactor* v); /// Whether the optional attribute DiffuseTransmissionColour is defined for this IfcSurfaceStyleRendering bool hasDiffuseTransmissionColour() const; /// The diffuse transmission part of the reflectance equation can be given as either a colour or a scalar factor. It only applies to materials whose Transparency field is greater than zero. /// The diffuse transmission colour specifies how much diffuse light is reflected at the opposite side of the material surface. /// The diffuse transmission factor field specifies how much diffuse light from light sources this surface shall reflect on the opposite side of the material surface. The diffuse transmissive colour is then defined by surface colour * diffuse transmissive factor. - IfcColourOrFactor DiffuseTransmissionColour() const; - void setDiffuseTransmissionColour(IfcColourOrFactor v); + IfcColourOrFactor* DiffuseTransmissionColour() const; + void setDiffuseTransmissionColour(IfcColourOrFactor* v); /// Whether the optional attribute ReflectionColour is defined for this IfcSurfaceStyleRendering bool hasReflectionColour() const; /// The reflection (or mirror) part of the reflectance equation can be given as either a colour or a scalar factor. Applies to "glass" and "mirror" reflection models. /// The reflection colour specifies the contribution made by light from the mirror direction, i.e. light being reflected from the surface. /// The reflection factor specifies the amount of contribution made by light from the mirror direction. The reflection colour is then defined by surface colour * reflection factor. - IfcColourOrFactor ReflectionColour() const; - void setReflectionColour(IfcColourOrFactor v); + IfcColourOrFactor* ReflectionColour() const; + void setReflectionColour(IfcColourOrFactor* v); /// Whether the optional attribute SpecularColour is defined for this IfcSurfaceStyleRendering bool hasSpecularColour() const; /// The specular part of the reflectance equation can be given as either a colour or a scalar factor. /// The specular colour determine the specular highlights (e.g., the shiny spots on an apple). When the angle from the light to the surface is close to the angle from the surface to the viewer, the specular colour is added to the diffuse and ambient colour calculations. /// The specular factor defines the specular part, the specular colour is then defined by surface colour * specular factor. - IfcColourOrFactor SpecularColour() const; - void setSpecularColour(IfcColourOrFactor v); + IfcColourOrFactor* SpecularColour() const; + void setSpecularColour(IfcColourOrFactor* v); /// Whether the optional attribute SpecularHighlight is defined for this IfcSurfaceStyleRendering bool hasSpecularHighlight() const; /// The exponent or roughness part of the specular reflectance. - IfcSpecularHighlightSelect SpecularHighlight() const; - void setSpecularHighlight(IfcSpecularHighlightSelect v); + IfcSpecularHighlightSelect* SpecularHighlight() const; + void setSpecularHighlight(IfcSpecularHighlightSelect* v); /// Identifies the predefined types of reflectance method from which the method required may be set. IfcReflectanceMethodEnum::IfcReflectanceMethodEnum ReflectanceMethod() const; void setReflectanceMethod(IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v); @@ -17141,7 +18401,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSurfaceStyleRendering (IfcAbstractEntity* e); - IfcSurfaceStyleRendering (IfcColourRgb* v1_SurfaceColour, boost::optional< IfcNormalisedRatioMeasure > v2_Transparency, boost::optional< IfcColourOrFactor > v3_DiffuseColour, boost::optional< IfcColourOrFactor > v4_TransmissionColour, boost::optional< IfcColourOrFactor > v5_DiffuseTransmissionColour, boost::optional< IfcColourOrFactor > v6_ReflectionColour, boost::optional< IfcColourOrFactor > v7_SpecularColour, boost::optional< IfcSpecularHighlightSelect > v8_SpecularHighlight, IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v9_ReflectanceMethod); + IfcSurfaceStyleRendering (IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, IfcColourOrFactor* v3_DiffuseColour, IfcColourOrFactor* v4_TransmissionColour, IfcColourOrFactor* v5_DiffuseTransmissionColour, IfcColourOrFactor* v6_ReflectionColour, IfcColourOrFactor* v7_SpecularColour, IfcSpecularHighlightSelect* v8_SpecularHighlight, IfcReflectanceMethodEnum::IfcReflectanceMethodEnum v9_ReflectanceMethod); typedef IfcTemplatedEntityList< IfcSurfaceStyleRendering > list; }; /// Definition from ISO/CD 10303-42:1992: The swept area @@ -17242,27 +18502,27 @@ public: IfcCurve* Directrix() const; void setDirectrix(IfcCurve* v); /// The Radius of the circular disk to be swept along the directrix. Denotes the outer radius, if an InnerRadius is applied. - IfcPositiveLengthMeasure Radius() const; - void setRadius(IfcPositiveLengthMeasure v); + double Radius() const; + void setRadius(double v); /// Whether the optional attribute InnerRadius is defined for this IfcSweptDiskSolid bool hasInnerRadius() const; /// This attribute is optional, if present it defines the radius of a circular hole in the centre of the disk. - IfcPositiveLengthMeasure InnerRadius() const; - void setInnerRadius(IfcPositiveLengthMeasure v); + double InnerRadius() const; + void setInnerRadius(double v); /// Whether the optional attribute StartParam is defined for this IfcSweptDiskSolid bool hasStartParam() const; /// 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. - IfcParameterValue StartParam() const; - void setStartParam(IfcParameterValue v); + double StartParam() const; + void setStartParam(double v); /// Whether the optional attribute EndParam is defined for this IfcSweptDiskSolid bool hasEndParam() const; /// 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. - IfcParameterValue EndParam() const; - void setEndParam(IfcParameterValue v); + double EndParam() const; + void setEndParam(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcSolidModel::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Directrix"; case 1: return "Radius"; case 2: return "InnerRadius"; case 3: return "StartParam"; case 4: return "EndParam"; } return IfcSolidModel::getArgumentName(i); } @@ -17271,7 +18531,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSweptDiskSolid (IfcAbstractEntity* e); - IfcSweptDiskSolid (IfcCurve* v1_Directrix, IfcPositiveLengthMeasure v2_Radius, boost::optional< IfcPositiveLengthMeasure > v3_InnerRadius, boost::optional< IfcParameterValue > v4_StartParam, boost::optional< IfcParameterValue > v5_EndParam); + IfcSweptDiskSolid (IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam); typedef IfcTemplatedEntityList< IfcSweptDiskSolid > list; }; /// The IfcSweptDiskSolidPolygonal is a IfcSweptDiskSolid where the Directrix is restricted to be provided by an IfcPolyline only. An optional FilletRadius attribute can be asserted, it is then applied as a fillet to all transitions between the segments of the IfcPolyline. @@ -17289,8 +18549,8 @@ public: /// Whether the optional attribute FilletRadius is defined for this IfcSweptDiskSolidPolygonal bool hasFilletRadius() const; /// The fillet that is equally applied to all transitions between the segments of the IfcPolyline, providing the geometric representation for the Directrix. If omited, no fillet is applied to the segments. - IfcPositiveLengthMeasure FilletRadius() const; - void setFilletRadius(IfcPositiveLengthMeasure v); + double FilletRadius() const; + void setFilletRadius(double v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_DOUBLE; } return IfcSweptDiskSolid::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "FilletRadius"; } return IfcSweptDiskSolid::getArgumentName(i); } @@ -17299,7 +18559,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSweptDiskSolidPolygonal (IfcAbstractEntity* e); - IfcSweptDiskSolidPolygonal (IfcCurve* v1_Directrix, IfcPositiveLengthMeasure v2_Radius, boost::optional< IfcPositiveLengthMeasure > v3_InnerRadius, boost::optional< IfcParameterValue > v4_StartParam, boost::optional< IfcParameterValue > v5_EndParam, boost::optional< IfcPositiveLengthMeasure > v6_FilletRadius); + IfcSweptDiskSolidPolygonal (IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, boost::optional< double > v6_FilletRadius); typedef IfcTemplatedEntityList< IfcSweptDiskSolidPolygonal > list; }; /// Definition from ISO/CD 10303-42:1992: A swept surface is one that is constructed by sweeping a curve along another curve. @@ -17359,42 +18619,42 @@ public: class IfcTShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). - IfcPositiveLengthMeasure Depth() const; - void setDepth(IfcPositiveLengthMeasure v); + double Depth() const; + void setDepth(double v); /// Flange lengths, see illustration above (= b). - IfcPositiveLengthMeasure FlangeWidth() const; - void setFlangeWidth(IfcPositiveLengthMeasure v); + double FlangeWidth() const; + void setFlangeWidth(double v); /// Constant wall thickness of web (= ts). - IfcPositiveLengthMeasure WebThickness() const; - void setWebThickness(IfcPositiveLengthMeasure v); + double WebThickness() const; + void setWebThickness(double v); /// Constant wall thickness of flange (= tg). - IfcPositiveLengthMeasure FlangeThickness() const; - void setFlangeThickness(IfcPositiveLengthMeasure v); + double FlangeThickness() const; + void setFlangeThickness(double v); /// Whether the optional attribute FilletRadius is defined for this IfcTShapeProfileDef bool hasFilletRadius() const; /// Fillet radius according the above illustration (= r1). - IfcNonNegativeLengthMeasure FilletRadius() const; - void setFilletRadius(IfcNonNegativeLengthMeasure v); + double FilletRadius() const; + void setFilletRadius(double v); /// Whether the optional attribute FlangeEdgeRadius is defined for this IfcTShapeProfileDef bool hasFlangeEdgeRadius() const; /// Edge radius according the above illustration (= r2). - IfcNonNegativeLengthMeasure FlangeEdgeRadius() const; - void setFlangeEdgeRadius(IfcNonNegativeLengthMeasure v); + double FlangeEdgeRadius() const; + void setFlangeEdgeRadius(double v); /// Whether the optional attribute WebEdgeRadius is defined for this IfcTShapeProfileDef bool hasWebEdgeRadius() const; /// Edge radius according the above illustration (= r3). - IfcNonNegativeLengthMeasure WebEdgeRadius() const; - void setWebEdgeRadius(IfcNonNegativeLengthMeasure v); + double WebEdgeRadius() const; + void setWebEdgeRadius(double v); /// Whether the optional attribute WebSlope is defined for this IfcTShapeProfileDef bool hasWebSlope() const; /// Slope of flange of the profile. - IfcPlaneAngleMeasure WebSlope() const; - void setWebSlope(IfcPlaneAngleMeasure v); + double WebSlope() const; + void setWebSlope(double v); /// Whether the optional attribute FlangeSlope is defined for this IfcTShapeProfileDef bool hasFlangeSlope() const; /// Slope of web of the profile. - IfcPlaneAngleMeasure FlangeSlope() const; - void setFlangeSlope(IfcPlaneAngleMeasure v); + double FlangeSlope() const; + void setFlangeSlope(double v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Depth"; case 4: return "FlangeWidth"; case 5: return "WebThickness"; case 6: return "FlangeThickness"; case 7: return "FilletRadius"; case 8: return "FlangeEdgeRadius"; case 9: return "WebEdgeRadius"; case 10: return "WebSlope"; case 11: return "FlangeSlope"; } return IfcParameterizedProfileDef::getArgumentName(i); } @@ -17403,7 +18663,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTShapeProfileDef (IfcAbstractEntity* e); - IfcTShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_FilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v9_FlangeEdgeRadius, boost::optional< IfcNonNegativeLengthMeasure > v10_WebEdgeRadius, boost::optional< IfcPlaneAngleMeasure > v11_WebSlope, boost::optional< IfcPlaneAngleMeasure > v12_FlangeSlope); + IfcTShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_FlangeEdgeRadius, boost::optional< double > v10_WebEdgeRadius, boost::optional< double > v11_WebSlope, boost::optional< double > v12_FlangeSlope); typedef IfcTemplatedEntityList< IfcTShapeProfileDef > list; }; @@ -17433,12 +18693,12 @@ public: class IfcTextLiteral : public IfcGeometricRepresentationItem { public: /// The text literal to be presented. - IfcPresentableText Literal() const; - void setLiteral(IfcPresentableText v); + std::string Literal() const; + void setLiteral(std::string v); /// An IfcAxis2Placement that determines the placement and orientation of the presented string. /// When used with a text style based on IfcTextStyleWithBoxCharacteristics then the y-axis is taken as the reference direction for the box rotation angle and the box slant angle. - IfcAxis2Placement Placement() const; - void setPlacement(IfcAxis2Placement v); + IfcAxis2Placement* Placement() const; + void setPlacement(IfcAxis2Placement* v); /// The writing direction of the text literal. IfcTextPath::IfcTextPath Path() const; void setPath(IfcTextPath::IfcTextPath v); @@ -17450,7 +18710,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTextLiteral (IfcAbstractEntity* e); - IfcTextLiteral (IfcPresentableText v1_Literal, IfcAxis2Placement v2_Placement, IfcTextPath::IfcTextPath v3_Path); + IfcTextLiteral (std::string v1_Literal, IfcAxis2Placement* v2_Placement, IfcTextPath::IfcTextPath v3_Path); typedef IfcTemplatedEntityList< IfcTextLiteral > list; }; /// 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. @@ -17468,8 +18728,8 @@ public: IfcPlanarExtent* Extent() const; void setExtent(IfcPlanarExtent* v); /// The alignment of the text literal relative to its position. - IfcBoxAlignment BoxAlignment() const; - void setBoxAlignment(IfcBoxAlignment v); + std::string BoxAlignment() const; + void setBoxAlignment(std::string v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_STRING; } return IfcTextLiteral::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Extent"; case 4: return "BoxAlignment"; } return IfcTextLiteral::getArgumentName(i); } @@ -17478,7 +18738,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTextLiteralWithExtent (IfcAbstractEntity* e); - IfcTextLiteralWithExtent (IfcPresentableText v1_Literal, IfcAxis2Placement v2_Placement, IfcTextPath::IfcTextPath v3_Path, IfcPlanarExtent* v4_Extent, IfcBoxAlignment v5_BoxAlignment); + IfcTextLiteralWithExtent (std::string v1_Literal, IfcAxis2Placement* v2_Placement, IfcTextPath::IfcTextPath v3_Path, IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment); typedef IfcTemplatedEntityList< IfcTextLiteralWithExtent > list; }; /// 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. @@ -17549,29 +18809,29 @@ public: class IfcTextStyleFontModel : public IfcPreDefinedTextFont { public: /// 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< IfcTextFontName > /*[1:?]*/ FontFamily() const; - void setFontFamily(std::vector< IfcTextFontName > /*[1:?]*/ v); + std::vector< std::string > /*[1:?]*/ FontFamily() const; + void setFontFamily(std::vector< std::string > /*[1:?]*/ v); /// Whether the optional attribute FontStyle is defined for this IfcTextStyleFontModel bool hasFontStyle() const; /// The font style property selects between normal (sometimes referred to as "roman" or "upright"), italic and oblique faces within a font family. - IfcFontStyle FontStyle() const; - void setFontStyle(IfcFontStyle v); + std::string FontStyle() const; + void setFontStyle(std::string v); /// Whether the optional attribute FontVariant is defined for this IfcTextStyleFontModel bool hasFontVariant() const; /// The font variant property selects between normal and small-caps. /// NOTE  It has been introduced for later compliance to full CSS1 support. - IfcFontVariant FontVariant() const; - void setFontVariant(IfcFontVariant v); + std::string FontVariant() const; + void setFontVariant(std::string v); /// Whether the optional attribute FontWeight is defined for this IfcTextStyleFontModel bool hasFontWeight() const; /// 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. - IfcFontWeight FontWeight() const; - void setFontWeight(IfcFontWeight v); + std::string FontWeight() const; + void setFontWeight(std::string v); /// The font size provides the size or height of the text font. /// NOTE  The following values are allowed, /*[1:?]*/ v2_FontFamily, boost::optional< IfcFontStyle > v3_FontStyle, boost::optional< IfcFontVariant > v4_FontVariant, boost::optional< IfcFontWeight > v5_FontWeight, IfcSizeSelect v6_FontSize); + IfcTextStyleFontModel (std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, IfcSizeSelect* v6_FontSize); typedef IfcTemplatedEntityList< IfcTextStyleFontModel > list; }; /// 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. @@ -17624,17 +18884,17 @@ public: class IfcTrapeziumProfileDef : public IfcParameterizedProfileDef { public: /// The extent of the bottom line measured along the implicit x-axis. - IfcPositiveLengthMeasure BottomXDim() const; - void setBottomXDim(IfcPositiveLengthMeasure v); + double BottomXDim() const; + void setBottomXDim(double v); /// The extent of the top line measured along the implicit x-axis. - IfcPositiveLengthMeasure TopXDim() const; - void setTopXDim(IfcPositiveLengthMeasure v); + double TopXDim() const; + void setTopXDim(double v); /// The extent of the distance between the parallel bottom and top lines measured along the implicit y-axis. - IfcPositiveLengthMeasure YDim() const; - void setYDim(IfcPositiveLengthMeasure v); + double YDim() const; + void setYDim(double v); /// Offset from the beginning of the top line to the bottom line, measured along the implicit x-axis. - IfcLengthMeasure TopXOffset() const; - void setTopXOffset(IfcLengthMeasure v); + double TopXOffset() const; + void setTopXOffset(double v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "BottomXDim"; case 4: return "TopXDim"; case 5: return "YDim"; case 6: return "TopXOffset"; } return IfcParameterizedProfileDef::getArgumentName(i); } @@ -17643,7 +18903,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTrapeziumProfileDef (IfcAbstractEntity* e); - IfcTrapeziumProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_BottomXDim, IfcPositiveLengthMeasure v5_TopXDim, IfcPositiveLengthMeasure v6_YDim, IfcLengthMeasure v7_TopXOffset); + IfcTrapeziumProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset); typedef IfcTemplatedEntityList< IfcTrapeziumProfileDef > list; }; /// The object type defines the @@ -17688,8 +18948,8 @@ public: /// If one type object is applicable to many occurrence objects, then those occurrence object names should be separate by comma "," forming a comma separated string. /// /// EXAMPLE Refering to a furniture as applicable occurrence entity would be expressed as 'IfcFurnishingElement', refering to a brace as applicable entity would be expressed as 'IfcMember/BRACE', refering to a wall and wall standard case would be expressed as 'IfcWall, IfcWallStandardCase'. - IfcIdentifier ApplicableOccurrence() const; - void setApplicableOccurrence(IfcIdentifier v); + std::string ApplicableOccurrence() const; + void setApplicableOccurrence(std::string v); /// Whether the optional attribute HasPropertySets is defined for this IfcTypeObject bool hasHasPropertySets() const; /// 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. @@ -17706,7 +18966,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTypeObject (IfcAbstractEntity* e); - IfcTypeObject (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets); + IfcTypeObject (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets); typedef IfcTemplatedEntityList< IfcTypeObject > list; }; /// IfcTypeProcess defines a @@ -17742,20 +19002,20 @@ public: /// Whether the optional attribute Identification is defined for this IfcTypeProcess bool hasIdentification() const; /// An identifying designation given to a process type. - IfcIdentifier Identification() const; - void setIdentification(IfcIdentifier v); + std::string Identification() const; + void setIdentification(std::string v); /// Whether the optional attribute LongDescription is defined for this IfcTypeProcess bool hasLongDescription() const; /// An long description, or text, describing the activity in detail. /// /// NOTE The inherited SELF\IfcRoot.Description attribute is used as the short description. - IfcText LongDescription() const; - void setLongDescription(IfcText v); + std::string LongDescription() const; + void setLongDescription(std::string v); /// Whether the optional attribute ProcessType is defined for this IfcTypeProcess bool hasProcessType() const; /// The type denotes a particular type that indicates the process further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. - IfcLabel ProcessType() const; - void setProcessType(IfcLabel v); + std::string ProcessType() const; + void setProcessType(std::string v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; } return IfcTypeObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "Identification"; case 7: return "LongDescription"; case 8: return "ProcessType"; } return IfcTypeObject::getArgumentName(i); } @@ -17765,7 +19025,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTypeProcess (IfcAbstractEntity* e); - IfcTypeProcess (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ProcessType); + IfcTypeProcess (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType); typedef IfcTemplatedEntityList< IfcTypeProcess > list; }; /// IfcTypeProduct defines a type @@ -17844,8 +19104,8 @@ public: /// Whether the optional attribute Tag is defined for this IfcTypeProduct bool hasTag() const; /// 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. - IfcLabel Tag() const; - void setTag(IfcLabel v); + std::string Tag() const; + void setTag(std::string v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY_LIST; case 7: return IfcUtil::Argument_STRING; } return IfcTypeObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "RepresentationMaps"; case 7: return "Tag"; } return IfcTypeObject::getArgumentName(i); } @@ -17855,7 +19115,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTypeProduct (IfcAbstractEntity* e); - IfcTypeProduct (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag); + IfcTypeProduct (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcTypeProduct > list; }; /// IfcTypeResource defines a specific (or type) definition of a resource.ÿIt is used to define a resource specification (the specific resource, that is common to all occurrences that are defined for that resource) and could act as a resource template. @@ -17875,20 +19135,20 @@ public: /// Whether the optional attribute Identification is defined for this IfcTypeResource bool hasIdentification() const; /// An identifying designation given to a resource type. - IfcIdentifier Identification() const; - void setIdentification(IfcIdentifier v); + std::string Identification() const; + void setIdentification(std::string v); /// Whether the optional attribute LongDescription is defined for this IfcTypeResource bool hasLongDescription() const; /// An long description, or text, describing the resource in detail. /// /// NOTE The inherited SELF\IfcRoot.Description attribute is used as the short description. - IfcText LongDescription() const; - void setLongDescription(IfcText v); + std::string LongDescription() const; + void setLongDescription(std::string v); /// Whether the optional attribute ResourceType is defined for this IfcTypeResource bool hasResourceType() const; /// The type denotes a particular type that indicates the resource further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. - IfcLabel ResourceType() const; - void setResourceType(IfcLabel v); + std::string ResourceType() const; + void setResourceType(std::string v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; } return IfcTypeObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "Identification"; case 7: return "LongDescription"; case 8: return "ResourceType"; } return IfcTypeObject::getArgumentName(i); } @@ -17898,7 +19158,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTypeResource (IfcAbstractEntity* e); - IfcTypeResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType); + IfcTypeResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType); typedef IfcTemplatedEntityList< IfcTypeResource > list; }; /// IfcUShapeProfileDef defines @@ -17932,32 +19192,32 @@ public: class IfcUShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web lengths, see illustration above (= h). - IfcPositiveLengthMeasure Depth() const; - void setDepth(IfcPositiveLengthMeasure v); + double Depth() const; + void setDepth(double v); /// Flange lengths, see illustration above (= b). - IfcPositiveLengthMeasure FlangeWidth() const; - void setFlangeWidth(IfcPositiveLengthMeasure v); + double FlangeWidth() const; + void setFlangeWidth(double v); /// Constant wall thickness of web (= ts). - IfcPositiveLengthMeasure WebThickness() const; - void setWebThickness(IfcPositiveLengthMeasure v); + double WebThickness() const; + void setWebThickness(double v); /// Constant wall thickness of flange (= tg). - IfcPositiveLengthMeasure FlangeThickness() const; - void setFlangeThickness(IfcPositiveLengthMeasure v); + double FlangeThickness() const; + void setFlangeThickness(double v); /// Whether the optional attribute FilletRadius is defined for this IfcUShapeProfileDef bool hasFilletRadius() const; /// Fillet radius according the above illustration (= r1). - IfcNonNegativeLengthMeasure FilletRadius() const; - void setFilletRadius(IfcNonNegativeLengthMeasure v); + double FilletRadius() const; + void setFilletRadius(double v); /// Whether the optional attribute EdgeRadius is defined for this IfcUShapeProfileDef bool hasEdgeRadius() const; /// Edge radius according the above illustration (= r2). - IfcNonNegativeLengthMeasure EdgeRadius() const; - void setEdgeRadius(IfcNonNegativeLengthMeasure v); + double EdgeRadius() const; + void setEdgeRadius(double v); /// Whether the optional attribute FlangeSlope is defined for this IfcUShapeProfileDef bool hasFlangeSlope() const; /// Slope of flange of the profile. - IfcPlaneAngleMeasure FlangeSlope() const; - void setFlangeSlope(IfcPlaneAngleMeasure v); + double FlangeSlope() const; + void setFlangeSlope(double v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Depth"; case 4: return "FlangeWidth"; case 5: return "WebThickness"; case 6: return "FlangeThickness"; case 7: return "FilletRadius"; case 8: return "EdgeRadius"; case 9: return "FlangeSlope"; } return IfcParameterizedProfileDef::getArgumentName(i); } @@ -17966,7 +19226,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcUShapeProfileDef (IfcAbstractEntity* e); - IfcUShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_FilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v9_EdgeRadius, boost::optional< IfcPlaneAngleMeasure > v10_FlangeSlope); + IfcUShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_EdgeRadius, boost::optional< double > v10_FlangeSlope); typedef IfcTemplatedEntityList< IfcUShapeProfileDef > list; }; /// 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. @@ -17982,8 +19242,8 @@ public: IfcDirection* Orientation() const; void setOrientation(IfcDirection* v); /// The magnitude of the vector. All vectors of Magnitude 0.0 are regarded as equal in value regardless of the orientation attribute. - IfcLengthMeasure Magnitude() const; - void setMagnitude(IfcLengthMeasure v); + double Magnitude() const; + void setMagnitude(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Orientation"; case 1: return "Magnitude"; } return IfcGeometricRepresentationItem::getArgumentName(i); } @@ -17992,7 +19252,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcVector (IfcAbstractEntity* e); - IfcVector (IfcDirection* v1_Orientation, IfcLengthMeasure v2_Magnitude); + IfcVector (IfcDirection* v1_Orientation, double v2_Magnitude); typedef IfcTemplatedEntityList< IfcVector > list; }; /// Definition from ISO/CD 10303-42:1992: A vertex_loop is a loop of @@ -18063,7 +19323,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWindowStyle (IfcAbstractEntity* e); - IfcWindowStyle (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v9_ConstructionType, IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + IfcWindowStyle (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, IfcWindowStyleConstructionEnum::IfcWindowStyleConstructionEnum v9_ConstructionType, IfcWindowStyleOperationEnum::IfcWindowStyleOperationEnum v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); typedef IfcTemplatedEntityList< IfcWindowStyle > list; }; /// IfcZShapeProfileDef defines @@ -18094,27 +19354,27 @@ public: class IfcZShapeProfileDef : public IfcParameterizedProfileDef { public: /// Web length, see illustration above (= h). - IfcPositiveLengthMeasure Depth() const; - void setDepth(IfcPositiveLengthMeasure v); + double Depth() const; + void setDepth(double v); /// Flange length, see illustration above (= b). - IfcPositiveLengthMeasure FlangeWidth() const; - void setFlangeWidth(IfcPositiveLengthMeasure v); + double FlangeWidth() const; + void setFlangeWidth(double v); /// Constant wall thickness of web, see illustration above (= ts). - IfcPositiveLengthMeasure WebThickness() const; - void setWebThickness(IfcPositiveLengthMeasure v); + double WebThickness() const; + void setWebThickness(double v); /// Constant wall thickness of flange, see illustration above (= tg). - IfcPositiveLengthMeasure FlangeThickness() const; - void setFlangeThickness(IfcPositiveLengthMeasure v); + double FlangeThickness() const; + void setFlangeThickness(double v); /// Whether the optional attribute FilletRadius is defined for this IfcZShapeProfileDef bool hasFilletRadius() const; /// Fillet radius according the above illustration (= r1). - IfcNonNegativeLengthMeasure FilletRadius() const; - void setFilletRadius(IfcNonNegativeLengthMeasure v); + double FilletRadius() const; + void setFilletRadius(double v); /// Whether the optional attribute EdgeRadius is defined for this IfcZShapeProfileDef bool hasEdgeRadius() const; /// Edge radius according the above illustration (= r2). - IfcNonNegativeLengthMeasure EdgeRadius() const; - void setEdgeRadius(IfcNonNegativeLengthMeasure v); + double EdgeRadius() const; + void setEdgeRadius(double v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Depth"; case 4: return "FlangeWidth"; case 5: return "WebThickness"; case 6: return "FlangeThickness"; case 7: return "FilletRadius"; case 8: return "EdgeRadius"; } return IfcParameterizedProfileDef::getArgumentName(i); } @@ -18123,7 +19383,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcZShapeProfileDef (IfcAbstractEntity* e); - IfcZShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_FlangeWidth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_FilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v9_EdgeRadius); + IfcZShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_EdgeRadius); typedef IfcTemplatedEntityList< IfcZShapeProfileDef > list; }; /// An advanced face is a specialization of a face surface that has to meet requirements on using particular topological and geometric representation items for the definition of the faces, edges and vertices. @@ -18236,47 +19496,47 @@ public: /// Figure 310 — Assymetric I-shape profile class IfcAsymmetricIShapeProfileDef : public IfcParameterizedProfileDef { public: - IfcPositiveLengthMeasure BottomFlangeWidth() const; - void setBottomFlangeWidth(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure OverallDepth() const; - void setOverallDepth(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure WebThickness() const; - void setWebThickness(IfcPositiveLengthMeasure v); - IfcPositiveLengthMeasure BottomFlangeThickness() const; - void setBottomFlangeThickness(IfcPositiveLengthMeasure v); + double BottomFlangeWidth() const; + void setBottomFlangeWidth(double v); + double OverallDepth() const; + void setOverallDepth(double v); + double WebThickness() const; + void setWebThickness(double v); + double BottomFlangeThickness() const; + void setBottomFlangeThickness(double v); /// Whether the optional attribute BottomFlangeFilletRadius is defined for this IfcAsymmetricIShapeProfileDef bool hasBottomFlangeFilletRadius() const; - IfcNonNegativeLengthMeasure BottomFlangeFilletRadius() const; - void setBottomFlangeFilletRadius(IfcNonNegativeLengthMeasure v); + double BottomFlangeFilletRadius() const; + void setBottomFlangeFilletRadius(double v); /// Extent of the top flange, defined parallel to the x axis of the position coordinate system. - IfcPositiveLengthMeasure TopFlangeWidth() const; - void setTopFlangeWidth(IfcPositiveLengthMeasure v); + double TopFlangeWidth() const; + void setTopFlangeWidth(double v); /// Whether the optional attribute TopFlangeThickness is defined for this IfcAsymmetricIShapeProfileDef bool hasTopFlangeThickness() const; /// Flange thickness of the top flange of the I-shape. - IfcPositiveLengthMeasure TopFlangeThickness() const; - void setTopFlangeThickness(IfcPositiveLengthMeasure v); + double TopFlangeThickness() const; + void setTopFlangeThickness(double v); /// Whether the optional attribute TopFlangeFilletRadius is defined for this IfcAsymmetricIShapeProfileDef bool hasTopFlangeFilletRadius() const; /// The fillet between the web and the top flange of the I-shape. - IfcNonNegativeLengthMeasure TopFlangeFilletRadius() const; - void setTopFlangeFilletRadius(IfcNonNegativeLengthMeasure v); + double TopFlangeFilletRadius() const; + void setTopFlangeFilletRadius(double v); /// Whether the optional attribute BottomFlangeEdgeRadius is defined for this IfcAsymmetricIShapeProfileDef bool hasBottomFlangeEdgeRadius() const; - IfcNonNegativeLengthMeasure BottomFlangeEdgeRadius() const; - void setBottomFlangeEdgeRadius(IfcNonNegativeLengthMeasure v); + double BottomFlangeEdgeRadius() const; + void setBottomFlangeEdgeRadius(double v); /// Whether the optional attribute BottomFlangeSlope is defined for this IfcAsymmetricIShapeProfileDef bool hasBottomFlangeSlope() const; - IfcPlaneAngleMeasure BottomFlangeSlope() const; - void setBottomFlangeSlope(IfcPlaneAngleMeasure v); + double BottomFlangeSlope() const; + void setBottomFlangeSlope(double v); /// Whether the optional attribute TopFlangeEdgeRadius is defined for this IfcAsymmetricIShapeProfileDef bool hasTopFlangeEdgeRadius() const; - IfcNonNegativeLengthMeasure TopFlangeEdgeRadius() const; - void setTopFlangeEdgeRadius(IfcNonNegativeLengthMeasure v); + double TopFlangeEdgeRadius() const; + void setTopFlangeEdgeRadius(double v); /// Whether the optional attribute TopFlangeSlope is defined for this IfcAsymmetricIShapeProfileDef bool hasTopFlangeSlope() const; - IfcPlaneAngleMeasure TopFlangeSlope() const; - void setTopFlangeSlope(IfcPlaneAngleMeasure v); + double TopFlangeSlope() const; + void setTopFlangeSlope(double v); virtual unsigned int getArgumentCount() const { return 15; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "BottomFlangeWidth"; case 4: return "OverallDepth"; case 5: return "WebThickness"; case 6: return "BottomFlangeThickness"; case 7: return "BottomFlangeFilletRadius"; case 8: return "TopFlangeWidth"; case 9: return "TopFlangeThickness"; case 10: return "TopFlangeFilletRadius"; case 11: return "BottomFlangeEdgeRadius"; case 12: return "BottomFlangeSlope"; case 13: return "TopFlangeEdgeRadius"; case 14: return "TopFlangeSlope"; } return IfcParameterizedProfileDef::getArgumentName(i); } @@ -18285,7 +19545,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAsymmetricIShapeProfileDef (IfcAbstractEntity* e); - IfcAsymmetricIShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_BottomFlangeWidth, IfcPositiveLengthMeasure v5_OverallDepth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_BottomFlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_BottomFlangeFilletRadius, IfcPositiveLengthMeasure v9_TopFlangeWidth, boost::optional< IfcPositiveLengthMeasure > v10_TopFlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v11_TopFlangeFilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v12_BottomFlangeEdgeRadius, boost::optional< IfcPlaneAngleMeasure > v13_BottomFlangeSlope, boost::optional< IfcNonNegativeLengthMeasure > v14_TopFlangeEdgeRadius, boost::optional< IfcPlaneAngleMeasure > v15_TopFlangeSlope); + IfcAsymmetricIShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_BottomFlangeWidth, double v5_OverallDepth, double v6_WebThickness, double v7_BottomFlangeThickness, boost::optional< double > v8_BottomFlangeFilletRadius, double v9_TopFlangeWidth, boost::optional< double > v10_TopFlangeThickness, boost::optional< double > v11_TopFlangeFilletRadius, boost::optional< double > v12_BottomFlangeEdgeRadius, boost::optional< double > v13_BottomFlangeSlope, boost::optional< double > v14_TopFlangeEdgeRadius, boost::optional< double > v15_TopFlangeSlope); typedef IfcTemplatedEntityList< IfcAsymmetricIShapeProfileDef > list; }; /// 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). @@ -18412,11 +19672,11 @@ public: IfcBooleanOperator::IfcBooleanOperator Operator() const; void setOperator(IfcBooleanOperator::IfcBooleanOperator v); /// The first operand to be operated upon by the Boolean operation. - IfcBooleanOperand FirstOperand() const; - void setFirstOperand(IfcBooleanOperand v); + IfcBooleanOperand* FirstOperand() const; + void setFirstOperand(IfcBooleanOperand* v); /// The second operand specified for the operation. - IfcBooleanOperand SecondOperand() const; - void setSecondOperand(IfcBooleanOperand v); + IfcBooleanOperand* SecondOperand() const; + void setSecondOperand(IfcBooleanOperand* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Operator"; case 1: return "FirstOperand"; case 2: return "SecondOperand"; } return IfcGeometricRepresentationItem::getArgumentName(i); } @@ -18425,7 +19685,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBooleanResult (IfcAbstractEntity* e); - IfcBooleanResult (IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand v2_FirstOperand, IfcBooleanOperand v3_SecondOperand); + IfcBooleanResult (IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand* v2_FirstOperand, IfcBooleanOperand* v3_SecondOperand); typedef IfcTemplatedEntityList< IfcBooleanResult > list; }; /// Definition from ISO/CD 10303-42:1992: A bounded surface is a surface of finite area with identifiable boundaries. @@ -18481,14 +19741,14 @@ public: IfcCartesianPoint* Corner() const; void setCorner(IfcCartesianPoint* v); /// Length attribute (measured along the edge parallel to the X Axis) - IfcPositiveLengthMeasure XDim() const; - void setXDim(IfcPositiveLengthMeasure v); + double XDim() const; + void setXDim(double v); /// Width attribute (measured along the edge parallel to the Y Axis) - IfcPositiveLengthMeasure YDim() const; - void setYDim(IfcPositiveLengthMeasure v); + double YDim() const; + void setYDim(double v); /// Height attribute (measured along the edge parallel to the Z Axis). - IfcPositiveLengthMeasure ZDim() const; - void setZDim(IfcPositiveLengthMeasure v); + double ZDim() const; + void setZDim(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Corner"; case 1: return "XDim"; case 2: return "YDim"; case 3: return "ZDim"; } return IfcGeometricRepresentationItem::getArgumentName(i); } @@ -18497,7 +19757,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBoundingBox (IfcAbstractEntity* e); - IfcBoundingBox (IfcCartesianPoint* v1_Corner, IfcPositiveLengthMeasure v2_XDim, IfcPositiveLengthMeasure v3_YDim, IfcPositiveLengthMeasure v4_ZDim); + IfcBoundingBox (IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim); typedef IfcTemplatedEntityList< IfcBoundingBox > list; }; /// 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. @@ -18571,22 +19831,22 @@ public: class IfcCShapeProfileDef : public IfcParameterizedProfileDef { public: /// Profile depth, see illustration above (= h). - IfcPositiveLengthMeasure Depth() const; - void setDepth(IfcPositiveLengthMeasure v); + double Depth() const; + void setDepth(double v); /// Profile width, see illustration above (= b). - IfcPositiveLengthMeasure Width() const; - void setWidth(IfcPositiveLengthMeasure v); + double Width() const; + void setWidth(double v); /// Constant wall thickness of profile (= ts). - IfcPositiveLengthMeasure WallThickness() const; - void setWallThickness(IfcPositiveLengthMeasure v); + double WallThickness() const; + void setWallThickness(double v); /// Lengths of girth, see illustration above (= c). - IfcPositiveLengthMeasure Girth() const; - void setGirth(IfcPositiveLengthMeasure v); + double Girth() const; + void setGirth(double v); /// Whether the optional attribute InternalFilletRadius is defined for this IfcCShapeProfileDef bool hasInternalFilletRadius() const; /// Internal fillet radius according the above illustration (= r1). - IfcNonNegativeLengthMeasure InternalFilletRadius() const; - void setInternalFilletRadius(IfcNonNegativeLengthMeasure v); + double InternalFilletRadius() const; + void setInternalFilletRadius(double v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Depth"; case 4: return "Width"; case 5: return "WallThickness"; case 6: return "Girth"; case 7: return "InternalFilletRadius"; } return IfcParameterizedProfileDef::getArgumentName(i); } @@ -18595,7 +19855,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCShapeProfileDef (IfcAbstractEntity* e); - IfcCShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, IfcPositiveLengthMeasure v5_Width, IfcPositiveLengthMeasure v6_WallThickness, IfcPositiveLengthMeasure v7_Girth, boost::optional< IfcNonNegativeLengthMeasure > v8_InternalFilletRadius); + IfcCShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius); typedef IfcTemplatedEntityList< IfcCShapeProfileDef > list; }; /// 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. @@ -18608,8 +19868,8 @@ 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< IfcLengthMeasure > /*[1:3]*/ Coordinates() const; - void setCoordinates(std::vector< IfcLengthMeasure > /*[1:3]*/ v); + std::vector< double > /*[1:3]*/ Coordinates() const; + void setCoordinates(std::vector< double > /*[1:3]*/ v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::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); } @@ -18618,7 +19878,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCartesianPoint (IfcAbstractEntity* e); - IfcCartesianPoint (std::vector< IfcLengthMeasure > /*[1:3]*/ v1_Coordinates); + IfcCartesianPoint (std::vector< double > /*[1:3]*/ v1_Coordinates); typedef IfcTemplatedEntityList< IfcCartesianPoint > list; }; @@ -18828,8 +20088,8 @@ public: class IfcCircleProfileDef : public IfcParameterizedProfileDef { public: /// The radius of the circle. - IfcPositiveLengthMeasure Radius() const; - void setRadius(IfcPositiveLengthMeasure v); + double Radius() const; + void setRadius(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Radius"; } return IfcParameterizedProfileDef::getArgumentName(i); } @@ -18838,7 +20098,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCircleProfileDef (IfcAbstractEntity* e); - IfcCircleProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Radius); + IfcCircleProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Radius); typedef IfcTemplatedEntityList< IfcCircleProfileDef > list; }; /// Definition from ISO/CD 10303-42:1992: A closed shell is a shell @@ -18916,18 +20176,18 @@ 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. - IfcNormalisedRatioMeasure Red() const; - void setRed(IfcNormalisedRatioMeasure v); + double Red() const; + void setRed(double v); /// 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. - IfcNormalisedRatioMeasure Green() const; - void setGreen(IfcNormalisedRatioMeasure v); + double Green() const; + void setGreen(double v); /// 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. - IfcNormalisedRatioMeasure Blue() const; - void setBlue(IfcNormalisedRatioMeasure v); + double Blue() const; + void setBlue(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcColourSpecification::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Red"; case 2: return "Green"; case 3: return "Blue"; } return IfcColourSpecification::getArgumentName(i); } @@ -18936,7 +20196,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcColourRgb (IfcAbstractEntity* e); - IfcColourRgb (boost::optional< IfcLabel > v1_Name, IfcNormalisedRatioMeasure v2_Red, IfcNormalisedRatioMeasure v3_Green, IfcNormalisedRatioMeasure v4_Blue); + IfcColourRgb (boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue); typedef IfcTemplatedEntityList< IfcColourRgb > list; }; /// 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. @@ -18948,8 +20208,8 @@ class IfcComplexProperty : public IfcProperty { public: /// Usage description of the IfcComplexProperty within the property set which references the IfcComplexProperty. /// 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() const; - void setUsageName(IfcIdentifier v); + std::string UsageName() const; + void setUsageName(std::string v); /// Set of properties that can be used within this complex property (may include other complex properties). IfcTemplatedEntityList< IfcProperty >::ptr HasProperties() const; void setHasProperties(IfcTemplatedEntityList< IfcProperty >::ptr v); @@ -18961,7 +20221,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcComplexProperty (IfcAbstractEntity* e); - IfcComplexProperty (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, IfcIdentifier v3_UsageName, IfcTemplatedEntityList< IfcProperty >::ptr v4_HasProperties); + IfcComplexProperty (std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_UsageName, IfcTemplatedEntityList< IfcProperty >::ptr v4_HasProperties); typedef IfcTemplatedEntityList< IfcComplexProperty > list; }; /// 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). @@ -19029,7 +20289,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstructionResourceType (IfcAbstractEntity* e); - IfcConstructionResourceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity); + IfcConstructionResourceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity); typedef IfcTemplatedEntityList< IfcConstructionResourceType > list; }; /// IfcContext is the generalization of a project context in which objects, type objects, property sets, and properties are defined. The IfcProject as subtype of IfcContext provides the context for all information on a construction project, it may include one or several IfcProjectLibrary as subtype of IfcContext to register the included libraries for the project. @@ -19050,18 +20310,18 @@ public: /// Whether the optional attribute ObjectType is defined for this IfcContext bool hasObjectType() const; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. - IfcLabel ObjectType() const; - void setObjectType(IfcLabel v); + std::string ObjectType() const; + void setObjectType(std::string v); /// Whether the optional attribute LongName is defined for this IfcContext bool hasLongName() const; /// Long name for the context as used for reference purposes. - IfcLabel LongName() const; - void setLongName(IfcLabel v); + std::string LongName() const; + void setLongName(std::string v); /// Whether the optional attribute Phase is defined for this IfcContext bool hasPhase() const; /// Current project phase, or life-cycle phase of this project. Applicable values have to be agreed upon by view definitions or implementer agreements. - IfcLabel Phase() const; - void setPhase(IfcLabel v); + std::string Phase() const; + void setPhase(std::string v); /// Whether the optional attribute RepresentationContexts is defined for this IfcContext bool hasRepresentationContexts() const; /// Context of the representations used within the context. When the context is a project and it includes shape representations for its components, one or several geometric representation contexts need to be included that define e.g. the world coordinate system, the coordinate space dimensions, and/or the precision factor. @@ -19086,7 +20346,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcContext (IfcAbstractEntity* e); - IfcContext (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcLabel > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext); + IfcContext (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext); typedef IfcTemplatedEntityList< IfcContext > list; }; /// The resource type IfcCrewResourceType defines commonly shared information for occurrences of crew resources. The set of shared information may include: @@ -19112,7 +20372,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCrewResourceType (IfcAbstractEntity* e); - IfcCrewResourceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum v12_PredefinedType); + IfcCrewResourceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum v12_PredefinedType); typedef IfcTemplatedEntityList< IfcCrewResourceType > list; }; /// 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. @@ -19180,8 +20440,8 @@ public: class IfcCsgSolid : public IfcSolidModel { public: /// Boolean expression of primitives and regularized operators describing the solid. The root of the tree of Boolean expressions is given explicitly as an IfcBooleanResult entitiy or as a primitive (subtypes of IfcCsgPrimitive3D). - IfcCsgSelect TreeRootExpression() const; - void setTreeRootExpression(IfcCsgSelect v); + IfcCsgSelect* TreeRootExpression() const; + void setTreeRootExpression(IfcCsgSelect* v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcSolidModel::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TreeRootExpression"; } return IfcSolidModel::getArgumentName(i); } @@ -19190,7 +20450,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCsgSolid (IfcAbstractEntity* e); - IfcCsgSolid (IfcCsgSelect v1_TreeRootExpression); + IfcCsgSolid (IfcCsgSelect* v1_TreeRootExpression); typedef IfcTemplatedEntityList< IfcCsgSolid > list; }; /// Definition from ISO/CD 10303-42:1992: A curve can be envisioned as the path of a point moving in its coordinate space. @@ -19364,7 +20624,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDoorStyle (IfcAbstractEntity* e); - IfcDoorStyle (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v9_OperationType, IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); + IfcDoorStyle (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, IfcDoorStyleOperationEnum::IfcDoorStyleOperationEnum v9_OperationType, IfcDoorStyleConstructionEnum::IfcDoorStyleConstructionEnum v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable); typedef IfcTemplatedEntityList< IfcDoorStyle > list; }; /// 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. @@ -19478,8 +20738,8 @@ public: /// Name of the method of measurement used to calculate the element quantity. The method of measurement attribute has to be made recognizable by further agreements. /// /// IFC2x2 Addendum 1 change: The attribute has been changed to be optional - IfcLabel MethodOfMeasurement() const; - void setMethodOfMeasurement(IfcLabel v); + std::string MethodOfMeasurement() const; + void setMethodOfMeasurement(std::string v); /// The individual quantities for the element, can be a set of length, area, volume, weight or count based quantities. IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr Quantities() const; void setQuantities(IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v); @@ -19491,7 +20751,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElementQuantity (IfcAbstractEntity* e); - IfcElementQuantity (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_MethodOfMeasurement, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v6_Quantities); + IfcElementQuantity (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr v6_Quantities); typedef IfcTemplatedEntityList< IfcElementQuantity > list; }; /// Definition from IAI: The IfcElementType @@ -19521,8 +20781,8 @@ public: /// Whether the optional attribute ElementType is defined for this IfcElementType bool hasElementType() const; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. - IfcLabel ElementType() const; - void setElementType(IfcLabel v); + std::string ElementType() const; + void setElementType(std::string v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_STRING; } return IfcTypeProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "ElementType"; } return IfcTypeProduct::getArgumentName(i); } @@ -19531,7 +20791,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElementType (IfcAbstractEntity* e); - IfcElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcElementType > list; }; /// Definition from ISO/CD 10303-42:1992: An elementary surface (IfcElementarySurface) is a simple analytic surface with defined parametric representation. @@ -19574,11 +20834,11 @@ public: class IfcEllipseProfileDef : public IfcParameterizedProfileDef { public: /// The first radius of the ellipse. It is measured along the direction of Position.P[1]. - IfcPositiveLengthMeasure SemiAxis1() const; - void setSemiAxis1(IfcPositiveLengthMeasure v); + double SemiAxis1() const; + void setSemiAxis1(double v); /// The second radius of the ellipse. It is measured along the direction of Position.P[2]. - IfcPositiveLengthMeasure SemiAxis2() const; - void setSemiAxis2(IfcPositiveLengthMeasure v); + double SemiAxis2() const; + void setSemiAxis2(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "SemiAxis1"; case 4: return "SemiAxis2"; } return IfcParameterizedProfileDef::getArgumentName(i); } @@ -19587,7 +20847,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEllipseProfileDef (IfcAbstractEntity* e); - IfcEllipseProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_SemiAxis1, IfcPositiveLengthMeasure v5_SemiAxis2); + IfcEllipseProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2); typedef IfcTemplatedEntityList< IfcEllipseProfileDef > list; }; /// An IfcEventType defines a particular type of event that may be specified. @@ -19611,8 +20871,8 @@ public: /// A user defined event trigger type, the value of which /// is asserted when the value of an event trigger type is /// declared as USERDEFINED. - IfcLabel UserDefinedEventTriggerType() const; - void setUserDefinedEventTriggerType(IfcLabel v); + std::string UserDefinedEventTriggerType() const; + void setUserDefinedEventTriggerType(std::string v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_ENUMERATION; case 11: return IfcUtil::Argument_STRING; } return IfcTypeProcess::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "EventTriggerType"; case 11: return "UserDefinedEventTriggerType"; } return IfcTypeProcess::getArgumentName(i); } @@ -19621,7 +20881,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEventType (IfcAbstractEntity* e); - IfcEventType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ProcessType, IfcEventTypeEnum::IfcEventTypeEnum v10_PredefinedType, IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum v11_EventTriggerType, boost::optional< IfcLabel > v12_UserDefinedEventTriggerType); + IfcEventType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, IfcEventTypeEnum::IfcEventTypeEnum v10_PredefinedType, IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType); typedef IfcTemplatedEntityList< IfcEventType > list; }; /// The IfcExtrudedAreaSolid is defined by sweeping a cross @@ -19699,8 +20959,8 @@ public: void setExtrudedDirection(IfcDirection* v); /// The distance the surface is to be swept along the ExtrudedDirection /// . - IfcPositiveLengthMeasure Depth() const; - void setDepth(IfcPositiveLengthMeasure v); + double Depth() const; + void setDepth(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; } return IfcSweptAreaSolid::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "ExtrudedDirection"; case 3: return "Depth"; } return IfcSweptAreaSolid::getArgumentName(i); } @@ -19709,7 +20969,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcExtrudedAreaSolid (IfcAbstractEntity* e); - IfcExtrudedAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, IfcPositiveLengthMeasure v4_Depth); + IfcExtrudedAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, double v4_Depth); typedef IfcTemplatedEntityList< IfcExtrudedAreaSolid > list; }; /// IfcExtrudedAreaSolidTapered is defined by sweeping a cross @@ -19823,7 +21083,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcExtrudedAreaSolidTapered (IfcAbstractEntity* e); - IfcExtrudedAreaSolidTapered (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, IfcPositiveLengthMeasure v4_Depth, IfcProfileDef* v5_EndSweptArea); + IfcExtrudedAreaSolidTapered (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, double v4_Depth, IfcProfileDef* v5_EndSweptArea); typedef IfcTemplatedEntityList< IfcExtrudedAreaSolidTapered > list; }; /// 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. @@ -19909,8 +21169,8 @@ public: /// 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. - IfcHatchLineDistanceSelect StartOfNextHatchLine() const; - void setStartOfNextHatchLine(IfcHatchLineDistanceSelect v); + IfcHatchLineDistanceSelect* StartOfNextHatchLine() const; + void setStartOfNextHatchLine(IfcHatchLineDistanceSelect* v); /// Whether the optional attribute PointOfReferenceHatchLine is defined for this IfcFillAreaStyleHatching bool hasPointOfReferenceHatchLine() const; /// 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. @@ -19928,8 +21188,8 @@ public: IfcCartesianPoint* PatternStart() const; void setPatternStart(IfcCartesianPoint* v); /// A plane angle measure determining the direction of the parallel hatching lines. - IfcPlaneAngleMeasure HatchLineAngle() const; - void setHatchLineAngle(IfcPlaneAngleMeasure v); + double HatchLineAngle() const; + void setHatchLineAngle(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; case 1: return IfcUtil::Argument_ENTITY; case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "HatchLineAppearance"; case 1: return "StartOfNextHatchLine"; case 2: return "PointOfReferenceHatchLine"; case 3: return "PatternStart"; case 4: return "HatchLineAngle"; } return IfcGeometricRepresentationItem::getArgumentName(i); } @@ -19938,7 +21198,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFillAreaStyleHatching (IfcAbstractEntity* e); - IfcFillAreaStyleHatching (IfcCurveStyle* v1_HatchLineAppearance, IfcHatchLineDistanceSelect v2_StartOfNextHatchLine, IfcCartesianPoint* v3_PointOfReferenceHatchLine, IfcCartesianPoint* v4_PatternStart, IfcPlaneAngleMeasure v5_HatchLineAngle); + IfcFillAreaStyleHatching (IfcCurveStyle* v1_HatchLineAppearance, IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, IfcCartesianPoint* v3_PointOfReferenceHatchLine, IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle); typedef IfcTemplatedEntityList< IfcFillAreaStyleHatching > list; }; /// 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. @@ -19955,8 +21215,8 @@ public: IfcTemplatedEntityList< IfcStyledItem >::ptr Tiles() const; void setTiles(IfcTemplatedEntityList< IfcStyledItem >::ptr v); /// The scale factor applied to each tile as it is placed in the annotation fill area. - IfcPositiveRatioMeasure TilingScale() const; - void setTilingScale(IfcPositiveRatioMeasure v); + double TilingScale() const; + void setTilingScale(double v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_LIST; case 1: return IfcUtil::Argument_ENTITY_LIST; case 2: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TilingPattern"; case 1: return "Tiles"; case 2: return "TilingScale"; } return IfcGeometricRepresentationItem::getArgumentName(i); } @@ -19965,7 +21225,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFillAreaStyleTiles (IfcAbstractEntity* e); - IfcFillAreaStyleTiles (IfcTemplatedEntityList< IfcVector >::ptr v1_TilingPattern, IfcTemplatedEntityList< IfcStyledItem >::ptr v2_Tiles, IfcPositiveRatioMeasure v3_TilingScale); + IfcFillAreaStyleTiles (IfcTemplatedEntityList< IfcVector >::ptr v1_TilingPattern, IfcTemplatedEntityList< IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale); typedef IfcTemplatedEntityList< IfcFillAreaStyleTiles > list; }; /// A fixed reference swept area solid is a type of swept area solid @@ -20034,13 +21294,13 @@ public: /// Whether the optional attribute StartParam is defined for this IfcFixedReferenceSweptAreaSolid bool hasStartParam() const; /// 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. - IfcParameterValue StartParam() const; - void setStartParam(IfcParameterValue v); + double StartParam() const; + void setStartParam(double v); /// Whether the optional attribute EndParam is defined for this IfcFixedReferenceSweptAreaSolid bool hasEndParam() const; /// 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. - IfcParameterValue EndParam() const; - void setEndParam(IfcParameterValue v); + double EndParam() const; + void setEndParam(double v); /// The direction providing the fixed axis1 (x-axis) direction for orienting the swept area during the sweeping operation along the Directrix. IfcDirection* FixedReference() const; void setFixedReference(IfcDirection* v); @@ -20052,7 +21312,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFixedReferenceSweptAreaSolid (IfcAbstractEntity* e); - IfcFixedReferenceSweptAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcCurve* v3_Directrix, boost::optional< IfcParameterValue > v4_StartParam, boost::optional< IfcParameterValue > v5_EndParam, IfcDirection* v6_FixedReference); + IfcFixedReferenceSweptAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, IfcDirection* v6_FixedReference); typedef IfcTemplatedEntityList< IfcFixedReferenceSweptAreaSolid > list; }; /// Definition from IAI: The @@ -20093,7 +21353,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFurnishingElementType (IfcAbstractEntity* e); - IfcFurnishingElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcFurnishingElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcFurnishingElementType > list; }; /// The furnishing element type IfcFurnitureType defines commonly shared information for occurrences of furnitures. The set of shared information may include: @@ -20150,7 +21410,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFurnitureType (IfcAbstractEntity* e); - IfcFurnitureType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v10_AssemblyPlace, boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v11_PredefinedType); + IfcFurnitureType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum v10_AssemblyPlace, boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v11_PredefinedType); typedef IfcTemplatedEntityList< IfcFurnitureType > list; }; /// Definition from IAI: An @@ -20227,7 +21487,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGeographicElementType (IfcAbstractEntity* e); - IfcGeographicElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum v10_PredefinedType); + IfcGeographicElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcGeographicElementType > list; }; /// Definition from ISO/CD 10303-42:1992: A geometric curve set is a collection of two or three dimensional points and curves. @@ -20316,30 +21576,30 @@ public: class IfcIShapeProfileDef : public IfcParameterizedProfileDef { public: /// Total extent of the width, defined parallel to the x axis of the position coordinate system. - IfcPositiveLengthMeasure OverallWidth() const; - void setOverallWidth(IfcPositiveLengthMeasure v); + double OverallWidth() const; + void setOverallWidth(double v); /// Total extent of the depth, defined parallel to the y axis of the position coordinate system. - IfcPositiveLengthMeasure OverallDepth() const; - void setOverallDepth(IfcPositiveLengthMeasure v); + double OverallDepth() const; + void setOverallDepth(double v); /// Thickness of the web of the I-shape. The web is centred on the x-axis and the y-axis of the position coordinate system. - IfcPositiveLengthMeasure WebThickness() const; - void setWebThickness(IfcPositiveLengthMeasure v); + double WebThickness() const; + void setWebThickness(double v); /// Flange thickness of the I-shape. Both, the upper and the lower flanges have the same thickness and they are centred on the y-axis of the position coordinate system. - IfcPositiveLengthMeasure FlangeThickness() const; - void setFlangeThickness(IfcPositiveLengthMeasure v); + double FlangeThickness() const; + void setFlangeThickness(double v); /// Whether the optional attribute FilletRadius is defined for this IfcIShapeProfileDef bool hasFilletRadius() const; /// The fillet between the web and the flange. - IfcNonNegativeLengthMeasure FilletRadius() const; - void setFilletRadius(IfcNonNegativeLengthMeasure v); + double FilletRadius() const; + void setFilletRadius(double v); /// Whether the optional attribute FlangeEdgeRadius is defined for this IfcIShapeProfileDef bool hasFlangeEdgeRadius() const; - IfcNonNegativeLengthMeasure FlangeEdgeRadius() const; - void setFlangeEdgeRadius(IfcNonNegativeLengthMeasure v); + double FlangeEdgeRadius() const; + void setFlangeEdgeRadius(double v); /// Whether the optional attribute FlangeSlope is defined for this IfcIShapeProfileDef bool hasFlangeSlope() const; - IfcPlaneAngleMeasure FlangeSlope() const; - void setFlangeSlope(IfcPlaneAngleMeasure v); + double FlangeSlope() const; + void setFlangeSlope(double v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "OverallWidth"; case 4: return "OverallDepth"; case 5: return "WebThickness"; case 6: return "FlangeThickness"; case 7: return "FilletRadius"; case 8: return "FlangeEdgeRadius"; case 9: return "FlangeSlope"; } return IfcParameterizedProfileDef::getArgumentName(i); } @@ -20348,7 +21608,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcIShapeProfileDef (IfcAbstractEntity* e); - IfcIShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_OverallWidth, IfcPositiveLengthMeasure v5_OverallDepth, IfcPositiveLengthMeasure v6_WebThickness, IfcPositiveLengthMeasure v7_FlangeThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_FilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v9_FlangeEdgeRadius, boost::optional< IfcPlaneAngleMeasure > v10_FlangeSlope); + IfcIShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_FlangeEdgeRadius, boost::optional< double > v10_FlangeSlope); typedef IfcTemplatedEntityList< IfcIShapeProfileDef > list; }; /// IfcLShapeProfileDef @@ -20405,31 +21665,31 @@ public: class IfcLShapeProfileDef : public IfcParameterizedProfileDef { public: /// Leg length, see illustration above (= h). Same as the overall depth. - IfcPositiveLengthMeasure Depth() const; - void setDepth(IfcPositiveLengthMeasure v); + double Depth() const; + void setDepth(double v); /// Whether the optional attribute Width is defined for this IfcLShapeProfileDef bool hasWidth() const; /// Leg length, see illustration above (= b). Same as the overall width. - IfcPositiveLengthMeasure Width() const; - void setWidth(IfcPositiveLengthMeasure v); + double Width() const; + void setWidth(double v); /// Constant wall thickness of profile, see illustration above (= ts). - IfcPositiveLengthMeasure Thickness() const; - void setThickness(IfcPositiveLengthMeasure v); + double Thickness() const; + void setThickness(double v); /// Whether the optional attribute FilletRadius is defined for this IfcLShapeProfileDef bool hasFilletRadius() const; /// Fillet radius according the above illustration (= r1). - IfcNonNegativeLengthMeasure FilletRadius() const; - void setFilletRadius(IfcNonNegativeLengthMeasure v); + double FilletRadius() const; + void setFilletRadius(double v); /// Whether the optional attribute EdgeRadius is defined for this IfcLShapeProfileDef bool hasEdgeRadius() const; /// Edge radius according the above illustration (= r2). - IfcNonNegativeLengthMeasure EdgeRadius() const; - void setEdgeRadius(IfcNonNegativeLengthMeasure v); + double EdgeRadius() const; + void setEdgeRadius(double v); /// Whether the optional attribute LegSlope is defined for this IfcLShapeProfileDef bool hasLegSlope() const; /// Slope of the inner face of each leg of the profile. - IfcPlaneAngleMeasure LegSlope() const; - void setLegSlope(IfcPlaneAngleMeasure v); + double LegSlope() const; + void setLegSlope(double v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; } return IfcParameterizedProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "Depth"; case 4: return "Width"; case 5: return "Thickness"; case 6: return "FilletRadius"; case 7: return "EdgeRadius"; case 8: return "LegSlope"; } return IfcParameterizedProfileDef::getArgumentName(i); } @@ -20438,7 +21698,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLShapeProfileDef (IfcAbstractEntity* e); - IfcLShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Depth, boost::optional< IfcPositiveLengthMeasure > v5_Width, IfcPositiveLengthMeasure v6_Thickness, boost::optional< IfcNonNegativeLengthMeasure > v7_FilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v8_EdgeRadius, boost::optional< IfcPlaneAngleMeasure > v9_LegSlope); + IfcLShapeProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Depth, boost::optional< double > v5_Width, double v6_Thickness, boost::optional< double > v7_FilletRadius, boost::optional< double > v8_EdgeRadius, boost::optional< double > v9_LegSlope); typedef IfcTemplatedEntityList< IfcLShapeProfileDef > list; }; /// The resource type IfcLaborResourceType defines commonly shared information for occurrences of labor resources. The set of shared information may include: @@ -20465,7 +21725,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLaborResourceType (IfcAbstractEntity* e); - IfcLaborResourceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum v12_PredefinedType); + IfcLaborResourceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum v12_PredefinedType); typedef IfcTemplatedEntityList< IfcLaborResourceType > list; }; /// 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: @@ -20666,8 +21926,8 @@ public: /// Whether the optional attribute ObjectType is defined for this IfcObject bool hasObjectType() const; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute PredefinedType is set to USERDEFINED. - IfcLabel ObjectType() const; - void setObjectType(IfcLabel v); + std::string ObjectType() const; + void setObjectType(std::string v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_STRING; } return IfcObjectDefinition::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "ObjectType"; } return IfcObjectDefinition::getArgumentName(i); } @@ -20680,7 +21940,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcObject (IfcAbstractEntity* e); - IfcObject (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); + IfcObject (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType); typedef IfcTemplatedEntityList< IfcObject > list; }; /// 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. @@ -20700,8 +21960,8 @@ public: IfcCurve* BasisCurve() const; void setBasisCurve(IfcCurve* v); /// The distance of the offset curve from the basis curve. distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).) - IfcLengthMeasure Distance() const; - void setDistance(IfcLengthMeasure v); + double Distance() const; + void setDistance(double v); /// An indication of whether the offset curve self-intersects; this is for information only. bool SelfIntersect() const; void setSelfIntersect(bool v); @@ -20713,7 +21973,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOffsetCurve2D (IfcAbstractEntity* e); - IfcOffsetCurve2D (IfcCurve* v1_BasisCurve, IfcLengthMeasure v2_Distance, bool v3_SelfIntersect); + IfcOffsetCurve2D (IfcCurve* v1_BasisCurve, double v2_Distance, bool v3_SelfIntersect); typedef IfcTemplatedEntityList< IfcOffsetCurve2D > list; }; /// 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. @@ -20737,8 +21997,8 @@ public: IfcCurve* BasisCurve() const; void setBasisCurve(IfcCurve* v); /// The distance of the offset curve from the basis curve. The distance may be positive, negative or zero. - IfcLengthMeasure Distance() const; - void setDistance(IfcLengthMeasure v); + double Distance() const; + void setDistance(double v); /// An indication of whether the offset curve self-intersects, this is for information only. bool SelfIntersect() const; void setSelfIntersect(bool v); @@ -20753,7 +22013,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOffsetCurve3D (IfcAbstractEntity* e); - IfcOffsetCurve3D (IfcCurve* v1_BasisCurve, IfcLengthMeasure v2_Distance, bool v3_SelfIntersect, IfcDirection* v4_RefDirection); + IfcOffsetCurve3D (IfcCurve* v1_BasisCurve, double v2_Distance, bool v3_SelfIntersect, IfcDirection* v4_RefDirection); typedef IfcTemplatedEntityList< IfcOffsetCurve3D > list; }; @@ -20784,8 +22044,8 @@ 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. - IfcAxis2Placement Placement() const; - void setPlacement(IfcAxis2Placement v); + IfcAxis2Placement* Placement() const; + void setPlacement(IfcAxis2Placement* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; } return IfcPlanarExtent::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Placement"; } return IfcPlanarExtent::getArgumentName(i); } @@ -20794,7 +22054,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPlanarBox (IfcAbstractEntity* e); - IfcPlanarBox (IfcLengthMeasure v1_SizeInX, IfcLengthMeasure v2_SizeInY, IfcAxis2Placement v3_Placement); + IfcPlanarBox (double v1_SizeInX, double v2_SizeInY, IfcAxis2Placement* v3_Placement); typedef IfcTemplatedEntityList< IfcPlanarBox > list; }; /// 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: @@ -20861,7 +22121,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPreDefinedColour (IfcAbstractEntity* e); - IfcPreDefinedColour (IfcLabel v1_Name); + IfcPreDefinedColour (std::string v1_Name); typedef IfcTemplatedEntityList< IfcPreDefinedColour > list; }; /// 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. @@ -20881,7 +22141,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPreDefinedCurveFont (IfcAbstractEntity* e); - IfcPreDefinedCurveFont (IfcLabel v1_Name); + IfcPreDefinedCurveFont (std::string v1_Name); typedef IfcTemplatedEntityList< IfcPreDefinedCurveFont > list; }; /// IfcPreDefinedPropertySet @@ -20914,7 +22174,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPreDefinedPropertySet (IfcAbstractEntity* e); - IfcPreDefinedPropertySet (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); + IfcPreDefinedPropertySet (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcPreDefinedPropertySet > list; }; /// An IfcProcedureType defines a particular type of procedure that may be specified. @@ -20944,7 +22204,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProcedureType (IfcAbstractEntity* e); - IfcProcedureType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ProcessType, IfcProcedureTypeEnum::IfcProcedureTypeEnum v10_PredefinedType); + IfcProcedureType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, IfcProcedureTypeEnum::IfcProcedureTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcProcedureType > list; }; /// Definition from ISO9000: A process is a set of @@ -20995,15 +22255,15 @@ public: /// It is the identifier at the occurrence level. /// /// IFC2x4 CHANGE Attribute promoted from subtypes. - IfcIdentifier Identification() const; - void setIdentification(IfcIdentifier v); + std::string Identification() const; + void setIdentification(std::string v); /// Whether the optional attribute LongDescription is defined for this IfcProcess bool hasLongDescription() const; /// An extended description or narrative that may be provided. /// /// IFC2x4 CHANGE  New attribute. - IfcText LongDescription() const; - void setLongDescription(IfcText v); + std::string LongDescription() const; + void setLongDescription(std::string v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; } return IfcObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "Identification"; case 6: return "LongDescription"; } return IfcObject::getArgumentName(i); } @@ -21015,7 +22275,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProcess (IfcAbstractEntity* e); - IfcProcess (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription); + IfcProcess (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription); typedef IfcTemplatedEntityList< IfcProcess > list; }; /// Any object that relates to a @@ -21130,7 +22390,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProduct (IfcAbstractEntity* e); - IfcProduct (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); + IfcProduct (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); typedef IfcTemplatedEntityList< IfcProduct > list; }; /// IfcProject indicates the undertaking of some design, engineering, construction, or @@ -21187,7 +22447,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProject (IfcAbstractEntity* e); - IfcProject (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcLabel > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext); + IfcProject (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext); typedef IfcTemplatedEntityList< IfcProject > list; }; /// IfcProjectLibrary collects all library elements that are included within a referenced project data set. @@ -21224,7 +22484,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProjectLibrary (IfcAbstractEntity* e); - IfcProjectLibrary (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcLabel > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext); + IfcProjectLibrary (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< IfcTemplatedEntityList< IfcRepresentationContext >::ptr > v8_RepresentationContexts, IfcUnitAssignment* v9_UnitsInContext); typedef IfcTemplatedEntityList< IfcProjectLibrary > list; }; /// A property with a bounded @@ -21336,25 +22596,25 @@ public: /// Whether the optional attribute UpperBoundValue is defined for this IfcPropertyBoundedValue bool hasUpperBoundValue() const; /// Upper bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be greater than or equal to LowerBoundValue). - IfcValue UpperBoundValue() const; - void setUpperBoundValue(IfcValue v); + IfcValue* UpperBoundValue() const; + void setUpperBoundValue(IfcValue* v); /// Whether the optional attribute LowerBoundValue is defined for this IfcPropertyBoundedValue bool hasLowerBoundValue() const; /// Lower bound value for the interval defining the property value. If the value is not given, it indicates an open bound (all values to be lower than or equal to UpperBoundValue). - IfcValue LowerBoundValue() const; - void setLowerBoundValue(IfcValue v); + IfcValue* LowerBoundValue() const; + void setLowerBoundValue(IfcValue* v); /// Whether the optional attribute Unit is defined for this IfcPropertyBoundedValue bool hasUnit() const; /// Unit for the upper and lower bound values, if not given, the default value for the measure type is used as defined by the global unit assignment at IfcProject.UnitInContext. The applicable unit is then selected by the underlying TYPE of the UpperBoundValue, LowerBoundValue, and SetPointValue) - IfcUnit Unit() const; - void setUnit(IfcUnit v); + IfcUnit* Unit() const; + void setUnit(IfcUnit* v); /// Whether the optional attribute SetPointValue is defined for this IfcPropertyBoundedValue bool hasSetPointValue() const; /// Set point value as typically used for operational value setting. /// /// IFC2x4 CHANGE  The attribute has been added at the end of the attribute list. - IfcValue SetPointValue() const; - void setSetPointValue(IfcValue v); + IfcValue* SetPointValue() const; + void setSetPointValue(IfcValue* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "UpperBoundValue"; case 3: return "LowerBoundValue"; case 4: return "Unit"; case 5: return "SetPointValue"; } return IfcSimpleProperty::getArgumentName(i); } @@ -21363,7 +22623,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyBoundedValue (IfcAbstractEntity* e); - IfcPropertyBoundedValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcValue > v3_UpperBoundValue, boost::optional< IfcValue > v4_LowerBoundValue, boost::optional< IfcUnit > v5_Unit, boost::optional< IfcValue > v6_SetPointValue); + IfcPropertyBoundedValue (std::string v1_Name, boost::optional< std::string > v2_Description, IfcValue* v3_UpperBoundValue, IfcValue* v4_LowerBoundValue, IfcUnit* v5_Unit, IfcValue* v6_SetPointValue); typedef IfcTemplatedEntityList< IfcPropertyBoundedValue > list; }; /// A property with an enumerated @@ -21450,8 +22710,8 @@ 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. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr EnumerationValues() const; - void setEnumerationValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr EnumerationValues() const; + void setEnumerationValues(IfcEntityList::ptr v); /// Whether the optional attribute EnumerationReference is defined for this IfcPropertyEnumeratedValue bool hasEnumerationReference() const; /// Enumeration from which a enumeration value has been selected. The referenced enumeration also establishes the unit of the enumeration value. @@ -21465,7 +22725,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyEnumeratedValue (IfcAbstractEntity* e); - IfcPropertyEnumeratedValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcEntityList::ptr > v3_EnumerationValues, IfcPropertyEnumeration* v4_EnumerationReference); + IfcPropertyEnumeratedValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcEntityList::ptr > v3_EnumerationValues, IfcPropertyEnumeration* v4_EnumerationReference); typedef IfcTemplatedEntityList< IfcPropertyEnumeratedValue > list; }; /// An IfcPropertyListValue @@ -21540,13 +22800,13 @@ public: /// List of property values. /// /// IFC2x4 CHANGE  The attribute has been made optional with upward compatibility for file based exchange. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr ListValues() const; - void setListValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr ListValues() const; + void setListValues(IfcEntityList::ptr v); /// Whether the optional attribute Unit is defined for this IfcPropertyListValue bool hasUnit() const; /// 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. - IfcUnit Unit() const; - void setUnit(IfcUnit v); + IfcUnit* Unit() const; + void setUnit(IfcUnit* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_LIST; case 3: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "ListValues"; case 3: return "Unit"; } return IfcSimpleProperty::getArgumentName(i); } @@ -21555,7 +22815,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyListValue (IfcAbstractEntity* e); - IfcPropertyListValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcEntityList::ptr > v3_ListValues, boost::optional< IfcUnit > v4_Unit); + IfcPropertyListValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcEntityList::ptr > v3_ListValues, IfcUnit* v4_Unit); typedef IfcTemplatedEntityList< IfcPropertyListValue > list; }; /// IfcPropertyReferenceValue allows a property value to @@ -21578,15 +22838,15 @@ public: /// Whether the optional attribute UsageName is defined for this IfcPropertyReferenceValue bool hasUsageName() const; /// Description of the use of the referenced value within the property. - IfcText UsageName() const; - void setUsageName(IfcText v); + std::string UsageName() const; + void setUsageName(std::string v); /// Whether the optional attribute PropertyReference is defined for this IfcPropertyReferenceValue bool hasPropertyReference() const; /// 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. - IfcObjectReferenceSelect PropertyReference() const; - void setPropertyReference(IfcObjectReferenceSelect v); + IfcObjectReferenceSelect* PropertyReference() const; + void setPropertyReference(IfcObjectReferenceSelect* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "UsageName"; case 3: return "PropertyReference"; } return IfcSimpleProperty::getArgumentName(i); } @@ -21595,7 +22855,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyReferenceValue (IfcAbstractEntity* e); - IfcPropertyReferenceValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcText > v3_UsageName, boost::optional< IfcObjectReferenceSelect > v4_PropertyReference); + IfcPropertyReferenceValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UsageName, IfcObjectReferenceSelect* v4_PropertyReference); typedef IfcTemplatedEntityList< IfcPropertyReferenceValue > list; }; /// IfcPropertySet defines all dynamically extensible @@ -21664,7 +22924,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertySet (IfcAbstractEntity* e); - IfcPropertySet (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcProperty >::ptr v5_HasProperties); + IfcPropertySet (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcProperty >::ptr v5_HasProperties); typedef IfcTemplatedEntityList< IfcPropertySet > list; }; /// IfcPropertySetTemplate defines the template for all @@ -21718,8 +22978,8 @@ public: /// EXAMPLE Refering to a boiler type as applicable entity would be expressed as 'IfcBoilerType', refering to a steam boiler type as applicable entity would be expressed as 'IfcBoilerType/STEAM', refering to a wall and wall standard case and a wall type would be expressed as 'IfcWall, IfcWallStandardCase, IfcWallType'. /// /// An applicable IfcPerformanceHistory assigned to an occurrence or type object would be indicated by IfcBoilerType[PerformanceHistory], or respectively IfcBoilerType/STEAM[PerformanceHistory]. - IfcIdentifier ApplicableEntity() const; - void setApplicableEntity(IfcIdentifier v); + std::string ApplicableEntity() const; + void setApplicableEntity(std::string v); /// Set of IfcPropertyTemplate's that are defined within the scope of the IfcPropertySetTemplate. IfcTemplatedEntityList< IfcPropertyTemplate >::ptr HasPropertyTemplates() const; void setHasPropertyTemplates(IfcTemplatedEntityList< IfcPropertyTemplate >::ptr v); @@ -21732,7 +22992,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertySetTemplate (IfcAbstractEntity* e); - IfcPropertySetTemplate (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum > v5_TemplateType, boost::optional< IfcIdentifier > v6_ApplicableEntity, IfcTemplatedEntityList< IfcPropertyTemplate >::ptr v7_HasPropertyTemplates); + IfcPropertySetTemplate (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcPropertySetTemplateTypeEnum::IfcPropertySetTemplateTypeEnum > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, IfcTemplatedEntityList< IfcPropertyTemplate >::ptr v7_HasPropertyTemplates); typedef IfcTemplatedEntityList< IfcPropertySetTemplate > list; }; /// The property with a single value @@ -21788,13 +23048,13 @@ public: /// 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. - IfcValue NominalValue() const; - void setNominalValue(IfcValue v); + IfcValue* NominalValue() const; + void setNominalValue(IfcValue* v); /// Whether the optional attribute Unit is defined for this IfcPropertySingleValue bool hasUnit() const; /// Unit for the nominal value, 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. - IfcUnit Unit() const; - void setUnit(IfcUnit v); + IfcUnit* Unit() const; + void setUnit(IfcUnit* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_ENTITY; } return IfcSimpleProperty::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "NominalValue"; case 3: return "Unit"; } return IfcSimpleProperty::getArgumentName(i); } @@ -21803,7 +23063,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertySingleValue (IfcAbstractEntity* e); - IfcPropertySingleValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcValue > v3_NominalValue, boost::optional< IfcUnit > v4_Unit); + IfcPropertySingleValue (std::string v1_Name, boost::optional< std::string > v2_Description, IfcValue* v3_NominalValue, IfcUnit* v4_Unit); typedef IfcTemplatedEntityList< IfcPropertySingleValue > list; }; /// A property with a range value @@ -21959,30 +23219,30 @@ 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. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr DefiningValues() const; - void setDefiningValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr DefiningValues() const; + void setDefiningValues(IfcEntityList::ptr v); /// Whether the optional attribute DefinedValues is defined for this IfcPropertyTableValue bool hasDefinedValues() const; /// 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. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr DefinedValues() const; - void setDefinedValues(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr DefinedValues() const; + void setDefinedValues(IfcEntityList::ptr v); /// Whether the optional attribute Expression is defined for this IfcPropertyTableValue bool hasExpression() const; /// 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. - IfcText Expression() const; - void setExpression(IfcText v); + std::string Expression() const; + void setExpression(std::string v); /// Whether the optional attribute DefiningUnit is defined for this IfcPropertyTableValue bool hasDefiningUnit() const; /// Unit for the defining values, if not given, the default value for the measure type (given by the TYPE of the defining values) is used as defined by the global unit assignment at IfcProject. - IfcUnit DefiningUnit() const; - void setDefiningUnit(IfcUnit v); + IfcUnit* DefiningUnit() const; + void setDefiningUnit(IfcUnit* v); /// Whether the optional attribute DefinedUnit is defined for this IfcPropertyTableValue bool hasDefinedUnit() const; /// Unit for the defined values, if not given, the default value for the measure type (given by the TYPE of the defined values) is used as defined by the global unit assignment at IfcProject. - IfcUnit DefinedUnit() const; - void setDefinedUnit(IfcUnit v); + IfcUnit* DefinedUnit() const; + void setDefinedUnit(IfcUnit* v); /// Whether the optional attribute CurveInterpolation is defined for this IfcPropertyTableValue bool hasCurveInterpolation() const; /// Interpolation of the curve between two defining and defined values that are provided. if not provided a linear interpolation is assumed. @@ -21998,7 +23258,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyTableValue (IfcAbstractEntity* e); - IfcPropertyTableValue (IfcIdentifier v1_Name, boost::optional< IfcText > v2_Description, boost::optional< IfcEntityList::ptr > v3_DefiningValues, boost::optional< IfcEntityList::ptr > v4_DefinedValues, boost::optional< IfcText > v5_Expression, boost::optional< IfcUnit > v6_DefiningUnit, boost::optional< IfcUnit > v7_DefinedUnit, boost::optional< IfcCurveInterpolationEnum::IfcCurveInterpolationEnum > v8_CurveInterpolation); + IfcPropertyTableValue (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< IfcEntityList::ptr > v3_DefiningValues, boost::optional< IfcEntityList::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, IfcUnit* v6_DefiningUnit, IfcUnit* v7_DefinedUnit, boost::optional< IfcCurveInterpolationEnum::IfcCurveInterpolationEnum > v8_CurveInterpolation); typedef IfcTemplatedEntityList< IfcPropertyTableValue > list; }; /// The IfcPropertyTemplate is an abstract supertype @@ -22037,7 +23297,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPropertyTemplate (IfcAbstractEntity* e); - IfcPropertyTemplate (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); + IfcPropertyTemplate (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcPropertyTemplate > list; }; /// 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. @@ -22064,8 +23324,8 @@ public: /// Whether the optional attribute Tag is defined for this IfcProxy bool hasTag() const; /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. - IfcLabel Tag() const; - void setTag(IfcLabel v); + std::string Tag() const; + void setTag(std::string v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_STRING; } return IfcProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "ProxyType"; case 8: return "Tag"; } return IfcProduct::getArgumentName(i); } @@ -22074,7 +23334,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProxy (IfcAbstractEntity* e); - IfcProxy (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcObjectTypeEnum::IfcObjectTypeEnum v8_ProxyType, boost::optional< IfcLabel > v9_Tag); + IfcProxy (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcObjectTypeEnum::IfcObjectTypeEnum v8_ProxyType, boost::optional< std::string > v9_Tag); typedef IfcTemplatedEntityList< IfcProxy > list; }; /// 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. @@ -22100,18 +23360,18 @@ public: class IfcRectangleHollowProfileDef : public IfcRectangleProfileDef { public: /// Thickness of the material. - IfcPositiveLengthMeasure WallThickness() const; - void setWallThickness(IfcPositiveLengthMeasure v); + double WallThickness() const; + void setWallThickness(double v); /// Whether the optional attribute InnerFilletRadius is defined for this IfcRectangleHollowProfileDef bool hasInnerFilletRadius() const; /// Inner corner radius. - IfcNonNegativeLengthMeasure InnerFilletRadius() const; - void setInnerFilletRadius(IfcNonNegativeLengthMeasure v); + double InnerFilletRadius() const; + void setInnerFilletRadius(double v); /// Whether the optional attribute OuterFilletRadius is defined for this IfcRectangleHollowProfileDef bool hasOuterFilletRadius() const; /// Outer corner radius. - IfcNonNegativeLengthMeasure OuterFilletRadius() const; - void setOuterFilletRadius(IfcNonNegativeLengthMeasure v); + double OuterFilletRadius() const; + void setOuterFilletRadius(double v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; } return IfcRectangleProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "WallThickness"; case 6: return "InnerFilletRadius"; case 7: return "OuterFilletRadius"; } return IfcRectangleProfileDef::getArgumentName(i); } @@ -22120,7 +23380,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRectangleHollowProfileDef (IfcAbstractEntity* e); - IfcRectangleHollowProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_XDim, IfcPositiveLengthMeasure v5_YDim, IfcPositiveLengthMeasure v6_WallThickness, boost::optional< IfcNonNegativeLengthMeasure > v7_InnerFilletRadius, boost::optional< IfcNonNegativeLengthMeasure > v8_OuterFilletRadius); + IfcRectangleHollowProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius); typedef IfcTemplatedEntityList< IfcRectangleHollowProfileDef > list; }; /// The IfcRectangularPyramid is a Construction Solid @@ -22214,14 +23474,14 @@ public: class IfcRectangularPyramid : public IfcCsgPrimitive3D { public: /// The length of the base measured along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. - IfcPositiveLengthMeasure XLength() const; - void setXLength(IfcPositiveLengthMeasure v); + double XLength() const; + void setXLength(double v); /// The length of the base measured along the placement Y axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[2]. - IfcPositiveLengthMeasure YLength() const; - void setYLength(IfcPositiveLengthMeasure v); + double YLength() const; + void setYLength(double v); /// The height of the apex above the plane of the base, measured in the direction of the placement Z axis, the SELF\IfcCsgPrimitive3D.Position.P[2]. - IfcPositiveLengthMeasure Height() const; - void setHeight(IfcPositiveLengthMeasure v); + double Height() const; + void setHeight(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "XLength"; case 2: return "YLength"; case 3: return "Height"; } return IfcCsgPrimitive3D::getArgumentName(i); } @@ -22230,7 +23490,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRectangularPyramid (IfcAbstractEntity* e); - IfcRectangularPyramid (IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_XLength, IfcPositiveLengthMeasure v3_YLength, IfcPositiveLengthMeasure v4_Height); + IfcRectangularPyramid (IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height); typedef IfcTemplatedEntityList< IfcRectangularPyramid > list; }; /// 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. @@ -22254,17 +23514,17 @@ public: IfcSurface* BasisSurface() const; void setBasisSurface(IfcSurface* v); /// First u parametric value. - IfcParameterValue U1() const; - void setU1(IfcParameterValue v); + double U1() const; + void setU1(double v); /// First v parametric value. - IfcParameterValue V1() const; - void setV1(IfcParameterValue v); + double V1() const; + void setV1(double v); /// Second u parametric value. - IfcParameterValue U2() const; - void setU2(IfcParameterValue v); + double U2() const; + void setU2(double v); /// Second v parametric value. - IfcParameterValue V2() const; - void setV2(IfcParameterValue v); + double V2() const; + void setV2(double v); /// Flag to indicate whether the direction of the first parameter of the trimmed surface agrees with or opposes the sense of u in the basis surface. bool Usense() const; void setUsense(bool v); @@ -22279,7 +23539,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRectangularTrimmedSurface (IfcAbstractEntity* e); - IfcRectangularTrimmedSurface (IfcSurface* v1_BasisSurface, IfcParameterValue v2_U1, IfcParameterValue v3_V1, IfcParameterValue v4_U2, IfcParameterValue v5_V2, bool v6_Usense, bool v7_Vsense); + IfcRectangularTrimmedSurface (IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense); typedef IfcTemplatedEntityList< IfcRectangularTrimmedSurface > list; }; /// Definition from IAI: An @@ -22313,8 +23573,8 @@ public: /// Whether the optional attribute DefinitionType is defined for this IfcReinforcementDefinitionProperties bool hasDefinitionType() const; /// Descriptive type name applied to reinforcement definition properties. - IfcLabel DefinitionType() const; - void setDefinitionType(IfcLabel v); + std::string DefinitionType() const; + void setDefinitionType(std::string v); /// The list of section reinforcement properties attached to the reinforcement definition properties. IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr ReinforcementSectionDefinitions() const; void setReinforcementSectionDefinitions(IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v); @@ -22326,7 +23586,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReinforcementDefinitionProperties (IfcAbstractEntity* e); - IfcReinforcementDefinitionProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_DefinitionType, IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions); + IfcReinforcementDefinitionProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, IfcTemplatedEntityList< IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions); typedef IfcTemplatedEntityList< IfcReinforcementDefinitionProperties > list; }; /// 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. @@ -22359,7 +23619,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssigns (IfcAbstractEntity* e); - IfcRelAssigns (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType); + IfcRelAssigns (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType); typedef IfcTemplatedEntityList< IfcRelAssigns > list; }; /// The objectified relationship IfcRelAssignsToActor handles the assignment of objects (subtypes of IfcObject) to an actor (subtypes of IfcActor). @@ -22389,7 +23649,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssignsToActor (IfcAbstractEntity* e); - IfcRelAssignsToActor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole); + IfcRelAssignsToActor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcActor* v7_RelatingActor, IfcActorRole* v8_ActingRole); typedef IfcTemplatedEntityList< IfcRelAssignsToActor > list; }; /// 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). @@ -22410,7 +23670,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssignsToControl (IfcAbstractEntity* e); - IfcRelAssignsToControl (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl); + IfcRelAssignsToControl (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcControl* v7_RelatingControl); typedef IfcTemplatedEntityList< IfcRelAssignsToControl > list; }; /// 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). @@ -22439,7 +23699,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssignsToGroup (IfcAbstractEntity* e); - IfcRelAssignsToGroup (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup); + IfcRelAssignsToGroup (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup); typedef IfcTemplatedEntityList< IfcRelAssignsToGroup > list; }; /// The objectified relationship IfcRelAssignsToGroupByFactor is a specialization of the general grouping mechanism. It allows to add a factor to define the ratio that applies to 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). @@ -22454,8 +23714,8 @@ public: class IfcRelAssignsToGroupByFactor : public IfcRelAssignsToGroup { public: /// Factor provided as a ratio measure that identifies the fraction or weighted factor that applies to the group assignment. - IfcRatioMeasure Factor() const; - void setFactor(IfcRatioMeasure v); + double Factor() const; + void setFactor(double v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_DOUBLE; } return IfcRelAssignsToGroup::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "Factor"; } return IfcRelAssignsToGroup::getArgumentName(i); } @@ -22464,7 +23724,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssignsToGroupByFactor (IfcAbstractEntity* e); - IfcRelAssignsToGroupByFactor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup, IfcRatioMeasure v8_Factor); + IfcRelAssignsToGroupByFactor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcGroup* v7_RelatingGroup, double v8_Factor); typedef IfcTemplatedEntityList< IfcRelAssignsToGroupByFactor > list; }; /// 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. @@ -22494,8 +23754,8 @@ public: /// Reference to the process to which the objects are assigned to. /// /// IFC2x4 CHANGE Datatype expanded to include IfcProcess and IfcTypeProcess. - IfcProcessSelect RelatingProcess() const; - void setRelatingProcess(IfcProcessSelect v); + IfcProcessSelect* RelatingProcess() const; + void setRelatingProcess(IfcProcessSelect* v); /// Whether the optional attribute QuantityInProcess is defined for this IfcRelAssignsToProcess bool hasQuantityInProcess() const; /// Quantity of the object specific for the operation by this process. @@ -22509,7 +23769,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssignsToProcess (IfcAbstractEntity* e); - IfcRelAssignsToProcess (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProcessSelect v7_RelatingProcess, IfcMeasureWithUnit* v8_QuantityInProcess); + IfcRelAssignsToProcess (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProcessSelect* v7_RelatingProcess, IfcMeasureWithUnit* v8_QuantityInProcess); typedef IfcTemplatedEntityList< IfcRelAssignsToProcess > list; }; /// 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: @@ -22525,8 +23785,8 @@ public: /// Reference to the product or product type to which the objects are assigned to. /// /// IFC2x4 CHANGE Datatype expanded to include IfcProduct and IfcTypeProduct. - IfcProductSelect RelatingProduct() const; - void setRelatingProduct(IfcProductSelect v); + IfcProductSelect* RelatingProduct() const; + void setRelatingProduct(IfcProductSelect* v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY; } return IfcRelAssigns::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "RelatingProduct"; } return IfcRelAssigns::getArgumentName(i); } @@ -22535,7 +23795,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssignsToProduct (IfcAbstractEntity* e); - IfcRelAssignsToProduct (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProductSelect v7_RelatingProduct); + IfcRelAssignsToProduct (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcProductSelect* v7_RelatingProduct); typedef IfcTemplatedEntityList< IfcRelAssignsToProduct > list; }; /// The objectified relationship IfcRelAssignsToResource handles the assignment of objects @@ -22549,8 +23809,8 @@ public: /// Reference to the resource to which the objects are assigned to. /// /// IFC2x4 CHANGE Datatype expanded to include IfcResource and IfcTypeResource. - IfcResourceSelect RelatingResource() const; - void setRelatingResource(IfcResourceSelect v); + IfcResourceSelect* RelatingResource() const; + void setRelatingResource(IfcResourceSelect* v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENTITY; } return IfcRelAssigns::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "RelatingResource"; } return IfcRelAssigns::getArgumentName(i); } @@ -22559,7 +23819,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssignsToResource (IfcAbstractEntity* e); - IfcRelAssignsToResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcResourceSelect v7_RelatingResource); + IfcRelAssignsToResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< IfcObjectTypeEnum::IfcObjectTypeEnum > v6_RelatedObjectsType, IfcResourceSelect* v7_RelatingResource); typedef IfcTemplatedEntityList< IfcRelAssignsToResource > list; }; /// The association relationship @@ -22608,8 +23868,8 @@ 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. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr RelatedObjects() const; - void setRelatedObjects(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr RelatedObjects() const; + void setRelatedObjects(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::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); } @@ -22618,7 +23878,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssociates (IfcAbstractEntity* e); - IfcRelAssociates (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects); + IfcRelAssociates (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects); typedef IfcTemplatedEntityList< IfcRelAssociates > list; }; /// The entity IfcRelAssociatesApproval is used to apply approval information defined by IfcApproval, in IfcApprovalResource schema, to subtypes of IfcRoot. @@ -22637,7 +23897,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssociatesApproval (IfcAbstractEntity* e); - IfcRelAssociatesApproval (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcApproval* v6_RelatingApproval); + IfcRelAssociatesApproval (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcApproval* v6_RelatingApproval); typedef IfcTemplatedEntityList< IfcRelAssociatesApproval > list; }; /// The objectified relationship @@ -22673,8 +23933,8 @@ public: class IfcRelAssociatesClassification : public IfcRelAssociates { public: /// Classification applied to the objects. - IfcClassificationSelect RelatingClassification() const; - void setRelatingClassification(IfcClassificationSelect v); + IfcClassificationSelect* RelatingClassification() const; + void setRelatingClassification(IfcClassificationSelect* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RelatingClassification"; } return IfcRelAssociates::getArgumentName(i); } @@ -22683,7 +23943,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssociatesClassification (IfcAbstractEntity* e); - IfcRelAssociatesClassification (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcClassificationSelect v6_RelatingClassification); + IfcRelAssociatesClassification (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcClassificationSelect* v6_RelatingClassification); typedef IfcTemplatedEntityList< IfcRelAssociatesClassification > list; }; /// The entity IfcRelAssociatesConstraint is used to apply constraint information defined by IfcConstraint, in the IfcConstraintResource schema, to subtypes of IfcRoot. @@ -22694,8 +23954,8 @@ public: /// Whether the optional attribute Intent is defined for this IfcRelAssociatesConstraint bool hasIntent() const; /// The intent of the constraint usage with regard to its related IfcConstraint and IfcObjects, IfcPropertyDefinitions or IfcRelationships. Typical values can be e.g. RATIONALE or EXPECTED PERFORMANCE. - IfcLabel Intent() const; - void setIntent(IfcLabel v); + std::string Intent() const; + void setIntent(std::string v); /// Reference to constraint that is being applied using this relationship. IfcConstraint* RelatingConstraint() const; void setRelatingConstraint(IfcConstraint* v); @@ -22707,7 +23967,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssociatesConstraint (IfcAbstractEntity* e); - IfcRelAssociatesConstraint (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects, boost::optional< IfcLabel > v6_Intent, IfcConstraint* v7_RelatingConstraint); + IfcRelAssociatesConstraint (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, IfcConstraint* v7_RelatingConstraint); typedef IfcTemplatedEntityList< IfcRelAssociatesConstraint > list; }; /// 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). @@ -22720,8 +23980,8 @@ public: class IfcRelAssociatesDocument : public IfcRelAssociates { public: /// Document information or reference which is applied to the objects. - IfcDocumentSelect RelatingDocument() const; - void setRelatingDocument(IfcDocumentSelect v); + IfcDocumentSelect* RelatingDocument() const; + void setRelatingDocument(IfcDocumentSelect* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RelatingDocument"; } return IfcRelAssociates::getArgumentName(i); } @@ -22730,7 +23990,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssociatesDocument (IfcAbstractEntity* e); - IfcRelAssociatesDocument (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcDocumentSelect v6_RelatingDocument); + IfcRelAssociatesDocument (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcDocumentSelect* v6_RelatingDocument); typedef IfcTemplatedEntityList< IfcRelAssociatesDocument > list; }; /// The objectified relationship (IfcRelAssociatesLibrary) handles the assignment of a library item (items of the select IfcLibrarySelect) to subtypes of IfcObjectDefinition or IfcPropertyDefinition. @@ -22743,8 +24003,8 @@ public: class IfcRelAssociatesLibrary : public IfcRelAssociates { public: /// Reference to a library, from which the definition of the property set is taken. - IfcLibrarySelect RelatingLibrary() const; - void setRelatingLibrary(IfcLibrarySelect v); + IfcLibrarySelect* RelatingLibrary() const; + void setRelatingLibrary(IfcLibrarySelect* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RelatingLibrary"; } return IfcRelAssociates::getArgumentName(i); } @@ -22753,7 +24013,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssociatesLibrary (IfcAbstractEntity* e); - IfcRelAssociatesLibrary (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcLibrarySelect v6_RelatingLibrary); + IfcRelAssociatesLibrary (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcLibrarySelect* v6_RelatingLibrary); typedef IfcTemplatedEntityList< IfcRelAssociatesLibrary > list; }; /// Definition from IAI: Objectified relationship between a @@ -22853,8 +24113,8 @@ public: class IfcRelAssociatesMaterial : public IfcRelAssociates { public: /// Material definition assigned to the elements or element types. - IfcMaterialSelect RelatingMaterial() const; - void setRelatingMaterial(IfcMaterialSelect v); + IfcMaterialSelect* RelatingMaterial() const; + void setRelatingMaterial(IfcMaterialSelect* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcRelAssociates::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RelatingMaterial"; } return IfcRelAssociates::getArgumentName(i); } @@ -22863,7 +24123,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAssociatesMaterial (IfcAbstractEntity* e); - IfcRelAssociatesMaterial (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcMaterialSelect v6_RelatingMaterial); + IfcRelAssociatesMaterial (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcEntityList::ptr v5_RelatedObjects, IfcMaterialSelect* v6_RelatingMaterial); typedef IfcTemplatedEntityList< IfcRelAssociatesMaterial > list; }; /// 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. @@ -22879,7 +24139,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnects (IfcAbstractEntity* e); - IfcRelConnects (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); + IfcRelConnects (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcRelConnects > list; }; /// Definition from IAI: The @@ -22925,7 +24185,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsElements (IfcAbstractEntity* e); - IfcRelConnectsElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement); + IfcRelConnectsElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement); typedef IfcTemplatedEntityList< IfcRelConnectsElements > list; }; /// The @@ -22982,7 +24242,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsPathElements (IfcAbstractEntity* e); - IfcRelConnectsPathElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< double > /*[0:?]*/ v8_RelatingPriorities, std::vector< double > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType); + IfcRelConnectsPathElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< double > /*[0:?]*/ v8_RelatingPriorities, std::vector< double > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType); typedef IfcTemplatedEntityList< IfcRelConnectsPathElements > list; }; /// The objectified relationship @@ -23028,7 +24288,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsPortToElement (IfcAbstractEntity* e); - IfcRelConnectsPortToElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPort* v5_RelatingPort, IfcDistributionElement* v6_RelatedElement); + IfcRelConnectsPortToElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPort* v5_RelatingPort, IfcDistributionElement* v6_RelatedElement); typedef IfcTemplatedEntityList< IfcRelConnectsPortToElement > list; }; /// Definition from IAI: An IfcRelConnectsPorts @@ -23065,7 +24325,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsPorts (IfcAbstractEntity* e); - IfcRelConnectsPorts (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPort* v5_RelatingPort, IfcPort* v6_RelatedPort, IfcElement* v7_RealizingElement); + IfcRelConnectsPorts (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPort* v5_RelatingPort, IfcPort* v6_RelatedPort, IfcElement* v7_RealizingElement); typedef IfcTemplatedEntityList< IfcRelConnectsPorts > list; }; /// Definition from IAI: The IfcRelConnectsStructuralActivity relationship connects a structural activity (either an action or reaction) to a structural member, structural connection, or element. @@ -23074,8 +24334,8 @@ public: class IfcRelConnectsStructuralActivity : public IfcRelConnects { public: /// Reference to a structural item or element to which the specified activity is applied. - IfcStructuralActivityAssignmentSelect RelatingElement() const; - void setRelatingElement(IfcStructuralActivityAssignmentSelect v); + IfcStructuralActivityAssignmentSelect* RelatingElement() const; + void setRelatingElement(IfcStructuralActivityAssignmentSelect* v); /// Reference to a structural activity which is acting upon the specified structural item or element. IfcStructuralActivity* RelatedStructuralActivity() const; void setRelatedStructuralActivity(IfcStructuralActivity* v); @@ -23087,7 +24347,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsStructuralActivity (IfcAbstractEntity* e); - IfcRelConnectsStructuralActivity (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralActivityAssignmentSelect v5_RelatingElement, IfcStructuralActivity* v6_RelatedStructuralActivity); + IfcRelConnectsStructuralActivity (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralActivityAssignmentSelect* v5_RelatingElement, IfcStructuralActivity* v6_RelatedStructuralActivity); typedef IfcTemplatedEntityList< IfcRelConnectsStructuralActivity > list; }; /// The entity IfcRelConnectsStructuralMember defines all needed properties describing the connection between structural members and structural connection objects (nodes or supports). @@ -23135,8 +24395,8 @@ public: /// Whether the optional attribute SupportedLength is defined for this IfcRelConnectsStructuralMember bool hasSupportedLength() const; /// Defines the 'supported length' of this structural connection. See Fig. for more detail. - IfcLengthMeasure SupportedLength() const; - void setSupportedLength(IfcLengthMeasure v); + double SupportedLength() const; + void setSupportedLength(double v); /// Whether the optional attribute ConditionCoordinateSystem is defined for this IfcRelConnectsStructuralMember bool hasConditionCoordinateSystem() const; /// Defines a coordinate system used for the description of the connection properties in ConnectionCondition relative to the local coordinate system of RelatingStructuralMember. If left unspecified, the placement IfcAxis2Placement3D((x,y,z), ?, ?) is implied with x,y,z being the local member coordinates where the connection is made and the default axes directions being in parallel with the local axes of RelatingStructuralMember. @@ -23150,7 +24410,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsStructuralMember (IfcAbstractEntity* e); - IfcRelConnectsStructuralMember (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< IfcLengthMeasure > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem); + IfcRelConnectsStructuralMember (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem); typedef IfcTemplatedEntityList< IfcRelConnectsStructuralMember > list; }; /// 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). @@ -23183,7 +24443,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsWithEccentricity (IfcAbstractEntity* e); - IfcRelConnectsWithEccentricity (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< IfcLengthMeasure > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem, IfcConnectionGeometry* v11_ConnectionConstraint); + IfcRelConnectsWithEccentricity (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcStructuralMember* v5_RelatingStructuralMember, IfcStructuralConnection* v6_RelatedStructuralConnection, IfcBoundaryCondition* v7_AppliedCondition, IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, IfcAxis2Placement3D* v10_ConditionCoordinateSystem, IfcConnectionGeometry* v11_ConnectionConstraint); typedef IfcTemplatedEntityList< IfcRelConnectsWithEccentricity > list; }; /// Definition from IAI: @@ -23217,8 +24477,8 @@ public: /// Whether the optional attribute ConnectionType is defined for this IfcRelConnectsWithRealizingElements bool hasConnectionType() const; /// The type of the connection given for informal purposes, it may include labels, like 'joint', 'rigid joint', 'flexible joint', etc. - IfcLabel ConnectionType() const; - void setConnectionType(IfcLabel v); + std::string ConnectionType() const; + void setConnectionType(std::string v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENTITY_LIST; case 8: return IfcUtil::Argument_STRING; } return IfcRelConnectsElements::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "RealizingElements"; case 8: return "ConnectionType"; } return IfcRelConnectsElements::getArgumentName(i); } @@ -23227,7 +24487,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsWithRealizingElements (IfcAbstractEntity* e); - IfcRelConnectsWithRealizingElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, IfcTemplatedEntityList< IfcElement >::ptr v8_RealizingElements, boost::optional< IfcLabel > v9_ConnectionType); + IfcRelConnectsWithRealizingElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, IfcTemplatedEntityList< IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType); typedef IfcTemplatedEntityList< IfcRelConnectsWithRealizingElements > list; }; /// This objectified relationship, @@ -23310,7 +24570,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelContainedInSpatialStructure (IfcAbstractEntity* e); - IfcRelContainedInSpatialStructure (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialElement* v6_RelatingStructure); + IfcRelContainedInSpatialStructure (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialElement* v6_RelatingStructure); typedef IfcTemplatedEntityList< IfcRelContainedInSpatialStructure > list; }; /// Definition from IAI: The @@ -23347,7 +24607,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelCoversBldgElements (IfcAbstractEntity* e); - IfcRelCoversBldgElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings); + IfcRelCoversBldgElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings); typedef IfcTemplatedEntityList< IfcRelCoversBldgElements > list; }; /// Definition from IAI: The objectified relationship, @@ -23394,7 +24654,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelCoversSpaces (IfcAbstractEntity* e); - IfcRelCoversSpaces (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpace* v5_RelatingSpace, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings); + IfcRelCoversSpaces (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpace* v5_RelatingSpace, IfcTemplatedEntityList< IfcCovering >::ptr v6_RelatedCoverings); typedef IfcTemplatedEntityList< IfcRelCoversSpaces > list; }; /// The objectified relationship IfcRelDeclares handles the declaration of objects (subtypes of IfcObject) or properties (subtypes of IfcPropertyDefinition) to a project or project library (represented by IfcProject, or IfcProjectLibrary). @@ -23414,8 +24674,8 @@ public: IfcContext* RelatingContext() const; void setRelatingContext(IfcContext* v); /// Set of object or property definitions that are assigned to a context and to which the unit and representation context definitions of that context apply. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr RelatedDefinitions() const; - void setRelatedDefinitions(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr RelatedDefinitions() const; + void setRelatedDefinitions(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY_LIST; } return IfcRelationship::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingContext"; case 5: return "RelatedDefinitions"; } return IfcRelationship::getArgumentName(i); } @@ -23424,7 +24684,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelDeclares (IfcAbstractEntity* e); - IfcRelDeclares (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcContext* v5_RelatingContext, IfcEntityList::ptr v6_RelatedDefinitions); + IfcRelDeclares (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcContext* v5_RelatingContext, IfcEntityList::ptr v6_RelatedDefinitions); typedef IfcTemplatedEntityList< IfcRelDeclares > list; }; /// The decomposition relationship, @@ -23467,7 +24727,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelDecomposes (IfcAbstractEntity* e); - IfcRelDecomposes (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); + IfcRelDecomposes (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcRelDecomposes > list; }; /// A generic and abstract relationship which subtypes are used to: @@ -23507,7 +24767,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelDefines (IfcAbstractEntity* e); - IfcRelDefines (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description); + IfcRelDefines (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description); typedef IfcTemplatedEntityList< IfcRelDefines > list; }; /// The objectified relationship IfcRelDefinesByObject defines the relationship between an object taking part in an object type decomposition and an object occurrences taking part in an occurrence decomposition of that type. @@ -23541,7 +24801,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelDefinesByObject (IfcAbstractEntity* e); - IfcRelDefinesByObject (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcObject* v6_RelatingObject); + IfcRelDefinesByObject (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcObject* v6_RelatingObject); typedef IfcTemplatedEntityList< IfcRelDefinesByObject > list; }; /// The objectified relationship @@ -23565,8 +24825,8 @@ public: IfcTemplatedEntityList< IfcObjectDefinition >::ptr RelatedObjects() const; void setRelatedObjects(IfcTemplatedEntityList< IfcObjectDefinition >::ptr v); /// Reference to the property set definition for that object or set of objects. - IfcPropertySetDefinitionSelect RelatingPropertyDefinition() const; - void setRelatingPropertyDefinition(IfcPropertySetDefinitionSelect v); + IfcPropertySetDefinitionSelect* RelatingPropertyDefinition() const; + void setRelatingPropertyDefinition(IfcPropertySetDefinitionSelect* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY_LIST; case 5: return IfcUtil::Argument_ENTITY; } return IfcRelDefines::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatedObjects"; case 5: return "RelatingPropertyDefinition"; } return IfcRelDefines::getArgumentName(i); } @@ -23575,7 +24835,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelDefinesByProperties (IfcAbstractEntity* e); - IfcRelDefinesByProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, IfcPropertySetDefinitionSelect v6_RelatingPropertyDefinition); + IfcRelDefinesByProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v5_RelatedObjects, IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition); typedef IfcTemplatedEntityList< IfcRelDefinesByProperties > list; }; /// The objectified relationship @@ -23606,7 +24866,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelDefinesByTemplate (IfcAbstractEntity* e); - IfcRelDefinesByTemplate (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, IfcPropertySetTemplate* v6_RelatingTemplate); + IfcRelDefinesByTemplate (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, IfcPropertySetTemplate* v6_RelatingTemplate); typedef IfcTemplatedEntityList< IfcRelDefinesByTemplate > list; }; /// The objectified relationship @@ -23695,7 +24955,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelDefinesByType (IfcAbstractEntity* e); - IfcRelDefinesByType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcTypeObject* v6_RelatingType); + IfcRelDefinesByType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcObject >::ptr v5_RelatedObjects, IfcTypeObject* v6_RelatingType); typedef IfcTemplatedEntityList< IfcRelDefinesByType > list; }; /// 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. @@ -23725,7 +24985,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelFillsElement (IfcAbstractEntity* e); - IfcRelFillsElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcOpeningElement* v5_RelatingOpeningElement, IfcElement* v6_RelatedBuildingElement); + IfcRelFillsElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcOpeningElement* v5_RelatingOpeningElement, IfcElement* v6_RelatedBuildingElement); typedef IfcTemplatedEntityList< IfcRelFillsElement > list; }; /// 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. @@ -23751,7 +25011,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelFlowControlElements (IfcAbstractEntity* e); - IfcRelFlowControlElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v5_RelatedControlElements, IfcDistributionFlowElement* v6_RelatingFlowElement); + IfcRelFlowControlElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcDistributionControlElement >::ptr v5_RelatedControlElements, IfcDistributionFlowElement* v6_RelatingFlowElement); typedef IfcTemplatedEntityList< IfcRelFlowControlElements > list; }; /// Definition from IAI: The @@ -23817,8 +25077,8 @@ public: /// Whether the optional attribute InterferenceType is defined for this IfcRelInterferesElements bool hasInterferenceType() const; /// Optional identifier that describes the nature of the interference. Examples could include 'Clash', 'ProvisionForVoid', etc. - IfcIdentifier InterferenceType() const; - void setInterferenceType(IfcIdentifier v); + std::string InterferenceType() const; + void setInterferenceType(std::string v); /// Logical value indicating whether the interference geometry should be subtracted from the RelatingElement (if TRUE), or whether it should be either subtracted from the RelatingElement or the RelatedElement (if FALSE), or whether no indication can be provided (if UNKNOWN). bool ImpliedOrder() const; void setImpliedOrder(bool v); @@ -23830,7 +25090,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelInterferesElements (IfcAbstractEntity* e); - IfcRelInterferesElements (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingElement, IfcElement* v6_RelatedElement, IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< IfcIdentifier > v8_InterferenceType, bool v9_ImpliedOrder); + IfcRelInterferesElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingElement, IfcElement* v6_RelatedElement, IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, bool v9_ImpliedOrder); typedef IfcTemplatedEntityList< IfcRelInterferesElements > list; }; /// The nesting relationship @@ -23878,7 +25138,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelNests (IfcAbstractEntity* e); - IfcRelNests (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects); + IfcRelNests (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects); typedef IfcTemplatedEntityList< IfcRelNests > list; }; /// The IfcRelProjectsElement is an objectified relationship @@ -23929,7 +25189,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelProjectsElement (IfcAbstractEntity* e); - IfcRelProjectsElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingElement, IfcFeatureElementAddition* v6_RelatedFeatureElement); + IfcRelProjectsElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingElement, IfcFeatureElementAddition* v6_RelatedFeatureElement); typedef IfcTemplatedEntityList< IfcRelProjectsElement > list; }; /// The objectified relationship, @@ -24000,7 +25260,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelReferencedInSpatialStructure (IfcAbstractEntity* e); - IfcRelReferencedInSpatialStructure (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialElement* v6_RelatingStructure); + IfcRelReferencedInSpatialStructure (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcTemplatedEntityList< IfcProduct >::ptr v5_RelatedElements, IfcSpatialElement* v6_RelatingStructure); typedef IfcTemplatedEntityList< IfcRelReferencedInSpatialStructure > list; }; /// IfcRelSequence is a @@ -24088,8 +25348,8 @@ public: /// enumeration value USERDEFINED. /// /// Added in IFC 2x4 - IfcLabel UserDefinedSequenceType() const; - void setUserDefinedSequenceType(IfcLabel v); + std::string UserDefinedSequenceType() const; + void setUserDefinedSequenceType(std::string v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_ENTITY; case 5: return IfcUtil::Argument_ENTITY; case 6: return IfcUtil::Argument_ENTITY; case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_STRING; } return IfcRelConnects::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "RelatingProcess"; case 5: return "RelatedProcess"; case 6: return "TimeLag"; case 7: return "SequenceType"; case 8: return "UserDefinedSequenceType"; } return IfcRelConnects::getArgumentName(i); } @@ -24098,7 +25358,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelSequence (IfcAbstractEntity* e); - IfcRelSequence (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcProcess* v5_RelatingProcess, IfcProcess* v6_RelatedProcess, IfcLagTime* v7_TimeLag, boost::optional< IfcSequenceEnum::IfcSequenceEnum > v8_SequenceType, boost::optional< IfcLabel > v9_UserDefinedSequenceType); + IfcRelSequence (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcProcess* v5_RelatingProcess, IfcProcess* v6_RelatedProcess, IfcLagTime* v7_TimeLag, boost::optional< IfcSequenceEnum::IfcSequenceEnum > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType); typedef IfcTemplatedEntityList< IfcRelSequence > list; }; /// Definition from IAI: An objectified relationship @@ -24142,7 +25402,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelServicesBuildings (IfcAbstractEntity* e); - IfcRelServicesBuildings (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSystem* v5_RelatingSystem, IfcTemplatedEntityList< IfcSpatialElement >::ptr v6_RelatedBuildings); + IfcRelServicesBuildings (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSystem* v5_RelatingSystem, IfcTemplatedEntityList< IfcSpatialElement >::ptr v6_RelatedBuildings); typedef IfcTemplatedEntityList< IfcRelServicesBuildings > list; }; /// The space boundary defines the @@ -24310,8 +25570,8 @@ public: class IfcRelSpaceBoundary : public IfcRelConnects { public: /// Reference to one spaces that is delimited by this boundary. - IfcSpaceBoundarySelect RelatingSpace() const; - void setRelatingSpace(IfcSpaceBoundarySelect v); + IfcSpaceBoundarySelect* RelatingSpace() const; + void setRelatingSpace(IfcSpaceBoundarySelect* v); /// 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. @@ -24340,7 +25600,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelSpaceBoundary (IfcAbstractEntity* e); - IfcRelSpaceBoundary (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpaceBoundarySelect v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary); + IfcRelSpaceBoundary (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpaceBoundarySelect* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary); typedef IfcTemplatedEntityList< IfcRelSpaceBoundary > list; }; /// The 1st level space boundary @@ -24406,7 +25666,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelSpaceBoundary1stLevel (IfcAbstractEntity* e); - IfcRelSpaceBoundary1stLevel (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpaceBoundarySelect v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary, IfcRelSpaceBoundary1stLevel* v10_ParentBoundary); + IfcRelSpaceBoundary1stLevel (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpaceBoundarySelect* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary, IfcRelSpaceBoundary1stLevel* v10_ParentBoundary); typedef IfcTemplatedEntityList< IfcRelSpaceBoundary1stLevel > list; }; /// The 2nd level space boundary defines the physical or virtual delimiter of a space by the relationship IfcRelSpaceBoundary2ndLevel to the surrounding elements. 2nd level space boundaries are characterized by: @@ -24457,7 +25717,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelSpaceBoundary2ndLevel (IfcAbstractEntity* e); - IfcRelSpaceBoundary2ndLevel (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcSpaceBoundarySelect v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary, IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary); + IfcRelSpaceBoundary2ndLevel (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcSpaceBoundarySelect* v5_RelatingSpace, IfcElement* v6_RelatedBuildingElement, IfcConnectionGeometry* v7_ConnectionGeometry, IfcPhysicalOrVirtualEnum::IfcPhysicalOrVirtualEnum v8_PhysicalOrVirtualBoundary, IfcInternalOrExternalEnum::IfcInternalOrExternalEnum v9_InternalOrExternalBoundary, IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary); typedef IfcTemplatedEntityList< IfcRelSpaceBoundary2ndLevel > list; }; /// 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. @@ -24481,7 +25741,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelVoidsElement (IfcAbstractEntity* e); - IfcRelVoidsElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcFeatureElementSubtraction* v6_RelatedOpeningElement); + IfcRelVoidsElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcElement* v5_RelatingBuildingElement, IfcFeatureElementSubtraction* v6_RelatedOpeningElement); typedef IfcTemplatedEntityList< IfcRelVoidsElement > list; }; /// Definition from ISO/CD 10303-42:1992: The @@ -24509,8 +25769,8 @@ public: /// HISTORY New class in IFC2x4 class IfcReparametrisedCompositeCurveSegment : public IfcCompositeCurveSegment { public: - IfcParameterValue ParamLength() const; - void setParamLength(IfcParameterValue v); + double ParamLength() const; + void setParamLength(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_DOUBLE; } return IfcCompositeCurveSegment::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "ParamLength"; } return IfcCompositeCurveSegment::getArgumentName(i); } @@ -24519,7 +25779,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReparametrisedCompositeCurveSegment (IfcAbstractEntity* e); - IfcReparametrisedCompositeCurveSegment (IfcTransitionCode::IfcTransitionCode v1_Transition, bool v2_SameSense, IfcCurve* v3_ParentCurve, IfcParameterValue v4_ParamLength); + IfcReparametrisedCompositeCurveSegment (IfcTransitionCode::IfcTransitionCode v1_Transition, bool v2_SameSense, IfcCurve* v3_ParentCurve, double v4_ParamLength); typedef IfcTemplatedEntityList< IfcReparametrisedCompositeCurveSegment > list; }; /// 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). @@ -24543,15 +25803,15 @@ public: /// It is the identifier at the occurrence level. /// /// IFC2x4 CHANGE Attribute promoted from subtype IfcConstructionResource. - IfcIdentifier Identification() const; - void setIdentification(IfcIdentifier v); + std::string Identification() const; + void setIdentification(std::string v); /// Whether the optional attribute LongDescription is defined for this IfcResource bool hasLongDescription() const; /// A detailed description of the resource (e.g. the skillset for a labor resource). /// /// IFC2x4 NOTE:  The attribute LongDescription is added replacing the ResourceGroup attribute at subtype IfcConstructionResource. - IfcText LongDescription() const; - void setLongDescription(IfcText v); + std::string LongDescription() const; + void setLongDescription(std::string v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; } return IfcObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "Identification"; case 6: return "LongDescription"; } return IfcObject::getArgumentName(i); } @@ -24561,7 +25821,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcResource (IfcAbstractEntity* e); - IfcResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription); + IfcResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription); typedef IfcTemplatedEntityList< IfcResource > list; }; /// An IfcRevolvedAreaSolid is a solid created by revolving @@ -24646,8 +25906,8 @@ public: IfcAxis1Placement* Axis() const; void setAxis(IfcAxis1Placement* v); /// The angle through which the sweep will be made. This angle is measured from the plane of the swept area provided by the XY plane of the position coordinate system. - IfcPlaneAngleMeasure Angle() const; - void setAngle(IfcPlaneAngleMeasure v); + double Angle() const; + void setAngle(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; } return IfcSweptAreaSolid::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "Axis"; case 3: return "Angle"; } return IfcSweptAreaSolid::getArgumentName(i); } @@ -24656,7 +25916,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRevolvedAreaSolid (IfcAbstractEntity* e); - IfcRevolvedAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, IfcPlaneAngleMeasure v4_Angle); + IfcRevolvedAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, double v4_Angle); typedef IfcTemplatedEntityList< IfcRevolvedAreaSolid > list; }; /// IfcRevolvedAreaSolidTapered is defined by revolving a @@ -24729,7 +25989,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRevolvedAreaSolidTapered (IfcAbstractEntity* e); - IfcRevolvedAreaSolidTapered (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, IfcPlaneAngleMeasure v4_Angle, IfcProfileDef* v5_EndSweptArea); + IfcRevolvedAreaSolidTapered (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcAxis1Placement* v3_Axis, double v4_Angle, IfcProfileDef* v5_EndSweptArea); typedef IfcTemplatedEntityList< IfcRevolvedAreaSolidTapered > list; }; /// The IfcRightCircularCone is a Construction Solid @@ -24800,11 +26060,11 @@ public: class IfcRightCircularCone : public IfcCsgPrimitive3D { public: /// The distance between the base of the cone and the apex. - IfcPositiveLengthMeasure Height() const; - void setHeight(IfcPositiveLengthMeasure v); + double Height() const; + void setHeight(double v); /// The radius of the cone at the base. - IfcPositiveLengthMeasure BottomRadius() const; - void setBottomRadius(IfcPositiveLengthMeasure v); + double BottomRadius() const; + void setBottomRadius(double v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Height"; case 2: return "BottomRadius"; } return IfcCsgPrimitive3D::getArgumentName(i); } @@ -24813,7 +26073,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRightCircularCone (IfcAbstractEntity* e); - IfcRightCircularCone (IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Height, IfcPositiveLengthMeasure v3_BottomRadius); + IfcRightCircularCone (IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius); typedef IfcTemplatedEntityList< IfcRightCircularCone > list; }; /// The IfcRightCircularCylinder is a Construction Solid @@ -24900,11 +26160,11 @@ public: class IfcRightCircularCylinder : public IfcCsgPrimitive3D { public: /// The distance between the planar circular faces of the cylinder. - IfcPositiveLengthMeasure Height() const; - void setHeight(IfcPositiveLengthMeasure v); + double Height() const; + void setHeight(double v); /// The radius of the cylinder. - IfcPositiveLengthMeasure Radius() const; - void setRadius(IfcPositiveLengthMeasure v); + double Radius() const; + void setRadius(double v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Height"; case 2: return "Radius"; } return IfcCsgPrimitive3D::getArgumentName(i); } @@ -24913,7 +26173,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRightCircularCylinder (IfcAbstractEntity* e); - IfcRightCircularCylinder (IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Height, IfcPositiveLengthMeasure v3_Radius); + IfcRightCircularCylinder (IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius); typedef IfcTemplatedEntityList< IfcRightCircularCylinder > list; }; /// The IfcSimplePropertyTemplate defines the template for @@ -24972,12 +26232,12 @@ public: void setTemplateType(IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum v); /// Whether the optional attribute PrimaryMeasureType is defined for this IfcSimplePropertyTemplate bool hasPrimaryMeasureType() const; - IfcLabel PrimaryMeasureType() const; - void setPrimaryMeasureType(IfcLabel v); + std::string PrimaryMeasureType() const; + void setPrimaryMeasureType(std::string v); /// Whether the optional attribute SecondaryMeasureType is defined for this IfcSimplePropertyTemplate bool hasSecondaryMeasureType() const; - IfcLabel SecondaryMeasureType() const; - void setSecondaryMeasureType(IfcLabel v); + std::string SecondaryMeasureType() const; + void setSecondaryMeasureType(std::string v); /// Whether the optional attribute Enumerators is defined for this IfcSimplePropertyTemplate bool hasEnumerators() const; IfcPropertyEnumeration* Enumerators() const; @@ -24991,15 +26251,15 @@ public: /// P_BOUNDEDVALUE: determining the IfcPropertyBoundedValue.Unit /// P_LISTVALUE: determining the IfcPropertyListValue.Unit /// P_TABLEVALUE: determining the IfcPropertyTableValue.DefiningUnit - IfcUnit PrimaryUnit() const; - void setPrimaryUnit(IfcUnit v); + IfcUnit* PrimaryUnit() const; + void setPrimaryUnit(IfcUnit* v); /// Whether the optional attribute SecondaryUnit is defined for this IfcSimplePropertyTemplate bool hasSecondaryUnit() const; /// Secondary unit assigned to the definition of the property. It should be provided, if the PropertyType is set to: /// /// P_TABLEVALUE: determining the IfcPropertyTableValue.DefinedUnit - IfcUnit SecondaryUnit() const; - void setSecondaryUnit(IfcUnit v); + IfcUnit* SecondaryUnit() const; + void setSecondaryUnit(IfcUnit* v); /// Whether the optional attribute Expression is defined for this IfcSimplePropertyTemplate bool hasExpression() const; /// The expression used to store additional information for the property template depending on the PropertyType. It should the following definitions, if the PropertyType is set to: @@ -25008,8 +26268,8 @@ public: /// Q_LENGTH, Q_AREA, Q_VOLUME, Q_COUNT, Q_WEIGTH, Q_TIME: the formula to be used to calculate the quantity /// /// NOTE No value shall be asserted if the PropertyType is not listed above. - IfcLabel Expression() const; - void setExpression(IfcLabel v); + std::string Expression() const; + void setExpression(std::string v); /// Whether the optional attribute AccessState is defined for this IfcSimplePropertyTemplate bool hasAccessState() const; /// Information about the access state of the property. It determines whether a property be viewed and/or modified by any receiving application without specific knowledge of it. @@ -25034,7 +26294,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSimplePropertyTemplate (IfcAbstractEntity* e); - IfcSimplePropertyTemplate (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum > v5_TemplateType, boost::optional< IfcLabel > v6_PrimaryMeasureType, boost::optional< IfcLabel > v7_SecondaryMeasureType, IfcPropertyEnumeration* v8_Enumerators, boost::optional< IfcUnit > v9_PrimaryUnit, boost::optional< IfcUnit > v10_SecondaryUnit, boost::optional< IfcLabel > v11_Expression, boost::optional< IfcStateEnum::IfcStateEnum > v12_AccessState); + IfcSimplePropertyTemplate (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< IfcSimplePropertyTemplateTypeEnum::IfcSimplePropertyTemplateTypeEnum > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, IfcPropertyEnumeration* v8_Enumerators, IfcUnit* v9_PrimaryUnit, IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< IfcStateEnum::IfcStateEnum > v12_AccessState); typedef IfcTemplatedEntityList< IfcSimplePropertyTemplate > list; }; /// Definition from IAI: A spatial element is the @@ -25075,8 +26335,8 @@ public: /// Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// /// NOTE In many scenarios the Name attribute refers to the short name or number of a spacial element, and the LongName refers to the full name. - IfcLabel LongName() const; - void setLongName(IfcLabel v); + std::string LongName() const; + void setLongName(std::string v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_STRING; } return IfcProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "LongName"; } return IfcProduct::getArgumentName(i); } @@ -25088,7 +26348,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpatialElement (IfcAbstractEntity* e); - IfcSpatialElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName); + IfcSpatialElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName); typedef IfcTemplatedEntityList< IfcSpatialElement > list; }; /// Definition from IAI: The IfcSpatialElementType @@ -25127,8 +26387,8 @@ public: /// Whether the optional attribute ElementType is defined for this IfcSpatialElementType bool hasElementType() const; /// The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute 'PredefinedType' is set to USERDEFINED. - IfcLabel ElementType() const; - void setElementType(IfcLabel v); + std::string ElementType() const; + void setElementType(std::string v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_STRING; } return IfcTypeProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "ElementType"; } return IfcTypeProduct::getArgumentName(i); } @@ -25137,7 +26397,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpatialElementType (IfcAbstractEntity* e); - IfcSpatialElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcSpatialElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcSpatialElementType > list; }; /// A spatial structure element @@ -25232,7 +26492,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpatialStructureElement (IfcAbstractEntity* e); - IfcSpatialStructureElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType); + IfcSpatialStructureElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType); typedef IfcTemplatedEntityList< IfcSpatialStructureElement > list; }; /// Definition from IAI: The element type @@ -25279,7 +26539,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpatialStructureElementType (IfcAbstractEntity* e); - IfcSpatialStructureElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcSpatialStructureElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcSpatialStructureElementType > list; }; /// Definition from IAI: A spatial element is the @@ -25346,7 +26606,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpatialZone (IfcAbstractEntity* e); - IfcSpatialZone (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum > v9_PredefinedType); + IfcSpatialZone (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcSpatialZone > list; }; /// Definition from IAI: The IfcSpatialZoneType @@ -25386,8 +26646,8 @@ public: void setPredefinedType(IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum v); /// Whether the optional attribute LongName is defined for this IfcSpatialZoneType bool hasLongName() const; - IfcLabel LongName() const; - void setLongName(IfcLabel v); + std::string LongName() const; + void setLongName(std::string v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_STRING; } return IfcSpatialElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "LongName"; } return IfcSpatialElementType::getArgumentName(i); } @@ -25396,7 +26656,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpatialZoneType (IfcAbstractEntity* e); - IfcSpatialZoneType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum v10_PredefinedType, boost::optional< IfcLabel > v11_LongName); + IfcSpatialZoneType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSpatialZoneTypeEnum::IfcSpatialZoneTypeEnum v10_PredefinedType, boost::optional< std::string > v11_LongName); typedef IfcTemplatedEntityList< IfcSpatialZoneType > list; }; /// The IfcSphere is a Construction Solid Geometry (CSG) 3D @@ -25452,8 +26712,8 @@ public: class IfcSphere : public IfcCsgPrimitive3D { public: /// The radius of the sphere. - IfcPositiveLengthMeasure Radius() const; - void setRadius(IfcPositiveLengthMeasure v); + double Radius() const; + void setRadius(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Radius"; } return IfcCsgPrimitive3D::getArgumentName(i); } @@ -25462,7 +26722,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSphere (IfcAbstractEntity* e); - IfcSphere (IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Radius); + IfcSphere (IfcAxis2Placement3D* v1_Position, double v2_Radius); typedef IfcTemplatedEntityList< IfcSphere > list; }; /// 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. @@ -25593,7 +26853,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralActivity (IfcAbstractEntity* e); - IfcStructuralActivity (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); + IfcStructuralActivity (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); typedef IfcTemplatedEntityList< IfcStructuralActivity > list; }; /// 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). @@ -25694,7 +26954,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralItem (IfcAbstractEntity* e); - IfcStructuralItem (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); + IfcStructuralItem (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); typedef IfcTemplatedEntityList< IfcStructuralItem > list; }; /// Definition from IAI: The abstract entity IfcStructuralMember is the superclass of all structural items which represent the idealized structural behavior of building elements. @@ -25712,7 +26972,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralMember (IfcAbstractEntity* e); - IfcStructuralMember (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); + IfcStructuralMember (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); typedef IfcTemplatedEntityList< IfcStructuralMember > list; }; /// Definition from IAI: A structural reaction is a structural activity that results from a @@ -25745,7 +27005,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralReaction (IfcAbstractEntity* e); - IfcStructuralReaction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); + IfcStructuralReaction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); typedef IfcTemplatedEntityList< IfcStructuralReaction > list; }; /// 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. @@ -25776,8 +27036,8 @@ public: /// Whether the optional attribute Thickness is defined for this IfcStructuralSurfaceMember bool hasThickness() const; /// Defines the typically understood thickness of the structural surface member, measured normal to its reference surface. - IfcPositiveLengthMeasure Thickness() const; - void setThickness(IfcPositiveLengthMeasure v); + double Thickness() const; + void setThickness(double v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_DOUBLE; } return IfcStructuralMember::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "PredefinedType"; case 8: return "Thickness"; } return IfcStructuralMember::getArgumentName(i); } @@ -25786,7 +27046,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralSurfaceMember (IfcAbstractEntity* e); - IfcStructuralSurfaceMember (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v8_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v9_Thickness); + IfcStructuralSurfaceMember (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v8_PredefinedType, boost::optional< double > v9_Thickness); typedef IfcTemplatedEntityList< IfcStructuralSurfaceMember > list; }; /// 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. @@ -25817,7 +27077,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralSurfaceMemberVarying (IfcAbstractEntity* e); - IfcStructuralSurfaceMemberVarying (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v8_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v9_Thickness); + IfcStructuralSurfaceMemberVarying (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralSurfaceMemberTypeEnum::IfcStructuralSurfaceMemberTypeEnum v8_PredefinedType, boost::optional< double > v9_Thickness); typedef IfcTemplatedEntityList< IfcStructuralSurfaceMemberVarying > list; }; /// Definition from IAI: Defines a reaction which occurs distributed over a surface. A surface reaction may be connected with a surface member or surface connection. @@ -25855,7 +27115,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralSurfaceReaction (IfcAbstractEntity* e); - IfcStructuralSurfaceReaction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v10_PredefinedType); + IfcStructuralSurfaceReaction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcStructuralSurfaceReaction > list; }; /// The resource type IfcSubContractResourceType defines commonly shared information for occurrences of subcontract resources. The set of shared information may include: @@ -25882,7 +27142,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSubContractResourceType (IfcAbstractEntity* e); - IfcSubContractResourceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum v12_PredefinedType); + IfcSubContractResourceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum v12_PredefinedType); typedef IfcTemplatedEntityList< IfcSubContractResourceType > list; }; /// The IfcSurfaceCurveSweptAreaSolid is the result of @@ -25957,15 +27217,15 @@ public: /// 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. - IfcParameterValue StartParam() const; - void setStartParam(IfcParameterValue v); + double StartParam() const; + void setStartParam(double v); /// Whether the optional attribute EndParam is defined for this IfcSurfaceCurveSweptAreaSolid bool hasEndParam() const; /// 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. - IfcParameterValue EndParam() const; - void setEndParam(IfcParameterValue v); + double EndParam() const; + void setEndParam(double v); /// The surface containing the Directrix. IfcSurface* ReferenceSurface() const; void setReferenceSurface(IfcSurface* v); @@ -25977,7 +27237,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSurfaceCurveSweptAreaSolid (IfcAbstractEntity* e); - IfcSurfaceCurveSweptAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcCurve* v3_Directrix, boost::optional< IfcParameterValue > v4_StartParam, boost::optional< IfcParameterValue > v5_EndParam, IfcSurface* v6_ReferenceSurface); + IfcSurfaceCurveSweptAreaSolid (IfcProfileDef* v1_SweptArea, IfcAxis2Placement3D* v2_Position, IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, IfcSurface* v6_ReferenceSurface); typedef IfcTemplatedEntityList< IfcSurfaceCurveSweptAreaSolid > list; }; /// 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): @@ -25999,8 +27259,8 @@ public: IfcDirection* ExtrudedDirection() const; void setExtrudedDirection(IfcDirection* v); /// The depth of the extrusion, it determines the parameterization. - IfcLengthMeasure Depth() const; - void setDepth(IfcLengthMeasure v); + double Depth() const; + void setDepth(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY; case 3: return IfcUtil::Argument_DOUBLE; } return IfcSweptSurface::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "ExtrudedDirection"; case 3: return "Depth"; } return IfcSweptSurface::getArgumentName(i); } @@ -26009,7 +27269,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSurfaceOfLinearExtrusion (IfcAbstractEntity* e); - IfcSurfaceOfLinearExtrusion (IfcProfileDef* v1_SweptCurve, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, IfcLengthMeasure v4_Depth); + IfcSurfaceOfLinearExtrusion (IfcProfileDef* v1_SweptCurve, IfcAxis2Placement3D* v2_Position, IfcDirection* v3_ExtrudedDirection, double v4_Depth); typedef IfcTemplatedEntityList< IfcSurfaceOfLinearExtrusion > list; }; /// 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. @@ -26089,7 +27349,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSystemFurnitureElementType (IfcAbstractEntity* e); - IfcSystemFurnitureElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v10_PredefinedType); + IfcSystemFurnitureElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v10_PredefinedType); typedef IfcTemplatedEntityList< IfcSystemFurnitureElementType > list; }; /// An IfcTask is an identifiable unit of work to be @@ -26347,8 +27607,8 @@ public: /// specified, these should be determined and agreed by local /// usage. Examples of possible status values include 'Not Yet /// Started', 'Started', 'Completed'. - IfcLabel Status() const; - void setStatus(IfcLabel v); + std::string Status() const; + void setStatus(std::string v); /// Whether the optional attribute WorkMethod is defined for this IfcTask bool hasWorkMethod() const; /// The method of work used in carrying out a task. @@ -26356,8 +27616,8 @@ public: /// NOTE: This attribute should /// not be used if the work method is specified for the /// IfcTaskType - IfcLabel WorkMethod() const; - void setWorkMethod(IfcLabel v); + std::string WorkMethod() const; + void setWorkMethod(std::string v); /// Identifies whether a task is a milestone task (=TRUE) or not /// (= FALSE). /// @@ -26396,7 +27656,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTask (IfcAbstractEntity* e); - IfcTask (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, boost::optional< IfcLabel > v8_Status, boost::optional< IfcLabel > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, IfcTaskTime* v12_TaskTime, boost::optional< IfcTaskTypeEnum::IfcTaskTypeEnum > v13_PredefinedType); + IfcTask (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, IfcTaskTime* v12_TaskTime, boost::optional< IfcTaskTypeEnum::IfcTaskTypeEnum > v13_PredefinedType); typedef IfcTemplatedEntityList< IfcTask > list; }; /// An IfcTaskType defines a @@ -26448,8 +27708,8 @@ public: /// Whether the optional attribute WorkMethod is defined for this IfcTaskType bool hasWorkMethod() const; /// The method of work used in carrying out a task. - IfcLabel WorkMethod() const; - void setWorkMethod(IfcLabel v); + std::string WorkMethod() const; + void setWorkMethod(std::string v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_STRING; } return IfcTypeProcess::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "WorkMethod"; } return IfcTypeProcess::getArgumentName(i); } @@ -26458,7 +27718,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTaskType (IfcAbstractEntity* e); - IfcTaskType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ProcessType, IfcTaskTypeEnum::IfcTaskTypeEnum v10_PredefinedType, boost::optional< IfcLabel > v11_WorkMethod); + IfcTaskType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, IfcTaskTypeEnum::IfcTaskTypeEnum v10_PredefinedType, boost::optional< std::string > v11_WorkMethod); typedef IfcTemplatedEntityList< IfcTaskType > list; }; @@ -26561,7 +27821,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTransportElementType (IfcAbstractEntity* e); - IfcTransportElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v10_PredefinedType); + IfcTransportElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTransportElementTypeEnum::IfcTransportElementTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcTransportElementType > list; }; @@ -26683,43 +27943,43 @@ public: /// Whether the optional attribute LiningDepth is defined for this IfcWindowLiningProperties bool hasLiningDepth() const; /// Depth of the window lining (dimension measured perpendicular to window elevation plane). - IfcPositiveLengthMeasure LiningDepth() const; - void setLiningDepth(IfcPositiveLengthMeasure v); + double LiningDepth() const; + void setLiningDepth(double v); /// Whether the optional attribute LiningThickness is defined for this IfcWindowLiningProperties bool hasLiningThickness() const; /// Thickness of the window lining (measured parallel to the window elevation plane). - IfcNonNegativeLengthMeasure LiningThickness() const; - void setLiningThickness(IfcNonNegativeLengthMeasure v); + double LiningThickness() const; + void setLiningThickness(double v); /// Whether the optional attribute TransomThickness is defined for this IfcWindowLiningProperties bool hasTransomThickness() const; /// Thickness of the transom (horizontal separator of window panels within a window), measured parallel to the window elevation plane. The transom is part of the lining and the transom depth is assumed to be identical to the lining depth. - IfcNonNegativeLengthMeasure TransomThickness() const; - void setTransomThickness(IfcNonNegativeLengthMeasure v); + double TransomThickness() const; + void setTransomThickness(double v); /// Whether the optional attribute MullionThickness is defined for this IfcWindowLiningProperties bool hasMullionThickness() const; /// Thickness of the mullion (vertical separator of window panels within a window), measured parallel to the window elevation plane. The mullion is part of the lining and the mullion depth is assumed to be identical to the lining depth. - IfcNonNegativeLengthMeasure MullionThickness() const; - void setMullionThickness(IfcNonNegativeLengthMeasure v); + double MullionThickness() const; + void setMullionThickness(double v); /// Whether the optional attribute FirstTransomOffset is defined for this IfcWindowLiningProperties bool hasFirstTransomOffset() const; /// Offset of the transom centerline, measured along the z-axis of the window placement co-ordinate system. An offset value = 0.5 indicates that the transom is positioned in the middle of the window. - IfcNormalisedRatioMeasure FirstTransomOffset() const; - void setFirstTransomOffset(IfcNormalisedRatioMeasure v); + double FirstTransomOffset() const; + void setFirstTransomOffset(double v); /// Whether the optional attribute SecondTransomOffset is defined for this IfcWindowLiningProperties bool hasSecondTransomOffset() const; /// Offset of the transom centerline for the second transom, measured along the x-axis of the window placement co-ordinate system. An offset value = 0.666 indicates that the second transom is positioned at two/third of the window. - IfcNormalisedRatioMeasure SecondTransomOffset() const; - void setSecondTransomOffset(IfcNormalisedRatioMeasure v); + double SecondTransomOffset() const; + void setSecondTransomOffset(double v); /// Whether the optional attribute FirstMullionOffset is defined for this IfcWindowLiningProperties bool hasFirstMullionOffset() const; /// Offset of the mullion centerline, measured along the x-axis of the window placement co-ordinate system. An offset value = 0.5 indicates that the mullion is positioned in the middle of the window. - IfcNormalisedRatioMeasure FirstMullionOffset() const; - void setFirstMullionOffset(IfcNormalisedRatioMeasure v); + double FirstMullionOffset() const; + void setFirstMullionOffset(double v); /// Whether the optional attribute SecondMullionOffset is defined for this IfcWindowLiningProperties bool hasSecondMullionOffset() const; /// Offset of the mullion centerline for the second mullion, measured along the x-axis of the window placement co-ordinate system. An offset value = 0.666 indicates that the second mullion is positioned at two/third of the window. - IfcNormalisedRatioMeasure SecondMullionOffset() const; - void setSecondMullionOffset(IfcNormalisedRatioMeasure v); + double SecondMullionOffset() const; + void setSecondMullionOffset(double v); /// Whether the optional attribute ShapeAspectStyle is defined for this IfcWindowLiningProperties bool hasShapeAspectStyle() const; /// Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the lining. @@ -26732,22 +27992,22 @@ public: /// Offset of the window lining. The offset is given as distance along the y axis of the local placement (perpendicular to the window plane). /// /// IFC2x4 CHANGE: New attribute added at the end of the entity definition. - IfcLengthMeasure LiningOffset() const; - void setLiningOffset(IfcLengthMeasure v); + double LiningOffset() const; + void setLiningOffset(double v); /// Whether the optional attribute LiningToPanelOffsetX is defined for this IfcWindowLiningProperties bool hasLiningToPanelOffsetX() const; /// Offset between the lining and the window panel measured along the x-axis of the local placement. Should be smaller or equal to the LiningThickness. /// /// IFC2x4 CHANGE: New attribute added at the end of the entity definition. - IfcLengthMeasure LiningToPanelOffsetX() const; - void setLiningToPanelOffsetX(IfcLengthMeasure v); + double LiningToPanelOffsetX() const; + void setLiningToPanelOffsetX(double v); /// Whether the optional attribute LiningToPanelOffsetY is defined for this IfcWindowLiningProperties bool hasLiningToPanelOffsetY() const; /// Offset between the lining and the window panel measured along the y-axis of the local placement. Should be smaller or equal to the IfcWindowPanelProperties.PanelThickness. /// /// IFC2x4 CHANGE: New attribute added at the end of the entity definition. - IfcLengthMeasure LiningToPanelOffsetY() const; - void setLiningToPanelOffsetY(IfcLengthMeasure v); + double LiningToPanelOffsetY() const; + void setLiningToPanelOffsetY(double v); virtual unsigned int getArgumentCount() const { return 16; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_ENTITY; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; case 15: return IfcUtil::Argument_DOUBLE; } return IfcPreDefinedPropertySet::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "LiningDepth"; case 5: return "LiningThickness"; case 6: return "TransomThickness"; case 7: return "MullionThickness"; case 8: return "FirstTransomOffset"; case 9: return "SecondTransomOffset"; case 10: return "FirstMullionOffset"; case 11: return "SecondMullionOffset"; case 12: return "ShapeAspectStyle"; case 13: return "LiningOffset"; case 14: return "LiningToPanelOffsetX"; case 15: return "LiningToPanelOffsetY"; } return IfcPreDefinedPropertySet::getArgumentName(i); } @@ -26756,7 +28016,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWindowLiningProperties (IfcAbstractEntity* e); - IfcWindowLiningProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_LiningDepth, boost::optional< IfcNonNegativeLengthMeasure > v6_LiningThickness, boost::optional< IfcNonNegativeLengthMeasure > v7_TransomThickness, boost::optional< IfcNonNegativeLengthMeasure > v8_MullionThickness, boost::optional< IfcNormalisedRatioMeasure > v9_FirstTransomOffset, boost::optional< IfcNormalisedRatioMeasure > v10_SecondTransomOffset, boost::optional< IfcNormalisedRatioMeasure > v11_FirstMullionOffset, boost::optional< IfcNormalisedRatioMeasure > v12_SecondMullionOffset, IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< IfcLengthMeasure > v14_LiningOffset, boost::optional< IfcLengthMeasure > v15_LiningToPanelOffsetX, boost::optional< IfcLengthMeasure > v16_LiningToPanelOffsetY); + IfcWindowLiningProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_TransomThickness, boost::optional< double > v8_MullionThickness, boost::optional< double > v9_FirstTransomOffset, boost::optional< double > v10_SecondTransomOffset, boost::optional< double > v11_FirstMullionOffset, boost::optional< double > v12_SecondMullionOffset, IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY); typedef IfcTemplatedEntityList< IfcWindowLiningProperties > list; }; /// A window panel is a casement, that is, a component, fixed or opening, @@ -26815,13 +28075,13 @@ public: /// Whether the optional attribute FrameDepth is defined for this IfcWindowPanelProperties bool hasFrameDepth() const; /// Depth of panel frame, measured from front face to back face horizontally (i.e. perpendicular to the window (elevation) plane. - IfcPositiveLengthMeasure FrameDepth() const; - void setFrameDepth(IfcPositiveLengthMeasure v); + double FrameDepth() const; + void setFrameDepth(double v); /// Whether the optional attribute FrameThickness is defined for this IfcWindowPanelProperties bool hasFrameThickness() const; /// Width of panel frame, measured from inside of panel (at glazing) to outside of panel (at lining), i.e. parallel to the window (elevation) plane. - IfcPositiveLengthMeasure FrameThickness() const; - void setFrameThickness(IfcPositiveLengthMeasure v); + double FrameThickness() const; + void setFrameThickness(double v); /// Whether the optional attribute ShapeAspectStyle is defined for this IfcWindowPanelProperties bool hasShapeAspectStyle() const; /// Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the panel. @@ -26837,7 +28097,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWindowPanelProperties (IfcAbstractEntity* e); - IfcWindowPanelProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< IfcPositiveLengthMeasure > v7_FrameDepth, boost::optional< IfcPositiveLengthMeasure > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle); + IfcWindowPanelProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcWindowPanelOperationEnum::IfcWindowPanelOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle); typedef IfcTemplatedEntityList< IfcWindowPanelProperties > list; }; /// 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. @@ -26858,8 +28118,8 @@ public: class IfcActor : public IfcObject { public: /// Information about the actor. - IfcActorSelect TheActor() const; - void setTheActor(IfcActorSelect v); + IfcActorSelect* TheActor() const; + void setTheActor(IfcActorSelect* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENTITY; } return IfcObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "TheActor"; } return IfcObject::getArgumentName(i); } @@ -26869,7 +28129,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcActor (IfcAbstractEntity* e); - IfcActor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcActorSelect v6_TheActor); + IfcActor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcActorSelect* v6_TheActor); typedef IfcTemplatedEntityList< IfcActor > list; }; /// An advanced B-rep is a boundary @@ -27138,7 +28398,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAnnotation (IfcAbstractEntity* e); - IfcAnnotation (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); + IfcAnnotation (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); typedef IfcTemplatedEntityList< IfcAnnotation > list; }; /// Definition from ISO/CD 10303-42:1992: A b_spline_surface is a general form of rational or polynomial parametric surface which is represented by control points, basis functions, and possibly, weights. As with the corresponding curve entity it has some special subtypes where some of the data can be derived. @@ -27260,11 +28520,11 @@ public: std::vector< int > /*[2:?]*/ VMultiplicities() const; void setVMultiplicities(std::vector< int > /*[2:?]*/ v); /// The list of the distinct knots in the u parameter direction. - std::vector< IfcParameterValue > /*[2:?]*/ UKnots() const; - void setUKnots(std::vector< IfcParameterValue > /*[2:?]*/ v); + std::vector< double > /*[2:?]*/ UKnots() const; + void setUKnots(std::vector< double > /*[2:?]*/ v); /// The list of the distinct knots in the v parameter direction. - std::vector< IfcParameterValue > /*[2:?]*/ VKnots() const; - void setVKnots(std::vector< IfcParameterValue > /*[2:?]*/ v); + std::vector< double > /*[2:?]*/ VKnots() const; + void setVKnots(std::vector< double > /*[2:?]*/ v); /// The description of the knot type. IfcKnotType::IfcKnotType KnotSpec() const; void setKnotSpec(IfcKnotType::IfcKnotType v); @@ -27276,7 +28536,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBSplineSurfaceWithKnots (IfcAbstractEntity* e); - IfcBSplineSurfaceWithKnots (int v1_UDegree, int v2_VDegree, IfcTemplatedEntityListList< IfcCartesianPoint >::ptr v3_ControlPointsList, IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< IfcParameterValue > /*[2:?]*/ v10_UKnots, std::vector< IfcParameterValue > /*[2:?]*/ v11_VKnots, IfcKnotType::IfcKnotType v12_KnotSpec); + IfcBSplineSurfaceWithKnots (int v1_UDegree, int v2_VDegree, IfcTemplatedEntityListList< IfcCartesianPoint >::ptr v3_ControlPointsList, IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, IfcKnotType::IfcKnotType v12_KnotSpec); typedef IfcTemplatedEntityList< IfcBSplineSurfaceWithKnots > list; }; /// The IfcBlock is a Construction Solid Geometry (CSG) 3D @@ -27379,14 +28639,14 @@ public: class IfcBlock : public IfcCsgPrimitive3D { public: /// The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1]. - IfcPositiveLengthMeasure XLength() const; - void setXLength(IfcPositiveLengthMeasure v); + double XLength() const; + void setXLength(double v); /// The size of the block along the placement Y axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[2]. - IfcPositiveLengthMeasure YLength() const; - void setYLength(IfcPositiveLengthMeasure v); + double YLength() const; + void setYLength(double v); /// The size of the block along the placement Z axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[3]. - IfcPositiveLengthMeasure ZLength() const; - void setZLength(IfcPositiveLengthMeasure v); + double ZLength() const; + void setZLength(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcCsgPrimitive3D::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "XLength"; case 2: return "YLength"; case 3: return "ZLength"; } return IfcCsgPrimitive3D::getArgumentName(i); } @@ -27395,7 +28655,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBlock (IfcAbstractEntity* e); - IfcBlock (IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_XLength, IfcPositiveLengthMeasure v3_YLength, IfcPositiveLengthMeasure v4_ZLength); + IfcBlock (IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength); typedef IfcTemplatedEntityList< IfcBlock > list; }; /// 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. @@ -27415,7 +28675,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBooleanClippingResult (IfcAbstractEntity* e); - IfcBooleanClippingResult (IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand v2_FirstOperand, IfcBooleanOperand v3_SecondOperand); + IfcBooleanClippingResult (IfcBooleanOperator::IfcBooleanOperator v1_Operator, IfcBooleanOperand* v2_FirstOperand, IfcBooleanOperand* v3_SecondOperand); typedef IfcTemplatedEntityList< IfcBooleanClippingResult > list; }; /// Definition from ISO/CD 10303-42:1992: A bounded curve is a curve of finite arc length with identifiable end points. @@ -27621,13 +28881,13 @@ public: /// Whether the optional attribute ElevationOfRefHeight is defined for this IfcBuilding bool hasElevationOfRefHeight() const; /// Elevation above sea level of the reference height used for all storey elevation measures, equals to height 0.0. It is usually the ground floor level. - IfcLengthMeasure ElevationOfRefHeight() const; - void setElevationOfRefHeight(IfcLengthMeasure v); + double ElevationOfRefHeight() const; + void setElevationOfRefHeight(double v); /// Whether the optional attribute ElevationOfTerrain is defined for this IfcBuilding bool hasElevationOfTerrain() const; /// Elevation above the minimal terrain level around the foot print of the building, given in elevation above sea level. - IfcLengthMeasure ElevationOfTerrain() const; - void setElevationOfTerrain(IfcLengthMeasure v); + double ElevationOfTerrain() const; + void setElevationOfTerrain(double v); /// Whether the optional attribute BuildingAddress is defined for this IfcBuilding bool hasBuildingAddress() const; /// Address given to the building for postal purposes. @@ -27641,7 +28901,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuilding (IfcAbstractEntity* e); - IfcBuilding (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcLengthMeasure > v10_ElevationOfRefHeight, boost::optional< IfcLengthMeasure > v11_ElevationOfTerrain, IfcPostalAddress* v12_BuildingAddress); + IfcBuilding (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, IfcPostalAddress* v12_BuildingAddress); typedef IfcTemplatedEntityList< IfcBuilding > list; }; /// Definition from IAI: The element type @@ -27683,7 +28943,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingElementType (IfcAbstractEntity* e); - IfcBuildingElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcBuildingElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcBuildingElementType > list; }; /// The building storey has an @@ -27868,8 +29128,8 @@ public: /// Whether the optional attribute Elevation is defined for this IfcBuildingStorey bool hasElevation() const; /// Elevation of the base of this storey, relative to the 0,00 internal reference height of the building. The 0.00 level is given by the absolute above sea level height by the ElevationOfRefHeight attribute given at IfcBuilding. - IfcLengthMeasure Elevation() const; - void setElevation(IfcLengthMeasure v); + double Elevation() const; + void setElevation(double v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_DOUBLE; } return IfcSpatialStructureElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "Elevation"; } return IfcSpatialStructureElement::getArgumentName(i); } @@ -27878,7 +29138,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingStorey (IfcAbstractEntity* e); - IfcBuildingStorey (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcLengthMeasure > v10_Elevation); + IfcBuildingStorey (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< double > v10_Elevation); typedef IfcTemplatedEntityList< IfcBuildingStorey > list; }; /// Definition from IAI: The IfcChimneyType @@ -27919,7 +29179,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcChimneyType (IfcAbstractEntity* e); - IfcChimneyType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcChimneyTypeEnum::IfcChimneyTypeEnum v10_PredefinedType); + IfcChimneyType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcChimneyTypeEnum::IfcChimneyTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcChimneyType > list; }; /// IfcCircleHollowProfileDef @@ -27943,8 +29203,8 @@ public: class IfcCircleHollowProfileDef : public IfcCircleProfileDef { public: /// Thickness of the material, it is the difference between the outer and inner radius. - IfcPositiveLengthMeasure WallThickness() const; - void setWallThickness(IfcPositiveLengthMeasure v); + double WallThickness() const; + void setWallThickness(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_DOUBLE; } return IfcCircleProfileDef::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "WallThickness"; } return IfcCircleProfileDef::getArgumentName(i); } @@ -27953,7 +29213,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCircleHollowProfileDef (IfcAbstractEntity* e); - IfcCircleHollowProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< IfcLabel > v2_ProfileName, IfcAxis2Placement2D* v3_Position, IfcPositiveLengthMeasure v4_Radius, IfcPositiveLengthMeasure v5_WallThickness); + IfcCircleHollowProfileDef (IfcProfileTypeEnum::IfcProfileTypeEnum v1_ProfileType, boost::optional< std::string > v2_ProfileName, IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness); typedef IfcTemplatedEntityList< IfcCircleHollowProfileDef > list; }; @@ -27967,7 +29227,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCivilElementType (IfcAbstractEntity* e); - IfcCivilElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcCivilElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcCivilElementType > list; }; /// Definition from IAI: The element type @@ -28081,7 +29341,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcColumnType (IfcAbstractEntity* e); - IfcColumnType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcColumnTypeEnum::IfcColumnTypeEnum v10_PredefinedType); + IfcColumnType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcColumnTypeEnum::IfcColumnTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcColumnType > list; }; /// The IfcComplexPropertyTemplate defines the template for @@ -28096,8 +29356,8 @@ class IfcComplexPropertyTemplate : public IfcPropertyTemplate { public: /// Whether the optional attribute UsageName is defined for this IfcComplexPropertyTemplate bool hasUsageName() const; - IfcLabel UsageName() const; - void setUsageName(IfcLabel v); + std::string UsageName() const; + void setUsageName(std::string v); /// Whether the optional attribute TemplateType is defined for this IfcComplexPropertyTemplate bool hasTemplateType() const; IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum TemplateType() const; @@ -28115,7 +29375,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcComplexPropertyTemplate (IfcAbstractEntity* e); - IfcComplexPropertyTemplate (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_UsageName, boost::optional< IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum > v6_TemplateType, boost::optional< IfcTemplatedEntityList< IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates); + IfcComplexPropertyTemplate (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< IfcComplexPropertyTemplateTypeEnum::IfcComplexPropertyTemplateTypeEnum > v6_TemplateType, boost::optional< IfcTemplatedEntityList< IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates); typedef IfcTemplatedEntityList< IfcComplexPropertyTemplate > list; }; /// Definition from ISO/CD 10303-42:1992: A composite @@ -28235,8 +29495,8 @@ public: class IfcConic : public IfcCurve { public: /// The location and orientation of the conic. Further details of the interpretation of this attribute are given for the individual subtypes." - IfcAxis2Placement Position() const; - void setPosition(IfcAxis2Placement v); + IfcAxis2Placement* Position() const; + void setPosition(IfcAxis2Placement* v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY; } return IfcCurve::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Position"; } return IfcCurve::getArgumentName(i); } @@ -28245,7 +29505,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConic (IfcAbstractEntity* e); - IfcConic (IfcAxis2Placement v1_Position); + IfcConic (IfcAxis2Placement* v1_Position); typedef IfcTemplatedEntityList< IfcConic > list; }; /// The resource type IfcConstructionEquipmentType defines commonly shared information for occurrences of construction equipment resources. The set of shared information may include: @@ -28274,7 +29534,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstructionEquipmentResourceType (IfcAbstractEntity* e); - IfcConstructionEquipmentResourceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum v12_PredefinedType); + IfcConstructionEquipmentResourceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum v12_PredefinedType); typedef IfcTemplatedEntityList< IfcConstructionEquipmentResourceType > list; }; /// The resource type IfcConstructionMaterialType defines commonly shared information for occurrences of construction material resources. The set of shared information may include: @@ -28303,7 +29563,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstructionMaterialResourceType (IfcAbstractEntity* e); - IfcConstructionMaterialResourceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum v12_PredefinedType); + IfcConstructionMaterialResourceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum v12_PredefinedType); typedef IfcTemplatedEntityList< IfcConstructionMaterialResourceType > list; }; /// The resource type IfcConstructionProductType defines commonly shared information for occurrences of construction product resources. The set of shared information may include: @@ -28332,7 +29592,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstructionProductResourceType (IfcAbstractEntity* e); - IfcConstructionProductResourceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcIdentifier > v7_Identification, boost::optional< IfcText > v8_LongDescription, boost::optional< IfcLabel > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum v12_PredefinedType); + IfcConstructionProductResourceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v10_BaseCosts, IfcPhysicalQuantity* v11_BaseQuantity, IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum v12_PredefinedType); typedef IfcTemplatedEntityList< IfcConstructionProductResourceType > list; }; /// IfcConstructionResource is an abstract generalization of the different resources used in @@ -28429,7 +29689,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstructionResource (IfcAbstractEntity* e); - IfcConstructionResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity); + IfcConstructionResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity); typedef IfcTemplatedEntityList< IfcConstructionResource > list; }; /// 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. @@ -28450,8 +29710,8 @@ public: /// It is the identifier at the occurrence level. /// /// IFC2x4 CHANGE Attribute unified by promoting from various subtypes of IfcControl. - IfcIdentifier Identification() const; - void setIdentification(IfcIdentifier v); + std::string Identification() const; + void setIdentification(std::string v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; } return IfcObject::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "Identification"; } return IfcObject::getArgumentName(i); } @@ -28461,7 +29721,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcControl (IfcAbstractEntity* e); - IfcControl (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification); + IfcControl (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification); typedef IfcTemplatedEntityList< IfcControl > list; }; /// 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. @@ -28535,7 +29795,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCostItem (IfcAbstractEntity* e); - IfcCostItem (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcCostItemTypeEnum::IfcCostItemTypeEnum > v7_PredefinedType, boost::optional< IfcTemplatedEntityList< IfcCostValue >::ptr > v8_CostValues, boost::optional< IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr > v9_CostQuantities); + IfcCostItem (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcCostItemTypeEnum::IfcCostItemTypeEnum > v7_PredefinedType, boost::optional< IfcTemplatedEntityList< IfcCostValue >::ptr > v8_CostValues, boost::optional< IfcTemplatedEntityList< IfcPhysicalQuantity >::ptr > v9_CostQuantities); typedef IfcTemplatedEntityList< IfcCostItem > list; }; /// 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. @@ -28579,22 +29839,22 @@ public: /// AGREED /// ISSUED /// STARTED - IfcLabel Status() const; - void setStatus(IfcLabel v); + std::string Status() const; + void setStatus(std::string v); /// Whether the optional attribute SubmittedOn is defined for this IfcCostSchedule bool hasSubmittedOn() const; /// The date and time on which the cost schedule was submitted. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - IfcDateTime SubmittedOn() const; - void setSubmittedOn(IfcDateTime v); + std::string SubmittedOn() const; + void setSubmittedOn(std::string v); /// Whether the optional attribute UpdateDate is defined for this IfcCostSchedule bool hasUpdateDate() const; /// The date and time that this cost schedule is updated; this allows tracking the schedule history. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - IfcDateTime UpdateDate() const; - void setUpdateDate(IfcDateTime v); + std::string UpdateDate() const; + void setUpdateDate(std::string v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "PredefinedType"; case 7: return "Status"; case 8: return "SubmittedOn"; case 9: return "UpdateDate"; } return IfcControl::getArgumentName(i); } @@ -28603,7 +29863,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCostSchedule (IfcAbstractEntity* e); - IfcCostSchedule (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum > v7_PredefinedType, boost::optional< IfcLabel > v8_Status, boost::optional< IfcDateTime > v9_SubmittedOn, boost::optional< IfcDateTime > v10_UpdateDate); + IfcCostSchedule (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcCostScheduleTypeEnum::IfcCostScheduleTypeEnum > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate); typedef IfcTemplatedEntityList< IfcCostSchedule > list; }; /// Definition from IAI: The element type @@ -28698,7 +29958,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCoveringType (IfcAbstractEntity* e); - IfcCoveringType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoveringTypeEnum::IfcCoveringTypeEnum v10_PredefinedType); + IfcCoveringType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCoveringTypeEnum::IfcCoveringTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCoveringType > list; }; /// IfcCrewResource represents a collection of internal resources used in construction processes. @@ -28727,7 +29987,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCrewResource (IfcAbstractEntity* e); - IfcCrewResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum > v11_PredefinedType); + IfcCrewResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcCrewResourceTypeEnum::IfcCrewResourceTypeEnum > v11_PredefinedType); typedef IfcTemplatedEntityList< IfcCrewResource > list; }; /// Definition from IAI: The element type (IfcCurtainWallType) @@ -28764,7 +30024,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCurtainWallType (IfcAbstractEntity* e); - IfcCurtainWallType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v10_PredefinedType); + IfcCurtainWallType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCurtainWallType > list; }; /// Definition from ISO/CD 10303-42:1992: A cylindrical surface is a surface at a constant distance (the radius) from a straight line. A cylindrical surface is defined by its radius and its orientation and location. The data is to be interpreted as follows: @@ -28824,8 +30084,8 @@ public: class IfcCylindricalSurface : public IfcElementarySurface { public: /// The radius of the cylindrical surface. - IfcPositiveLengthMeasure Radius() const; - void setRadius(IfcPositiveLengthMeasure v); + double Radius() const; + void setRadius(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; } return IfcElementarySurface::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Radius"; } return IfcElementarySurface::getArgumentName(i); } @@ -28834,7 +30094,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCylindricalSurface (IfcAbstractEntity* e); - IfcCylindricalSurface (IfcAxis2Placement3D* v1_Position, IfcPositiveLengthMeasure v2_Radius); + IfcCylindricalSurface (IfcAxis2Placement3D* v1_Position, double v2_Radius); typedef IfcTemplatedEntityList< IfcCylindricalSurface > list; }; /// Definition from IAI: The @@ -28875,7 +30135,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionElementType (IfcAbstractEntity* e); - IfcDistributionElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcDistributionElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcDistributionElementType > list; }; /// 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). @@ -28953,7 +30213,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionFlowElementType (IfcAbstractEntity* e); - IfcDistributionFlowElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcDistributionFlowElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcDistributionFlowElementType > list; }; /// The door lining is the frame which @@ -29056,53 +30316,53 @@ public: /// Whether the optional attribute LiningDepth is defined for this IfcDoorLiningProperties bool hasLiningDepth() const; /// Depth of the door lining, measured perpendicular to the plane of the door lining. If omitted (and with a given value to lining thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). - IfcPositiveLengthMeasure LiningDepth() const; - void setLiningDepth(IfcPositiveLengthMeasure v); + double LiningDepth() const; + void setLiningDepth(double v); /// Whether the optional attribute LiningThickness is defined for this IfcDoorLiningProperties bool hasLiningThickness() const; /// Thickness (width in plane parallel to door leaf) of the door lining. - IfcNonNegativeLengthMeasure LiningThickness() const; - void setLiningThickness(IfcNonNegativeLengthMeasure v); + double LiningThickness() const; + void setLiningThickness(double v); /// Whether the optional attribute ThresholdDepth is defined for this IfcDoorLiningProperties bool hasThresholdDepth() const; /// Depth (dimension in plane perpendicular to door leaf) of the door threshold. Only given if the door lining includes a threshold. If omitted (and with a given value to threshold thickness) it indicates an adjustable depth (i.e. a depth that adjusts to the thickness of the wall into which the occurrence of this door style is inserted). - IfcPositiveLengthMeasure ThresholdDepth() const; - void setThresholdDepth(IfcPositiveLengthMeasure v); + double ThresholdDepth() const; + void setThresholdDepth(double v); /// Whether the optional attribute ThresholdThickness is defined for this IfcDoorLiningProperties bool hasThresholdThickness() const; /// Thickness (width in plane parallel to door leaf) of the door threshold. Only given if the door lining includes a threshold and the parameter is known. - IfcNonNegativeLengthMeasure ThresholdThickness() const; - void setThresholdThickness(IfcNonNegativeLengthMeasure v); + double ThresholdThickness() const; + void setThresholdThickness(double v); /// Whether the optional attribute TransomThickness is defined for this IfcDoorLiningProperties bool hasTransomThickness() const; /// Thickness (width in plane parallel to door leaf) of the transom (if given) which divides the door leaf from a glazing (or window) above. - IfcNonNegativeLengthMeasure TransomThickness() const; - void setTransomThickness(IfcNonNegativeLengthMeasure v); + double TransomThickness() const; + void setTransomThickness(double v); /// Whether the optional attribute TransomOffset is defined for this IfcDoorLiningProperties bool hasTransomOffset() const; /// Offset of the transom (if given) which divides the door leaf from a glazing (or window) above. The offset is given from the bottom of the door opening. - IfcLengthMeasure TransomOffset() const; - void setTransomOffset(IfcLengthMeasure v); + double TransomOffset() const; + void setTransomOffset(double v); /// Whether the optional attribute LiningOffset is defined for this IfcDoorLiningProperties bool hasLiningOffset() const; /// Offset (dimension in plane perpendicular to door leaf) of the door lining. The offset is given as distance to the x axis of the local placement. - IfcLengthMeasure LiningOffset() const; - void setLiningOffset(IfcLengthMeasure v); + double LiningOffset() const; + void setLiningOffset(double v); /// Whether the optional attribute ThresholdOffset is defined for this IfcDoorLiningProperties bool hasThresholdOffset() const; /// Offset (dimension in plane perpendicular to door leaf) of the door threshold. The offset is given as distance to the x axis of the local placement. Only given if the door lining includes a threshold and the parameter is known. - IfcLengthMeasure ThresholdOffset() const; - void setThresholdOffset(IfcLengthMeasure v); + double ThresholdOffset() const; + void setThresholdOffset(double v); /// Whether the optional attribute CasingThickness is defined for this IfcDoorLiningProperties bool hasCasingThickness() const; /// Thickness of the casing (dimension in plane of the door leaf). If given it is applied equally to all four sides of the adjacent wall. - IfcPositiveLengthMeasure CasingThickness() const; - void setCasingThickness(IfcPositiveLengthMeasure v); + double CasingThickness() const; + void setCasingThickness(double v); /// Whether the optional attribute CasingDepth is defined for this IfcDoorLiningProperties bool hasCasingDepth() const; /// Depth of the casing (dimension in plane perpendicular to door leaf). If given it is applied equally to all four sides of the adjacent wall. - IfcPositiveLengthMeasure CasingDepth() const; - void setCasingDepth(IfcPositiveLengthMeasure v); + double CasingDepth() const; + void setCasingDepth(double v); /// Whether the optional attribute ShapeAspectStyle is defined for this IfcDoorLiningProperties bool hasShapeAspectStyle() const; /// Pointer to the shape aspect, if given. The shape aspect reflects the part of the door shape, which represents the door lining. @@ -29115,15 +30375,15 @@ public: /// Offset between the lining and the window panel measured along the x-axis of the local placement. /// /// IFC2x4 CHANGE: New attribute added at the end of the entity definition. - IfcLengthMeasure LiningToPanelOffsetX() const; - void setLiningToPanelOffsetX(IfcLengthMeasure v); + double LiningToPanelOffsetX() const; + void setLiningToPanelOffsetX(double v); /// Whether the optional attribute LiningToPanelOffsetY is defined for this IfcDoorLiningProperties bool hasLiningToPanelOffsetY() const; /// Offset between the lining and the door panel measured along the y-axis of the local placement. /// /// IFC2x4 CHANGE: New attribute added at the end of the entity definition. - IfcLengthMeasure LiningToPanelOffsetY() const; - void setLiningToPanelOffsetY(IfcLengthMeasure v); + double LiningToPanelOffsetY() const; + void setLiningToPanelOffsetY(double v); virtual unsigned int getArgumentCount() const { return 17; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; case 7: return IfcUtil::Argument_DOUBLE; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_ENTITY; case 15: return IfcUtil::Argument_DOUBLE; case 16: return IfcUtil::Argument_DOUBLE; } return IfcPreDefinedPropertySet::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "LiningDepth"; case 5: return "LiningThickness"; case 6: return "ThresholdDepth"; case 7: return "ThresholdThickness"; case 8: return "TransomThickness"; case 9: return "TransomOffset"; case 10: return "LiningOffset"; case 11: return "ThresholdOffset"; case 12: return "CasingThickness"; case 13: return "CasingDepth"; case 14: return "ShapeAspectStyle"; case 15: return "LiningToPanelOffsetX"; case 16: return "LiningToPanelOffsetY"; } return IfcPreDefinedPropertySet::getArgumentName(i); } @@ -29132,7 +30392,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDoorLiningProperties (IfcAbstractEntity* e); - IfcDoorLiningProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_LiningDepth, boost::optional< IfcNonNegativeLengthMeasure > v6_LiningThickness, boost::optional< IfcPositiveLengthMeasure > v7_ThresholdDepth, boost::optional< IfcNonNegativeLengthMeasure > v8_ThresholdThickness, boost::optional< IfcNonNegativeLengthMeasure > v9_TransomThickness, boost::optional< IfcLengthMeasure > v10_TransomOffset, boost::optional< IfcLengthMeasure > v11_LiningOffset, boost::optional< IfcLengthMeasure > v12_ThresholdOffset, boost::optional< IfcPositiveLengthMeasure > v13_CasingThickness, boost::optional< IfcPositiveLengthMeasure > v14_CasingDepth, IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< IfcLengthMeasure > v16_LiningToPanelOffsetX, boost::optional< IfcLengthMeasure > v17_LiningToPanelOffsetY); + IfcDoorLiningProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_LiningDepth, boost::optional< double > v6_LiningThickness, boost::optional< double > v7_ThresholdDepth, boost::optional< double > v8_ThresholdThickness, boost::optional< double > v9_TransomThickness, boost::optional< double > v10_TransomOffset, boost::optional< double > v11_LiningOffset, boost::optional< double > v12_ThresholdOffset, boost::optional< double > v13_CasingThickness, boost::optional< double > v14_CasingDepth, IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY); typedef IfcTemplatedEntityList< IfcDoorLiningProperties > list; }; /// A door panel is normally a door leaf that opens to allow people or @@ -29185,16 +30445,16 @@ public: /// Whether the optional attribute PanelDepth is defined for this IfcDoorPanelProperties bool hasPanelDepth() const; /// Depth of the door panel, measured perpendicular to the plane of the door leaf. - IfcPositiveLengthMeasure PanelDepth() const; - void setPanelDepth(IfcPositiveLengthMeasure v); + double PanelDepth() const; + void setPanelDepth(double v); /// The PanelOperation defines the way of operation of that panel. The PanelOperation of the door panel has to correspond with the OperationType of the IfcDoorStyle by which it is referenced. IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum PanelOperation() const; void setPanelOperation(IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v); /// Whether the optional attribute PanelWidth is defined for this IfcDoorPanelProperties bool hasPanelWidth() const; /// Width of this panel, given as ratio relative to the total clear opening width of the door. If omited, it defaults to 1. A value has to be provided for all doors with OperationType's at IfcDoorStyle defining a door with more then one panel. - IfcNormalisedRatioMeasure PanelWidth() const; - void setPanelWidth(IfcNormalisedRatioMeasure v); + double PanelWidth() const; + void setPanelWidth(double v); /// Position of this panel within the door. The PanelPosition of the door panel has to correspond with the OperationType of the IfcDoorStyle by which it is referenced. IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum PanelPosition() const; void setPanelPosition(IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v); @@ -29213,7 +30473,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDoorPanelProperties (IfcAbstractEntity* e); - IfcDoorPanelProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcPositiveLengthMeasure > v5_PanelDepth, IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v6_PanelOperation, boost::optional< IfcNormalisedRatioMeasure > v7_PanelWidth, IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v8_PanelPosition, IfcShapeAspect* v9_ShapeAspectStyle); + IfcDoorPanelProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, IfcDoorPanelOperationEnum::IfcDoorPanelOperationEnum v6_PanelOperation, boost::optional< double > v7_PanelWidth, IfcDoorPanelPositionEnum::IfcDoorPanelPositionEnum v8_PanelPosition, IfcShapeAspect* v9_ShapeAspectStyle); typedef IfcTemplatedEntityList< IfcDoorPanelProperties > list; }; /// Definition from IAI: The element type @@ -29358,8 +30618,8 @@ public: void setParameterTakesPrecedence(bool v); /// Whether the optional attribute UserDefinedOperationType is defined for this IfcDoorType bool hasUserDefinedOperationType() const; - IfcLabel UserDefinedOperationType() const; - void setUserDefinedOperationType(IfcLabel v); + std::string UserDefinedOperationType() const; + void setUserDefinedOperationType(std::string v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_ENUMERATION; case 11: return IfcUtil::Argument_BOOL; case 12: return IfcUtil::Argument_STRING; } return IfcBuildingElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "OperationType"; case 11: return "ParameterTakesPrecedence"; case 12: return "UserDefinedOperationType"; } return IfcBuildingElementType::getArgumentName(i); } @@ -29368,7 +30628,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDoorType (IfcAbstractEntity* e); - IfcDoorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDoorTypeEnum::IfcDoorTypeEnum v10_PredefinedType, IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< IfcLabel > v13_UserDefinedOperationType); + IfcDoorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDoorTypeEnum::IfcDoorTypeEnum v10_PredefinedType, IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType); typedef IfcTemplatedEntityList< IfcDoorType > list; }; /// The draughting pre defined colour is a pre defined colour for the purpose to identify a colour by name. Allowable names are: @@ -29453,7 +30713,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDraughtingPreDefinedColour (IfcAbstractEntity* e); - IfcDraughtingPreDefinedColour (IfcLabel v1_Name); + IfcDraughtingPreDefinedColour (std::string v1_Name); typedef IfcTemplatedEntityList< IfcDraughtingPreDefinedColour > list; }; /// The draughting predefined curve font type defines a selection of widely used curve fonts for draughting purposes by name. @@ -29479,7 +30739,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDraughtingPreDefinedCurveFont (IfcAbstractEntity* e); - IfcDraughtingPreDefinedCurveFont (IfcLabel v1_Name); + IfcDraughtingPreDefinedCurveFont (std::string v1_Name); typedef IfcTemplatedEntityList< IfcDraughtingPreDefinedCurveFont > list; }; /// Definition from IAI: Generalization of all components @@ -29540,8 +30800,8 @@ public: /// Whether the optional attribute Tag is defined for this IfcElement bool hasTag() const; /// The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level. - IfcIdentifier Tag() const; - void setTag(IfcIdentifier v); + std::string Tag() const; + void setTag(std::string v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_STRING; } return IfcProduct::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "Tag"; } return IfcProduct::getArgumentName(i); } @@ -29561,7 +30821,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElement (IfcAbstractEntity* e); - IfcElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcElement > list; }; /// The IfcElementAssembly @@ -29680,7 +30940,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElementAssembly (IfcAbstractEntity* e); - IfcElementAssembly (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v9_AssemblyPlace, boost::optional< IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum > v10_PredefinedType); + IfcElementAssembly (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAssemblyPlaceEnum::IfcAssemblyPlaceEnum > v9_AssemblyPlace, boost::optional< IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum > v10_PredefinedType); typedef IfcTemplatedEntityList< IfcElementAssembly > list; }; /// Definition from IAI: The IfcElementAssemblyType @@ -29718,7 +30978,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElementAssemblyType (IfcAbstractEntity* e); - IfcElementAssemblyType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v10_PredefinedType); + IfcElementAssemblyType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElementAssemblyTypeEnum::IfcElementAssemblyTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcElementAssemblyType > list; }; /// An element component is a representation for minor items included in, added to or connecting to or between @@ -29808,7 +31068,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElementComponent (IfcAbstractEntity* e); - IfcElementComponent (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcElementComponent (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcElementComponent > list; }; /// Definition from IAI: @@ -29830,7 +31090,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElementComponentType (IfcAbstractEntity* e); - IfcElementComponentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcElementComponentType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcElementComponentType > list; }; /// 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: @@ -29863,11 +31123,11 @@ public: class IfcEllipse : public IfcConic { public: /// The first radius of the ellipse which shall be positive. Placement.Axes[1] gives the direction of the SemiAxis1. - IfcPositiveLengthMeasure SemiAxis1() const; - void setSemiAxis1(IfcPositiveLengthMeasure v); + double SemiAxis1() const; + void setSemiAxis1(double v); /// The second radius of the ellipse which shall be positive. - IfcPositiveLengthMeasure SemiAxis2() const; - void setSemiAxis2(IfcPositiveLengthMeasure v); + double SemiAxis2() const; + void setSemiAxis2(double v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; } return IfcConic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "SemiAxis1"; case 2: return "SemiAxis2"; } return IfcConic::getArgumentName(i); } @@ -29876,7 +31136,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEllipse (IfcAbstractEntity* e); - IfcEllipse (IfcAxis2Placement v1_Position, IfcPositiveLengthMeasure v2_SemiAxis1, IfcPositiveLengthMeasure v3_SemiAxis2); + IfcEllipse (IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2); typedef IfcTemplatedEntityList< IfcEllipse > list; }; /// The element type IfcEnergyConversionType defines a list of commonly shared property @@ -29914,7 +31174,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEnergyConversionDeviceType (IfcAbstractEntity* e); - IfcEnergyConversionDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcEnergyConversionDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcEnergyConversionDeviceType > list; }; /// The energy conversion device type IfcEngineType defines commonly shared information for occurrences of engines. The set of shared information may include: @@ -29955,7 +31215,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEngineType (IfcAbstractEntity* e); - IfcEngineType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEngineTypeEnum::IfcEngineTypeEnum v10_PredefinedType); + IfcEngineType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcEngineTypeEnum::IfcEngineTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcEngineType > list; }; /// The energy conversion device type IfcEvaporativeCoolerType defines commonly shared information for occurrences of evaporative coolers. The set of shared information may include: @@ -29997,7 +31257,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEvaporativeCoolerType (IfcAbstractEntity* e); - IfcEvaporativeCoolerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v10_PredefinedType); + IfcEvaporativeCoolerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcEvaporativeCoolerType > list; }; /// The energy conversion device type IfcEvaporatorType defines commonly shared information for occurrences of evaporators. The set of shared information may include: @@ -30039,7 +31299,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEvaporatorType (IfcAbstractEntity* e); - IfcEvaporatorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v10_PredefinedType); + IfcEvaporatorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcEvaporatorType > list; }; /// An IfcEvent is something @@ -30138,8 +31398,8 @@ public: /// A user defined event trigger type, the value of which is /// asserted when the value of an event trigger type is declared /// as USERDEFINED. - IfcLabel UserDefinedEventTriggerType() const; - void setUserDefinedEventTriggerType(IfcLabel v); + std::string UserDefinedEventTriggerType() const; + void setUserDefinedEventTriggerType(std::string v); /// Whether the optional attribute EventOccurenceTime is defined for this IfcEvent bool hasEventOccurenceTime() const; /// The date and/or time at which an event occurs. @@ -30153,7 +31413,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEvent (IfcAbstractEntity* e); - IfcEvent (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, boost::optional< IfcEventTypeEnum::IfcEventTypeEnum > v8_PredefinedType, boost::optional< IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum > v9_EventTriggerType, boost::optional< IfcLabel > v10_UserDefinedEventTriggerType, IfcEventTime* v11_EventOccurenceTime); + IfcEvent (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcEventTypeEnum::IfcEventTypeEnum > v8_PredefinedType, boost::optional< IfcEventTriggerTypeEnum::IfcEventTriggerTypeEnum > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, IfcEventTime* v11_EventOccurenceTime); typedef IfcTemplatedEntityList< IfcEvent > list; }; /// Definition from IAI: The external spatial structure @@ -30171,7 +31431,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcExternalSpatialStructureElement (IfcAbstractEntity* e); - IfcExternalSpatialStructureElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName); + IfcExternalSpatialStructureElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName); typedef IfcTemplatedEntityList< IfcExternalSpatialStructureElement > list; }; /// Definition from ISO/CD 10303-42:1992: A faceted B-rep @@ -30274,7 +31534,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFastener (IfcAbstractEntity* e); - IfcFastener (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFastenerTypeEnum::IfcFastenerTypeEnum > v9_PredefinedType); + IfcFastener (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFastenerTypeEnum::IfcFastenerTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcFastener > list; }; /// Definition from IAI: @@ -30313,7 +31573,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFastenerType (IfcAbstractEntity* e); - IfcFastenerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFastenerTypeEnum::IfcFastenerTypeEnum v10_PredefinedType); + IfcFastenerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFastenerTypeEnum::IfcFastenerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcFastenerType > list; }; /// Definition from IAI: Generalization of all existence @@ -30420,7 +31680,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFeatureElement (IfcAbstractEntity* e); - IfcFeatureElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcFeatureElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFeatureElement > list; }; /// Definition from IAI: A specialization of the general @@ -30489,7 +31749,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFeatureElementAddition (IfcAbstractEntity* e); - IfcFeatureElementAddition (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcFeatureElementAddition (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFeatureElementAddition > list; }; /// The IfcFeatureElementSubtraction is specialization of @@ -30553,7 +31813,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFeatureElementSubtraction (IfcAbstractEntity* e); - IfcFeatureElementSubtraction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcFeatureElementSubtraction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFeatureElementSubtraction > list; }; /// The element type IfcFlowControllerType defines a list of commonly shared property @@ -30590,7 +31850,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowControllerType (IfcAbstractEntity* e); - IfcFlowControllerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcFlowControllerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcFlowControllerType > list; }; /// The element type IfcFlowFittingType defines a list of commonly shared property @@ -30628,7 +31888,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowFittingType (IfcAbstractEntity* e); - IfcFlowFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcFlowFittingType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcFlowFittingType > list; }; /// The flow controller type IfcFlowMeterType defines commonly shared information for occurrences of flow meters. The set of shared information may include: @@ -30676,7 +31936,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowMeterType (IfcAbstractEntity* e); - IfcFlowMeterType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v10_PredefinedType); + IfcFlowMeterType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcFlowMeterType > list; }; /// The element type IfcFlowMovingDeviceType defines a list of commonly shared property @@ -30712,7 +31972,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowMovingDeviceType (IfcAbstractEntity* e); - IfcFlowMovingDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcFlowMovingDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcFlowMovingDeviceType > list; }; /// The element type IfcFlowSegmentType defines a list of commonly shared property @@ -30757,7 +32017,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowSegmentType (IfcAbstractEntity* e); - IfcFlowSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcFlowSegmentType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcFlowSegmentType > list; }; /// 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). @@ -30777,7 +32037,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowStorageDeviceType (IfcAbstractEntity* e); - IfcFlowStorageDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcFlowStorageDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcFlowStorageDeviceType > list; }; /// 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). @@ -30797,7 +32057,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowTerminalType (IfcAbstractEntity* e); - IfcFlowTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcFlowTerminalType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcFlowTerminalType > list; }; /// 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). @@ -30819,7 +32079,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowTreatmentDeviceType (IfcAbstractEntity* e); - IfcFlowTreatmentDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcFlowTreatmentDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcFlowTreatmentDeviceType > list; }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcFooting. @@ -30844,7 +32104,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFootingType (IfcAbstractEntity* e); - IfcFootingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFootingTypeEnum::IfcFootingTypeEnum v10_PredefinedType); + IfcFootingType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFootingTypeEnum::IfcFootingTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcFootingType > list; }; /// Definition from IAI: Generalization of all furniture @@ -30961,7 +32221,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFurnishingElement (IfcAbstractEntity* e); - IfcFurnishingElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcFurnishingElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFurnishingElement > list; }; /// Furniture defines complete furnishings such as a table, desk, chair, or cabinet, which may or may not be permanently attached to a building structure. @@ -31009,7 +32269,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFurniture (IfcAbstractEntity* e); - IfcFurniture (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v9_PredefinedType); + IfcFurniture (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFurnitureTypeEnum::IfcFurnitureTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcFurniture > list; }; /// Definition from IAI: An IfcGeographicElement is @@ -31167,7 +32427,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGeographicElement (IfcAbstractEntity* e); - IfcGeographicElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum > v9_PredefinedType); + IfcGeographicElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcGeographicElementTypeEnum::IfcGeographicElementTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcGeographicElement > list; }; /// IfcGrid ia a planar design @@ -31292,7 +32552,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGrid (IfcAbstractEntity* e); - IfcGrid (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcTemplatedEntityList< IfcGridAxis >::ptr v8_UAxes, IfcTemplatedEntityList< IfcGridAxis >::ptr v9_VAxes, boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > v10_WAxes, boost::optional< IfcGridTypeEnum::IfcGridTypeEnum > v11_PredefinedType); + IfcGrid (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcTemplatedEntityList< IfcGridAxis >::ptr v8_UAxes, IfcTemplatedEntityList< IfcGridAxis >::ptr v9_VAxes, boost::optional< IfcTemplatedEntityList< IfcGridAxis >::ptr > v10_WAxes, boost::optional< IfcGridTypeEnum::IfcGridTypeEnum > v11_PredefinedType); typedef IfcTemplatedEntityList< IfcGrid > list; }; /// 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. @@ -31336,7 +32596,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcGroup (IfcAbstractEntity* e); - IfcGroup (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); + IfcGroup (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType); typedef IfcTemplatedEntityList< IfcGroup > list; }; /// The energy conversion device type IfcHeatExchangerType defines commonly shared information for occurrences of heat exchangers. The set of shared information may include: @@ -31381,7 +32641,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcHeatExchangerType (IfcAbstractEntity* e); - IfcHeatExchangerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v10_PredefinedType); + IfcHeatExchangerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcHeatExchangerType > list; }; /// The energy conversion device type IfcHumidifierType defines commonly shared information for occurrences of humidifiers. The set of shared information may include: @@ -31423,7 +32683,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcHumidifierType (IfcAbstractEntity* e); - IfcHumidifierType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v10_PredefinedType); + IfcHumidifierType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcHumidifierType > list; }; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: @@ -31471,7 +32731,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcInterceptorType (IfcAbstractEntity* e); - IfcInterceptorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcInterceptorTypeEnum::IfcInterceptorTypeEnum v10_PredefinedType); + IfcInterceptorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcInterceptorTypeEnum::IfcInterceptorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcInterceptorType > list; }; /// An inventory is a list of items within an enterprise. @@ -31497,8 +32757,8 @@ public: /// Whether the optional attribute Jurisdiction is defined for this IfcInventory bool hasJurisdiction() const; /// The organizational unit to which the inventory is applicable. - IfcActorSelect Jurisdiction() const; - void setJurisdiction(IfcActorSelect v); + IfcActorSelect* Jurisdiction() const; + void setJurisdiction(IfcActorSelect* v); /// Whether the optional attribute ResponsiblePersons is defined for this IfcInventory bool hasResponsiblePersons() const; /// Persons who are responsible for the inventory. @@ -31509,8 +32769,8 @@ public: /// The date on which the last update of the inventory was carried out. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - IfcDate LastUpdateDate() const; - void setLastUpdateDate(IfcDate v); + std::string LastUpdateDate() const; + void setLastUpdateDate(std::string v); /// Whether the optional attribute CurrentValue is defined for this IfcInventory bool hasCurrentValue() const; /// An estimate of the current cost value of the inventory. @@ -31529,7 +32789,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcInventory (IfcAbstractEntity* e); - IfcInventory (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcInventoryTypeEnum::IfcInventoryTypeEnum > v6_PredefinedType, boost::optional< IfcActorSelect > v7_Jurisdiction, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< IfcDate > v9_LastUpdateDate, IfcCostValue* v10_CurrentValue, IfcCostValue* v11_OriginalValue); + IfcInventory (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcInventoryTypeEnum::IfcInventoryTypeEnum > v6_PredefinedType, IfcActorSelect* v7_Jurisdiction, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, IfcCostValue* v10_CurrentValue, IfcCostValue* v11_OriginalValue); typedef IfcTemplatedEntityList< IfcInventory > list; }; /// The flow fitting type IfcJunctionBoxType defines commonly shared information for occurrences of junction boxs. The set of shared information may include: @@ -31572,7 +32832,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcJunctionBoxType (IfcAbstractEntity* e); - IfcJunctionBoxType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v10_PredefinedType); + IfcJunctionBoxType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcJunctionBoxType > list; }; /// An IfcLaborResource is used in construction with particular skills or crafts required to perform certain types of construction or management related work. @@ -31615,7 +32875,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLaborResource (IfcAbstractEntity* e); - IfcLaborResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum > v11_PredefinedType); + IfcLaborResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcLaborResourceTypeEnum::IfcLaborResourceTypeEnum > v11_PredefinedType); typedef IfcTemplatedEntityList< IfcLaborResource > list; }; /// The flow terminal type IfcLampType defines commonly shared information for occurrences of lamps. The set of shared information may include: @@ -31660,7 +32920,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLampType (IfcAbstractEntity* e); - IfcLampType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcLampTypeEnum::IfcLampTypeEnum v10_PredefinedType); + IfcLampType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcLampTypeEnum::IfcLampTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcLampType > list; }; /// The flow terminal type IfcLightFixtureType defines commonly shared information for occurrences of light fixtures. The set of shared information may include: @@ -31707,7 +32967,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLightFixtureType (IfcAbstractEntity* e); - IfcLightFixtureType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v10_PredefinedType); + IfcLightFixtureType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcLightFixtureType > list; }; /// 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. @@ -31743,12 +33003,12 @@ class IfcMechanicalFastener : public IfcElementComponent { public: /// Whether the optional attribute NominalDiameter is defined for this IfcMechanicalFastener bool hasNominalDiameter() const; - IfcPositiveLengthMeasure NominalDiameter() const; - void setNominalDiameter(IfcPositiveLengthMeasure v); + double NominalDiameter() const; + void setNominalDiameter(double v); /// Whether the optional attribute NominalLength is defined for this IfcMechanicalFastener bool hasNominalLength() const; - IfcPositiveLengthMeasure NominalLength() const; - void setNominalLength(IfcPositiveLengthMeasure v); + double NominalLength() const; + void setNominalLength(double v); /// Whether the optional attribute PredefinedType is defined for this IfcMechanicalFastener bool hasPredefinedType() const; /// Subtype of mechanical fastener @@ -31762,7 +33022,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMechanicalFastener (IfcAbstractEntity* e); - IfcMechanicalFastener (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_NominalDiameter, boost::optional< IfcPositiveLengthMeasure > v10_NominalLength, boost::optional< IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum > v11_PredefinedType); + IfcMechanicalFastener (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum > v11_PredefinedType); typedef IfcTemplatedEntityList< IfcMechanicalFastener > list; }; /// 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). @@ -31808,13 +33068,13 @@ public: /// Whether the optional attribute NominalDiameter is defined for this IfcMechanicalFastenerType bool hasNominalDiameter() const; /// The nominal diameter describing the cross-section size of the fastener type. - IfcPositiveLengthMeasure NominalDiameter() const; - void setNominalDiameter(IfcPositiveLengthMeasure v); + double NominalDiameter() const; + void setNominalDiameter(double v); /// Whether the optional attribute NominalLength is defined for this IfcMechanicalFastenerType bool hasNominalLength() const; /// The nominal length describing the longitudinal dimensions of the fastener type. - IfcPositiveLengthMeasure NominalLength() const; - void setNominalLength(IfcPositiveLengthMeasure v); + double NominalLength() const; + void setNominalLength(double v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; } return IfcElementComponentType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "NominalDiameter"; case 11: return "NominalLength"; } return IfcElementComponentType::getArgumentName(i); } @@ -31823,7 +33083,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMechanicalFastenerType (IfcAbstractEntity* e); - IfcMechanicalFastenerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_NominalDiameter, boost::optional< IfcPositiveLengthMeasure > v12_NominalLength); + IfcMechanicalFastenerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMechanicalFastenerTypeEnum::IfcMechanicalFastenerTypeEnum v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength); typedef IfcTemplatedEntityList< IfcMechanicalFastenerType > list; }; /// The flow terminal type IfcMedicalDeviceType defines commonly shared information for occurrences of medical devices. The set of shared information may include: @@ -31864,7 +33124,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMedicalDeviceType (IfcAbstractEntity* e); - IfcMedicalDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum v10_PredefinedType); + IfcMedicalDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcMedicalDeviceType > list; }; /// Definition from IAI: The element type @@ -31981,7 +33241,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMemberType (IfcAbstractEntity* e); - IfcMemberType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMemberTypeEnum::IfcMemberTypeEnum v10_PredefinedType); + IfcMemberType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMemberTypeEnum::IfcMemberTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcMemberType > list; }; /// The energy conversion device type IfcMotorConnectionType defines commonly shared information for occurrences of motor connections. The set of shared information may include: @@ -32024,7 +33284,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMotorConnectionType (IfcAbstractEntity* e); - IfcMotorConnectionType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v10_PredefinedType); + IfcMotorConnectionType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcMotorConnectionType > list; }; /// An occupant is a type of actor that defines the form of occupancy of a property. @@ -32051,7 +33311,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOccupant (IfcAbstractEntity* e); - IfcOccupant (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcActorSelect v6_TheActor, boost::optional< IfcOccupantTypeEnum::IfcOccupantTypeEnum > v7_PredefinedType); + IfcOccupant (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcActorSelect* v6_TheActor, boost::optional< IfcOccupantTypeEnum::IfcOccupantTypeEnum > v7_PredefinedType); typedef IfcTemplatedEntityList< IfcOccupant > list; }; /// The opening element stands for @@ -32274,7 +33534,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOpeningElement (IfcAbstractEntity* e); - IfcOpeningElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > v9_PredefinedType); + IfcOpeningElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcOpeningElement > list; }; /// The standard opening, @@ -32380,7 +33640,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOpeningStandardCase (IfcAbstractEntity* e); - IfcOpeningStandardCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > v9_PredefinedType); + IfcOpeningStandardCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcOpeningElementTypeEnum::IfcOpeningElementTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcOpeningStandardCase > list; }; /// The flow terminal type IfcOutletType defines commonly shared information for occurrences of outlets. The set of shared information may include: @@ -32425,7 +33685,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOutletType (IfcAbstractEntity* e); - IfcOutletType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcOutletTypeEnum::IfcOutletTypeEnum v10_PredefinedType); + IfcOutletType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcOutletTypeEnum::IfcOutletTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcOutletType > list; }; /// 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. @@ -32436,8 +33696,8 @@ public: class IfcPerformanceHistory : public IfcControl { public: /// Describes the applicable building life-cycle phase. Typical values should be DESIGNDEVELOPMENT, SCHEMATICDEVELOPMENT, CONSTRUCTIONDOCUMENT, CONSTRUCTION, ASBUILT, COMMISSIONING, OPERATION, etc. - IfcLabel LifeCyclePhase() const; - void setLifeCyclePhase(IfcLabel v); + std::string LifeCyclePhase() const; + void setLifeCyclePhase(std::string v); /// Whether the optional attribute PredefinedType is defined for this IfcPerformanceHistory bool hasPredefinedType() const; /// Predefined generic type for a performace history that is specified in an enumeration. @@ -32453,7 +33713,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPerformanceHistory (IfcAbstractEntity* e); - IfcPerformanceHistory (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcLabel v7_LifeCyclePhase, boost::optional< IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum > v8_PredefinedType); + IfcPerformanceHistory (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, boost::optional< IfcPerformanceHistoryTypeEnum::IfcPerformanceHistoryTypeEnum > v8_PredefinedType); typedef IfcTemplatedEntityList< IfcPerformanceHistory > list; }; /// This entity is a description of a panel within a @@ -32498,13 +33758,13 @@ public: /// Whether the optional attribute FrameDepth is defined for this IfcPermeableCoveringProperties bool hasFrameDepth() const; /// Depth of panel frame (used to include the permeable covering), measured from front face to back face horizontally (i.e. perpendicular to the window or door (elevation) plane. - IfcPositiveLengthMeasure FrameDepth() const; - void setFrameDepth(IfcPositiveLengthMeasure v); + double FrameDepth() const; + void setFrameDepth(double v); /// Whether the optional attribute FrameThickness is defined for this IfcPermeableCoveringProperties bool hasFrameThickness() const; /// Width of panel frame (used to include the permeable covering), measured from inside of panel (at permeable covering) to outside of panel (at lining), i.e. parallel to the window or door (elevation) plane. - IfcPositiveLengthMeasure FrameThickness() const; - void setFrameThickness(IfcPositiveLengthMeasure v); + double FrameThickness() const; + void setFrameThickness(double v); /// Whether the optional attribute ShapeAspectStyle is defined for this IfcPermeableCoveringProperties bool hasShapeAspectStyle() const; /// Optional link to a shape aspect definition, which points to the part of the geometric representation of the window style, which is used to represent the permeable covering. @@ -32518,7 +33778,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPermeableCoveringProperties (IfcAbstractEntity* e); - IfcPermeableCoveringProperties (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< IfcPositiveLengthMeasure > v7_FrameDepth, boost::optional< IfcPositiveLengthMeasure > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle); + IfcPermeableCoveringProperties (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcPermeableCoveringOperationEnum::IfcPermeableCoveringOperationEnum v5_OperationType, IfcWindowPanelPositionEnum::IfcWindowPanelPositionEnum v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, IfcShapeAspect* v9_ShapeAspectStyle); typedef IfcTemplatedEntityList< IfcPermeableCoveringProperties > list; }; /// A permit is a permission to perform work in places and on artifacts where regulatory, security or other access restrictions apply. @@ -32572,15 +33832,15 @@ public: /// The status currently assigned to the permit. /// /// IFC2x4 CHANGE The attribute has been added. - IfcLabel Status() const; - void setStatus(IfcLabel v); + std::string Status() const; + void setStatus(std::string v); /// Whether the optional attribute LongDescription is defined for this IfcPermit bool hasLongDescription() const; /// Detailed description of the request. /// /// IFC2x4 CHANGE The attribute has been added. - IfcText LongDescription() const; - void setLongDescription(IfcText v); + std::string LongDescription() const; + void setLongDescription(std::string v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "PredefinedType"; case 7: return "Status"; case 8: return "LongDescription"; } return IfcControl::getArgumentName(i); } @@ -32589,7 +33849,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPermit (IfcAbstractEntity* e); - IfcPermit (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcPermitTypeEnum::IfcPermitTypeEnum > v7_PredefinedType, boost::optional< IfcLabel > v8_Status, boost::optional< IfcText > v9_LongDescription); + IfcPermit (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcPermitTypeEnum::IfcPermitTypeEnum > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription); typedef IfcTemplatedEntityList< IfcPermit > list; }; /// Definition from IAI: Provides shared material, decomposition, representation maps, and property sets for instances of IfcPile. @@ -32612,7 +33872,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPileType (IfcAbstractEntity* e); - IfcPileType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPileTypeEnum::IfcPileTypeEnum v10_PredefinedType); + IfcPileType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPileTypeEnum::IfcPileTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcPileType > list; }; /// The flow fitting type IfcPipeFittingType defines commonly shared information for occurrences of pipe fittings. The set of shared information may include: @@ -32657,7 +33917,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPipeFittingType (IfcAbstractEntity* e); - IfcPipeFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v10_PredefinedType); + IfcPipeFittingType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcPipeFittingType > list; }; /// The flow segment type IfcPipeSegmentType defines commonly shared information for occurrences of pipe segments. The set of shared information may include: @@ -32706,7 +33966,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPipeSegmentType (IfcAbstractEntity* e); - IfcPipeSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v10_PredefinedType); + IfcPipeSegmentType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcPipeSegmentType > list; }; /// The element type IfcPlateType defines commonly shared @@ -32799,7 +34059,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPlateType (IfcAbstractEntity* e); - IfcPlateType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPlateTypeEnum::IfcPlateTypeEnum v10_PredefinedType); + IfcPlateType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPlateTypeEnum::IfcPlateTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcPlateType > list; }; /// Definition from ISO/CD 10303-42:1992: A polyline @@ -32898,7 +34158,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPort (IfcAbstractEntity* e); - IfcPort (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); + IfcPort (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation); typedef IfcTemplatedEntityList< IfcPort > list; }; /// An IfcProcedure is a @@ -33021,7 +34281,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProcedure (IfcAbstractEntity* e); - IfcProcedure (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, boost::optional< IfcProcedureTypeEnum::IfcProcedureTypeEnum > v8_PredefinedType); + IfcProcedure (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< IfcProcedureTypeEnum::IfcProcedureTypeEnum > v8_PredefinedType); typedef IfcTemplatedEntityList< IfcProcedure > list; }; /// A project order is a directive to purchase products and/or perform work, such as for construction or facilities management. @@ -33087,13 +34347,13 @@ public: /// STARTED /// DELAYED /// DONE - IfcLabel Status() const; - void setStatus(IfcLabel v); + std::string Status() const; + void setStatus(std::string v); /// Whether the optional attribute LongDescription is defined for this IfcProjectOrder bool hasLongDescription() const; /// A detailed description of the project order describing the work to be completed. - IfcText LongDescription() const; - void setLongDescription(IfcText v); + std::string LongDescription() const; + void setLongDescription(std::string v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "PredefinedType"; case 7: return "Status"; case 8: return "LongDescription"; } return IfcControl::getArgumentName(i); } @@ -33102,7 +34362,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProjectOrder (IfcAbstractEntity* e); - IfcProjectOrder (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum > v7_PredefinedType, boost::optional< IfcLabel > v8_Status, boost::optional< IfcText > v9_LongDescription); + IfcProjectOrder (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcProjectOrderTypeEnum::IfcProjectOrderTypeEnum > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription); typedef IfcTemplatedEntityList< IfcProjectOrder > list; }; /// The projection element is a @@ -33229,7 +34489,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProjectionElement (IfcAbstractEntity* e); - IfcProjectionElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum > v9_PredefinedType); + IfcProjectionElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcProjectionElementTypeEnum::IfcProjectionElementTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcProjectionElement > list; }; /// The flow controller type IfcProtectiveDeviceType defines commonly shared information for occurrences of protective devices. The set of shared information may include: @@ -33280,7 +34540,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProtectiveDeviceType (IfcAbstractEntity* e); - IfcProtectiveDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v10_PredefinedType); + IfcProtectiveDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcProtectiveDeviceType > list; }; /// The flow moving device type IfcPumpType defines commonly shared information for occurrences of pumps. The set of shared information may include: @@ -33324,7 +34584,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPumpType (IfcAbstractEntity* e); - IfcPumpType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcPumpTypeEnum::IfcPumpTypeEnum v10_PredefinedType); + IfcPumpType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcPumpTypeEnum::IfcPumpTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcPumpType > list; }; /// Definition from IAI: The element type (IfcRailingType) @@ -33360,7 +34620,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRailingType (IfcAbstractEntity* e); - IfcRailingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRailingTypeEnum::IfcRailingTypeEnum v10_PredefinedType); + IfcRailingType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRailingTypeEnum::IfcRailingTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcRailingType > list; }; /// Definition from IAI: The element type (IfcRampFlightType) @@ -33396,7 +34656,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRampFlightType (IfcAbstractEntity* e); - IfcRampFlightType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v10_PredefinedType); + IfcRampFlightType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRampFlightTypeEnum::IfcRampFlightTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcRampFlightType > list; }; /// Definition from IAI: The element type @@ -33445,7 +34705,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRampType (IfcAbstractEntity* e); - IfcRampType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRampTypeEnum::IfcRampTypeEnum v10_PredefinedType); + IfcRampType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRampTypeEnum::IfcRampTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcRampType > list; }; /// A rational B-spline surface with knots is a piecewise parametric rational surface described in terms of control points, and associated weight values. @@ -33472,7 +34732,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRationalBSplineSurfaceWithKnots (IfcAbstractEntity* e); - IfcRationalBSplineSurfaceWithKnots (int v1_UDegree, int v2_VDegree, IfcTemplatedEntityListList< IfcCartesianPoint >::ptr v3_ControlPointsList, IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< IfcParameterValue > /*[2:?]*/ v10_UKnots, std::vector< IfcParameterValue > /*[2:?]*/ v11_VKnots, IfcKnotType::IfcKnotType v12_KnotSpec); + IfcRationalBSplineSurfaceWithKnots (int v1_UDegree, int v2_VDegree, IfcTemplatedEntityListList< IfcCartesianPoint >::ptr v3_ControlPointsList, IfcBSplineSurfaceForm::IfcBSplineSurfaceForm v4_SurfaceForm, bool v5_UClosed, bool v6_VClosed, bool v7_SelfIntersect, std::vector< int > /*[2:?]*/ v8_UMultiplicities, std::vector< int > /*[2:?]*/ v9_VMultiplicities, std::vector< double > /*[2:?]*/ v10_UKnots, std::vector< double > /*[2:?]*/ v11_VKnots, IfcKnotType::IfcKnotType v12_KnotSpec); typedef IfcTemplatedEntityList< IfcRationalBSplineSurfaceWithKnots > list; }; /// 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. @@ -33487,8 +34747,8 @@ class IfcReinforcingElement : public IfcElementComponent { public: /// Whether the optional attribute SteelGrade is defined for this IfcReinforcingElement bool hasSteelGrade() const; - IfcLabel SteelGrade() const; - void setSteelGrade(IfcLabel v); + std::string SteelGrade() const; + void setSteelGrade(std::string v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_STRING; } return IfcElementComponent::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "SteelGrade"; } return IfcElementComponent::getArgumentName(i); } @@ -33497,7 +34757,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReinforcingElement (IfcAbstractEntity* e); - IfcReinforcingElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade); + IfcReinforcingElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade); typedef IfcTemplatedEntityList< IfcReinforcingElement > list; }; /// Definition from IAI: Types of 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. @@ -33513,7 +34773,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReinforcingElementType (IfcAbstractEntity* e); - IfcReinforcingElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcReinforcingElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcReinforcingElementType > list; }; /// 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. @@ -33544,36 +34804,36 @@ class IfcReinforcingMesh : public IfcReinforcingElement { public: /// Whether the optional attribute MeshLength is defined for this IfcReinforcingMesh bool hasMeshLength() const; - IfcPositiveLengthMeasure MeshLength() const; - void setMeshLength(IfcPositiveLengthMeasure v); + double MeshLength() const; + void setMeshLength(double v); /// Whether the optional attribute MeshWidth is defined for this IfcReinforcingMesh bool hasMeshWidth() const; - IfcPositiveLengthMeasure MeshWidth() const; - void setMeshWidth(IfcPositiveLengthMeasure v); + double MeshWidth() const; + void setMeshWidth(double v); /// Whether the optional attribute LongitudinalBarNominalDiameter is defined for this IfcReinforcingMesh bool hasLongitudinalBarNominalDiameter() const; - IfcPositiveLengthMeasure LongitudinalBarNominalDiameter() const; - void setLongitudinalBarNominalDiameter(IfcPositiveLengthMeasure v); + double LongitudinalBarNominalDiameter() const; + void setLongitudinalBarNominalDiameter(double v); /// Whether the optional attribute TransverseBarNominalDiameter is defined for this IfcReinforcingMesh bool hasTransverseBarNominalDiameter() const; - IfcPositiveLengthMeasure TransverseBarNominalDiameter() const; - void setTransverseBarNominalDiameter(IfcPositiveLengthMeasure v); + double TransverseBarNominalDiameter() const; + void setTransverseBarNominalDiameter(double v); /// Whether the optional attribute LongitudinalBarCrossSectionArea is defined for this IfcReinforcingMesh bool hasLongitudinalBarCrossSectionArea() const; - IfcAreaMeasure LongitudinalBarCrossSectionArea() const; - void setLongitudinalBarCrossSectionArea(IfcAreaMeasure v); + double LongitudinalBarCrossSectionArea() const; + void setLongitudinalBarCrossSectionArea(double v); /// Whether the optional attribute TransverseBarCrossSectionArea is defined for this IfcReinforcingMesh bool hasTransverseBarCrossSectionArea() const; - IfcAreaMeasure TransverseBarCrossSectionArea() const; - void setTransverseBarCrossSectionArea(IfcAreaMeasure v); + double TransverseBarCrossSectionArea() const; + void setTransverseBarCrossSectionArea(double v); /// Whether the optional attribute LongitudinalBarSpacing is defined for this IfcReinforcingMesh bool hasLongitudinalBarSpacing() const; - IfcPositiveLengthMeasure LongitudinalBarSpacing() const; - void setLongitudinalBarSpacing(IfcPositiveLengthMeasure v); + double LongitudinalBarSpacing() const; + void setLongitudinalBarSpacing(double v); /// Whether the optional attribute TransverseBarSpacing is defined for this IfcReinforcingMesh bool hasTransverseBarSpacing() const; - IfcPositiveLengthMeasure TransverseBarSpacing() const; - void setTransverseBarSpacing(IfcPositiveLengthMeasure v); + double TransverseBarSpacing() const; + void setTransverseBarSpacing(double v); /// Whether the optional attribute PredefinedType is defined for this IfcReinforcingMesh bool hasPredefinedType() const; /// The predefined type is always MESH. @@ -33587,7 +34847,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReinforcingMesh (IfcAbstractEntity* e); - IfcReinforcingMesh (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, boost::optional< IfcPositiveLengthMeasure > v10_MeshLength, boost::optional< IfcPositiveLengthMeasure > v11_MeshWidth, boost::optional< IfcPositiveLengthMeasure > v12_LongitudinalBarNominalDiameter, boost::optional< IfcPositiveLengthMeasure > v13_TransverseBarNominalDiameter, boost::optional< IfcAreaMeasure > v14_LongitudinalBarCrossSectionArea, boost::optional< IfcAreaMeasure > v15_TransverseBarCrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v16_LongitudinalBarSpacing, boost::optional< IfcPositiveLengthMeasure > v17_TransverseBarSpacing, boost::optional< IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum > v18_PredefinedType); + IfcReinforcingMesh (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_MeshLength, boost::optional< double > v11_MeshWidth, boost::optional< double > v12_LongitudinalBarNominalDiameter, boost::optional< double > v13_TransverseBarNominalDiameter, boost::optional< double > v14_LongitudinalBarCrossSectionArea, boost::optional< double > v15_TransverseBarCrossSectionArea, boost::optional< double > v16_LongitudinalBarSpacing, boost::optional< double > v17_TransverseBarSpacing, boost::optional< IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum > v18_PredefinedType); typedef IfcTemplatedEntityList< IfcReinforcingMesh > list; }; /// 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. @@ -33609,51 +34869,51 @@ public: /// Whether the optional attribute MeshLength is defined for this IfcReinforcingMeshType bool hasMeshLength() const; /// The overall length of the mesh measured in its longitudinal direction. - IfcPositiveLengthMeasure MeshLength() const; - void setMeshLength(IfcPositiveLengthMeasure v); + double MeshLength() const; + void setMeshLength(double v); /// Whether the optional attribute MeshWidth is defined for this IfcReinforcingMeshType bool hasMeshWidth() const; /// The overall width of the mesh measured in its transversal direction. - IfcPositiveLengthMeasure MeshWidth() const; - void setMeshWidth(IfcPositiveLengthMeasure v); + double MeshWidth() const; + void setMeshWidth(double v); /// Whether the optional attribute LongitudinalBarNominalDiameter is defined for this IfcReinforcingMeshType bool hasLongitudinalBarNominalDiameter() const; /// The nominal diameter denoting the cross-section size of the longitudinal bars. - IfcPositiveLengthMeasure LongitudinalBarNominalDiameter() const; - void setLongitudinalBarNominalDiameter(IfcPositiveLengthMeasure v); + double LongitudinalBarNominalDiameter() const; + void setLongitudinalBarNominalDiameter(double v); /// Whether the optional attribute TransverseBarNominalDiameter is defined for this IfcReinforcingMeshType bool hasTransverseBarNominalDiameter() const; /// The nominal diameter denoting the cross-section size of the transverse bars. - IfcPositiveLengthMeasure TransverseBarNominalDiameter() const; - void setTransverseBarNominalDiameter(IfcPositiveLengthMeasure v); + double TransverseBarNominalDiameter() const; + void setTransverseBarNominalDiameter(double v); /// Whether the optional attribute LongitudinalBarCrossSectionArea is defined for this IfcReinforcingMeshType bool hasLongitudinalBarCrossSectionArea() const; /// The effective cross-section area of the longitudinal bars of the mesh. - IfcAreaMeasure LongitudinalBarCrossSectionArea() const; - void setLongitudinalBarCrossSectionArea(IfcAreaMeasure v); + double LongitudinalBarCrossSectionArea() const; + void setLongitudinalBarCrossSectionArea(double v); /// Whether the optional attribute TransverseBarCrossSectionArea is defined for this IfcReinforcingMeshType bool hasTransverseBarCrossSectionArea() const; /// The effective cross-section area of the transverse bars of the mesh. - IfcAreaMeasure TransverseBarCrossSectionArea() const; - void setTransverseBarCrossSectionArea(IfcAreaMeasure v); + double TransverseBarCrossSectionArea() const; + void setTransverseBarCrossSectionArea(double v); /// Whether the optional attribute LongitudinalBarSpacing is defined for this IfcReinforcingMeshType bool hasLongitudinalBarSpacing() const; /// The spacing between the longitudinal bars. Note: an even distribution of bars is presumed; other cases are handled by classification or property sets. - IfcPositiveLengthMeasure LongitudinalBarSpacing() const; - void setLongitudinalBarSpacing(IfcPositiveLengthMeasure v); + double LongitudinalBarSpacing() const; + void setLongitudinalBarSpacing(double v); /// Whether the optional attribute TransverseBarSpacing is defined for this IfcReinforcingMeshType bool hasTransverseBarSpacing() const; /// The spacing between the transverse bars. Note: an even distribution of bars is presumed; other cases are handled by classification or property sets. - IfcPositiveLengthMeasure TransverseBarSpacing() const; - void setTransverseBarSpacing(IfcPositiveLengthMeasure v); + double TransverseBarSpacing() const; + void setTransverseBarSpacing(double v); /// Whether the optional attribute BendingShapeCode is defined for this IfcReinforcingMeshType bool hasBendingShapeCode() const; - IfcLabel BendingShapeCode() const; - void setBendingShapeCode(IfcLabel v); + std::string BendingShapeCode() const; + void setBendingShapeCode(std::string v); /// Whether the optional attribute BendingParameters is defined for this IfcReinforcingMeshType bool hasBendingParameters() const; - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr BendingParameters() const; - void setBendingParameters(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr BendingParameters() const; + void setBendingParameters(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 20; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; case 15: return IfcUtil::Argument_DOUBLE; case 16: return IfcUtil::Argument_DOUBLE; case 17: return IfcUtil::Argument_DOUBLE; case 18: return IfcUtil::Argument_STRING; case 19: return IfcUtil::Argument_ENTITY_LIST; } return IfcReinforcingElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "MeshLength"; case 11: return "MeshWidth"; case 12: return "LongitudinalBarNominalDiameter"; case 13: return "TransverseBarNominalDiameter"; case 14: return "LongitudinalBarCrossSectionArea"; case 15: return "TransverseBarCrossSectionArea"; case 16: return "LongitudinalBarSpacing"; case 17: return "TransverseBarSpacing"; case 18: return "BendingShapeCode"; case 19: return "BendingParameters"; } return IfcReinforcingElementType::getArgumentName(i); } @@ -33662,7 +34922,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReinforcingMeshType (IfcAbstractEntity* e); - IfcReinforcingMeshType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_MeshLength, boost::optional< IfcPositiveLengthMeasure > v12_MeshWidth, boost::optional< IfcPositiveLengthMeasure > v13_LongitudinalBarNominalDiameter, boost::optional< IfcPositiveLengthMeasure > v14_TransverseBarNominalDiameter, boost::optional< IfcAreaMeasure > v15_LongitudinalBarCrossSectionArea, boost::optional< IfcAreaMeasure > v16_TransverseBarCrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v17_LongitudinalBarSpacing, boost::optional< IfcPositiveLengthMeasure > v18_TransverseBarSpacing, boost::optional< IfcLabel > v19_BendingShapeCode, boost::optional< IfcEntityList::ptr > v20_BendingParameters); + IfcReinforcingMeshType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcReinforcingMeshTypeEnum::IfcReinforcingMeshTypeEnum v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< IfcEntityList::ptr > v20_BendingParameters); typedef IfcTemplatedEntityList< IfcReinforcingMeshType > list; }; /// The aggregation relationship @@ -33707,7 +34967,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRelAggregates (IfcAbstractEntity* e); - IfcRelAggregates (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects); + IfcRelAggregates (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcObjectDefinition* v5_RelatingObject, IfcTemplatedEntityList< IfcObjectDefinition >::ptr v6_RelatedObjects); typedef IfcTemplatedEntityList< IfcRelAggregates > list; }; /// Definition from IAI: The element type @@ -33755,7 +35015,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRoofType (IfcAbstractEntity* e); - IfcRoofType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcRoofTypeEnum::IfcRoofTypeEnum v10_PredefinedType); + IfcRoofType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcRoofTypeEnum::IfcRoofTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcRoofType > list; }; /// The flow terminal type IfcSanitaryTerminalType defines commonly shared information for occurrences of sanitary terminals. The set of shared information may include: @@ -33808,7 +35068,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSanitaryTerminalType (IfcAbstractEntity* e); - IfcSanitaryTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v10_PredefinedType); + IfcSanitaryTerminalType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcSanitaryTerminalType > list; }; /// Definition from IAI: The IfcShadingDeviceType @@ -33845,7 +35105,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcShadingDeviceType (IfcAbstractEntity* e); - IfcShadingDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum v10_PredefinedType); + IfcShadingDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcShadingDeviceType > list; }; /// Definition from ISO 6707-1:1989: Area where construction @@ -34043,25 +35303,25 @@ public: bool hasRefLatitude() const; /// World Latitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Latitudes are measured relative to the geodetic equator, north of the equator by positive values - from 0 till +90, south of the equator by negative values - from 0 till -90. - IfcCompoundPlaneAngleMeasure RefLatitude() const; - void setRefLatitude(IfcCompoundPlaneAngleMeasure v); + std::vector< int > /*[3:4]*/ RefLatitude() const; + void setRefLatitude(std::vector< int > /*[3:4]*/ v); /// Whether the optional attribute RefLongitude is defined for this IfcSite bool hasRefLongitude() const; /// World Longitude at reference point (most likely defined in legal description). Defined as integer values for degrees, minutes, seconds, and, optionally, millionths of seconds with respect to the world geodetic system WGS84. /// Longitudes are measured relative to the geodetic zero meridian, nominally the same as the Greenwich prime meridian: longitudes west of the zero meridian have negative values - from 0 till -180, longitudes east of the zero meridian have positive values - from 0 till -180. /// Example: Chicago Harbor Light has according to WGS84 a longitude -87.35.40 (or 87.35.40W) and a latitude 41.53.30 (or 41.53.30N). - IfcCompoundPlaneAngleMeasure RefLongitude() const; - void setRefLongitude(IfcCompoundPlaneAngleMeasure v); + std::vector< int > /*[3:4]*/ RefLongitude() const; + void setRefLongitude(std::vector< int > /*[3:4]*/ v); /// Whether the optional attribute RefElevation is defined for this IfcSite bool hasRefElevation() const; /// Datum elevation relative to sea level. - IfcLengthMeasure RefElevation() const; - void setRefElevation(IfcLengthMeasure v); + double RefElevation() const; + void setRefElevation(double v); /// Whether the optional attribute LandTitleNumber is defined for this IfcSite bool hasLandTitleNumber() const; /// The land title number (designation of the site within a regional system). - IfcLabel LandTitleNumber() const; - void setLandTitleNumber(IfcLabel v); + std::string LandTitleNumber() const; + void setLandTitleNumber(std::string v); /// Whether the optional attribute SiteAddress is defined for this IfcSite bool hasSiteAddress() const; /// Address given to the site for postal purposes. @@ -34075,7 +35335,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSite (IfcAbstractEntity* e); - IfcSite (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcCompoundPlaneAngleMeasure > v10_RefLatitude, boost::optional< IfcCompoundPlaneAngleMeasure > v11_RefLongitude, boost::optional< IfcLengthMeasure > v12_RefElevation, boost::optional< IfcLabel > v13_LandTitleNumber, IfcPostalAddress* v14_SiteAddress); + IfcSite (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< std::vector< int > /*[3:4]*/ > v10_RefLatitude, boost::optional< std::vector< int > /*[3:4]*/ > v11_RefLongitude, boost::optional< double > v12_RefElevation, boost::optional< std::string > v13_LandTitleNumber, IfcPostalAddress* v14_SiteAddress); typedef IfcTemplatedEntityList< IfcSite > list; }; /// The element type IfcSlabType defines commonly shared @@ -34168,7 +35428,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSlabType (IfcAbstractEntity* e); - IfcSlabType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSlabTypeEnum::IfcSlabTypeEnum v10_PredefinedType); + IfcSlabType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSlabTypeEnum::IfcSlabTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcSlabType > list; }; /// The energy conversion device type IfcSolarDeviceType defines commonly shared information for occurrences of solar devices. The set of shared information may include: @@ -34209,7 +35469,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSolarDeviceType (IfcAbstractEntity* e); - IfcSolarDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum v10_PredefinedType); + IfcSolarDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcSolarDeviceType > list; }; /// A space represents an area or volume @@ -34476,8 +35736,8 @@ public: /// Whether the optional attribute ElevationWithFlooring is defined for this IfcSpace bool hasElevationWithFlooring() const; /// Level of flooring of this space; the average shall be taken, if the space ground surface is sloping or if there are level differences within this space. - IfcLengthMeasure ElevationWithFlooring() const; - void setElevationWithFlooring(IfcLengthMeasure v); + double ElevationWithFlooring() const; + void setElevationWithFlooring(double v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_DOUBLE; } return IfcSpatialStructureElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "ElevationWithFlooring"; } return IfcSpatialStructureElement::getArgumentName(i); } @@ -34488,7 +35748,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpace (IfcAbstractEntity* e); - IfcSpace (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcSpaceTypeEnum::IfcSpaceTypeEnum > v10_PredefinedType, boost::optional< IfcLengthMeasure > v11_ElevationWithFlooring); + IfcSpace (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< IfcSpaceTypeEnum::IfcSpaceTypeEnum > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring); typedef IfcTemplatedEntityList< IfcSpace > list; }; /// The energy conversion device type IfcSpaceHeaterType defines commonly shared information for occurrences of space heaters. The set of shared information may include: @@ -34534,7 +35794,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpaceHeaterType (IfcAbstractEntity* e); - IfcSpaceHeaterType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v10_PredefinedType); + IfcSpaceHeaterType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcSpaceHeaterType > list; }; /// Definition from IAI: A space represents an area or @@ -34625,8 +35885,8 @@ public: void setPredefinedType(IfcSpaceTypeEnum::IfcSpaceTypeEnum v); /// Whether the optional attribute LongName is defined for this IfcSpaceType bool hasLongName() const; - IfcLabel LongName() const; - void setLongName(IfcLabel v); + std::string LongName() const; + void setLongName(std::string v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_STRING; } return IfcSpatialStructureElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "LongName"; } return IfcSpatialStructureElementType::getArgumentName(i); } @@ -34635,7 +35895,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpaceType (IfcAbstractEntity* e); - IfcSpaceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSpaceTypeEnum::IfcSpaceTypeEnum v10_PredefinedType, boost::optional< IfcLabel > v11_LongName); + IfcSpaceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSpaceTypeEnum::IfcSpaceTypeEnum v10_PredefinedType, boost::optional< std::string > v11_LongName); typedef IfcTemplatedEntityList< IfcSpaceType > list; }; /// The flow terminal type IfcStackTerminalType defines commonly shared information for occurrences of stack terminals. The set of shared information may include: @@ -34677,7 +35937,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStackTerminalType (IfcAbstractEntity* e); - IfcStackTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v10_PredefinedType); + IfcStackTerminalType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcStackTerminalType > list; }; /// Definition from IAI: The element type (IfcStairFlightType) @@ -34713,7 +35973,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStairFlightType (IfcAbstractEntity* e); - IfcStairFlightType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v10_PredefinedType); + IfcStairFlightType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcStairFlightType > list; }; /// Definition from IAI: The element type @@ -34762,7 +36022,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStairType (IfcAbstractEntity* e); - IfcStairType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcStairTypeEnum::IfcStairTypeEnum v10_PredefinedType); + IfcStairType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcStairTypeEnum::IfcStairTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcStairType > list; }; /// Definition from IAI: A structural action is a structural activity that acts upon @@ -34799,7 +36059,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralAction (IfcAbstractEntity* e); - IfcStructuralAction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad); + IfcStructuralAction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad); typedef IfcTemplatedEntityList< IfcStructuralAction > list; }; /// Definition from IAI: An IfcStructuralConnection represents a structural connection object (node i.e. vertex connection, or edge connection, or surface connection) or supports. @@ -34821,7 +36081,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralConnection (IfcAbstractEntity* e); - IfcStructuralConnection (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition); + IfcStructuralConnection (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition); typedef IfcTemplatedEntityList< IfcStructuralConnection > list; }; /// Definition from IAI: Defines an action which is distributed over a curve. @@ -34898,7 +36158,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralCurveAction (IfcAbstractEntity* e); - IfcStructuralCurveAction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v12_PredefinedType); + IfcStructuralCurveAction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v12_PredefinedType); typedef IfcTemplatedEntityList< IfcStructuralCurveAction > list; }; /// 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. @@ -34933,7 +36193,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralCurveConnection (IfcAbstractEntity* e); - IfcStructuralCurveConnection (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition, IfcDirection* v9_Axis); + IfcStructuralCurveConnection (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition, IfcDirection* v9_Axis); typedef IfcTemplatedEntityList< IfcStructuralCurveConnection > list; }; /// 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. @@ -34991,7 +36251,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralCurveMember (IfcAbstractEntity* e); - IfcStructuralCurveMember (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v8_PredefinedType, IfcDirection* v9_Axis); + IfcStructuralCurveMember (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v8_PredefinedType, IfcDirection* v9_Axis); typedef IfcTemplatedEntityList< IfcStructuralCurveMember > list; }; /// 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. @@ -35024,7 +36284,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralCurveMemberVarying (IfcAbstractEntity* e); - IfcStructuralCurveMemberVarying (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v8_PredefinedType, IfcDirection* v9_Axis); + IfcStructuralCurveMemberVarying (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralCurveMemberTypeEnum::IfcStructuralCurveMemberTypeEnum v8_PredefinedType, IfcDirection* v9_Axis); typedef IfcTemplatedEntityList< IfcStructuralCurveMemberVarying > list; }; /// Definition from IAI: Defines a reaction which occurs distributed over a curve. @@ -35090,7 +36350,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralCurveReaction (IfcAbstractEntity* e); - IfcStructuralCurveReaction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v10_PredefinedType); + IfcStructuralCurveReaction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcStructuralCurveReaction > list; }; /// Definition from IAI: Defines an action with constant value which is distributed over a curve. @@ -35110,7 +36370,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLinearAction (IfcAbstractEntity* e); - IfcStructuralLinearAction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v12_PredefinedType); + IfcStructuralLinearAction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralCurveActivityTypeEnum::IfcStructuralCurveActivityTypeEnum v12_PredefinedType); typedef IfcTemplatedEntityList< IfcStructuralLinearAction > list; }; /// Definition from IAI: The entity IfcStructuralLoadGroup is used to structure the @@ -35160,13 +36420,13 @@ public: /// Whether the optional attribute Coefficient is defined for this IfcStructuralLoadGroup bool hasCoefficient() const; /// Load factor. If omitted, a factor is not yet known or not specified. A load factor of 1.0 shall be explicitly exported as Coefficient = 1.0. - IfcRatioMeasure Coefficient() const; - void setCoefficient(IfcRatioMeasure v); + double Coefficient() const; + void setCoefficient(double v); /// Whether the optional attribute Purpose is defined for this IfcStructuralLoadGroup bool hasPurpose() const; /// Description of the purpose of this instance. Among else, possible values of the Purpose of load combinations are 'SLS', 'ULS', 'ALS' to indicate serviceability, ultimate, or accidental limit state. - IfcLabel Purpose() const; - void setPurpose(IfcLabel v); + std::string Purpose() const; + void setPurpose(std::string v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_ENUMERATION; case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::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); } @@ -35177,7 +36437,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoadGroup (IfcAbstractEntity* e); - IfcStructuralLoadGroup (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< IfcRatioMeasure > v9_Coefficient, boost::optional< IfcLabel > v10_Purpose); + IfcStructuralLoadGroup (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose); typedef IfcTemplatedEntityList< IfcStructuralLoadGroup > list; }; /// Definition from IAI: Defines an action which acts on a point. @@ -35235,7 +36495,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralPointAction (IfcAbstractEntity* e); - IfcStructuralPointAction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad); + IfcStructuralPointAction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad); typedef IfcTemplatedEntityList< IfcStructuralPointAction > list; }; /// Definition from IAI: Instances of IfcStructuralPointConnection describe structural nodes or point supports. @@ -35266,7 +36526,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralPointConnection (IfcAbstractEntity* e); - IfcStructuralPointConnection (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition, IfcAxis2Placement3D* v9_ConditionCoordinateSystem); + IfcStructuralPointConnection (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition, IfcAxis2Placement3D* v9_ConditionCoordinateSystem); typedef IfcTemplatedEntityList< IfcStructuralPointConnection > list; }; /// Definition from IAI: Defines a reaction which occurs at a point. @@ -35322,7 +36582,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralPointReaction (IfcAbstractEntity* e); - IfcStructuralPointReaction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); + IfcStructuralPointReaction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal); typedef IfcTemplatedEntityList< IfcStructuralPointReaction > list; }; /// 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. @@ -35351,7 +36611,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralResultGroup (IfcAbstractEntity* e); - IfcStructuralResultGroup (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v6_TheoryType, IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear); + IfcStructuralResultGroup (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcAnalysisTheoryTypeEnum::IfcAnalysisTheoryTypeEnum v6_TheoryType, IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear); typedef IfcTemplatedEntityList< IfcStructuralResultGroup > list; }; /// Definition from IAI: Defines an action which is distributed over a surface. @@ -35424,7 +36684,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralSurfaceAction (IfcAbstractEntity* e); - IfcStructuralSurfaceAction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v12_PredefinedType); + IfcStructuralSurfaceAction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v12_PredefinedType); typedef IfcTemplatedEntityList< IfcStructuralSurfaceAction > list; }; /// 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. @@ -35449,7 +36709,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralSurfaceConnection (IfcAbstractEntity* e); - IfcStructuralSurfaceConnection (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition); + IfcStructuralSurfaceConnection (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcBoundaryCondition* v8_AppliedCondition); typedef IfcTemplatedEntityList< IfcStructuralSurfaceConnection > list; }; /// IfcSubContractResource is a construction resource needed in a construction process that represents a sub-contractor. @@ -35492,7 +36752,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSubContractResource (IfcAbstractEntity* e); - IfcSubContractResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum > v11_PredefinedType); + IfcSubContractResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcSubContractResourceTypeEnum::IfcSubContractResourceTypeEnum > v11_PredefinedType); typedef IfcTemplatedEntityList< IfcSubContractResource > list; }; /// Definition from IAI: A surface feature is a modification at (onto, or into) of the surface of an element. Parts of the surface of the entire surface may be affected. The volume and mass of the element may be increased, remain unchanged, or be decreased by the surface feature, depending on manufacturing technology. @@ -35542,7 +36802,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSurfaceFeature (IfcAbstractEntity* e); - IfcSurfaceFeature (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum > v9_PredefinedType); + IfcSurfaceFeature (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSurfaceFeatureTypeEnum::IfcSurfaceFeatureTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcSurfaceFeature > list; }; /// The flow controller type IfcSwitchingDeviceType defines commonly shared information for occurrences of switching devices. The set of shared information may include: @@ -35598,7 +36858,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSwitchingDeviceType (IfcAbstractEntity* e); - IfcSwitchingDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v10_PredefinedType); + IfcSwitchingDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcSwitchingDeviceType > list; }; /// Definition from IAI: Organized combination of @@ -35629,7 +36889,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSystem (IfcAbstractEntity* e); - IfcSystem (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType); + IfcSystem (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType); typedef IfcTemplatedEntityList< IfcSystem > list; }; /// A system furniture element defines components of modular furniture which are not directly placed in a building structure but aggregated inside furniture. @@ -35670,7 +36930,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSystemFurnitureElement (IfcAbstractEntity* e); - IfcSystemFurnitureElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v9_PredefinedType); + IfcSystemFurnitureElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSystemFurnitureElementTypeEnum::IfcSystemFurnitureElementTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcSystemFurnitureElement > list; }; /// The flow storage device type IfcTankType defines commonly shared information for occurrences of tanks. The set of shared information may include: @@ -35718,7 +36978,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTankType (IfcAbstractEntity* e); - IfcTankType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTankTypeEnum::IfcTankTypeEnum v10_PredefinedType); + IfcTankType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTankTypeEnum::IfcTankTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcTankType > list; }; @@ -35730,32 +36990,32 @@ public: void setPredefinedType(IfcTendonTypeEnum::IfcTendonTypeEnum v); /// Whether the optional attribute NominalDiameter is defined for this IfcTendon bool hasNominalDiameter() const; - IfcPositiveLengthMeasure NominalDiameter() const; - void setNominalDiameter(IfcPositiveLengthMeasure v); + double NominalDiameter() const; + void setNominalDiameter(double v); /// Whether the optional attribute CrossSectionArea is defined for this IfcTendon bool hasCrossSectionArea() const; - IfcAreaMeasure CrossSectionArea() const; - void setCrossSectionArea(IfcAreaMeasure v); + double CrossSectionArea() const; + void setCrossSectionArea(double v); /// Whether the optional attribute TensionForce is defined for this IfcTendon bool hasTensionForce() const; - IfcForceMeasure TensionForce() const; - void setTensionForce(IfcForceMeasure v); + double TensionForce() const; + void setTensionForce(double v); /// Whether the optional attribute PreStress is defined for this IfcTendon bool hasPreStress() const; - IfcPressureMeasure PreStress() const; - void setPreStress(IfcPressureMeasure v); + double PreStress() const; + void setPreStress(double v); /// Whether the optional attribute FrictionCoefficient is defined for this IfcTendon bool hasFrictionCoefficient() const; - IfcNormalisedRatioMeasure FrictionCoefficient() const; - void setFrictionCoefficient(IfcNormalisedRatioMeasure v); + double FrictionCoefficient() const; + void setFrictionCoefficient(double v); /// Whether the optional attribute AnchorageSlip is defined for this IfcTendon bool hasAnchorageSlip() const; - IfcPositiveLengthMeasure AnchorageSlip() const; - void setAnchorageSlip(IfcPositiveLengthMeasure v); + double AnchorageSlip() const; + void setAnchorageSlip(double v); /// Whether the optional attribute MinCurvatureRadius is defined for this IfcTendon bool hasMinCurvatureRadius() const; - IfcPositiveLengthMeasure MinCurvatureRadius() const; - void setMinCurvatureRadius(IfcPositiveLengthMeasure v); + double MinCurvatureRadius() const; + void setMinCurvatureRadius(double v); virtual unsigned int getArgumentCount() const { return 17; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_DOUBLE; case 14: return IfcUtil::Argument_DOUBLE; case 15: return IfcUtil::Argument_DOUBLE; case 16: return IfcUtil::Argument_DOUBLE; } return IfcReinforcingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "NominalDiameter"; case 11: return "CrossSectionArea"; case 12: return "TensionForce"; case 13: return "PreStress"; case 14: return "FrictionCoefficient"; case 15: return "AnchorageSlip"; case 16: return "MinCurvatureRadius"; } return IfcReinforcingElement::getArgumentName(i); } @@ -35764,7 +37024,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTendon (IfcAbstractEntity* e); - IfcTendon (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, boost::optional< IfcTendonTypeEnum::IfcTendonTypeEnum > v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_NominalDiameter, boost::optional< IfcAreaMeasure > v12_CrossSectionArea, boost::optional< IfcForceMeasure > v13_TensionForce, boost::optional< IfcPressureMeasure > v14_PreStress, boost::optional< IfcNormalisedRatioMeasure > v15_FrictionCoefficient, boost::optional< IfcPositiveLengthMeasure > v16_AnchorageSlip, boost::optional< IfcPositiveLengthMeasure > v17_MinCurvatureRadius); + IfcTendon (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< IfcTendonTypeEnum::IfcTendonTypeEnum > v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_TensionForce, boost::optional< double > v14_PreStress, boost::optional< double > v15_FrictionCoefficient, boost::optional< double > v16_AnchorageSlip, boost::optional< double > v17_MinCurvatureRadius); typedef IfcTemplatedEntityList< IfcTendon > list; }; @@ -35782,7 +37042,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTendonAnchor (IfcAbstractEntity* e); - IfcTendonAnchor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, boost::optional< IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum > v10_PredefinedType); + IfcTendonAnchor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum > v10_PredefinedType); typedef IfcTemplatedEntityList< IfcTendonAnchor > list; }; @@ -35798,7 +37058,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTendonAnchorType (IfcAbstractEntity* e); - IfcTendonAnchorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum v10_PredefinedType); + IfcTendonAnchorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTendonAnchorTypeEnum::IfcTendonAnchorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcTendonAnchorType > list; }; @@ -35808,16 +37068,16 @@ public: void setPredefinedType(IfcTendonTypeEnum::IfcTendonTypeEnum v); /// Whether the optional attribute NominalDiameter is defined for this IfcTendonType bool hasNominalDiameter() const; - IfcPositiveLengthMeasure NominalDiameter() const; - void setNominalDiameter(IfcPositiveLengthMeasure v); + double NominalDiameter() const; + void setNominalDiameter(double v); /// Whether the optional attribute CrossSectionArea is defined for this IfcTendonType bool hasCrossSectionArea() const; - IfcAreaMeasure CrossSectionArea() const; - void setCrossSectionArea(IfcAreaMeasure v); + double CrossSectionArea() const; + void setCrossSectionArea(double v); /// Whether the optional attribute SheethDiameter is defined for this IfcTendonType bool hasSheethDiameter() const; - IfcPositiveLengthMeasure SheethDiameter() const; - void setSheethDiameter(IfcPositiveLengthMeasure v); + double SheethDiameter() const; + void setSheethDiameter(double v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; } return IfcReinforcingElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "NominalDiameter"; case 11: return "CrossSectionArea"; case 12: return "SheethDiameter"; } return IfcReinforcingElementType::getArgumentName(i); } @@ -35826,7 +37086,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTendonType (IfcAbstractEntity* e); - IfcTendonType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_NominalDiameter, boost::optional< IfcAreaMeasure > v12_CrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v13_SheethDiameter); + IfcTendonType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTendonTypeEnum::IfcTendonTypeEnum v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheethDiameter); typedef IfcTemplatedEntityList< IfcTendonType > list; }; /// The energy conversion device type IfcTransformerType defines commonly shared information for occurrences of transformers. The set of shared information may include: @@ -35869,7 +37129,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTransformerType (IfcAbstractEntity* e); - IfcTransformerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTransformerTypeEnum::IfcTransformerTypeEnum v10_PredefinedType); + IfcTransformerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTransformerTypeEnum::IfcTransformerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcTransformerType > list; }; /// Definition from IAI: Generalization of all transport @@ -36005,7 +37265,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTransportElement (IfcAbstractEntity* e); - IfcTransportElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v9_PredefinedType); + IfcTransportElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTransportElementTypeEnum::IfcTransportElementTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcTransportElement > list; }; /// Definition from ISO/CD 10303-42:1992: @@ -36092,11 +37352,11 @@ public: IfcCurve* BasisCurve() const; void setBasisCurve(IfcCurve* v); /// The first trimming point which may be specified as a Cartesian point, as a real parameter or both. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Trim1() const; - void setTrim1(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr Trim1() const; + void setTrim1(IfcEntityList::ptr v); /// The second trimming point which may be specified as a Cartesian point, as a real parameter or both. - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr Trim2() const; - void setTrim2(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr Trim2() const; + void setTrim2(IfcEntityList::ptr v); /// Flag to indicate whether the direction of the trimmed curve agrees with or is opposed to the direction of the basis curve. bool SenseAgreement() const; void setSenseAgreement(bool v); @@ -36156,7 +37416,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTubeBundleType (IfcAbstractEntity* e); - IfcTubeBundleType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v10_PredefinedType); + IfcTubeBundleType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcTubeBundleType > list; }; /// The energy conversion device type IfcUnitaryEquipmentType defines commonly shared information for occurrences of unitary equipments. The set of shared information may include: @@ -36200,7 +37460,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcUnitaryEquipmentType (IfcAbstractEntity* e); - IfcUnitaryEquipmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v10_PredefinedType); + IfcUnitaryEquipmentType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcUnitaryEquipmentType > list; }; /// The flow controller type IfcValveType defines commonly shared information for occurrences of valves. The set of shared information may include: @@ -36254,7 +37514,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcValveType (IfcAbstractEntity* e); - IfcValveType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcValveTypeEnum::IfcValveTypeEnum v10_PredefinedType); + IfcValveType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcValveTypeEnum::IfcValveTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcValveType > list; }; /// A vibration isolator is a device used to minimize the effects of vibration transmissibility in a building. @@ -36305,7 +37565,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcVibrationIsolator (IfcAbstractEntity* e); - IfcVibrationIsolator (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum > v9_PredefinedType); + IfcVibrationIsolator (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcVibrationIsolator > list; }; /// The element component type IfcVibrationIsolatorType defines commonly shared information for occurrences of vibration isolators. The set of shared information may include: @@ -36343,7 +37603,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcVibrationIsolatorType (IfcAbstractEntity* e); - IfcVibrationIsolatorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v10_PredefinedType); + IfcVibrationIsolatorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcVibrationIsolatorTypeEnum::IfcVibrationIsolatorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcVibrationIsolatorType > list; }; /// 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. @@ -36442,7 +37702,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcVirtualElement (IfcAbstractEntity* e); - IfcVirtualElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcVirtualElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcVirtualElement > list; }; /// Definition from IAI: A voiding feature is a modification of an element which reduces its volume. Such a feature may be manufactured in different ways, for example by cutting, drilling, or milling of members made of various materials, or by inlays into the formwork of cast members made of materials such as concrete. @@ -36492,7 +37752,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcVoidingFeature (IfcAbstractEntity* e); - IfcVoidingFeature (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum > v9_PredefinedType); + IfcVoidingFeature (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcVoidingFeatureTypeEnum::IfcVoidingFeatureTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcVoidingFeature > list; }; /// Definition from IAI: The element type @@ -36592,7 +37852,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWallType (IfcAbstractEntity* e); - IfcWallType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWallTypeEnum::IfcWallTypeEnum v10_PredefinedType); + IfcWallType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcWallTypeEnum::IfcWallTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcWallType > list; }; /// The flow terminal type IfcWasteTerminalType defines commonly shared information for occurrences of waste terminals. The set of shared information may include: @@ -36644,7 +37904,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWasteTerminalType (IfcAbstractEntity* e); - IfcWasteTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v10_PredefinedType); + IfcWasteTerminalType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcWasteTerminalType > list; }; /// Definition from IAI: The element type @@ -36782,8 +38042,8 @@ public: void setParameterTakesPrecedence(bool v); /// Whether the optional attribute UserDefinedPartitioningType is defined for this IfcWindowType bool hasUserDefinedPartitioningType() const; - IfcLabel UserDefinedPartitioningType() const; - void setUserDefinedPartitioningType(IfcLabel v); + std::string UserDefinedPartitioningType() const; + void setUserDefinedPartitioningType(std::string v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_ENUMERATION; case 11: return IfcUtil::Argument_BOOL; case 12: return IfcUtil::Argument_STRING; } return IfcBuildingElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "PartitioningType"; case 11: return "ParameterTakesPrecedence"; case 12: return "UserDefinedPartitioningType"; } return IfcBuildingElementType::getArgumentName(i); } @@ -36792,7 +38052,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWindowType (IfcAbstractEntity* e); - IfcWindowType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcWindowTypeEnum::IfcWindowTypeEnum v10_PredefinedType, IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< IfcLabel > v13_UserDefinedPartitioningType); + IfcWindowType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcWindowTypeEnum::IfcWindowTypeEnum v10_PredefinedType, IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType); typedef IfcTemplatedEntityList< IfcWindowType > list; }; /// An IfcWorkCalendar defines working and non-working time periods for tasks and resources. It enables to define both specific time periods, such as from 7:00 till 12:00 on 25th August 2009, as well as repetitive time periods based on frequently used recurrence patterns, such as each Monday from 7:00 till 12:00 between 1st March 2009 and 31st December 2009. @@ -36840,7 +38100,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWorkCalendar (IfcAbstractEntity* e); - IfcWorkCalendar (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum > v9_PredefinedType); + IfcWorkCalendar (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< IfcTemplatedEntityList< IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< IfcWorkCalendarTypeEnum::IfcWorkCalendarTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcWorkCalendar > list; }; /// An IfcWorkControl is an abstract supertype which captures information that is common to both IfcWorkPlan and IfcWorkSchedule. @@ -36890,8 +38150,8 @@ public: class IfcWorkControl : public IfcControl { public: /// The date that the plan is created. - IfcDateTime CreationDate() const; - void setCreationDate(IfcDateTime v); + std::string CreationDate() const; + void setCreationDate(std::string v); /// Whether the optional attribute Creators is defined for this IfcWorkControl bool hasCreators() const; /// The authors of the work plan. @@ -36900,26 +38160,26 @@ public: /// Whether the optional attribute Purpose is defined for this IfcWorkControl bool hasPurpose() const; /// A description of the purpose of the work schedule. - IfcLabel Purpose() const; - void setPurpose(IfcLabel v); + std::string Purpose() const; + void setPurpose(std::string v); /// Whether the optional attribute Duration is defined for this IfcWorkControl bool hasDuration() const; /// The total duration of the entire work schedule. - IfcDuration Duration() const; - void setDuration(IfcDuration v); + std::string Duration() const; + void setDuration(std::string v); /// Whether the optional attribute TotalFloat is defined for this IfcWorkControl bool hasTotalFloat() const; /// The total time float of the entire work schedule. - IfcDuration TotalFloat() const; - void setTotalFloat(IfcDuration v); + std::string TotalFloat() const; + void setTotalFloat(std::string v); /// The start time of the schedule. - IfcDateTime StartTime() const; - void setStartTime(IfcDateTime v); + std::string StartTime() const; + void setStartTime(std::string v); /// Whether the optional attribute FinishTime is defined for this IfcWorkControl bool hasFinishTime() const; /// The finish time of the schedule. - IfcDateTime FinishTime() const; - void setFinishTime(IfcDateTime v); + std::string FinishTime() const; + void setFinishTime(std::string v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_ENTITY_LIST; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_STRING; case 10: return IfcUtil::Argument_STRING; case 11: return IfcUtil::Argument_STRING; case 12: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "CreationDate"; case 7: return "Creators"; case 8: return "Purpose"; case 9: return "Duration"; case 10: return "TotalFloat"; case 11: return "StartTime"; case 12: return "FinishTime"; } return IfcControl::getArgumentName(i); } @@ -36928,7 +38188,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWorkControl (IfcAbstractEntity* e); - IfcWorkControl (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcDateTime v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcDuration > v10_Duration, boost::optional< IfcDuration > v11_TotalFloat, IfcDateTime v12_StartTime, boost::optional< IfcDateTime > v13_FinishTime); + IfcWorkControl (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime); typedef IfcTemplatedEntityList< IfcWorkControl > list; }; /// An IfcWorkPlan represents work plans in a construction or a facilities management project. @@ -36972,7 +38232,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWorkPlan (IfcAbstractEntity* e); - IfcWorkPlan (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcDateTime v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcDuration > v10_Duration, boost::optional< IfcDuration > v11_TotalFloat, IfcDateTime v12_StartTime, boost::optional< IfcDateTime > v13_FinishTime, boost::optional< IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum > v14_PredefinedType); + IfcWorkPlan (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< IfcWorkPlanTypeEnum::IfcWorkPlanTypeEnum > v14_PredefinedType); typedef IfcTemplatedEntityList< IfcWorkPlan > list; }; /// An IfcWorkSchedule @@ -37031,7 +38291,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWorkSchedule (IfcAbstractEntity* e); - IfcWorkSchedule (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcDateTime v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< IfcLabel > v9_Purpose, boost::optional< IfcDuration > v10_Duration, boost::optional< IfcDuration > v11_TotalFloat, IfcDateTime v12_StartTime, boost::optional< IfcDateTime > v13_FinishTime, boost::optional< IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum > v14_PredefinedType); + IfcWorkSchedule (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< IfcTemplatedEntityList< IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< IfcWorkScheduleTypeEnum::IfcWorkScheduleTypeEnum > v14_PredefinedType); typedef IfcTemplatedEntityList< IfcWorkSchedule > list; }; /// Definition from IAI: A zone isÿa group of spaces, @@ -37128,8 +38388,8 @@ public: /// NOTE In many scenarios the Name attribute refers to the short name or number of a zone, and the LongName refers to the full name. /// /// IFC2x4 CHANGE The attribute has been added at the end of the entity definition. - IfcLabel LongName() const; - void setLongName(IfcLabel v); + std::string LongName() const; + void setLongName(std::string v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; } return IfcSystem::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "LongName"; } return IfcSystem::getArgumentName(i); } @@ -37138,7 +38398,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcZone (IfcAbstractEntity* e); - IfcZone (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName); + IfcZone (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName); typedef IfcTemplatedEntityList< IfcZone > list; }; /// A request is the act or instance of asking for something, such as a request for information, bid submission, or performance of work. @@ -37197,15 +38457,15 @@ public: /// Urgent: take action immediately /// /// IFC2x4 CHANGE The attribute has been added. - IfcLabel Status() const; - void setStatus(IfcLabel v); + std::string Status() const; + void setStatus(std::string v); /// Whether the optional attribute LongDescription is defined for this IfcActionRequest bool hasLongDescription() const; /// Detailed description of the permit. /// /// IFC2x4 CHANGE The attribute has been added. - IfcText LongDescription() const; - void setLongDescription(IfcText v); + std::string LongDescription() const; + void setLongDescription(std::string v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 6: return IfcUtil::Argument_ENUMERATION; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; } return IfcControl::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 6: return "PredefinedType"; case 7: return "Status"; case 8: return "LongDescription"; } return IfcControl::getArgumentName(i); } @@ -37214,7 +38474,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcActionRequest (IfcAbstractEntity* e); - IfcActionRequest (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcActionRequestTypeEnum::IfcActionRequestTypeEnum > v7_PredefinedType, boost::optional< IfcLabel > v8_Status, boost::optional< IfcText > v9_LongDescription); + IfcActionRequest (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< IfcActionRequestTypeEnum::IfcActionRequestTypeEnum > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription); typedef IfcTemplatedEntityList< IfcActionRequest > list; }; /// The flow controller type IfcAirTerminalBoxType defines commonly shared information for occurrences of air boxes. The set of shared information may include: @@ -37256,7 +38516,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAirTerminalBoxType (IfcAbstractEntity* e); - IfcAirTerminalBoxType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v10_PredefinedType); + IfcAirTerminalBoxType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcAirTerminalBoxType > list; }; /// The flow terminal type IfcAirTerminalType defines commonly shared information for occurrences of air terminals. The set of shared information may include: @@ -37297,7 +38557,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAirTerminalType (IfcAbstractEntity* e); - IfcAirTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v10_PredefinedType); + IfcAirTerminalType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcAirTerminalType > list; }; /// 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: @@ -37339,7 +38599,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAirToAirHeatRecoveryType (IfcAbstractEntity* e); - IfcAirToAirHeatRecoveryType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v10_PredefinedType); + IfcAirToAirHeatRecoveryType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcAirToAirHeatRecoveryType > list; }; /// 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. @@ -37372,8 +38632,8 @@ public: bool hasIdentification() const; /// A unique identification assigned to an asset that enables its differentiation from other assets. /// NOTE: The asset identifier is unique within the asset register. It differs from the globally unique id assigned to the instance of an entity populating a database. - IfcIdentifier Identification() const; - void setIdentification(IfcIdentifier v); + std::string Identification() const; + void setIdentification(std::string v); /// Whether the optional attribute OriginalValue is defined for this IfcAsset bool hasOriginalValue() const; /// The cost value of the asset at the time of purchase. @@ -37392,13 +38652,13 @@ public: /// Whether the optional attribute Owner is defined for this IfcAsset bool hasOwner() const; /// The name of the person or organization that 'owns' the asset. - IfcActorSelect Owner() const; - void setOwner(IfcActorSelect v); + IfcActorSelect* Owner() const; + void setOwner(IfcActorSelect* v); /// Whether the optional attribute User is defined for this IfcAsset bool hasUser() const; /// The name of the person or organization that 'uses' the asset. - IfcActorSelect User() const; - void setUser(IfcActorSelect v); + IfcActorSelect* User() const; + void setUser(IfcActorSelect* v); /// Whether the optional attribute ResponsiblePerson is defined for this IfcAsset bool hasResponsiblePerson() const; /// The person designated to be responsible for the asset. @@ -37411,8 +38671,8 @@ public: /// NOTE: This is the date on which an asset is considered to start depreciating. /// /// IFC2x4 CHANGE Type changed from IfcDateTimeSelect. - IfcDate IncorporationDate() const; - void setIncorporationDate(IfcDate v); + std::string IncorporationDate() const; + void setIncorporationDate(std::string v); /// Whether the optional attribute DepreciatedValue is defined for this IfcAsset bool hasDepreciatedValue() const; /// The current value of an asset within the accounting rules and procedures of an organization. @@ -37426,7 +38686,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAsset (IfcAbstractEntity* e); - IfcAsset (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, IfcCostValue* v7_OriginalValue, IfcCostValue* v8_CurrentValue, IfcCostValue* v9_TotalReplacementCost, boost::optional< IfcActorSelect > v10_Owner, boost::optional< IfcActorSelect > v11_User, IfcPerson* v12_ResponsiblePerson, boost::optional< IfcDate > v13_IncorporationDate, IfcCostValue* v14_DepreciatedValue); + IfcAsset (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, IfcCostValue* v7_OriginalValue, IfcCostValue* v8_CurrentValue, IfcCostValue* v9_TotalReplacementCost, IfcActorSelect* v10_Owner, IfcActorSelect* v11_User, IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, IfcCostValue* v14_DepreciatedValue); typedef IfcTemplatedEntityList< IfcAsset > list; }; /// The flow terminal type IfcAudioVisualApplianceType defines commonly shared information for occurrences of audio-visual appliances. The set of shared information may include: @@ -37484,7 +38744,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAudioVisualApplianceType (IfcAbstractEntity* e); - IfcAudioVisualApplianceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum v10_PredefinedType); + IfcAudioVisualApplianceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcAudioVisualApplianceType > list; }; /// 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. @@ -37587,8 +38847,8 @@ public: std::vector< int > /*[2:?]*/ KnotMultiplicities() const; void setKnotMultiplicities(std::vector< int > /*[2:?]*/ v); /// The list of distinct knots used to define the B-spline basis functions. - std::vector< IfcParameterValue > /*[2:?]*/ Knots() const; - void setKnots(std::vector< IfcParameterValue > /*[2:?]*/ v); + std::vector< double > /*[2:?]*/ Knots() const; + void setKnots(std::vector< double > /*[2:?]*/ v); /// The description of the knot type. This is for information only. IfcKnotType::IfcKnotType KnotSpec() const; void setKnotSpec(IfcKnotType::IfcKnotType v); @@ -37600,7 +38860,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBSplineCurveWithKnots (IfcAbstractEntity* e); - IfcBSplineCurveWithKnots (int v1_Degree, IfcTemplatedEntityList< IfcCartesianPoint >::ptr v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< IfcParameterValue > /*[2:?]*/ v7_Knots, IfcKnotType::IfcKnotType v8_KnotSpec); + IfcBSplineCurveWithKnots (int v1_Degree, IfcTemplatedEntityList< IfcCartesianPoint >::ptr v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, IfcKnotType::IfcKnotType v8_KnotSpec); typedef IfcTemplatedEntityList< IfcBSplineCurveWithKnots > list; }; /// Definition from IAI: The element type @@ -37714,7 +38974,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBeamType (IfcAbstractEntity* e); - IfcBeamType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBeamTypeEnum::IfcBeamTypeEnum v10_PredefinedType); + IfcBeamType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBeamTypeEnum::IfcBeamTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcBeamType > list; }; /// The energy conversion device type IfcBoilerType defines commonly shared information for occurrences of boilers. The set of shared information may include: @@ -37759,7 +39019,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBoilerType (IfcAbstractEntity* e); - IfcBoilerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBoilerTypeEnum::IfcBoilerTypeEnum v10_PredefinedType); + IfcBoilerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBoilerTypeEnum::IfcBoilerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcBoilerType > list; }; /// Definition from ISO/CD 10303-42:1992ÿ A boundary curve @@ -38156,7 +39416,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingElement (IfcAbstractEntity* e); - IfcBuildingElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcBuildingElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcBuildingElement > list; }; /// Definition from IAI: Layers or major components as subordinate @@ -38191,7 +39451,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingElementPart (IfcAbstractEntity* e); - IfcBuildingElementPart (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum > v9_PredefinedType); + IfcBuildingElementPart (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcBuildingElementPart > list; }; /// Definition from IAI: The building element part type defines @@ -38211,7 +39471,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingElementPartType (IfcAbstractEntity* e); - IfcBuildingElementPartType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum v10_PredefinedType); + IfcBuildingElementPartType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBuildingElementPartTypeEnum::IfcBuildingElementPartTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcBuildingElementPartType > list; }; /// Definition from IAI: The IfcBuildingElementProxy @@ -38418,7 +39678,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingElementProxy (IfcAbstractEntity* e); - IfcBuildingElementProxy (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum > v9_PredefinedType); + IfcBuildingElementProxy (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcBuildingElementProxy > list; }; /// Definition from IAI: @@ -38468,7 +39728,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingElementProxyType (IfcAbstractEntity* e); - IfcBuildingElementProxyType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v10_PredefinedType); + IfcBuildingElementProxyType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBuildingElementProxyTypeEnum::IfcBuildingElementProxyTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcBuildingElementProxyType > list; }; /// Definition from IAI: A building system is a @@ -38522,7 +39782,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBuildingSystem (IfcAbstractEntity* e); - IfcBuildingSystem (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum > v6_PredefinedType); + IfcBuildingSystem (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum > v6_PredefinedType); typedef IfcTemplatedEntityList< IfcBuildingSystem > list; }; /// The energy conversion device type IfcBurnerType defines commonly shared information for occurrences of burners. The set of shared information may include: @@ -38564,7 +39824,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBurnerType (IfcAbstractEntity* e); - IfcBurnerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcBurnerTypeEnum::IfcBurnerTypeEnum v10_PredefinedType); + IfcBurnerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcBurnerTypeEnum::IfcBurnerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcBurnerType > list; }; /// The flow fitting type IfcCableCarrierFittingType defines commonly shared information for occurrences of cable carrier fittings. The set of shared information may include: @@ -38606,7 +39866,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCableCarrierFittingType (IfcAbstractEntity* e); - IfcCableCarrierFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v10_PredefinedType); + IfcCableCarrierFittingType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCableCarrierFittingType > list; }; /// The flow segment type IfcCableCarrierSegmentType defines commonly shared information for occurrences of cable carrier segments. The set of shared information may include: @@ -38654,7 +39914,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCableCarrierSegmentType (IfcAbstractEntity* e); - IfcCableCarrierSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v10_PredefinedType); + IfcCableCarrierSegmentType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCableCarrierSegmentType > list; }; /// The flow fitting type IfcCableFittingType defines commonly shared information for occurrences of cable fittings. The set of shared information may include: @@ -38698,7 +39958,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCableFittingType (IfcAbstractEntity* e); - IfcCableFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableFittingTypeEnum::IfcCableFittingTypeEnum v10_PredefinedType); + IfcCableFittingType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableFittingTypeEnum::IfcCableFittingTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCableFittingType > list; }; /// The flow segment type IfcCableSegmentType defines commonly shared information for occurrences of cable segments. The set of shared information may include: @@ -38755,7 +40015,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCableSegmentType (IfcAbstractEntity* e); - IfcCableSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v10_PredefinedType); + IfcCableSegmentType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCableSegmentType > list; }; /// The energy conversion device type IfcChillerType defines commonly shared information for occurrences of chillers. The set of shared information may include: @@ -38803,7 +40063,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcChillerType (IfcAbstractEntity* e); - IfcChillerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcChillerTypeEnum::IfcChillerTypeEnum v10_PredefinedType); + IfcChillerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcChillerTypeEnum::IfcChillerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcChillerType > list; }; /// Definition from ISO 6707-1:1989: Construction @@ -38863,7 +40123,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcChimney (IfcAbstractEntity* e); - IfcChimney (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcChimneyTypeEnum::IfcChimneyTypeEnum > v9_PredefinedType); + IfcChimney (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcChimneyTypeEnum::IfcChimneyTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcChimney > list; }; /// 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: @@ -38896,8 +40156,8 @@ public: class IfcCircle : public IfcConic { public: /// The radius of the circle, which shall be greater than zero. - IfcPositiveLengthMeasure Radius() const; - void setRadius(IfcPositiveLengthMeasure v); + double Radius() const; + void setRadius(double v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_DOUBLE; } return IfcConic::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "Radius"; } return IfcConic::getArgumentName(i); } @@ -38906,7 +40166,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCircle (IfcAbstractEntity* e); - IfcCircle (IfcAxis2Placement v1_Position, IfcPositiveLengthMeasure v2_Radius); + IfcCircle (IfcAxis2Placement* v1_Position, double v2_Radius); typedef IfcTemplatedEntityList< IfcCircle > list; }; @@ -38920,7 +40180,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCivilElement (IfcAbstractEntity* e); - IfcCivilElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcCivilElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcCivilElement > list; }; /// The energy conversion device type IfcCoilType defines commonly shared information for occurrences of coils. The set of shared information may include: @@ -38963,7 +40223,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCoilType (IfcAbstractEntity* e); - IfcCoilType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoilTypeEnum::IfcCoilTypeEnum v10_PredefinedType); + IfcCoilType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCoilTypeEnum::IfcCoilTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCoilType > list; }; /// Definition from ISO 6707-1:1989: Structural member of @@ -39255,7 +40515,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcColumn (IfcAbstractEntity* e); - IfcColumn (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > v9_PredefinedType); + IfcColumn (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcColumn > list; }; /// The standard column, @@ -39513,7 +40773,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcColumnStandardCase (IfcAbstractEntity* e); - IfcColumnStandardCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > v9_PredefinedType); + IfcColumnStandardCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcColumnTypeEnum::IfcColumnTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcColumnStandardCase > list; }; /// The flow terminal type IfcCommunicationsApplianceType defines commonly shared information for occurrences of communications appliances. The set of shared information may include: @@ -39561,7 +40821,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCommunicationsApplianceType (IfcAbstractEntity* e); - IfcCommunicationsApplianceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum v10_PredefinedType); + IfcCommunicationsApplianceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCommunicationsApplianceType > list; }; /// The flow moving device type IfcCompressorType defines commonly shared information for occurrences of compressors. The set of shared information may include: @@ -39604,7 +40864,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCompressorType (IfcAbstractEntity* e); - IfcCompressorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCompressorTypeEnum::IfcCompressorTypeEnum v10_PredefinedType); + IfcCompressorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCompressorTypeEnum::IfcCompressorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCompressorType > list; }; /// The energy conversion device type IfcCondenserType defines commonly shared information for occurrences of condensers. The set of shared information may include: @@ -39647,7 +40907,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCondenserType (IfcAbstractEntity* e); - IfcCondenserType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCondenserTypeEnum::IfcCondenserTypeEnum v10_PredefinedType); + IfcCondenserType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCondenserTypeEnum::IfcCondenserTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCondenserType > list; }; /// 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. @@ -39688,7 +40948,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstructionEquipmentResource (IfcAbstractEntity* e); - IfcConstructionEquipmentResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum > v11_PredefinedType); + IfcConstructionEquipmentResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionEquipmentResourceTypeEnum::IfcConstructionEquipmentResourceTypeEnum > v11_PredefinedType); typedef IfcTemplatedEntityList< IfcConstructionEquipmentResource > list; }; /// IfcConstructionMaterialResource identifies a material resource type in a construction project. @@ -39733,7 +40993,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstructionMaterialResource (IfcAbstractEntity* e); - IfcConstructionMaterialResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum > v11_PredefinedType); + IfcConstructionMaterialResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionMaterialResourceTypeEnum::IfcConstructionMaterialResourceTypeEnum > v11_PredefinedType); typedef IfcTemplatedEntityList< IfcConstructionMaterialResource > list; }; /// IfcConstructionProductResource defines the role of a product that is consumed (wholly or partially), or occupied in the performance of construction. @@ -39767,7 +41027,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcConstructionProductResource (IfcAbstractEntity* e); - IfcConstructionProductResource (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcIdentifier > v6_Identification, boost::optional< IfcText > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum > v11_PredefinedType); + IfcConstructionProductResource (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, IfcResourceTime* v8_Usage, boost::optional< IfcTemplatedEntityList< IfcAppliedValue >::ptr > v9_BaseCosts, IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< IfcConstructionProductResourceTypeEnum::IfcConstructionProductResourceTypeEnum > v11_PredefinedType); typedef IfcTemplatedEntityList< IfcConstructionProductResource > list; }; /// The energy conversion device type IfcCooledBeamType defines commonly shared information for occurrences of cooled beams. The set of shared information may include: @@ -39812,7 +41072,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCooledBeamType (IfcAbstractEntity* e); - IfcCooledBeamType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v10_PredefinedType); + IfcCooledBeamType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCooledBeamType > list; }; /// The energy conversion device type IfcCoolingTowerType defines commonly shared information for occurrences of cooling towers. The set of shared information may include: @@ -39861,7 +41121,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCoolingTowerType (IfcAbstractEntity* e); - IfcCoolingTowerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v10_PredefinedType); + IfcCoolingTowerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcCoolingTowerType > list; }; /// Definition from ISO 6707-1:1989: term used: Finishing - @@ -40105,7 +41365,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCovering (IfcAbstractEntity* e); - IfcCovering (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v9_PredefinedType); + IfcCovering (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCoveringTypeEnum::IfcCoveringTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCovering > list; }; /// Definition from ISO 6707-1:1989: Non load bearing wall @@ -40264,7 +41524,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCurtainWall (IfcAbstractEntity* e); - IfcCurtainWall (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum > v9_PredefinedType); + IfcCurtainWall (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCurtainWallTypeEnum::IfcCurtainWallTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCurtainWall > list; }; /// The flow controller type IfcDamperType defines commonly shared information for occurrences of dampers. The set of shared information may include: @@ -40314,7 +41574,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDamperType (IfcAbstractEntity* e); - IfcDamperType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDamperTypeEnum::IfcDamperTypeEnum v10_PredefinedType); + IfcDamperType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDamperTypeEnum::IfcDamperTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcDamperType > list; }; /// Definition from IAI: Representation of different kinds of @@ -40505,7 +41765,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDiscreteAccessory (IfcAbstractEntity* e); - IfcDiscreteAccessory (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum > v9_PredefinedType); + IfcDiscreteAccessory (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcDiscreteAccessory > list; }; /// Definition from IAI: The element type @@ -40709,7 +41969,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDiscreteAccessoryType (IfcAbstractEntity* e); - IfcDiscreteAccessoryType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum v10_PredefinedType); + IfcDiscreteAccessoryType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDiscreteAccessoryTypeEnum::IfcDiscreteAccessoryTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcDiscreteAccessoryType > list; }; /// The distribution flow element type IfcDistributionChamberElementType defines commonly shared information for occurrences of distribution chamber elements. The set of shared information may include: @@ -40762,7 +42022,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionChamberElementType (IfcAbstractEntity* e); - IfcDistributionChamberElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v10_PredefinedType); + IfcDistributionChamberElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcDistributionChamberElementType > list; }; /// 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). @@ -40829,7 +42089,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionControlElementType (IfcAbstractEntity* e); - IfcDistributionControlElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType); + IfcDistributionControlElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType); typedef IfcTemplatedEntityList< IfcDistributionControlElementType > list; }; /// Definition from IAI: Generalization of all elements @@ -41005,7 +42265,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionElement (IfcAbstractEntity* e); - IfcDistributionElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcDistributionElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcDistributionElement > list; }; /// 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. @@ -41087,7 +42347,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionFlowElement (IfcAbstractEntity* e); - IfcDistributionFlowElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcDistributionFlowElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcDistributionFlowElement > list; }; /// A distribution port is an inlet or outlet of a product through which a particular substance may flow. @@ -41196,7 +42456,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionPort (IfcAbstractEntity* e); - IfcDistributionPort (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v8_FlowDirection, boost::optional< IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum > v9_PredefinedType, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v10_SystemType); + IfcDistributionPort (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcFlowDirectionEnum::IfcFlowDirectionEnum > v8_FlowDirection, boost::optional< IfcDistributionPortTypeEnum::IfcDistributionPortTypeEnum > v9_PredefinedType, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v10_SystemType); typedef IfcTemplatedEntityList< IfcDistributionPort > list; }; /// A distribution system is a network designed to receive, store, maintain, distribute, or control the flow of a distribution media. A common example is a heating hot water system that consists of a pump, a tank, and an interconnected piping system for distributing hot water to terminals. @@ -41246,8 +42506,8 @@ public: /// Long name for a system, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute. /// /// NOTE In many scenarios the Name attribute refers to the short name or number of a distribution system or branch circuit, and the LongName refers to a descriptive name. - IfcLabel LongName() const; - void setLongName(IfcLabel v); + std::string LongName() const; + void setLongName(std::string v); /// Whether the optional attribute PredefinedType is defined for this IfcDistributionSystem bool hasPredefinedType() const; /// Predefined types of distribution systems. @@ -41261,7 +42521,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionSystem (IfcAbstractEntity* e); - IfcDistributionSystem (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v7_PredefinedType); + IfcDistributionSystem (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v7_PredefinedType); typedef IfcTemplatedEntityList< IfcDistributionSystem > list; }; /// Definition from ISO 6707-1:1989: Construction for @@ -41627,15 +42887,15 @@ public: /// 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. - IfcPositiveLengthMeasure OverallHeight() const; - void setOverallHeight(IfcPositiveLengthMeasure v); + double OverallHeight() const; + void setOverallHeight(double v); /// Whether the optional attribute OverallWidth is defined for this IfcDoor bool hasOverallWidth() const; /// 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. - IfcPositiveLengthMeasure OverallWidth() const; - void setOverallWidth(IfcPositiveLengthMeasure v); + double OverallWidth() const; + void setOverallWidth(double v); /// Whether the optional attribute PredefinedType is defined for this IfcDoor bool hasPredefinedType() const; /// Predefined generic type for a door that is specified in an enumeration. There may be a property set given specificly for the predefined types. @@ -41655,8 +42915,8 @@ public: void setOperationType(IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum v); /// Whether the optional attribute UserDefinedOperationType is defined for this IfcDoor bool hasUserDefinedOperationType() const; - IfcLabel UserDefinedOperationType() const; - void setUserDefinedOperationType(IfcLabel v); + std::string UserDefinedOperationType() const; + void setUserDefinedOperationType(std::string v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_ENUMERATION; case 11: return IfcUtil::Argument_ENUMERATION; case 12: return IfcUtil::Argument_STRING; } return IfcBuildingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "OverallHeight"; case 9: return "OverallWidth"; case 10: return "PredefinedType"; case 11: return "OperationType"; case 12: return "UserDefinedOperationType"; } return IfcBuildingElement::getArgumentName(i); } @@ -41665,7 +42925,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDoor (IfcAbstractEntity* e); - IfcDoor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth, boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > v11_PredefinedType, boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > v12_OperationType, boost::optional< IfcLabel > v13_UserDefinedOperationType); + IfcDoor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > v11_PredefinedType, boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType); typedef IfcTemplatedEntityList< IfcDoor > list; }; /// The standard door, @@ -41782,7 +43042,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDoorStandardCase (IfcAbstractEntity* e); - IfcDoorStandardCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth, boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > v11_PredefinedType, boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > v12_OperationType, boost::optional< IfcLabel > v13_UserDefinedOperationType); + IfcDoorStandardCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< IfcDoorTypeEnum::IfcDoorTypeEnum > v11_PredefinedType, boost::optional< IfcDoorTypeOperationEnum::IfcDoorTypeOperationEnum > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType); typedef IfcTemplatedEntityList< IfcDoorStandardCase > list; }; /// The flow fitting type IfcDuctFittingType defines commonly shared information for occurrences of duct fittings. The set of shared information may include: @@ -41827,7 +43087,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDuctFittingType (IfcAbstractEntity* e); - IfcDuctFittingType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v10_PredefinedType); + IfcDuctFittingType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcDuctFittingType > list; }; /// The flow segment type IfcDuctSegmentType defines commonly shared information for occurrences of duct segments. The set of shared information may include: @@ -41872,7 +43132,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDuctSegmentType (IfcAbstractEntity* e); - IfcDuctSegmentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v10_PredefinedType); + IfcDuctSegmentType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcDuctSegmentType > list; }; /// The flow treatment device type IfcDuctSilencerType defines commonly shared information for occurrences of duct silencers. The set of shared information may include: @@ -41914,7 +43174,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDuctSilencerType (IfcAbstractEntity* e); - IfcDuctSilencerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v10_PredefinedType); + IfcDuctSilencerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcDuctSilencerType > list; }; /// The flow terminal type IfcElectricApplianceType defines commonly shared information for occurrences of electric appliances. The set of shared information may include: @@ -41959,7 +43219,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricApplianceType (IfcAbstractEntity* e); - IfcElectricApplianceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v10_PredefinedType); + IfcElectricApplianceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricApplianceType > list; }; /// The flow controller type IfcElectricDistributionBoardType defines commonly shared information for occurrences of distribution boards. The set of shared information may include: @@ -42002,7 +43262,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricDistributionBoardType (IfcAbstractEntity* e); - IfcElectricDistributionBoardType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum v10_PredefinedType); + IfcElectricDistributionBoardType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricDistributionBoardType > list; }; /// The flow storage device type IfcElectricFlowStorageDeviceType defines commonly shared information for occurrences of electric flow storage devices. The set of shared information may include: @@ -42045,7 +43305,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricFlowStorageDeviceType (IfcAbstractEntity* e); - IfcElectricFlowStorageDeviceType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v10_PredefinedType); + IfcElectricFlowStorageDeviceType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricFlowStorageDeviceType > list; }; /// The energy conversion device type IfcElectricGeneratorType defines commonly shared information for occurrences of electric generators. The set of shared information may include: @@ -42093,7 +43353,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricGeneratorType (IfcAbstractEntity* e); - IfcElectricGeneratorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v10_PredefinedType); + IfcElectricGeneratorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricGeneratorType > list; }; /// The energy conversion device type IfcElectricMotorType defines commonly shared information for occurrences of electric motors. The set of shared information may include: @@ -42136,7 +43396,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricMotorType (IfcAbstractEntity* e); - IfcElectricMotorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v10_PredefinedType); + IfcElectricMotorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricMotorType > list; }; /// The flow controller type IfcElectricTimeControlType defines commonly shared information for occurrences of electric time controls. The set of shared information may include: @@ -42179,7 +43439,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricTimeControlType (IfcAbstractEntity* e); - IfcElectricTimeControlType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v10_PredefinedType); + IfcElectricTimeControlType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricTimeControlType > list; }; /// The distribution flow element IfcEnergyConversionDevice defines @@ -42201,7 +43461,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEnergyConversionDevice (IfcAbstractEntity* e); - IfcEnergyConversionDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcEnergyConversionDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcEnergyConversionDevice > list; }; /// An engine is a device that converts fuel into mechanical energy through combustion. @@ -42259,7 +43519,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEngine (IfcAbstractEntity* e); - IfcEngine (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcEngineTypeEnum::IfcEngineTypeEnum > v9_PredefinedType); + IfcEngine (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcEngineTypeEnum::IfcEngineTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcEngine > list; }; /// An evaporative cooler is a device that cools air by saturating it with water vapor. @@ -42320,7 +43580,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEvaporativeCooler (IfcAbstractEntity* e); - IfcEvaporativeCooler (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum > v9_PredefinedType); + IfcEvaporativeCooler (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcEvaporativeCoolerTypeEnum::IfcEvaporativeCoolerTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcEvaporativeCooler > list; }; /// An evaporator is a device in which a liquid refrigerent is vaporized and absorbs heat from the surrounding fluid. @@ -42401,7 +43661,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcEvaporator (IfcAbstractEntity* e); - IfcEvaporator (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum > v9_PredefinedType); + IfcEvaporator (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcEvaporatorTypeEnum::IfcEvaporatorTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcEvaporator > list; }; /// Definition from IAI: The external spatial element @@ -42435,7 +43695,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcExternalSpatialElement (IfcAbstractEntity* e); - IfcExternalSpatialElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcLabel > v8_LongName, boost::optional< IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum > v9_PredefinedType); + IfcExternalSpatialElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcExternalSpatialElementTypeEnum::IfcExternalSpatialElementTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcExternalSpatialElement > list; }; /// The flow moving device type IfcFanType defines commonly shared information for occurrences of fans. The set of shared information may include: @@ -42479,7 +43739,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFanType (IfcAbstractEntity* e); - IfcFanType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFanTypeEnum::IfcFanTypeEnum v10_PredefinedType); + IfcFanType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFanTypeEnum::IfcFanTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcFanType > list; }; /// The flow treatment device type IfcFilterType defines commonly shared information for occurrences of filters. The set of shared information may include: @@ -42524,7 +43784,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFilterType (IfcAbstractEntity* e); - IfcFilterType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFilterTypeEnum::IfcFilterTypeEnum v10_PredefinedType); + IfcFilterType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFilterTypeEnum::IfcFilterTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcFilterType > list; }; /// The flow terminal type IfcFireSuppressionTerminalType defines commonly shared information for occurrences of fire suppression terminals. The set of shared information may include: @@ -42573,7 +43833,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFireSuppressionTerminalType (IfcAbstractEntity* e); - IfcFireSuppressionTerminalType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v10_PredefinedType); + IfcFireSuppressionTerminalType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcFireSuppressionTerminalType > list; }; /// The distribution flow element IfcFlowController defines @@ -42595,7 +43855,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowController (IfcAbstractEntity* e); - IfcFlowController (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcFlowController (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowController > list; }; /// 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. @@ -42613,7 +43873,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowFitting (IfcAbstractEntity* e); - IfcFlowFitting (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcFlowFitting (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowFitting > list; }; /// The distribution control element type IfcFlowInstrumentType defines commonly shared information for occurrences of flow instruments. The set of shared information may include: @@ -42659,7 +43919,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowInstrumentType (IfcAbstractEntity* e); - IfcFlowInstrumentType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v10_PredefinedType); + IfcFlowInstrumentType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcFlowInstrumentType > list; }; /// A flow meter is a device that is used to measure the flow rate in a system. @@ -42756,7 +44016,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowMeter (IfcAbstractEntity* e); - IfcFlowMeter (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum > v9_PredefinedType); + IfcFlowMeter (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFlowMeterTypeEnum::IfcFlowMeterTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcFlowMeter > list; }; /// 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. @@ -42774,7 +44034,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowMovingDevice (IfcAbstractEntity* e); - IfcFlowMovingDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcFlowMovingDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowMovingDevice > list; }; /// The distribution flow element IfcFlowSegment defines the occurrence of a segment of a flow distribution system. @@ -42810,7 +44070,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowSegment (IfcAbstractEntity* e); - IfcFlowSegment (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcFlowSegment (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowSegment > list; }; /// The distribution flow element IfcFlowStorageDevice defines @@ -42833,7 +44093,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowStorageDevice (IfcAbstractEntity* e); - IfcFlowStorageDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcFlowStorageDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowStorageDevice > list; }; /// The distribution flow element IfcFlowTerminal defines the @@ -42857,7 +44117,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowTerminal (IfcAbstractEntity* e); - IfcFlowTerminal (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcFlowTerminal (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowTerminal > list; }; /// 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. @@ -42875,7 +44135,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowTreatmentDevice (IfcAbstractEntity* e); - IfcFlowTreatmentDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcFlowTreatmentDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcFlowTreatmentDevice > list; }; /// 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. @@ -42917,7 +44177,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFooting (IfcAbstractEntity* e); - IfcFooting (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFootingTypeEnum::IfcFootingTypeEnum > v9_PredefinedType); + IfcFooting (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFootingTypeEnum::IfcFootingTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcFooting > list; }; /// A heat exchanger is a device used to provide heat transfer between non-mixing media such as plate and shell and tube heat exchangers. @@ -42984,7 +44244,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcHeatExchanger (IfcAbstractEntity* e); - IfcHeatExchanger (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum > v9_PredefinedType); + IfcHeatExchanger (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcHeatExchangerTypeEnum::IfcHeatExchangerTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcHeatExchanger > list; }; /// A humidifier is a device that adds moisture into the air. @@ -43044,7 +44304,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcHumidifier (IfcAbstractEntity* e); - IfcHumidifier (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcHumidifierTypeEnum::IfcHumidifierTypeEnum > v9_PredefinedType); + IfcHumidifier (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcHumidifierTypeEnum::IfcHumidifierTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcHumidifier > list; }; /// An interceptor is a device designed and installed in order to separate and retain deleterious, hazardous or undesirable matter while permitting normal sewage or liquids to discharge into a collection system by gravity. @@ -43118,7 +44378,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcInterceptor (IfcAbstractEntity* e); - IfcInterceptor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcInterceptorTypeEnum::IfcInterceptorTypeEnum > v9_PredefinedType); + IfcInterceptor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcInterceptorTypeEnum::IfcInterceptorTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcInterceptor > list; }; /// A junction box is an enclosure within which cables are connected. @@ -43201,7 +44461,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcJunctionBox (IfcAbstractEntity* e); - IfcJunctionBox (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum > v9_PredefinedType); + IfcJunctionBox (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcJunctionBoxTypeEnum::IfcJunctionBoxTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcJunctionBox > list; }; /// A lamp is an artificial light source such as a light bulb or tube. @@ -43265,7 +44525,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLamp (IfcAbstractEntity* e); - IfcLamp (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLampTypeEnum::IfcLampTypeEnum > v9_PredefinedType); + IfcLamp (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcLampTypeEnum::IfcLampTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcLamp > list; }; /// A light fixture is a container that is designed for the purpose of housing one or more lamps and optionally devices that control, restrict or vary their emission. @@ -43348,7 +44608,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcLightFixture (IfcAbstractEntity* e); - IfcLightFixture (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum > v9_PredefinedType); + IfcLightFixture (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcLightFixtureTypeEnum::IfcLightFixtureTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcLightFixture > list; }; /// A medical device is attached to a medical piping system and operates upon medical gases to perform a specific function. Medical gases include medical air, medical vacuum, oxygen, carbon dioxide, nitrogen, and nitrous oxide. @@ -43409,7 +44669,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMedicalDevice (IfcAbstractEntity* e); - IfcMedicalDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum > v9_PredefinedType); + IfcMedicalDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcMedicalDeviceTypeEnum::IfcMedicalDeviceTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcMedicalDevice > list; }; /// An IfcMember is a @@ -43680,7 +44940,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMember (IfcAbstractEntity* e); - IfcMember (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > v9_PredefinedType); + IfcMember (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcMember > list; }; /// The standard member, @@ -43932,7 +45192,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMemberStandardCase (IfcAbstractEntity* e); - IfcMemberStandardCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > v9_PredefinedType); + IfcMemberStandardCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcMemberTypeEnum::IfcMemberTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcMemberStandardCase > list; }; /// A motor connection provides the means for connecting a motor as the driving device to the driven device. @@ -43990,7 +45250,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcMotorConnection (IfcAbstractEntity* e); - IfcMotorConnection (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum > v9_PredefinedType); + IfcMotorConnection (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcMotorConnectionTypeEnum::IfcMotorConnectionTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcMotorConnection > list; }; /// Definition from ISO/CD 10303-42:1992ÿ This is a special subtype of boundary curve which has the additional semantics of defining an outer boundary of a surface. No more than one such curve shall be included in the set of boundaries of a curve bounded surface. @@ -44091,7 +45351,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcOutlet (IfcAbstractEntity* e); - IfcOutlet (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcOutletTypeEnum::IfcOutletTypeEnum > v9_PredefinedType); + IfcOutlet (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcOutletTypeEnum::IfcOutletTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcOutlet > list; }; /// 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. @@ -44136,7 +45396,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPile (IfcAbstractEntity* e); - IfcPile (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPileTypeEnum::IfcPileTypeEnum > v9_PredefinedType, boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v10_ConstructionType); + IfcPile (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPileTypeEnum::IfcPileTypeEnum > v9_PredefinedType, boost::optional< IfcPileConstructionEnum::IfcPileConstructionEnum > v10_ConstructionType); typedef IfcTemplatedEntityList< IfcPile > list; }; /// A pipe fitting is a junction or transition in a piping flow distribution system or used to connect pipe segments, resulting changes in flow characteristics to the fluid such as direction or flow rate. @@ -44238,7 +45498,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPipeFitting (IfcAbstractEntity* e); - IfcPipeFitting (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum > v9_PredefinedType); + IfcPipeFitting (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPipeFittingTypeEnum::IfcPipeFittingTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcPipeFitting > list; }; /// A pipe segment is used to typically join two sections of a piping network. @@ -44315,7 +45575,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPipeSegment (IfcAbstractEntity* e); - IfcPipeSegment (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum > v9_PredefinedType); + IfcPipeSegment (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPipeSegmentTypeEnum::IfcPipeSegmentTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcPipeSegment > list; }; /// Definition from IAI: An IfcPlate is a planar and @@ -44564,7 +45824,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPlate (IfcAbstractEntity* e); - IfcPlate (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > v9_PredefinedType); + IfcPlate (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcPlate > list; }; /// The standard plate, @@ -44730,7 +45990,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPlateStandardCase (IfcAbstractEntity* e); - IfcPlateStandardCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > v9_PredefinedType); + IfcPlateStandardCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPlateTypeEnum::IfcPlateTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcPlateStandardCase > list; }; /// A protective device breaks an electrical circuit when a stated electric current that passes through it is exceeded. @@ -44823,7 +46083,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProtectiveDevice (IfcAbstractEntity* e); - IfcProtectiveDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum > v9_PredefinedType); + IfcProtectiveDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcProtectiveDeviceTypeEnum::IfcProtectiveDeviceTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcProtectiveDevice > list; }; /// The distribution control element type IfcProtectiveDeviceTrippingUnitType defines commonly shared information for occurrences of protective device tripping units. The set of shared information may include: @@ -44879,7 +46139,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProtectiveDeviceTrippingUnitType (IfcAbstractEntity* e); - IfcProtectiveDeviceTrippingUnitType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum v10_PredefinedType); + IfcProtectiveDeviceTrippingUnitType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcProtectiveDeviceTrippingUnitType > list; }; /// A pump is a device which imparts mechanical work on fluids or slurries to move them through a channel or pipeline. A typical use of a pump is to circulate chilled water or heating hot water in a building services distribution system. @@ -44945,7 +46205,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcPump (IfcAbstractEntity* e); - IfcPump (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPumpTypeEnum::IfcPumpTypeEnum > v9_PredefinedType); + IfcPump (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcPumpTypeEnum::IfcPumpTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcPump > list; }; /// Definition of IAI: The railing is a frame assembly @@ -45097,7 +46357,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRailing (IfcAbstractEntity* e); - IfcRailing (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v9_PredefinedType); + IfcRailing (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRailingTypeEnum::IfcRailingTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcRailing > list; }; /// Definition from ISO 6707-1:1989: Inclined way or floor @@ -45252,7 +46512,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRamp (IfcAbstractEntity* e); - IfcRamp (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcRampTypeEnum::IfcRampTypeEnum > v9_PredefinedType); + IfcRamp (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRampTypeEnum::IfcRampTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcRamp > list; }; /// A ramp is an inclined slab segment, normally @@ -45461,7 +46721,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRampFlight (IfcAbstractEntity* e); - IfcRampFlight (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcRampFlightTypeEnum::IfcRampFlightTypeEnum > v9_PredefinedType); + IfcRampFlight (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRampFlightTypeEnum::IfcRampFlightTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcRampFlight > list; }; /// A rational B-spline curve with knots is a B-spline curve @@ -45513,7 +46773,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRationalBSplineCurveWithKnots (IfcAbstractEntity* e); - IfcRationalBSplineCurveWithKnots (int v1_Degree, IfcTemplatedEntityList< IfcCartesianPoint >::ptr v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< IfcParameterValue > /*[2:?]*/ v7_Knots, IfcKnotType::IfcKnotType v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); + IfcRationalBSplineCurveWithKnots (int v1_Degree, IfcTemplatedEntityList< IfcCartesianPoint >::ptr v2_ControlPointsList, IfcBSplineCurveForm::IfcBSplineCurveForm v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector< int > /*[2:?]*/ v6_KnotMultiplicities, std::vector< double > /*[2:?]*/ v7_Knots, IfcKnotType::IfcKnotType v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData); typedef IfcTemplatedEntityList< IfcRationalBSplineCurveWithKnots > list; }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, @@ -45548,16 +46808,16 @@ class IfcReinforcingBar : public IfcReinforcingElement { public: /// Whether the optional attribute NominalDiameter is defined for this IfcReinforcingBar bool hasNominalDiameter() const; - IfcPositiveLengthMeasure NominalDiameter() const; - void setNominalDiameter(IfcPositiveLengthMeasure v); + double NominalDiameter() const; + void setNominalDiameter(double v); /// Whether the optional attribute CrossSectionArea is defined for this IfcReinforcingBar bool hasCrossSectionArea() const; - IfcAreaMeasure CrossSectionArea() const; - void setCrossSectionArea(IfcAreaMeasure v); + double CrossSectionArea() const; + void setCrossSectionArea(double v); /// Whether the optional attribute BarLength is defined for this IfcReinforcingBar bool hasBarLength() const; - IfcPositiveLengthMeasure BarLength() const; - void setBarLength(IfcPositiveLengthMeasure v); + double BarLength() const; + void setBarLength(double v); /// Whether the optional attribute PredefinedType is defined for this IfcReinforcingBar bool hasPredefinedType() const; /// The predefined type is always BAR. @@ -45575,7 +46835,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReinforcingBar (IfcAbstractEntity* e); - IfcReinforcingBar (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcLabel > v9_SteelGrade, boost::optional< IfcPositiveLengthMeasure > v10_NominalDiameter, boost::optional< IfcAreaMeasure > v11_CrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v12_BarLength, boost::optional< IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum > v13_PredefinedType, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface); + IfcReinforcingBar (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_NominalDiameter, boost::optional< double > v11_CrossSectionArea, boost::optional< double > v12_BarLength, boost::optional< IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum > v13_PredefinedType, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface); typedef IfcTemplatedEntityList< IfcReinforcingBar > list; }; /// Definition from IAI: A steel bar, usually with manufactured deformations in the surface, @@ -45602,18 +46862,18 @@ public: /// Whether the optional attribute NominalDiameter is defined for this IfcReinforcingBarType bool hasNominalDiameter() const; /// The nominal diameter defining the cross-section size of the reinforcing bar. - IfcPositiveLengthMeasure NominalDiameter() const; - void setNominalDiameter(IfcPositiveLengthMeasure v); + double NominalDiameter() const; + void setNominalDiameter(double v); /// Whether the optional attribute CrossSectionArea is defined for this IfcReinforcingBarType bool hasCrossSectionArea() const; /// The effective cross-section area of the reinforcing bar. - IfcAreaMeasure CrossSectionArea() const; - void setCrossSectionArea(IfcAreaMeasure v); + double CrossSectionArea() const; + void setCrossSectionArea(double v); /// Whether the optional attribute BarLength is defined for this IfcReinforcingBarType bool hasBarLength() const; /// The total length of the reinforcing bar. The total length of bended bars are calculated according to local standards with corrections for the bends. - IfcPositiveLengthMeasure BarLength() const; - void setBarLength(IfcPositiveLengthMeasure v); + double BarLength() const; + void setBarLength(double v); /// Whether the optional attribute BarSurface is defined for this IfcReinforcingBarType bool hasBarSurface() const; /// Indicator for whether the bar surface is plain or textured. @@ -45621,12 +46881,12 @@ public: void setBarSurface(IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum v); /// Whether the optional attribute BendingShapeCode is defined for this IfcReinforcingBarType bool hasBendingShapeCode() const; - IfcLabel BendingShapeCode() const; - void setBendingShapeCode(IfcLabel v); + std::string BendingShapeCode() const; + void setBendingShapeCode(std::string v); /// Whether the optional attribute BendingParameters is defined for this IfcReinforcingBarType bool hasBendingParameters() const; - IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr BendingParameters() const; - void setBendingParameters(IfcTemplatedEntityList< IfcUtil::IfcAbstractSelect >::ptr v); + IfcEntityList::ptr BendingParameters() const; + void setBendingParameters(IfcEntityList::ptr v); virtual unsigned int getArgumentCount() const { return 16; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_ENUMERATION; case 14: return IfcUtil::Argument_STRING; case 15: return IfcUtil::Argument_ENTITY_LIST; } return IfcReinforcingElementType::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "NominalDiameter"; case 11: return "CrossSectionArea"; case 12: return "BarLength"; case 13: return "BarSurface"; case 14: return "BendingShapeCode"; case 15: return "BendingParameters"; } return IfcReinforcingElementType::getArgumentName(i); } @@ -45635,7 +46895,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcReinforcingBarType (IfcAbstractEntity* e); - IfcReinforcingBarType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum v10_PredefinedType, boost::optional< IfcPositiveLengthMeasure > v11_NominalDiameter, boost::optional< IfcAreaMeasure > v12_CrossSectionArea, boost::optional< IfcPositiveLengthMeasure > v13_BarLength, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface, boost::optional< IfcLabel > v15_BendingShapeCode, boost::optional< IfcEntityList::ptr > v16_BendingParameters); + IfcReinforcingBarType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcReinforcingBarTypeEnum::IfcReinforcingBarTypeEnum v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< IfcReinforcingBarSurfaceEnum::IfcReinforcingBarSurfaceEnum > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< IfcEntityList::ptr > v16_BendingParameters); typedef IfcTemplatedEntityList< IfcReinforcingBarType > list; }; /// Definition from ISO 6707-1:1989: Construction enclosing the building from above. @@ -45800,7 +47060,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcRoof (IfcAbstractEntity* e); - IfcRoof (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcRoofTypeEnum::IfcRoofTypeEnum > v9_PredefinedType); + IfcRoof (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcRoofTypeEnum::IfcRoofTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcRoof > list; }; /// A sanitary terminal is a fixed appliance or terminal usually supplied with water and used for drinking, cleaning or foul water disposal or that is an item of equipment directly used with such an appliance or terminal. @@ -45943,7 +47203,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSanitaryTerminal (IfcAbstractEntity* e); - IfcSanitaryTerminal (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum > v9_PredefinedType); + IfcSanitaryTerminal (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSanitaryTerminalTypeEnum::IfcSanitaryTerminalTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcSanitaryTerminal > list; }; /// The distribution control element type IfcSensorType defines commonly shared information for occurrences of sensors. The set of shared information may include: @@ -46007,7 +47267,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSensorType (IfcAbstractEntity* e); - IfcSensorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcSensorTypeEnum::IfcSensorTypeEnum v10_PredefinedType); + IfcSensorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcSensorTypeEnum::IfcSensorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcSensorType > list; }; /// Definition from IAI: Shading devices are purpose built @@ -46040,7 +47300,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcShadingDevice (IfcAbstractEntity* e); - IfcShadingDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum > v9_PredefinedType); + IfcShadingDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcShadingDeviceTypeEnum::IfcShadingDeviceTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcShadingDevice > list; }; /// A slab is a component of the @@ -46321,7 +47581,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSlab (IfcAbstractEntity* e); - IfcSlab (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType); + IfcSlab (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcSlab > list; }; /// The IfcSlabElementedCase @@ -46417,7 +47677,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSlabElementedCase (IfcAbstractEntity* e); - IfcSlabElementedCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType); + IfcSlabElementedCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcSlabElementedCase > list; }; /// The standard slab, @@ -46589,7 +47849,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSlabStandardCase (IfcAbstractEntity* e); - IfcSlabStandardCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType); + IfcSlabStandardCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSlabTypeEnum::IfcSlabTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcSlabStandardCase > list; }; /// A solar device converts solar radiation into other energy such as electric current or thermal energy. @@ -46653,7 +47913,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSolarDevice (IfcAbstractEntity* e); - IfcSolarDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum > v9_PredefinedType); + IfcSolarDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSolarDeviceTypeEnum::IfcSolarDeviceTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcSolarDevice > list; }; /// Space heaters utilize a combination of radiation and/or natural convection using a heating source such as electricity, steam or hot water to heat a limited space or area. Examples of space heaters include radiators, convectors, baseboard and finned-tube heaters. @@ -46732,7 +47992,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSpaceHeater (IfcAbstractEntity* e); - IfcSpaceHeater (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum > v9_PredefinedType); + IfcSpaceHeater (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSpaceHeaterTypeEnum::IfcSpaceHeaterTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcSpaceHeater > list; }; /// A stack terminal is placed at the top of a ventilating stack (such as to prevent ingress by birds or rainwater) or rainwater pipe (to act as a collector or hopper for discharge from guttering). @@ -46799,7 +48059,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStackTerminal (IfcAbstractEntity* e); - IfcStackTerminal (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum > v9_PredefinedType); + IfcStackTerminal (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcStackTerminalTypeEnum::IfcStackTerminalTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcStackTerminal > list; }; /// Definition from ISO 6707-1:1989: Construction comprising @@ -46984,7 +48244,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStair (IfcAbstractEntity* e); - IfcStair (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcStairTypeEnum::IfcStairTypeEnum > v9_PredefinedType); + IfcStair (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcStairTypeEnum::IfcStairTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcStair > list; }; /// A stair flight is an assembly of @@ -47175,15 +48435,15 @@ public: /// Vertical distance from tread to tread. The riser height is supposed to be equal for all stairs in a stair flight. /// /// IFC2x4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use Pset_StairFlightCommon.RiserHeight instead. - IfcPositiveLengthMeasure RiserHeight() const; - void setRiserHeight(IfcPositiveLengthMeasure v); + double RiserHeight() const; + void setRiserHeight(double v); /// Whether the optional attribute TreadLength is defined for this IfcStairFlight bool hasTreadLength() const; /// Horizontal distance from the front to the back of the tread. The tread length is supposed to be equal for all steps of the stair flight. /// /// IFC2x4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use Pset_StairFlightCommon.TreadLength instead. - IfcPositiveLengthMeasure TreadLength() const; - void setTreadLength(IfcPositiveLengthMeasure v); + double TreadLength() const; + void setTreadLength(double v); /// Whether the optional attribute PredefinedType is defined for this IfcStairFlight bool hasPredefinedType() const; /// Predefined generic type for a stair flight that is specified in an enumeration. There may be a property set given specificly for the predefined types. @@ -47200,7 +48460,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStairFlight (IfcAbstractEntity* e); - IfcStairFlight (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< IfcPositiveLengthMeasure > v11_RiserHeight, boost::optional< IfcPositiveLengthMeasure > v12_TreadLength, boost::optional< IfcStairFlightTypeEnum::IfcStairFlightTypeEnum > v13_PredefinedType); + IfcStairFlight (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< IfcStairFlightTypeEnum::IfcStairFlightTypeEnum > v13_PredefinedType); typedef IfcTemplatedEntityList< IfcStairFlight > list; }; /// 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. @@ -47272,7 +48532,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralAnalysisModel (IfcAbstractEntity* e); - IfcStructuralAnalysisModel (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v6_PredefinedType, IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > v9_HasResults, IfcObjectPlacement* v10_SharedPlacement); + IfcStructuralAnalysisModel (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcAnalysisModelTypeEnum::IfcAnalysisModelTypeEnum v6_PredefinedType, IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< IfcTemplatedEntityList< IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< IfcTemplatedEntityList< IfcStructuralResultGroup >::ptr > v9_HasResults, IfcObjectPlacement* v10_SharedPlacement); typedef IfcTemplatedEntityList< IfcStructuralAnalysisModel > list; }; /// Definition from IAI: A load case is a load group, commonly used to group loads from the same action source. @@ -47287,8 +48547,8 @@ public: /// The three components of the self weight vector correspond with the x,y,z directions of the so-called global coordinates, i.e. the directions of the shared ObjectPlacement of all items in an IfcStructuralAnalysisModel. For example, if the object placement defines a z axis which is upright like the IfcProject's world coordinate system, then the self weight coefficients would typically be [0.,0.,-1.] in a load case of dead loads with self weight. /// /// The overall coefficient in the inherited attribute Coefficient shall not be applied to SelfWeightCoefficients of the same instance of IfcStructuralLoadCase. It only applies to actions and load groups which are grouped below the load case, not to the load case's computed self weight. - std::vector< IfcRatioMeasure > /*[3:3]*/ SelfWeightCoefficients() const; - void setSelfWeightCoefficients(std::vector< IfcRatioMeasure > /*[3:3]*/ v); + std::vector< double > /*[3:3]*/ SelfWeightCoefficients() const; + void setSelfWeightCoefficients(std::vector< double > /*[3:3]*/ v); virtual unsigned int getArgumentCount() const { return 11; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 10: return IfcUtil::Argument_VECTOR_DOUBLE; } return IfcStructuralLoadGroup::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 10: return "SelfWeightCoefficients"; } return IfcStructuralLoadGroup::getArgumentName(i); } @@ -47297,7 +48557,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralLoadCase (IfcAbstractEntity* e); - IfcStructuralLoadCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< IfcRatioMeasure > v9_Coefficient, boost::optional< IfcLabel > v10_Purpose, boost::optional< std::vector< IfcRatioMeasure > /*[3:3]*/ > v11_SelfWeightCoefficients); + IfcStructuralLoadCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcLoadGroupTypeEnum::IfcLoadGroupTypeEnum v6_PredefinedType, IfcActionTypeEnum::IfcActionTypeEnum v7_ActionType, IfcActionSourceTypeEnum::IfcActionSourceTypeEnum v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose, boost::optional< std::vector< double > /*[3:3]*/ > v11_SelfWeightCoefficients); typedef IfcTemplatedEntityList< IfcStructuralLoadCase > list; }; /// Definition from IAI: Defines an action with constant value which is distributed over a surface. @@ -47317,7 +48577,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcStructuralPlanarAction (IfcAbstractEntity* e); - IfcStructuralPlanarAction (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v12_PredefinedType); + IfcStructuralPlanarAction (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, IfcStructuralLoad* v8_AppliedLoad, IfcGlobalOrLocalEnum::IfcGlobalOrLocalEnum v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< IfcProjectedOrTrueLengthEnum::IfcProjectedOrTrueLengthEnum > v11_ProjectedOrTrue, IfcStructuralSurfaceActivityTypeEnum::IfcStructuralSurfaceActivityTypeEnum v12_PredefinedType); typedef IfcTemplatedEntityList< IfcStructuralPlanarAction > list; }; /// A switch is used in a cable distribution system (electrical circuit) to control or modulate the flow of electricity. @@ -47422,7 +48682,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSwitchingDevice (IfcAbstractEntity* e); - IfcSwitchingDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum > v9_PredefinedType); + IfcSwitchingDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSwitchingDeviceTypeEnum::IfcSwitchingDeviceTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcSwitchingDevice > list; }; /// A tank is a vessel or container in which a fluid or gas is stored for later use. @@ -47499,7 +48759,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTank (IfcAbstractEntity* e); - IfcTank (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcTankTypeEnum::IfcTankTypeEnum > v9_PredefinedType); + IfcTank (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTankTypeEnum::IfcTankTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcTank > list; }; /// A transformer is an inductive stationary device that transfers electrical energy from one circuit to another. @@ -47558,7 +48818,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTransformer (IfcAbstractEntity* e); - IfcTransformer (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcTransformerTypeEnum::IfcTransformerTypeEnum > v9_PredefinedType); + IfcTransformer (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTransformerTypeEnum::IfcTransformerTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcTransformer > list; }; /// A tube bundle is a device consisting of tubes and bundles of tubes used for heat transfer and contained typically within other energy conversion devices, such as a chiller or coil. @@ -47622,7 +48882,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcTubeBundle (IfcAbstractEntity* e); - IfcTubeBundle (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum > v9_PredefinedType); + IfcTubeBundle (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcTubeBundleTypeEnum::IfcTubeBundleTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcTubeBundle > list; }; /// The distribution control element type IfcUnitaryControlElementType defines commonly shared information for occurrences of unitary control elements. The set of shared information may include: @@ -47664,7 +48924,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcUnitaryControlElementType (IfcAbstractEntity* e); - IfcUnitaryControlElementType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum v10_PredefinedType); + IfcUnitaryControlElementType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcUnitaryControlElementType > list; }; /// Unitary equipment typically combine a number of components into a single product, such as air handlers, pre-packaged rooftop air-conditioning units, and split systems. @@ -47753,7 +49013,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcUnitaryEquipment (IfcAbstractEntity* e); - IfcUnitaryEquipment (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum > v9_PredefinedType); + IfcUnitaryEquipment (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcUnitaryEquipmentTypeEnum::IfcUnitaryEquipmentTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcUnitaryEquipment > list; }; /// A valve is used in a building services piping distribution system to control or modulate the flow of the fluid. @@ -47956,7 +49216,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcValve (IfcAbstractEntity* e); - IfcValve (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcValveTypeEnum::IfcValveTypeEnum > v9_PredefinedType); + IfcValve (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcValveTypeEnum::IfcValveTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcValve > list; }; /// Definition from ISO 6707-1:1989: Vertical construction @@ -48219,7 +49479,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWall (IfcAbstractEntity* e); - IfcWall (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType); + IfcWall (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcWall > list; }; /// The IfcWallElementedCase @@ -48330,7 +49590,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWallElementedCase (IfcAbstractEntity* e); - IfcWallElementedCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType); + IfcWallElementedCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcWallElementedCase > list; }; /// The IfcWallStandardCase defines a wall with certain @@ -48545,7 +49805,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWallStandardCase (IfcAbstractEntity* e); - IfcWallStandardCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType); + IfcWallStandardCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcWallTypeEnum::IfcWallTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcWallStandardCase > list; }; /// A waste terminal has the purpose of collecting or intercepting waste from one or more sanitary terminals or other fluid waste generating equipment and discharging it into a single waste/drainage system. @@ -48666,7 +49926,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWasteTerminal (IfcAbstractEntity* e); - IfcWasteTerminal (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum > v9_PredefinedType); + IfcWasteTerminal (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcWasteTerminalTypeEnum::IfcWasteTerminalTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcWasteTerminal > list; }; /// Definition form ISO 6707-1:1989: Construction for @@ -49034,15 +50294,15 @@ public: /// 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. - IfcPositiveLengthMeasure OverallHeight() const; - void setOverallHeight(IfcPositiveLengthMeasure v); + double OverallHeight() const; + void setOverallHeight(double v); /// Whether the optional attribute OverallWidth is defined for this IfcWindow bool hasOverallWidth() const; /// 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. - IfcPositiveLengthMeasure OverallWidth() const; - void setOverallWidth(IfcPositiveLengthMeasure v); + double OverallWidth() const; + void setOverallWidth(double v); /// Whether the optional attribute PredefinedType is defined for this IfcWindow bool hasPredefinedType() const; /// Predefined generic type for a window that is specified in an enumeration. There may be a property set given specificly for the predefined types. @@ -49062,8 +50322,8 @@ public: void setPartitioningType(IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum v); /// Whether the optional attribute UserDefinedPartitioningType is defined for this IfcWindow bool hasUserDefinedPartitioningType() const; - IfcLabel UserDefinedPartitioningType() const; - void setUserDefinedPartitioningType(IfcLabel v); + std::string UserDefinedPartitioningType() const; + void setUserDefinedPartitioningType(std::string v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_DOUBLE; case 9: return IfcUtil::Argument_DOUBLE; case 10: return IfcUtil::Argument_ENUMERATION; case 11: return IfcUtil::Argument_ENUMERATION; case 12: return IfcUtil::Argument_STRING; } return IfcBuildingElement::getArgumentType(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "OverallHeight"; case 9: return "OverallWidth"; case 10: return "PredefinedType"; case 11: return "PartitioningType"; case 12: return "UserDefinedPartitioningType"; } return IfcBuildingElement::getArgumentName(i); } @@ -49072,7 +50332,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWindow (IfcAbstractEntity* e); - IfcWindow (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth, boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > v11_PredefinedType, boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > v12_PartitioningType, boost::optional< IfcLabel > v13_UserDefinedPartitioningType); + IfcWindow (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > v11_PredefinedType, boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType); typedef IfcTemplatedEntityList< IfcWindow > list; }; /// The standard window, @@ -49199,7 +50459,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcWindowStandardCase (IfcAbstractEntity* e); - IfcWindowStandardCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcPositiveLengthMeasure > v9_OverallHeight, boost::optional< IfcPositiveLengthMeasure > v10_OverallWidth, boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > v11_PredefinedType, boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > v12_PartitioningType, boost::optional< IfcLabel > v13_UserDefinedPartitioningType); + IfcWindowStandardCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< IfcWindowTypeEnum::IfcWindowTypeEnum > v11_PredefinedType, boost::optional< IfcWindowTypePartitioningEnum::IfcWindowTypePartitioningEnum > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType); typedef IfcTemplatedEntityList< IfcWindowStandardCase > list; }; /// The distribution control element type IfcActuatorType defines commonly shared information for occurrences of actuators. The set of shared information may include: @@ -49246,7 +50506,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcActuatorType (IfcAbstractEntity* e); - IfcActuatorType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcActuatorTypeEnum::IfcActuatorTypeEnum v10_PredefinedType); + IfcActuatorType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcActuatorTypeEnum::IfcActuatorTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcActuatorType > list; }; /// An air terminal is a terminating or origination point for the transfer of air between distribution system(s) and one or more spaces. It can also be used for the transfer of air between adjacent spaces. @@ -49320,7 +50580,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAirTerminal (IfcAbstractEntity* e); - IfcAirTerminal (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum > v9_PredefinedType); + IfcAirTerminal (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAirTerminalTypeEnum::IfcAirTerminalTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcAirTerminal > list; }; /// An air terminal box typically participates in an HVAC duct distribution system and is used to control or modulate the amount of air delivered to its downstream ductwork. An air terminal box type is often referred to as an "air flow regulator". @@ -49379,7 +50639,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAirTerminalBox (IfcAbstractEntity* e); - IfcAirTerminalBox (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum > v9_PredefinedType); + IfcAirTerminalBox (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAirTerminalBoxTypeEnum::IfcAirTerminalBoxTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcAirTerminalBox > list; }; /// An air-to-air heat recovery device employs a counter-flow heat exchanger between inbound and outbound air flow. It is typically used to transfer heat from warmer air in one chamber to cooler air in the second chamber (i.e., typically used to recover heat from the conditioned air being exhausted and the outside air being supplied to a building), resulting in energy savings from reduced heating (or cooling) requirements. @@ -49441,7 +50701,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAirToAirHeatRecovery (IfcAbstractEntity* e); - IfcAirToAirHeatRecovery (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum > v9_PredefinedType); + IfcAirToAirHeatRecovery (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAirToAirHeatRecoveryTypeEnum::IfcAirToAirHeatRecoveryTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcAirToAirHeatRecovery > list; }; /// The distribution control element type IfcAlarmType defines commonly shared information for occurrences of alarms. The set of shared information may include: @@ -49483,7 +50743,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAlarmType (IfcAbstractEntity* e); - IfcAlarmType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcAlarmTypeEnum::IfcAlarmTypeEnum v10_PredefinedType); + IfcAlarmType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcAlarmTypeEnum::IfcAlarmTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcAlarmType > list; }; /// An audio-visual appliance is a device that displays, captures, transmits, or receives audio or video. @@ -49678,7 +50938,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAudioVisualAppliance (IfcAbstractEntity* e); - IfcAudioVisualAppliance (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum > v9_PredefinedType); + IfcAudioVisualAppliance (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAudioVisualApplianceTypeEnum::IfcAudioVisualApplianceTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcAudioVisualAppliance > list; }; /// 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. @@ -49936,7 +51196,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBeam (IfcAbstractEntity* e); - IfcBeam (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > v9_PredefinedType); + IfcBeam (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcBeam > list; }; /// The standard beam, @@ -50200,7 +51460,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBeamStandardCase (IfcAbstractEntity* e); - IfcBeamStandardCase (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > v9_PredefinedType); + IfcBeamStandardCase (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBeamTypeEnum::IfcBeamTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcBeamStandardCase > list; }; /// A boiler is a closed, pressure-rated vessel in which water or other fluid is heated using an energy source such as natural gas, heating oil, or electricity. The fluid in the vessel is then circulated out of the boiler for use in various processes or heating applications. @@ -50286,7 +51546,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBoiler (IfcAbstractEntity* e); - IfcBoiler (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBoilerTypeEnum::IfcBoilerTypeEnum > v9_PredefinedType); + IfcBoiler (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBoilerTypeEnum::IfcBoilerTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcBoiler > list; }; /// A burner is a device that converts fuel into heat through combustion. It includes gas, oil, and wood burners. @@ -50344,7 +51604,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcBurner (IfcAbstractEntity* e); - IfcBurner (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcBurnerTypeEnum::IfcBurnerTypeEnum > v9_PredefinedType); + IfcBurner (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcBurnerTypeEnum::IfcBurnerTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcBurner > list; }; /// A cable carrier fitting is a fitting that is placed at junction or transition in a cable carrier system. @@ -50423,7 +51683,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCableCarrierFitting (IfcAbstractEntity* e); - IfcCableCarrierFitting (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum > v9_PredefinedType); + IfcCableCarrierFitting (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCableCarrierFittingTypeEnum::IfcCableCarrierFittingTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCableCarrierFitting > list; }; /// A cable carrier segment is a flow segment that is specifically used to carry and support cabling. @@ -50500,7 +51760,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCableCarrierSegment (IfcAbstractEntity* e); - IfcCableCarrierSegment (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum > v9_PredefinedType); + IfcCableCarrierSegment (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCableCarrierSegmentTypeEnum::IfcCableCarrierSegmentTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCableCarrierSegment > list; }; /// A cable fitting is a fitting that is placed at a junction, transition or termination in a cable system. @@ -50592,7 +51852,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCableFitting (IfcAbstractEntity* e); - IfcCableFitting (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCableFittingTypeEnum::IfcCableFittingTypeEnum > v9_PredefinedType); + IfcCableFitting (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCableFittingTypeEnum::IfcCableFittingTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCableFitting > list; }; /// A cable segment is a flow segment used to carry electrical power, data, or telecommunications signals. @@ -50697,7 +51957,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCableSegment (IfcAbstractEntity* e); - IfcCableSegment (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum > v9_PredefinedType); + IfcCableSegment (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCableSegmentTypeEnum::IfcCableSegmentTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCableSegment > list; }; /// A chiller is a device used to remove heat from a liquid via a vapor-compression or absorption refrigeration cycle to cool a fluid, typically water or a mixture of water and glycol. The chilled fluid is then used to cool and dehumidify air in a building. @@ -50783,7 +52043,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcChiller (IfcAbstractEntity* e); - IfcChiller (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcChillerTypeEnum::IfcChillerTypeEnum > v9_PredefinedType); + IfcChiller (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcChillerTypeEnum::IfcChillerTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcChiller > list; }; /// A coil is a device used to provide heat transfer between non-mixing media. A common example is a cooling coil, which utilizes a finned coil in which circulates chilled water, antifreeze, or refrigerant that is used to remove heat from air moving across the surface of the coil. A coil may be used either for heating or cooling purposes by placing a series of tubes (the coil) carrying a heating or cooling fluid into an airstream. The coil may be constructed from tubes bundled in a serpentine form or from finned tubes that give a extended heat transfer surface. @@ -50866,7 +52126,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCoil (IfcAbstractEntity* e); - IfcCoil (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCoilTypeEnum::IfcCoilTypeEnum > v9_PredefinedType); + IfcCoil (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCoilTypeEnum::IfcCoilTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCoil > list; }; /// A communications appliance transmits and receives electronic or digital information as data or sound. @@ -50985,7 +52245,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCommunicationsAppliance (IfcAbstractEntity* e); - IfcCommunicationsAppliance (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum > v9_PredefinedType); + IfcCommunicationsAppliance (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCommunicationsApplianceTypeEnum::IfcCommunicationsApplianceTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCommunicationsAppliance > list; }; /// A compressor is a device that compresses a fluid typically used in a refrigeration circuit. @@ -51048,7 +52308,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCompressor (IfcAbstractEntity* e); - IfcCompressor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCompressorTypeEnum::IfcCompressorTypeEnum > v9_PredefinedType); + IfcCompressor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCompressorTypeEnum::IfcCompressorTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCompressor > list; }; /// A condenser is a device that is used to dissipate heat, typically by condensing a substance such as a refrigerant from its gaseous to its liquid state. @@ -51131,7 +52391,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCondenser (IfcAbstractEntity* e); - IfcCondenser (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCondenserTypeEnum::IfcCondenserTypeEnum > v9_PredefinedType); + IfcCondenser (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCondenserTypeEnum::IfcCondenserTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCondenser > list; }; /// The distribution control element type IfcControllerType defines commonly shared information for occurrences of controllers. The set of shared information may include: @@ -51183,7 +52443,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcControllerType (IfcAbstractEntity* e); - IfcControllerType (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcIdentifier > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< IfcLabel > v8_Tag, boost::optional< IfcLabel > v9_ElementType, IfcControllerTypeEnum::IfcControllerTypeEnum v10_PredefinedType); + IfcControllerType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcControllerTypeEnum::IfcControllerTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcControllerType > list; }; /// A cooled beam (or chilled beam) is a device typically used to cool air by circulating a fluid such as chilled water through exposed finned tubes above a space. Typically mounted overhead near or within a ceiling, the cooled beam uses convection to cool the space below it by acting as a heat sink for the naturally rising warm air of the space. Once cooled, the air naturally drops back to the floor where the cycle begins again. @@ -51249,7 +52509,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCooledBeam (IfcAbstractEntity* e); - IfcCooledBeam (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum > v9_PredefinedType); + IfcCooledBeam (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCooledBeamTypeEnum::IfcCooledBeamTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCooledBeam > list; }; /// A cooling tower is a device which rejects heat to ambient air by circulating a fluid such as water through it to reduce its temperature by partial evaporation. @@ -51323,7 +52583,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcCoolingTower (IfcAbstractEntity* e); - IfcCoolingTower (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum > v9_PredefinedType); + IfcCoolingTower (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcCoolingTowerTypeEnum::IfcCoolingTowerTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcCoolingTower > list; }; /// A damper typically participates in an HVAC duct distribution system and is used to control or modulate the flow of air. @@ -51411,7 +52671,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDamper (IfcAbstractEntity* e); - IfcDamper (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDamperTypeEnum::IfcDamperTypeEnum > v9_PredefinedType); + IfcDamper (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDamperTypeEnum::IfcDamperTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcDamper > list; }; /// A distribution chamber element defines a place at which distribution systems and their constituent elements may be inspected or through which they may travel. @@ -51459,7 +52719,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionChamberElement (IfcAbstractEntity* e); - IfcDistributionChamberElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum > v9_PredefinedType); + IfcDistributionChamberElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDistributionChamberElementTypeEnum::IfcDistributionChamberElementTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcDistributionChamberElement > list; }; @@ -51473,7 +52733,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionCircuit (IfcAbstractEntity* e); - IfcDistributionCircuit (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, boost::optional< IfcLabel > v6_LongName, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v7_PredefinedType); + IfcDistributionCircuit (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< IfcDistributionSystemEnum::IfcDistributionSystemEnum > v7_PredefinedType); typedef IfcTemplatedEntityList< IfcDistributionCircuit > list; }; /// 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. @@ -51565,7 +52825,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDistributionControlElement (IfcAbstractEntity* e); - IfcDistributionControlElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag); + IfcDistributionControlElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag); typedef IfcTemplatedEntityList< IfcDistributionControlElement > list; }; /// A duct fitting is a junction or transition in a ducted flow distribution system or used to connect duct segments, resulting changes in flow characteristics to the fluid such as direction and flow rate. @@ -51657,7 +52917,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDuctFitting (IfcAbstractEntity* e); - IfcDuctFitting (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum > v9_PredefinedType); + IfcDuctFitting (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDuctFittingTypeEnum::IfcDuctFittingTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcDuctFitting > list; }; /// A duct segment is used to typically join two sections of duct network. @@ -51723,7 +52983,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDuctSegment (IfcAbstractEntity* e); - IfcDuctSegment (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum > v9_PredefinedType); + IfcDuctSegment (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDuctSegmentTypeEnum::IfcDuctSegmentTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcDuctSegment > list; }; /// A duct silencer is a device that is typically installed inside a duct distribution system for the purpose of reducing the noise levels from air movement, fan noise, etc. in the adjacent space or downstream of the duct silencer device. @@ -51782,7 +53042,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcDuctSilencer (IfcAbstractEntity* e); - IfcDuctSilencer (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum > v9_PredefinedType); + IfcDuctSilencer (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcDuctSilencerTypeEnum::IfcDuctSilencerTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcDuctSilencer > list; }; /// A communications appliance transmits and receives electronic or digital information as data or sound. @@ -51897,7 +53157,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricAppliance (IfcAbstractEntity* e); - IfcElectricAppliance (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum > v9_PredefinedType); + IfcElectricAppliance (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricApplianceTypeEnum::IfcElectricApplianceTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricAppliance > list; }; /// A distribution board is a flow controller in which instances of electrical devices are brought together at a single place for a particular purpose. @@ -51971,7 +53231,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricDistributionBoard (IfcAbstractEntity* e); - IfcElectricDistributionBoard (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum > v9_PredefinedType); + IfcElectricDistributionBoard (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricDistributionBoardTypeEnum::IfcElectricDistributionBoardTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricDistributionBoard > list; }; /// An electric flow storage device is a device in which electrical energy is stored and from which energy may be progressively released. @@ -52029,7 +53289,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricFlowStorageDevice (IfcAbstractEntity* e); - IfcElectricFlowStorageDevice (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum > v9_PredefinedType); + IfcElectricFlowStorageDevice (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricFlowStorageDeviceTypeEnum::IfcElectricFlowStorageDeviceTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricFlowStorageDevice > list; }; /// An electric generator is an engine that is a machine for converting mechanical energy into electrical energy. @@ -52093,7 +53353,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricGenerator (IfcAbstractEntity* e); - IfcElectricGenerator (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum > v9_PredefinedType); + IfcElectricGenerator (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricGeneratorTypeEnum::IfcElectricGeneratorTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricGenerator > list; }; /// An electric motor is an engine that is a machine for converting electrical energy into mechanical energy. @@ -52151,7 +53411,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricMotor (IfcAbstractEntity* e); - IfcElectricMotor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum > v9_PredefinedType); + IfcElectricMotor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricMotorTypeEnum::IfcElectricMotorTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricMotor > list; }; /// An electric time control is a device that applies control to the provision or flow of electrical energy over time. @@ -52209,7 +53469,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcElectricTimeControl (IfcAbstractEntity* e); - IfcElectricTimeControl (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum > v9_PredefinedType); + IfcElectricTimeControl (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcElectricTimeControlTypeEnum::IfcElectricTimeControlTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcElectricTimeControl > list; }; /// A fan is a device which imparts mechanical work on a gas. A typical usage of a fan is to induce airflow in a building services air distribution system. @@ -52280,7 +53540,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFan (IfcAbstractEntity* e); - IfcFan (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFanTypeEnum::IfcFanTypeEnum > v9_PredefinedType); + IfcFan (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFanTypeEnum::IfcFanTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcFan > list; }; /// A filter is an apparatus used to remove particulate or gaseous matter from fluids and gases. @@ -52384,7 +53644,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFilter (IfcAbstractEntity* e); - IfcFilter (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFilterTypeEnum::IfcFilterTypeEnum > v9_PredefinedType); + IfcFilter (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFilterTypeEnum::IfcFilterTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcFilter > list; }; /// A fire suppression terminal has the purpose of delivering a fluid (gas or liquid) that will suppress a fire. @@ -52467,7 +53727,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFireSuppressionTerminal (IfcAbstractEntity* e); - IfcFireSuppressionTerminal (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum > v9_PredefinedType); + IfcFireSuppressionTerminal (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFireSuppressionTerminalTypeEnum::IfcFireSuppressionTerminalTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcFireSuppressionTerminal > list; }; /// A flow instrument reads and displays the value of a particular property of a system at a point, or displays the difference in the value of a property between two points. @@ -52536,7 +53796,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcFlowInstrument (IfcAbstractEntity* e); - IfcFlowInstrument (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum > v9_PredefinedType); + IfcFlowInstrument (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcFlowInstrumentTypeEnum::IfcFlowInstrumentTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcFlowInstrument > list; }; /// Entity Definition @@ -52605,7 +53865,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProtectiveDeviceTrippingUnit (IfcAbstractEntity* e); - IfcProtectiveDeviceTrippingUnit (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum > v9_PredefinedType); + IfcProtectiveDeviceTrippingUnit (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcProtectiveDeviceTrippingUnitTypeEnum::IfcProtectiveDeviceTrippingUnitTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcProtectiveDeviceTrippingUnit > list; }; /// A sensor is a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument. @@ -52756,7 +54016,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcSensor (IfcAbstractEntity* e); - IfcSensor (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcSensorTypeEnum::IfcSensorTypeEnum > v9_PredefinedType); + IfcSensor (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcSensorTypeEnum::IfcSensorTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcSensor > list; }; /// A unitary control element combines a number of control components into a single product, such as a thermostat or humidistat. @@ -52828,7 +54088,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcUnitaryControlElement (IfcAbstractEntity* e); - IfcUnitaryControlElement (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum > v9_PredefinedType); + IfcUnitaryControlElement (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcUnitaryControlElementTypeEnum::IfcUnitaryControlElementTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcUnitaryControlElement > list; }; /// An actuator is a mechanical device for moving or controlling a mechanism or system. An actuator takes energy, usually created by air, electricity, or liquid, and converts that into some kind of motion. @@ -52907,7 +54167,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcActuator (IfcAbstractEntity* e); - IfcActuator (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcActuatorTypeEnum::IfcActuatorTypeEnum > v9_PredefinedType); + IfcActuator (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcActuatorTypeEnum::IfcActuatorTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcActuator > list; }; /// An alarm is a device that signals the existence of a condition or situation that is outside the boundaries of normal expectation or that activates such a device. @@ -52966,7 +54226,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcAlarm (IfcAbstractEntity* e); - IfcAlarm (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcAlarmTypeEnum::IfcAlarmTypeEnum > v9_PredefinedType); + IfcAlarm (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcAlarmTypeEnum::IfcAlarmTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcAlarm > list; }; /// A controller is a device that monitors inputs and controls outputs within a building automation system. @@ -53089,7 +54349,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcController (IfcAbstractEntity* e); - IfcController (IfcGloballyUniqueId v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< IfcLabel > v3_Name, boost::optional< IfcText > v4_Description, boost::optional< IfcLabel > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< IfcIdentifier > v8_Tag, boost::optional< IfcControllerTypeEnum::IfcControllerTypeEnum > v9_PredefinedType); + IfcController (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcControllerTypeEnum::IfcControllerTypeEnum > v9_PredefinedType); typedef IfcTemplatedEntityList< IfcController > list; }; diff --git a/src/ifcparse/Ifc4enum.h b/src/ifcparse/Ifc4enum.h index d8ed07709b..bde232b1c6 100644 --- a/src/ifcparse/Ifc4enum.h +++ b/src/ifcparse/Ifc4enum.h @@ -33,7 +33,7 @@ namespace Ifc4 { namespace Type { typedef enum { - IfcAbsorbedDoseMeasure, IfcAccelerationMeasure, IfcAmountOfSubstanceMeasure, IfcAngularVelocityMeasure, IfcAreaDensityMeasure, IfcAreaMeasure, IfcBoolean, IfcColour, IfcComplexNumber, IfcCompoundPlaneAngleMeasure, IfcContextDependentMeasure, IfcCountMeasure, IfcCurvatureMeasure, IfcCurveStyleFontSelect, IfcDate, IfcDateTime, IfcDerivedMeasureValue, IfcDescriptiveMeasure, IfcDoseEquivalentMeasure, IfcDuration, IfcDynamicViscosityMeasure, IfcElectricCapacitanceMeasure, IfcElectricChargeMeasure, IfcElectricConductanceMeasure, IfcElectricCurrentMeasure, IfcElectricResistanceMeasure, IfcElectricVoltageMeasure, IfcEnergyMeasure, IfcForceMeasure, IfcFrequencyMeasure, IfcHeatFluxDensityMeasure, IfcHeatingValueMeasure, IfcIdentifier, IfcIlluminanceMeasure, IfcInductanceMeasure, IfcInteger, IfcIntegerCountRateMeasure, IfcIonConcentrationMeasure, IfcIsothermalMoistureCapacityMeasure, IfcKinematicViscosityMeasure, IfcLabel, IfcLengthMeasure, IfcLinearForceMeasure, IfcLinearMomentMeasure, IfcLinearStiffnessMeasure, IfcLinearVelocityMeasure, IfcLogical, IfcLuminousFluxMeasure, IfcLuminousIntensityDistributionMeasure, IfcLuminousIntensityMeasure, IfcMagneticFluxDensityMeasure, IfcMagneticFluxMeasure, IfcMassDensityMeasure, IfcMassFlowRateMeasure, IfcMassMeasure, IfcMassPerLengthMeasure, IfcMeasureValue, IfcModulusOfElasticityMeasure, IfcModulusOfLinearSubgradeReactionMeasure, IfcModulusOfRotationalSubgradeReactionMeasure, IfcModulusOfSubgradeReactionMeasure, IfcMoistureDiffusivityMeasure, IfcMolecularWeightMeasure, IfcMomentOfInertiaMeasure, IfcMonetaryMeasure, IfcNonNegativeLengthMeasure, IfcNormalisedRatioMeasure, IfcNullStyle, IfcNumericMeasure, IfcPHMeasure, IfcParameterValue, IfcPlanarForceMeasure, IfcPlaneAngleMeasure, IfcPositiveLengthMeasure, IfcPositivePlaneAngleMeasure, IfcPositiveRatioMeasure, IfcPowerMeasure, IfcPressureMeasure, IfcPropertySetDefinitionSet, IfcRadioActivityMeasure, IfcRatioMeasure, IfcReal, IfcRotationalFrequencyMeasure, IfcRotationalMassMeasure, IfcRotationalStiffnessMeasure, IfcSectionModulusMeasure, IfcSectionalAreaIntegralMeasure, IfcShearModulusMeasure, IfcSimpleValue, IfcSolidAngleMeasure, IfcSoundPowerLevelMeasure, IfcSoundPowerMeasure, IfcSoundPressureLevelMeasure, IfcSoundPressureMeasure, IfcSpecificHeatCapacityMeasure, IfcSpecularExponent, IfcSpecularRoughness, IfcTemperatureGradientMeasure, IfcTemperatureRateOfChangeMeasure, IfcText, IfcThermalAdmittanceMeasure, IfcThermalConductivityMeasure, IfcThermalExpansionCoefficientMeasure, IfcThermalResistanceMeasure, IfcThermalTransmittanceMeasure, IfcThermodynamicTemperatureMeasure, IfcTime, IfcTimeMeasure, IfcTimeStamp, IfcTorqueMeasure, IfcValue, IfcVaporPermeabilityMeasure, IfcVolumeMeasure, IfcVolumetricFlowRateMeasure, IfcWarpingConstantMeasure, IfcWarpingMomentMeasure, IfcActionRequest, IfcActor, IfcActorRole, IfcActuator, IfcActuatorType, IfcAddress, IfcAdvancedBrep, IfcAdvancedBrepWithVoids, IfcAdvancedFace, IfcAirTerminal, IfcAirTerminalBox, IfcAirTerminalBoxType, IfcAirTerminalType, IfcAirToAirHeatRecovery, IfcAirToAirHeatRecoveryType, IfcAlarm, IfcAlarmType, IfcAnnotation, IfcAnnotationFillArea, IfcApplication, IfcAppliedValue, IfcApproval, IfcApprovalRelationship, IfcArbitraryClosedProfileDef, IfcArbitraryOpenProfileDef, IfcArbitraryProfileDefWithVoids, IfcAsset, IfcAsymmetricIShapeProfileDef, IfcAudioVisualAppliance, IfcAudioVisualApplianceType, IfcAxis1Placement, IfcAxis2Placement2D, IfcAxis2Placement3D, IfcBSplineCurve, IfcBSplineCurveWithKnots, IfcBSplineSurface, IfcBSplineSurfaceWithKnots, IfcBeam, IfcBeamStandardCase, IfcBeamType, IfcBlobTexture, IfcBlock, IfcBoiler, IfcBoilerType, IfcBooleanClippingResult, IfcBooleanResult, IfcBoundaryCondition, IfcBoundaryCurve, IfcBoundaryEdgeCondition, IfcBoundaryFaceCondition, IfcBoundaryNodeCondition, IfcBoundaryNodeConditionWarping, IfcBoundedCurve, IfcBoundedSurface, IfcBoundingBox, IfcBoxedHalfSpace, IfcBuilding, IfcBuildingElement, IfcBuildingElementPart, IfcBuildingElementPartType, IfcBuildingElementProxy, IfcBuildingElementProxyType, IfcBuildingElementType, IfcBuildingStorey, IfcBuildingSystem, IfcBurner, IfcBurnerType, IfcCShapeProfileDef, IfcCableCarrierFitting, IfcCableCarrierFittingType, IfcCableCarrierSegment, IfcCableCarrierSegmentType, IfcCableFitting, IfcCableFittingType, IfcCableSegment, IfcCableSegmentType, IfcCartesianPoint, IfcCartesianPointList, IfcCartesianPointList3D, IfcCartesianTransformationOperator, IfcCartesianTransformationOperator2D, IfcCartesianTransformationOperator2DnonUniform, IfcCartesianTransformationOperator3D, IfcCartesianTransformationOperator3DnonUniform, IfcCenterLineProfileDef, IfcChiller, IfcChillerType, IfcChimney, IfcChimneyType, IfcCircle, IfcCircleHollowProfileDef, IfcCircleProfileDef, IfcCivilElement, IfcCivilElementType, IfcClassification, IfcClassificationReference, IfcClosedShell, IfcCoil, IfcCoilType, IfcColourRgb, IfcColourRgbList, IfcColourSpecification, IfcColumn, IfcColumnStandardCase, IfcColumnType, IfcCommunicationsAppliance, IfcCommunicationsApplianceType, IfcComplexProperty, IfcComplexPropertyTemplate, IfcCompositeCurve, IfcCompositeCurveOnSurface, IfcCompositeCurveSegment, IfcCompositeProfileDef, IfcCompressor, IfcCompressorType, IfcCondenser, IfcCondenserType, IfcConic, IfcConnectedFaceSet, IfcConnectionCurveGeometry, IfcConnectionGeometry, IfcConnectionPointEccentricity, IfcConnectionPointGeometry, IfcConnectionSurfaceGeometry, IfcConnectionVolumeGeometry, IfcConstraint, IfcConstructionEquipmentResource, IfcConstructionEquipmentResourceType, IfcConstructionMaterialResource, IfcConstructionMaterialResourceType, IfcConstructionProductResource, IfcConstructionProductResourceType, IfcConstructionResource, IfcConstructionResourceType, IfcContext, IfcContextDependentUnit, IfcControl, IfcController, IfcControllerType, IfcConversionBasedUnit, IfcConversionBasedUnitWithOffset, IfcCooledBeam, IfcCooledBeamType, IfcCoolingTower, IfcCoolingTowerType, IfcCoordinateOperation, IfcCoordinateReferenceSystem, IfcCostItem, IfcCostSchedule, IfcCostValue, IfcCovering, IfcCoveringType, IfcCrewResource, IfcCrewResourceType, IfcCsgPrimitive3D, IfcCsgSolid, IfcCurrencyRelationship, IfcCurtainWall, IfcCurtainWallType, IfcCurve, IfcCurveBoundedPlane, IfcCurveBoundedSurface, IfcCurveStyle, IfcCurveStyleFont, IfcCurveStyleFontAndScaling, IfcCurveStyleFontPattern, IfcCylindricalSurface, IfcDamper, IfcDamperType, IfcDerivedProfileDef, IfcDerivedUnit, IfcDerivedUnitElement, IfcDimensionalExponents, IfcDirection, IfcDiscreteAccessory, IfcDiscreteAccessoryType, IfcDistributionChamberElement, IfcDistributionChamberElementType, IfcDistributionCircuit, IfcDistributionControlElement, IfcDistributionControlElementType, IfcDistributionElement, IfcDistributionElementType, IfcDistributionFlowElement, IfcDistributionFlowElementType, IfcDistributionPort, IfcDistributionSystem, IfcDocumentInformation, IfcDocumentInformationRelationship, IfcDocumentReference, IfcDoor, IfcDoorLiningProperties, IfcDoorPanelProperties, IfcDoorStandardCase, IfcDoorStyle, IfcDoorType, IfcDraughtingPreDefinedColour, IfcDraughtingPreDefinedCurveFont, IfcDuctFitting, IfcDuctFittingType, IfcDuctSegment, IfcDuctSegmentType, IfcDuctSilencer, IfcDuctSilencerType, IfcEdge, IfcEdgeCurve, IfcEdgeLoop, IfcElectricAppliance, IfcElectricApplianceType, IfcElectricDistributionBoard, IfcElectricDistributionBoardType, IfcElectricFlowStorageDevice, IfcElectricFlowStorageDeviceType, IfcElectricGenerator, IfcElectricGeneratorType, IfcElectricMotor, IfcElectricMotorType, IfcElectricTimeControl, IfcElectricTimeControlType, IfcElement, IfcElementAssembly, IfcElementAssemblyType, IfcElementComponent, IfcElementComponentType, IfcElementQuantity, IfcElementType, IfcElementarySurface, IfcEllipse, IfcEllipseProfileDef, IfcEnergyConversionDevice, IfcEnergyConversionDeviceType, IfcEngine, IfcEngineType, IfcEvaporativeCooler, IfcEvaporativeCoolerType, IfcEvaporator, IfcEvaporatorType, IfcEvent, IfcEventTime, IfcEventType, IfcExtendedProperties, IfcExternalInformation, IfcExternalReference, IfcExternalReferenceRelationship, IfcExternalSpatialElement, IfcExternalSpatialStructureElement, IfcExternallyDefinedHatchStyle, IfcExternallyDefinedSurfaceStyle, IfcExternallyDefinedTextFont, IfcExtrudedAreaSolid, IfcExtrudedAreaSolidTapered, IfcFace, IfcFaceBasedSurfaceModel, IfcFaceBound, IfcFaceOuterBound, IfcFaceSurface, IfcFacetedBrep, IfcFacetedBrepWithVoids, IfcFailureConnectionCondition, IfcFan, IfcFanType, IfcFastener, IfcFastenerType, IfcFeatureElement, IfcFeatureElementAddition, IfcFeatureElementSubtraction, IfcFillAreaStyle, IfcFillAreaStyleHatching, IfcFillAreaStyleTiles, IfcFilter, IfcFilterType, IfcFireSuppressionTerminal, IfcFireSuppressionTerminalType, IfcFixedReferenceSweptAreaSolid, IfcFlowController, IfcFlowControllerType, IfcFlowFitting, IfcFlowFittingType, IfcFlowInstrument, IfcFlowInstrumentType, IfcFlowMeter, IfcFlowMeterType, IfcFlowMovingDevice, IfcFlowMovingDeviceType, IfcFlowSegment, IfcFlowSegmentType, IfcFlowStorageDevice, IfcFlowStorageDeviceType, IfcFlowTerminal, IfcFlowTerminalType, IfcFlowTreatmentDevice, IfcFlowTreatmentDeviceType, IfcFooting, IfcFootingType, IfcFurnishingElement, IfcFurnishingElementType, IfcFurniture, IfcFurnitureType, IfcGeographicElement, IfcGeographicElementType, IfcGeometricCurveSet, IfcGeometricRepresentationContext, IfcGeometricRepresentationItem, IfcGeometricRepresentationSubContext, IfcGeometricSet, IfcGrid, IfcGridAxis, IfcGridPlacement, IfcGroup, IfcHalfSpaceSolid, IfcHeatExchanger, IfcHeatExchangerType, IfcHumidifier, IfcHumidifierType, IfcIShapeProfileDef, IfcImageTexture, IfcIndexedColourMap, IfcIndexedTextureMap, IfcIndexedTriangleTextureMap, IfcInterceptor, IfcInterceptorType, IfcInventory, IfcIrregularTimeSeries, IfcIrregularTimeSeriesValue, IfcJunctionBox, IfcJunctionBoxType, IfcLShapeProfileDef, IfcLaborResource, IfcLaborResourceType, IfcLagTime, IfcLamp, IfcLampType, IfcLibraryInformation, IfcLibraryReference, IfcLightDistributionData, IfcLightFixture, IfcLightFixtureType, IfcLightIntensityDistribution, IfcLightSource, IfcLightSourceAmbient, IfcLightSourceDirectional, IfcLightSourceGoniometric, IfcLightSourcePositional, IfcLightSourceSpot, IfcLine, IfcLocalPlacement, IfcLoop, IfcManifoldSolidBrep, IfcMapConversion, IfcMappedItem, IfcMaterial, IfcMaterialClassificationRelationship, IfcMaterialConstituent, IfcMaterialConstituentSet, IfcMaterialDefinition, IfcMaterialDefinitionRepresentation, IfcMaterialLayer, IfcMaterialLayerSet, IfcMaterialLayerSetUsage, IfcMaterialLayerWithOffsets, IfcMaterialList, IfcMaterialProfile, IfcMaterialProfileSet, IfcMaterialProfileSetUsage, IfcMaterialProfileSetUsageTapering, IfcMaterialProfileWithOffsets, IfcMaterialProperties, IfcMaterialRelationship, IfcMaterialUsageDefinition, IfcMeasureWithUnit, IfcMechanicalFastener, IfcMechanicalFastenerType, IfcMedicalDevice, IfcMedicalDeviceType, IfcMember, IfcMemberStandardCase, IfcMemberType, IfcMetric, IfcMirroredProfileDef, IfcMonetaryUnit, IfcMotorConnection, IfcMotorConnectionType, IfcNamedUnit, IfcObject, IfcObjectDefinition, IfcObjectPlacement, IfcObjective, IfcOccupant, IfcOffsetCurve2D, IfcOffsetCurve3D, IfcOpenShell, IfcOpeningElement, IfcOpeningStandardCase, IfcOrganization, IfcOrganizationRelationship, IfcOrientedEdge, IfcOuterBoundaryCurve, IfcOutlet, IfcOutletType, IfcOwnerHistory, IfcParameterizedProfileDef, IfcPath, IfcPcurve, IfcPerformanceHistory, IfcPermeableCoveringProperties, IfcPermit, IfcPerson, IfcPersonAndOrganization, IfcPhysicalComplexQuantity, IfcPhysicalQuantity, IfcPhysicalSimpleQuantity, IfcPile, IfcPileType, IfcPipeFitting, IfcPipeFittingType, IfcPipeSegment, IfcPipeSegmentType, IfcPixelTexture, IfcPlacement, IfcPlanarBox, IfcPlanarExtent, IfcPlane, IfcPlate, IfcPlateStandardCase, IfcPlateType, IfcPoint, IfcPointOnCurve, IfcPointOnSurface, IfcPolyLoop, IfcPolygonalBoundedHalfSpace, IfcPolyline, IfcPort, IfcPostalAddress, IfcPreDefinedColour, IfcPreDefinedCurveFont, IfcPreDefinedItem, IfcPreDefinedProperties, IfcPreDefinedPropertySet, IfcPreDefinedTextFont, IfcPresentationItem, IfcPresentationLayerAssignment, IfcPresentationLayerWithStyle, IfcPresentationStyle, IfcPresentationStyleAssignment, IfcProcedure, IfcProcedureType, IfcProcess, IfcProduct, IfcProductDefinitionShape, IfcProductRepresentation, IfcProfileDef, IfcProfileProperties, IfcProject, IfcProjectLibrary, IfcProjectOrder, IfcProjectedCRS, IfcProjectionElement, IfcProperty, IfcPropertyAbstraction, IfcPropertyBoundedValue, IfcPropertyDefinition, IfcPropertyDependencyRelationship, IfcPropertyEnumeratedValue, IfcPropertyEnumeration, IfcPropertyListValue, IfcPropertyReferenceValue, IfcPropertySet, IfcPropertySetDefinition, IfcPropertySetTemplate, IfcPropertySingleValue, IfcPropertyTableValue, IfcPropertyTemplate, IfcPropertyTemplateDefinition, IfcProtectiveDevice, IfcProtectiveDeviceTrippingUnit, IfcProtectiveDeviceTrippingUnitType, IfcProtectiveDeviceType, IfcProxy, IfcPump, IfcPumpType, IfcQuantityArea, IfcQuantityCount, IfcQuantityLength, IfcQuantitySet, IfcQuantityTime, IfcQuantityVolume, IfcQuantityWeight, IfcRailing, IfcRailingType, IfcRamp, IfcRampFlight, IfcRampFlightType, IfcRampType, IfcRationalBSplineCurveWithKnots, IfcRationalBSplineSurfaceWithKnots, IfcRectangleHollowProfileDef, IfcRectangleProfileDef, IfcRectangularPyramid, IfcRectangularTrimmedSurface, IfcRecurrencePattern, IfcReference, IfcRegularTimeSeries, IfcReinforcementBarProperties, IfcReinforcementDefinitionProperties, IfcReinforcingBar, IfcReinforcingBarType, IfcReinforcingElement, IfcReinforcingElementType, IfcReinforcingMesh, IfcReinforcingMeshType, IfcRelAggregates, IfcRelAssigns, IfcRelAssignsToActor, IfcRelAssignsToControl, IfcRelAssignsToGroup, IfcRelAssignsToGroupByFactor, IfcRelAssignsToProcess, IfcRelAssignsToProduct, IfcRelAssignsToResource, IfcRelAssociates, IfcRelAssociatesApproval, IfcRelAssociatesClassification, IfcRelAssociatesConstraint, IfcRelAssociatesDocument, IfcRelAssociatesLibrary, IfcRelAssociatesMaterial, IfcRelConnects, IfcRelConnectsElements, IfcRelConnectsPathElements, IfcRelConnectsPortToElement, IfcRelConnectsPorts, IfcRelConnectsStructuralActivity, IfcRelConnectsStructuralMember, IfcRelConnectsWithEccentricity, IfcRelConnectsWithRealizingElements, IfcRelContainedInSpatialStructure, IfcRelCoversBldgElements, IfcRelCoversSpaces, IfcRelDeclares, IfcRelDecomposes, IfcRelDefines, IfcRelDefinesByObject, IfcRelDefinesByProperties, IfcRelDefinesByTemplate, IfcRelDefinesByType, IfcRelFillsElement, IfcRelFlowControlElements, IfcRelInterferesElements, IfcRelNests, IfcRelProjectsElement, IfcRelReferencedInSpatialStructure, IfcRelSequence, IfcRelServicesBuildings, IfcRelSpaceBoundary, IfcRelSpaceBoundary1stLevel, IfcRelSpaceBoundary2ndLevel, IfcRelVoidsElement, IfcRelationship, IfcReparametrisedCompositeCurveSegment, IfcRepresentation, IfcRepresentationContext, IfcRepresentationItem, IfcRepresentationMap, IfcResource, IfcResourceApprovalRelationship, IfcResourceConstraintRelationship, IfcResourceLevelRelationship, IfcResourceTime, IfcRevolvedAreaSolid, IfcRevolvedAreaSolidTapered, IfcRightCircularCone, IfcRightCircularCylinder, IfcRoof, IfcRoofType, IfcRoot, IfcRoundedRectangleProfileDef, IfcSIUnit, IfcSanitaryTerminal, IfcSanitaryTerminalType, IfcSchedulingTime, IfcSectionProperties, IfcSectionReinforcementProperties, IfcSectionedSpine, IfcSensor, IfcSensorType, IfcShadingDevice, IfcShadingDeviceType, IfcShapeAspect, IfcShapeModel, IfcShapeRepresentation, IfcShellBasedSurfaceModel, IfcSimpleProperty, IfcSimplePropertyTemplate, IfcSite, IfcSlab, IfcSlabElementedCase, IfcSlabStandardCase, IfcSlabType, IfcSlippageConnectionCondition, IfcSolarDevice, IfcSolarDeviceType, IfcSolidModel, IfcSpace, IfcSpaceHeater, IfcSpaceHeaterType, IfcSpaceType, IfcSpatialElement, IfcSpatialElementType, IfcSpatialStructureElement, IfcSpatialStructureElementType, IfcSpatialZone, IfcSpatialZoneType, IfcSphere, IfcStackTerminal, IfcStackTerminalType, IfcStair, IfcStairFlight, IfcStairFlightType, IfcStairType, IfcStructuralAction, IfcStructuralActivity, IfcStructuralAnalysisModel, IfcStructuralConnection, IfcStructuralConnectionCondition, IfcStructuralCurveAction, IfcStructuralCurveConnection, IfcStructuralCurveMember, IfcStructuralCurveMemberVarying, IfcStructuralCurveReaction, IfcStructuralItem, IfcStructuralLinearAction, IfcStructuralLoad, IfcStructuralLoadCase, IfcStructuralLoadConfiguration, IfcStructuralLoadGroup, IfcStructuralLoadLinearForce, IfcStructuralLoadOrResult, IfcStructuralLoadPlanarForce, IfcStructuralLoadSingleDisplacement, IfcStructuralLoadSingleDisplacementDistortion, IfcStructuralLoadSingleForce, IfcStructuralLoadSingleForceWarping, IfcStructuralLoadStatic, IfcStructuralLoadTemperature, IfcStructuralMember, IfcStructuralPlanarAction, IfcStructuralPointAction, IfcStructuralPointConnection, IfcStructuralPointReaction, IfcStructuralReaction, IfcStructuralResultGroup, IfcStructuralSurfaceAction, IfcStructuralSurfaceConnection, IfcStructuralSurfaceMember, IfcStructuralSurfaceMemberVarying, IfcStructuralSurfaceReaction, IfcStyleModel, IfcStyledItem, IfcStyledRepresentation, IfcSubContractResource, IfcSubContractResourceType, IfcSubedge, IfcSurface, IfcSurfaceCurveSweptAreaSolid, IfcSurfaceFeature, IfcSurfaceOfLinearExtrusion, IfcSurfaceOfRevolution, IfcSurfaceReinforcementArea, IfcSurfaceStyle, IfcSurfaceStyleLighting, IfcSurfaceStyleRefraction, IfcSurfaceStyleRendering, IfcSurfaceStyleShading, IfcSurfaceStyleWithTextures, IfcSurfaceTexture, IfcSweptAreaSolid, IfcSweptDiskSolid, IfcSweptDiskSolidPolygonal, IfcSweptSurface, IfcSwitchingDevice, IfcSwitchingDeviceType, IfcSystem, IfcSystemFurnitureElement, IfcSystemFurnitureElementType, IfcTShapeProfileDef, IfcTable, IfcTableColumn, IfcTableRow, IfcTank, IfcTankType, IfcTask, IfcTaskTime, IfcTaskTimeRecurring, IfcTaskType, IfcTelecomAddress, IfcTendon, IfcTendonAnchor, IfcTendonAnchorType, IfcTendonType, IfcTessellatedFaceSet, IfcTessellatedItem, IfcTextLiteral, IfcTextLiteralWithExtent, IfcTextStyle, IfcTextStyleFontModel, IfcTextStyleForDefinedFont, IfcTextStyleTextModel, IfcTextureCoordinate, IfcTextureCoordinateGenerator, IfcTextureMap, IfcTextureVertex, IfcTextureVertexList, IfcTimePeriod, IfcTimeSeries, IfcTimeSeriesValue, IfcTopologicalRepresentationItem, IfcTopologyRepresentation, IfcTransformer, IfcTransformerType, IfcTransportElement, IfcTransportElementType, IfcTrapeziumProfileDef, IfcTriangulatedFaceSet, IfcTrimmedCurve, IfcTubeBundle, IfcTubeBundleType, IfcTypeObject, IfcTypeProcess, IfcTypeProduct, IfcTypeResource, IfcUShapeProfileDef, IfcUnitAssignment, IfcUnitaryControlElement, IfcUnitaryControlElementType, IfcUnitaryEquipment, IfcUnitaryEquipmentType, IfcValve, IfcValveType, IfcVector, IfcVertex, IfcVertexLoop, IfcVertexPoint, IfcVibrationIsolator, IfcVibrationIsolatorType, IfcVirtualElement, IfcVirtualGridIntersection, IfcVoidingFeature, IfcWall, IfcWallElementedCase, IfcWallStandardCase, IfcWallType, IfcWasteTerminal, IfcWasteTerminalType, IfcWindow, IfcWindowLiningProperties, IfcWindowPanelProperties, IfcWindowStandardCase, IfcWindowStyle, IfcWindowType, IfcWorkCalendar, IfcWorkControl, IfcWorkPlan, IfcWorkSchedule, IfcWorkTime, IfcZShapeProfileDef, IfcZone, ALL + IfcAbsorbedDoseMeasure, IfcAccelerationMeasure, IfcActionRequest, IfcActionRequestTypeEnum, IfcActionSourceTypeEnum, IfcActionTypeEnum, IfcActor, IfcActorRole, IfcActorSelect, IfcActuator, IfcActuatorType, IfcActuatorTypeEnum, IfcAddress, IfcAddressTypeEnum, IfcAdvancedBrep, IfcAdvancedBrepWithVoids, IfcAdvancedFace, IfcAirTerminal, IfcAirTerminalBox, IfcAirTerminalBoxType, IfcAirTerminalBoxTypeEnum, IfcAirTerminalType, IfcAirTerminalTypeEnum, IfcAirToAirHeatRecovery, IfcAirToAirHeatRecoveryType, IfcAirToAirHeatRecoveryTypeEnum, IfcAlarm, IfcAlarmType, IfcAlarmTypeEnum, IfcAmountOfSubstanceMeasure, IfcAnalysisModelTypeEnum, IfcAnalysisTheoryTypeEnum, IfcAngularVelocityMeasure, IfcAnnotation, IfcAnnotationFillArea, IfcApplication, IfcAppliedValue, IfcAppliedValueSelect, IfcApproval, IfcApprovalRelationship, IfcArbitraryClosedProfileDef, IfcArbitraryOpenProfileDef, IfcArbitraryProfileDefWithVoids, IfcAreaDensityMeasure, IfcAreaMeasure, IfcArithmeticOperatorEnum, IfcAssemblyPlaceEnum, IfcAsset, IfcAsymmetricIShapeProfileDef, IfcAudioVisualAppliance, IfcAudioVisualApplianceType, IfcAudioVisualApplianceTypeEnum, IfcAxis1Placement, IfcAxis2Placement, IfcAxis2Placement2D, IfcAxis2Placement3D, IfcBSplineCurve, IfcBSplineCurveForm, IfcBSplineCurveWithKnots, IfcBSplineSurface, IfcBSplineSurfaceForm, IfcBSplineSurfaceWithKnots, IfcBeam, IfcBeamStandardCase, IfcBeamType, IfcBeamTypeEnum, IfcBenchmarkEnum, IfcBendingParameterSelect, IfcBlobTexture, IfcBlock, IfcBoiler, IfcBoilerType, IfcBoilerTypeEnum, IfcBoolean, IfcBooleanClippingResult, IfcBooleanOperand, IfcBooleanOperator, IfcBooleanResult, IfcBoundaryCondition, IfcBoundaryCurve, IfcBoundaryEdgeCondition, IfcBoundaryFaceCondition, IfcBoundaryNodeCondition, IfcBoundaryNodeConditionWarping, IfcBoundedCurve, IfcBoundedSurface, IfcBoundingBox, IfcBoxAlignment, IfcBoxedHalfSpace, IfcBuilding, IfcBuildingElement, IfcBuildingElementPart, IfcBuildingElementPartType, IfcBuildingElementPartTypeEnum, IfcBuildingElementProxy, IfcBuildingElementProxyType, IfcBuildingElementProxyTypeEnum, IfcBuildingElementType, IfcBuildingStorey, IfcBuildingSystem, IfcBuildingSystemTypeEnum, IfcBurner, IfcBurnerType, IfcBurnerTypeEnum, IfcCShapeProfileDef, IfcCableCarrierFitting, IfcCableCarrierFittingType, IfcCableCarrierFittingTypeEnum, IfcCableCarrierSegment, IfcCableCarrierSegmentType, IfcCableCarrierSegmentTypeEnum, IfcCableFitting, IfcCableFittingType, IfcCableFittingTypeEnum, IfcCableSegment, IfcCableSegmentType, IfcCableSegmentTypeEnum, IfcCardinalPointReference, IfcCartesianPoint, IfcCartesianPointList, IfcCartesianPointList3D, IfcCartesianTransformationOperator, IfcCartesianTransformationOperator2D, IfcCartesianTransformationOperator2DnonUniform, IfcCartesianTransformationOperator3D, IfcCartesianTransformationOperator3DnonUniform, IfcCenterLineProfileDef, IfcChangeActionEnum, IfcChiller, IfcChillerType, IfcChillerTypeEnum, IfcChimney, IfcChimneyType, IfcChimneyTypeEnum, IfcCircle, IfcCircleHollowProfileDef, IfcCircleProfileDef, IfcCivilElement, IfcCivilElementType, IfcClassification, IfcClassificationReference, IfcClassificationReferenceSelect, IfcClassificationSelect, IfcClosedShell, IfcCoil, IfcCoilType, IfcCoilTypeEnum, IfcColour, IfcColourOrFactor, IfcColourRgb, IfcColourRgbList, IfcColourSpecification, IfcColumn, IfcColumnStandardCase, IfcColumnType, IfcColumnTypeEnum, IfcCommunicationsAppliance, IfcCommunicationsApplianceType, IfcCommunicationsApplianceTypeEnum, IfcComplexNumber, IfcComplexProperty, IfcComplexPropertyTemplate, IfcComplexPropertyTemplateTypeEnum, IfcCompositeCurve, IfcCompositeCurveOnSurface, IfcCompositeCurveSegment, IfcCompositeProfileDef, IfcCompoundPlaneAngleMeasure, IfcCompressor, IfcCompressorType, IfcCompressorTypeEnum, IfcCondenser, IfcCondenserType, IfcCondenserTypeEnum, IfcConic, IfcConnectedFaceSet, IfcConnectionCurveGeometry, IfcConnectionGeometry, IfcConnectionPointEccentricity, IfcConnectionPointGeometry, IfcConnectionSurfaceGeometry, IfcConnectionTypeEnum, IfcConnectionVolumeGeometry, IfcConstraint, IfcConstraintEnum, IfcConstructionEquipmentResource, IfcConstructionEquipmentResourceType, IfcConstructionEquipmentResourceTypeEnum, IfcConstructionMaterialResource, IfcConstructionMaterialResourceType, IfcConstructionMaterialResourceTypeEnum, IfcConstructionProductResource, IfcConstructionProductResourceType, IfcConstructionProductResourceTypeEnum, IfcConstructionResource, IfcConstructionResourceType, IfcContext, IfcContextDependentMeasure, IfcContextDependentUnit, IfcControl, IfcController, IfcControllerType, IfcControllerTypeEnum, IfcConversionBasedUnit, IfcConversionBasedUnitWithOffset, IfcCooledBeam, IfcCooledBeamType, IfcCooledBeamTypeEnum, IfcCoolingTower, IfcCoolingTowerType, IfcCoolingTowerTypeEnum, IfcCoordinateOperation, IfcCoordinateReferenceSystem, IfcCoordinateReferenceSystemSelect, IfcCostItem, IfcCostItemTypeEnum, IfcCostSchedule, IfcCostScheduleTypeEnum, IfcCostValue, IfcCountMeasure, IfcCovering, IfcCoveringType, IfcCoveringTypeEnum, IfcCrewResource, IfcCrewResourceType, IfcCrewResourceTypeEnum, IfcCsgPrimitive3D, IfcCsgSelect, IfcCsgSolid, IfcCurrencyRelationship, IfcCurtainWall, IfcCurtainWallType, IfcCurtainWallTypeEnum, IfcCurvatureMeasure, IfcCurve, IfcCurveBoundedPlane, IfcCurveBoundedSurface, IfcCurveFontOrScaledCurveFontSelect, IfcCurveInterpolationEnum, IfcCurveOnSurface, IfcCurveOrEdgeCurve, IfcCurveStyle, IfcCurveStyleFont, IfcCurveStyleFontAndScaling, IfcCurveStyleFontPattern, IfcCurveStyleFontSelect, IfcCylindricalSurface, IfcDamper, IfcDamperType, IfcDamperTypeEnum, IfcDataOriginEnum, IfcDate, IfcDateTime, IfcDayInMonthNumber, IfcDayInWeekNumber, IfcDefinitionSelect, IfcDerivedMeasureValue, IfcDerivedProfileDef, IfcDerivedUnit, IfcDerivedUnitElement, IfcDerivedUnitEnum, IfcDescriptiveMeasure, IfcDimensionCount, IfcDimensionalExponents, IfcDirection, IfcDirectionSenseEnum, IfcDiscreteAccessory, IfcDiscreteAccessoryType, IfcDiscreteAccessoryTypeEnum, IfcDistributionChamberElement, IfcDistributionChamberElementType, IfcDistributionChamberElementTypeEnum, IfcDistributionCircuit, IfcDistributionControlElement, IfcDistributionControlElementType, IfcDistributionElement, IfcDistributionElementType, IfcDistributionFlowElement, IfcDistributionFlowElementType, IfcDistributionPort, IfcDistributionPortTypeEnum, IfcDistributionSystem, IfcDistributionSystemEnum, IfcDocumentConfidentialityEnum, IfcDocumentInformation, IfcDocumentInformationRelationship, IfcDocumentReference, IfcDocumentSelect, IfcDocumentStatusEnum, IfcDoor, IfcDoorLiningProperties, IfcDoorPanelOperationEnum, IfcDoorPanelPositionEnum, IfcDoorPanelProperties, IfcDoorStandardCase, IfcDoorStyle, IfcDoorStyleConstructionEnum, IfcDoorStyleOperationEnum, IfcDoorType, IfcDoorTypeEnum, IfcDoorTypeOperationEnum, IfcDoseEquivalentMeasure, IfcDraughtingPreDefinedColour, IfcDraughtingPreDefinedCurveFont, IfcDuctFitting, IfcDuctFittingType, IfcDuctFittingTypeEnum, IfcDuctSegment, IfcDuctSegmentType, IfcDuctSegmentTypeEnum, IfcDuctSilencer, IfcDuctSilencerType, IfcDuctSilencerTypeEnum, IfcDuration, IfcDynamicViscosityMeasure, IfcEdge, IfcEdgeCurve, IfcEdgeLoop, IfcElectricAppliance, IfcElectricApplianceType, IfcElectricApplianceTypeEnum, IfcElectricCapacitanceMeasure, IfcElectricChargeMeasure, IfcElectricConductanceMeasure, IfcElectricCurrentMeasure, IfcElectricDistributionBoard, IfcElectricDistributionBoardType, IfcElectricDistributionBoardTypeEnum, IfcElectricFlowStorageDevice, IfcElectricFlowStorageDeviceType, IfcElectricFlowStorageDeviceTypeEnum, IfcElectricGenerator, IfcElectricGeneratorType, IfcElectricGeneratorTypeEnum, IfcElectricMotor, IfcElectricMotorType, IfcElectricMotorTypeEnum, IfcElectricResistanceMeasure, IfcElectricTimeControl, IfcElectricTimeControlType, IfcElectricTimeControlTypeEnum, IfcElectricVoltageMeasure, IfcElement, IfcElementAssembly, IfcElementAssemblyType, IfcElementAssemblyTypeEnum, IfcElementComponent, IfcElementComponentType, IfcElementCompositionEnum, IfcElementQuantity, IfcElementType, IfcElementarySurface, IfcEllipse, IfcEllipseProfileDef, IfcEnergyConversionDevice, IfcEnergyConversionDeviceType, IfcEnergyMeasure, IfcEngine, IfcEngineType, IfcEngineTypeEnum, IfcEvaporativeCooler, IfcEvaporativeCoolerType, IfcEvaporativeCoolerTypeEnum, IfcEvaporator, IfcEvaporatorType, IfcEvaporatorTypeEnum, IfcEvent, IfcEventTime, IfcEventTriggerTypeEnum, IfcEventType, IfcEventTypeEnum, IfcExtendedProperties, IfcExternalInformation, IfcExternalReference, IfcExternalReferenceRelationship, IfcExternalSpatialElement, IfcExternalSpatialElementTypeEnum, IfcExternalSpatialStructureElement, IfcExternallyDefinedHatchStyle, IfcExternallyDefinedSurfaceStyle, IfcExternallyDefinedTextFont, IfcExtrudedAreaSolid, IfcExtrudedAreaSolidTapered, IfcFace, IfcFaceBasedSurfaceModel, IfcFaceBound, IfcFaceOuterBound, IfcFaceSurface, IfcFacetedBrep, IfcFacetedBrepWithVoids, IfcFailureConnectionCondition, IfcFan, IfcFanType, IfcFanTypeEnum, IfcFastener, IfcFastenerType, IfcFastenerTypeEnum, IfcFeatureElement, IfcFeatureElementAddition, IfcFeatureElementSubtraction, IfcFillAreaStyle, IfcFillAreaStyleHatching, IfcFillAreaStyleTiles, IfcFillStyleSelect, IfcFilter, IfcFilterType, IfcFilterTypeEnum, IfcFireSuppressionTerminal, IfcFireSuppressionTerminalType, IfcFireSuppressionTerminalTypeEnum, IfcFixedReferenceSweptAreaSolid, IfcFlowController, IfcFlowControllerType, IfcFlowDirectionEnum, IfcFlowFitting, IfcFlowFittingType, IfcFlowInstrument, IfcFlowInstrumentType, IfcFlowInstrumentTypeEnum, IfcFlowMeter, IfcFlowMeterType, IfcFlowMeterTypeEnum, IfcFlowMovingDevice, IfcFlowMovingDeviceType, IfcFlowSegment, IfcFlowSegmentType, IfcFlowStorageDevice, IfcFlowStorageDeviceType, IfcFlowTerminal, IfcFlowTerminalType, IfcFlowTreatmentDevice, IfcFlowTreatmentDeviceType, IfcFontStyle, IfcFontVariant, IfcFontWeight, IfcFooting, IfcFootingType, IfcFootingTypeEnum, IfcForceMeasure, IfcFrequencyMeasure, IfcFurnishingElement, IfcFurnishingElementType, IfcFurniture, IfcFurnitureType, IfcFurnitureTypeEnum, IfcGeographicElement, IfcGeographicElementType, IfcGeographicElementTypeEnum, IfcGeometricCurveSet, IfcGeometricProjectionEnum, IfcGeometricRepresentationContext, IfcGeometricRepresentationItem, IfcGeometricRepresentationSubContext, IfcGeometricSet, IfcGeometricSetSelect, IfcGlobalOrLocalEnum, IfcGloballyUniqueId, IfcGrid, IfcGridAxis, IfcGridPlacement, IfcGridPlacementDirectionSelect, IfcGridTypeEnum, IfcGroup, IfcHalfSpaceSolid, IfcHatchLineDistanceSelect, IfcHeatExchanger, IfcHeatExchangerType, IfcHeatExchangerTypeEnum, IfcHeatFluxDensityMeasure, IfcHeatingValueMeasure, IfcHumidifier, IfcHumidifierType, IfcHumidifierTypeEnum, IfcIShapeProfileDef, IfcIdentifier, IfcIlluminanceMeasure, IfcImageTexture, IfcIndexedColourMap, IfcIndexedTextureMap, IfcIndexedTriangleTextureMap, IfcInductanceMeasure, IfcInteger, IfcIntegerCountRateMeasure, IfcInterceptor, IfcInterceptorType, IfcInterceptorTypeEnum, IfcInternalOrExternalEnum, IfcInventory, IfcInventoryTypeEnum, IfcIonConcentrationMeasure, IfcIrregularTimeSeries, IfcIrregularTimeSeriesValue, IfcIsothermalMoistureCapacityMeasure, IfcJunctionBox, IfcJunctionBoxType, IfcJunctionBoxTypeEnum, IfcKinematicViscosityMeasure, IfcKnotType, IfcLShapeProfileDef, IfcLabel, IfcLaborResource, IfcLaborResourceType, IfcLaborResourceTypeEnum, IfcLagTime, IfcLamp, IfcLampType, IfcLampTypeEnum, IfcLanguageId, IfcLayerSetDirectionEnum, IfcLayeredItem, IfcLengthMeasure, IfcLibraryInformation, IfcLibraryReference, IfcLibrarySelect, IfcLightDistributionCurveEnum, IfcLightDistributionData, IfcLightDistributionDataSourceSelect, IfcLightEmissionSourceEnum, IfcLightFixture, IfcLightFixtureType, IfcLightFixtureTypeEnum, IfcLightIntensityDistribution, IfcLightSource, IfcLightSourceAmbient, IfcLightSourceDirectional, IfcLightSourceGoniometric, IfcLightSourcePositional, IfcLightSourceSpot, IfcLine, IfcLinearForceMeasure, IfcLinearMomentMeasure, IfcLinearStiffnessMeasure, IfcLinearVelocityMeasure, IfcLoadGroupTypeEnum, IfcLocalPlacement, IfcLogical, IfcLogicalOperatorEnum, IfcLoop, IfcLuminousFluxMeasure, IfcLuminousIntensityDistributionMeasure, IfcLuminousIntensityMeasure, IfcMagneticFluxDensityMeasure, IfcMagneticFluxMeasure, IfcManifoldSolidBrep, IfcMapConversion, IfcMappedItem, IfcMassDensityMeasure, IfcMassFlowRateMeasure, IfcMassMeasure, IfcMassPerLengthMeasure, IfcMaterial, IfcMaterialClassificationRelationship, IfcMaterialConstituent, IfcMaterialConstituentSet, IfcMaterialDefinition, IfcMaterialDefinitionRepresentation, IfcMaterialLayer, IfcMaterialLayerSet, IfcMaterialLayerSetUsage, IfcMaterialLayerWithOffsets, IfcMaterialList, IfcMaterialProfile, IfcMaterialProfileSet, IfcMaterialProfileSetUsage, IfcMaterialProfileSetUsageTapering, IfcMaterialProfileWithOffsets, IfcMaterialProperties, IfcMaterialRelationship, IfcMaterialSelect, IfcMaterialUsageDefinition, IfcMeasureValue, IfcMeasureWithUnit, IfcMechanicalFastener, IfcMechanicalFastenerType, IfcMechanicalFastenerTypeEnum, IfcMedicalDevice, IfcMedicalDeviceType, IfcMedicalDeviceTypeEnum, IfcMember, IfcMemberStandardCase, IfcMemberType, IfcMemberTypeEnum, IfcMetric, IfcMetricValueSelect, IfcMirroredProfileDef, IfcModulusOfElasticityMeasure, IfcModulusOfLinearSubgradeReactionMeasure, IfcModulusOfRotationalSubgradeReactionMeasure, IfcModulusOfRotationalSubgradeReactionSelect, IfcModulusOfSubgradeReactionMeasure, IfcModulusOfSubgradeReactionSelect, IfcModulusOfTranslationalSubgradeReactionSelect, IfcMoistureDiffusivityMeasure, IfcMolecularWeightMeasure, IfcMomentOfInertiaMeasure, IfcMonetaryMeasure, IfcMonetaryUnit, IfcMonthInYearNumber, IfcMotorConnection, IfcMotorConnectionType, IfcMotorConnectionTypeEnum, IfcNamedUnit, IfcNonNegativeLengthMeasure, IfcNormalisedRatioMeasure, IfcNullStyle, IfcNumericMeasure, IfcObject, IfcObjectDefinition, IfcObjectPlacement, IfcObjectReferenceSelect, IfcObjectTypeEnum, IfcObjective, IfcObjectiveEnum, IfcOccupant, IfcOccupantTypeEnum, IfcOffsetCurve2D, IfcOffsetCurve3D, IfcOpenShell, IfcOpeningElement, IfcOpeningElementTypeEnum, IfcOpeningStandardCase, IfcOrganization, IfcOrganizationRelationship, IfcOrientedEdge, IfcOuterBoundaryCurve, IfcOutlet, IfcOutletType, IfcOutletTypeEnum, IfcOwnerHistory, IfcPHMeasure, IfcParameterValue, IfcParameterizedProfileDef, IfcPath, IfcPcurve, IfcPerformanceHistory, IfcPerformanceHistoryTypeEnum, IfcPermeableCoveringOperationEnum, IfcPermeableCoveringProperties, IfcPermit, IfcPermitTypeEnum, IfcPerson, IfcPersonAndOrganization, IfcPhysicalComplexQuantity, IfcPhysicalOrVirtualEnum, IfcPhysicalQuantity, IfcPhysicalSimpleQuantity, IfcPile, IfcPileConstructionEnum, IfcPileType, IfcPileTypeEnum, IfcPipeFitting, IfcPipeFittingType, IfcPipeFittingTypeEnum, IfcPipeSegment, IfcPipeSegmentType, IfcPipeSegmentTypeEnum, IfcPixelTexture, IfcPlacement, IfcPlanarBox, IfcPlanarExtent, IfcPlanarForceMeasure, IfcPlane, IfcPlaneAngleMeasure, IfcPlate, IfcPlateStandardCase, IfcPlateType, IfcPlateTypeEnum, IfcPoint, IfcPointOnCurve, IfcPointOnSurface, IfcPointOrVertexPoint, IfcPolyLoop, IfcPolygonalBoundedHalfSpace, IfcPolyline, IfcPort, IfcPositiveLengthMeasure, IfcPositivePlaneAngleMeasure, IfcPositiveRatioMeasure, IfcPostalAddress, IfcPowerMeasure, IfcPreDefinedColour, IfcPreDefinedCurveFont, IfcPreDefinedItem, IfcPreDefinedProperties, IfcPreDefinedPropertySet, IfcPreDefinedTextFont, IfcPresentableText, IfcPresentationItem, IfcPresentationLayerAssignment, IfcPresentationLayerWithStyle, IfcPresentationStyle, IfcPresentationStyleAssignment, IfcPresentationStyleSelect, IfcPressureMeasure, IfcProcedure, IfcProcedureType, IfcProcedureTypeEnum, IfcProcess, IfcProcessSelect, IfcProduct, IfcProductDefinitionShape, IfcProductRepresentation, IfcProductRepresentationSelect, IfcProductSelect, IfcProfileDef, IfcProfileProperties, IfcProfileTypeEnum, IfcProject, IfcProjectLibrary, IfcProjectOrder, IfcProjectOrderTypeEnum, IfcProjectedCRS, IfcProjectedOrTrueLengthEnum, IfcProjectionElement, IfcProjectionElementTypeEnum, IfcProperty, IfcPropertyAbstraction, IfcPropertyBoundedValue, IfcPropertyDefinition, IfcPropertyDependencyRelationship, IfcPropertyEnumeratedValue, IfcPropertyEnumeration, IfcPropertyListValue, IfcPropertyReferenceValue, IfcPropertySet, IfcPropertySetDefinition, IfcPropertySetDefinitionSelect, IfcPropertySetDefinitionSet, IfcPropertySetTemplate, IfcPropertySetTemplateTypeEnum, IfcPropertySingleValue, IfcPropertyTableValue, IfcPropertyTemplate, IfcPropertyTemplateDefinition, IfcProtectiveDevice, IfcProtectiveDeviceTrippingUnit, IfcProtectiveDeviceTrippingUnitType, IfcProtectiveDeviceTrippingUnitTypeEnum, IfcProtectiveDeviceType, IfcProtectiveDeviceTypeEnum, IfcProxy, IfcPump, IfcPumpType, IfcPumpTypeEnum, IfcQuantityArea, IfcQuantityCount, IfcQuantityLength, IfcQuantitySet, IfcQuantityTime, IfcQuantityVolume, IfcQuantityWeight, IfcRadioActivityMeasure, IfcRailing, IfcRailingType, IfcRailingTypeEnum, IfcRamp, IfcRampFlight, IfcRampFlightType, IfcRampFlightTypeEnum, IfcRampType, IfcRampTypeEnum, IfcRatioMeasure, IfcRationalBSplineCurveWithKnots, IfcRationalBSplineSurfaceWithKnots, IfcReal, IfcRectangleHollowProfileDef, IfcRectangleProfileDef, IfcRectangularPyramid, IfcRectangularTrimmedSurface, IfcRecurrencePattern, IfcRecurrenceTypeEnum, IfcReference, IfcReflectanceMethodEnum, IfcRegularTimeSeries, IfcReinforcementBarProperties, IfcReinforcementDefinitionProperties, IfcReinforcingBar, IfcReinforcingBarRoleEnum, IfcReinforcingBarSurfaceEnum, IfcReinforcingBarType, IfcReinforcingBarTypeEnum, IfcReinforcingElement, IfcReinforcingElementType, IfcReinforcingMesh, IfcReinforcingMeshType, IfcReinforcingMeshTypeEnum, IfcRelAggregates, IfcRelAssigns, IfcRelAssignsToActor, IfcRelAssignsToControl, IfcRelAssignsToGroup, IfcRelAssignsToGroupByFactor, IfcRelAssignsToProcess, IfcRelAssignsToProduct, IfcRelAssignsToResource, IfcRelAssociates, IfcRelAssociatesApproval, IfcRelAssociatesClassification, IfcRelAssociatesConstraint, IfcRelAssociatesDocument, IfcRelAssociatesLibrary, IfcRelAssociatesMaterial, IfcRelConnects, IfcRelConnectsElements, IfcRelConnectsPathElements, IfcRelConnectsPortToElement, IfcRelConnectsPorts, IfcRelConnectsStructuralActivity, IfcRelConnectsStructuralMember, IfcRelConnectsWithEccentricity, IfcRelConnectsWithRealizingElements, IfcRelContainedInSpatialStructure, IfcRelCoversBldgElements, IfcRelCoversSpaces, IfcRelDeclares, IfcRelDecomposes, IfcRelDefines, IfcRelDefinesByObject, IfcRelDefinesByProperties, IfcRelDefinesByTemplate, IfcRelDefinesByType, IfcRelFillsElement, IfcRelFlowControlElements, IfcRelInterferesElements, IfcRelNests, IfcRelProjectsElement, IfcRelReferencedInSpatialStructure, IfcRelSequence, IfcRelServicesBuildings, IfcRelSpaceBoundary, IfcRelSpaceBoundary1stLevel, IfcRelSpaceBoundary2ndLevel, IfcRelVoidsElement, IfcRelationship, IfcReparametrisedCompositeCurveSegment, IfcRepresentation, IfcRepresentationContext, IfcRepresentationItem, IfcRepresentationMap, IfcResource, IfcResourceApprovalRelationship, IfcResourceConstraintRelationship, IfcResourceLevelRelationship, IfcResourceObjectSelect, IfcResourceSelect, IfcResourceTime, IfcRevolvedAreaSolid, IfcRevolvedAreaSolidTapered, IfcRightCircularCone, IfcRightCircularCylinder, IfcRoleEnum, IfcRoof, IfcRoofType, IfcRoofTypeEnum, IfcRoot, IfcRotationalFrequencyMeasure, IfcRotationalMassMeasure, IfcRotationalStiffnessMeasure, IfcRotationalStiffnessSelect, IfcRoundedRectangleProfileDef, IfcSIPrefix, IfcSIUnit, IfcSIUnitName, IfcSanitaryTerminal, IfcSanitaryTerminalType, IfcSanitaryTerminalTypeEnum, IfcSchedulingTime, IfcSectionModulusMeasure, IfcSectionProperties, IfcSectionReinforcementProperties, IfcSectionTypeEnum, IfcSectionalAreaIntegralMeasure, IfcSectionedSpine, IfcSensor, IfcSensorType, IfcSensorTypeEnum, IfcSequenceEnum, IfcShadingDevice, IfcShadingDeviceType, IfcShadingDeviceTypeEnum, IfcShapeAspect, IfcShapeModel, IfcShapeRepresentation, IfcShearModulusMeasure, IfcShell, IfcShellBasedSurfaceModel, IfcSimpleProperty, IfcSimplePropertyTemplate, IfcSimplePropertyTemplateTypeEnum, IfcSimpleValue, IfcSite, IfcSizeSelect, IfcSlab, IfcSlabElementedCase, IfcSlabStandardCase, IfcSlabType, IfcSlabTypeEnum, IfcSlippageConnectionCondition, IfcSolarDevice, IfcSolarDeviceType, IfcSolarDeviceTypeEnum, IfcSolidAngleMeasure, IfcSolidModel, IfcSolidOrShell, IfcSoundPowerLevelMeasure, IfcSoundPowerMeasure, IfcSoundPressureLevelMeasure, IfcSoundPressureMeasure, IfcSpace, IfcSpaceBoundarySelect, IfcSpaceHeater, IfcSpaceHeaterType, IfcSpaceHeaterTypeEnum, IfcSpaceType, IfcSpaceTypeEnum, IfcSpatialElement, IfcSpatialElementType, IfcSpatialStructureElement, IfcSpatialStructureElementType, IfcSpatialZone, IfcSpatialZoneType, IfcSpatialZoneTypeEnum, IfcSpecificHeatCapacityMeasure, IfcSpecularExponent, IfcSpecularHighlightSelect, IfcSpecularRoughness, IfcSphere, IfcStackTerminal, IfcStackTerminalType, IfcStackTerminalTypeEnum, IfcStair, IfcStairFlight, IfcStairFlightType, IfcStairFlightTypeEnum, IfcStairType, IfcStairTypeEnum, IfcStateEnum, IfcStructuralAction, IfcStructuralActivity, IfcStructuralActivityAssignmentSelect, IfcStructuralAnalysisModel, IfcStructuralConnection, IfcStructuralConnectionCondition, IfcStructuralCurveAction, IfcStructuralCurveActivityTypeEnum, IfcStructuralCurveConnection, IfcStructuralCurveMember, IfcStructuralCurveMemberTypeEnum, IfcStructuralCurveMemberVarying, IfcStructuralCurveReaction, IfcStructuralItem, IfcStructuralLinearAction, IfcStructuralLoad, IfcStructuralLoadCase, IfcStructuralLoadConfiguration, IfcStructuralLoadGroup, IfcStructuralLoadLinearForce, IfcStructuralLoadOrResult, IfcStructuralLoadPlanarForce, IfcStructuralLoadSingleDisplacement, IfcStructuralLoadSingleDisplacementDistortion, IfcStructuralLoadSingleForce, IfcStructuralLoadSingleForceWarping, IfcStructuralLoadStatic, IfcStructuralLoadTemperature, IfcStructuralMember, IfcStructuralPlanarAction, IfcStructuralPointAction, IfcStructuralPointConnection, IfcStructuralPointReaction, IfcStructuralReaction, IfcStructuralResultGroup, IfcStructuralSurfaceAction, IfcStructuralSurfaceActivityTypeEnum, IfcStructuralSurfaceConnection, IfcStructuralSurfaceMember, IfcStructuralSurfaceMemberTypeEnum, IfcStructuralSurfaceMemberVarying, IfcStructuralSurfaceReaction, IfcStyleAssignmentSelect, IfcStyleModel, IfcStyledItem, IfcStyledRepresentation, IfcSubContractResource, IfcSubContractResourceType, IfcSubContractResourceTypeEnum, IfcSubedge, IfcSurface, IfcSurfaceCurveSweptAreaSolid, IfcSurfaceFeature, IfcSurfaceFeatureTypeEnum, IfcSurfaceOfLinearExtrusion, IfcSurfaceOfRevolution, IfcSurfaceOrFaceSurface, IfcSurfaceReinforcementArea, IfcSurfaceSide, IfcSurfaceStyle, IfcSurfaceStyleElementSelect, IfcSurfaceStyleLighting, IfcSurfaceStyleRefraction, IfcSurfaceStyleRendering, IfcSurfaceStyleShading, IfcSurfaceStyleWithTextures, IfcSurfaceTexture, IfcSweptAreaSolid, IfcSweptDiskSolid, IfcSweptDiskSolidPolygonal, IfcSweptSurface, IfcSwitchingDevice, IfcSwitchingDeviceType, IfcSwitchingDeviceTypeEnum, IfcSystem, IfcSystemFurnitureElement, IfcSystemFurnitureElementType, IfcSystemFurnitureElementTypeEnum, IfcTShapeProfileDef, IfcTable, IfcTableColumn, IfcTableRow, IfcTank, IfcTankType, IfcTankTypeEnum, IfcTask, IfcTaskDurationEnum, IfcTaskTime, IfcTaskTimeRecurring, IfcTaskType, IfcTaskTypeEnum, IfcTelecomAddress, IfcTemperatureGradientMeasure, IfcTemperatureRateOfChangeMeasure, IfcTendon, IfcTendonAnchor, IfcTendonAnchorType, IfcTendonAnchorTypeEnum, IfcTendonType, IfcTendonTypeEnum, IfcTessellatedFaceSet, IfcTessellatedItem, IfcText, IfcTextAlignment, IfcTextDecoration, IfcTextFontName, IfcTextFontSelect, IfcTextLiteral, IfcTextLiteralWithExtent, IfcTextPath, IfcTextStyle, IfcTextStyleFontModel, IfcTextStyleForDefinedFont, IfcTextStyleTextModel, IfcTextTransformation, IfcTextureCoordinate, IfcTextureCoordinateGenerator, IfcTextureMap, IfcTextureVertex, IfcTextureVertexList, IfcThermalAdmittanceMeasure, IfcThermalConductivityMeasure, IfcThermalExpansionCoefficientMeasure, IfcThermalResistanceMeasure, IfcThermalTransmittanceMeasure, IfcThermodynamicTemperatureMeasure, IfcTime, IfcTimeMeasure, IfcTimeOrRatioSelect, IfcTimePeriod, IfcTimeSeries, IfcTimeSeriesDataTypeEnum, IfcTimeSeriesValue, IfcTimeStamp, IfcTopologicalRepresentationItem, IfcTopologyRepresentation, IfcTorqueMeasure, IfcTransformer, IfcTransformerType, IfcTransformerTypeEnum, IfcTransitionCode, IfcTranslationalStiffnessSelect, IfcTransportElement, IfcTransportElementType, IfcTransportElementTypeEnum, IfcTrapeziumProfileDef, IfcTriangulatedFaceSet, IfcTrimmedCurve, IfcTrimmingPreference, IfcTrimmingSelect, IfcTubeBundle, IfcTubeBundleType, IfcTubeBundleTypeEnum, IfcTypeObject, IfcTypeProcess, IfcTypeProduct, IfcTypeResource, IfcURIReference, IfcUShapeProfileDef, IfcUnit, IfcUnitAssignment, IfcUnitEnum, IfcUnitaryControlElement, IfcUnitaryControlElementType, IfcUnitaryControlElementTypeEnum, IfcUnitaryEquipment, IfcUnitaryEquipmentType, IfcUnitaryEquipmentTypeEnum, IfcValue, IfcValve, IfcValveType, IfcValveTypeEnum, IfcVaporPermeabilityMeasure, IfcVector, IfcVectorOrDirection, IfcVertex, IfcVertexLoop, IfcVertexPoint, IfcVibrationIsolator, IfcVibrationIsolatorType, IfcVibrationIsolatorTypeEnum, IfcVirtualElement, IfcVirtualGridIntersection, IfcVoidingFeature, IfcVoidingFeatureTypeEnum, IfcVolumeMeasure, IfcVolumetricFlowRateMeasure, IfcWall, IfcWallElementedCase, IfcWallStandardCase, IfcWallType, IfcWallTypeEnum, IfcWarpingConstantMeasure, IfcWarpingMomentMeasure, IfcWarpingStiffnessSelect, IfcWasteTerminal, IfcWasteTerminalType, IfcWasteTerminalTypeEnum, IfcWindow, IfcWindowLiningProperties, IfcWindowPanelOperationEnum, IfcWindowPanelPositionEnum, IfcWindowPanelProperties, IfcWindowStandardCase, IfcWindowStyle, IfcWindowStyleConstructionEnum, IfcWindowStyleOperationEnum, IfcWindowType, IfcWindowTypeEnum, IfcWindowTypePartitioningEnum, IfcWorkCalendar, IfcWorkCalendarTypeEnum, IfcWorkControl, IfcWorkPlan, IfcWorkPlanTypeEnum, IfcWorkSchedule, IfcWorkScheduleTypeEnum, IfcWorkTime, IfcZShapeProfileDef, IfcZone, ALL } Enum; Enum Parent(Enum v); Enum FromString(const std::string& s); diff --git a/src/ifcparse/IfcCharacterDecoder.cpp b/src/ifcparse/IfcCharacterDecoder.cpp index 1e11bda4b8..c33a6f9b0c 100644 --- a/src/ifcparse/IfcCharacterDecoder.cpp +++ b/src/ifcparse/IfcCharacterDecoder.cpp @@ -30,7 +30,7 @@ #include "../ifcparse/IfcCharacterDecoder.h" #include "../ifcparse/IfcException.h" -#include "../ifcparse/IfcFile.h" +#include "../ifcparse/IfcSpfStream.h" #define FIRST_SOLIDUS (1 << 1) #define PAGE (1 << 2) diff --git a/src/ifcparse/IfcCharacterDecoder.h b/src/ifcparse/IfcCharacterDecoder.h index 113105c2ce..da59c0aaa8 100644 --- a/src/ifcparse/IfcCharacterDecoder.h +++ b/src/ifcparse/IfcCharacterDecoder.h @@ -36,7 +36,7 @@ typedef unsigned int UChar32; #endif -#include "../ifcparse/IfcFile.h" +#include "../ifcparse/IfcSpfStream.h" namespace IfcParse { diff --git a/src/ifcparse/IfcEntityDescriptor.h b/src/ifcparse/IfcEntityDescriptor.h new file mode 100644 index 0000000000..ac8e689da1 --- /dev/null +++ b/src/ifcparse/IfcEntityDescriptor.h @@ -0,0 +1,132 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#ifndef IFCENTITYDESCRIPTOR_H +#define IFCENTITYDESCRIPTOR_H + +#include +#include +#include +#include +#include + +#include "../ifcparse/SharedPointer.h" +#include "../ifcparse/IfcUtil.h" +#include "../ifcparse/IfcException.h" + +#ifdef USE_IFC4 +#include "../ifcparse/Ifc4enum.h" +#else +#include "../ifcparse/Ifc2x3enum.h" +#endif + +namespace IfcUtil { + + class IfcEnumerationDescriptor { + private: + IfcSchema::Type::Enum type; + std::vector values; + public: + IfcEnumerationDescriptor(IfcSchema::Type::Enum type, const std::vector& values) + : type(type), values(values) {} + std::pair getIndex(const std::string& value) const { + std::vector::const_iterator it = std::find(values.begin(), values.end(), value); + if (it != values.end()) { + return std::make_pair(it->c_str(), std::distance(it, values.begin())); + } else { + throw IfcParse::IfcException("Invalid enumeration value"); + } + } + const std::vector& getValues() { + return values; + } + IfcSchema::Type::Enum getType() { + return type; + } + }; + + class IfcEntityDescriptor { + public: + class IfcArgumentDescriptor + { + public: + std::string name; + bool optional; + ArgumentType argument_type; + IfcSchema::Type::Enum data_type; + IfcArgumentDescriptor(const std::string& name, bool optional, ArgumentType argument_type, IfcSchema::Type::Enum data_type) + : name(name), optional(optional), argument_type(argument_type), data_type(data_type) {} + }; + private: + IfcSchema::Type::Enum type; + IfcEntityDescriptor* parent; + std::vector arguments; + unsigned argument_start() const { + return parent ? parent->getArgumentCount() : 0; + } + const IfcArgumentDescriptor& get_argument(unsigned i) const { + if (i < arguments.size()) return arguments[i]; + else throw IfcParse::IfcException("Argument out of range"); + } + public: + IfcEntityDescriptor(IfcSchema::Type::Enum type, IfcEntityDescriptor* parent) + : type(type), parent(parent) {} + void add(const std::string& name, bool optional, ArgumentType argument_type, IfcSchema::Type::Enum data_type = IfcSchema::Type::ALL) { + arguments.push_back(IfcArgumentDescriptor(name, optional, argument_type, data_type)); + } + unsigned getArgumentCount() const { + return (parent ? parent->getArgumentCount() : 0) + arguments.size(); + } + const std::string& getArgumentName(unsigned i) const { + const unsigned a = argument_start(); + return i < a + ? parent->getArgumentName(i) + : get_argument(i-a).name; + } + ArgumentType getArgumentType(unsigned i) const { + const unsigned a = argument_start(); + return i < a + ? parent->getArgumentType(i) + : get_argument(i-a).argument_type; + } + bool getArgumentOptional(unsigned i) const { + const unsigned a = argument_start(); + return i < a + ? parent->getArgumentOptional(i) + : get_argument(i-a).optional; + } + IfcSchema::Type::Enum getArgumentEnumerationClass(unsigned i) const { + const unsigned a = argument_start(); + return i < a + ? parent->getArgumentEnumerationClass(i) + : get_argument(i-a).data_type; + } + unsigned getArgumentIndex(const std::string& s) const { + unsigned a = argument_start(); + for(std::vector::const_iterator i = arguments.begin(); i != arguments.end(); ++i) { + if (i->name == s) return a; + a++; + } + if (parent) return parent->getArgumentIndex(s); + throw IfcParse::IfcException(std::string("Argument ") + s + " not found on " + IfcSchema::Type::ToString(type)); + } + }; +} + +#endif diff --git a/src/ifcparse/IfcFile.h b/src/ifcparse/IfcFile.h index 359701b3b9..c5b92c925e 100644 --- a/src/ifcparse/IfcFile.h +++ b/src/ifcparse/IfcFile.h @@ -1,4 +1,4 @@ -/******************************************************************************** +/******************************************************************************** * * * This file is part of IfcOpenShell. * * * @@ -16,66 +16,109 @@ * along with this program. If not, see . * * * ********************************************************************************/ - - /******************************************************************************** - * * - * Reads a file in chunks of BUF_SIZE and provides functions to access its * - * contents randomly and character by character * - * * - ********************************************************************************/ - + #ifndef IFCFILE_H #define IFCFILE_H -#include -#include +#include -// As of IfcOpenShell version 0.3.0 the paging functionality, which -// loads a file on disk into multiple chunks, has been disabled. -// It proved to be an inefficient way of working with large files, -// as often these did not facilitate to be parsed in a sequential -// manner efficiently. To enable the paging functionality uncomment -// the following statement. -// #define BUF_SIZE (8 * 1024 * 1024) +#include "../ifcparse/IfcParse.h" namespace IfcParse { - /// The IfcSpfStream class represents a ISO 10303-21 IFC-SPF file in memory. - /// The file is interpreted as a sequence of tokens which are lazily - /// interpreted only when requested. If the size of the file is - /// larger than BUF_SIZE, the file is split into seperate pages, of - /// which only one is simultaneously kept in memory, for files - /// that define their entities not in a sequential nature, this is - /// detrimental for the performance of the parser. - class IfcSpfStream { - private: - FILE* stream; - char* buffer; - unsigned int ptr; - unsigned int len; - void ReadBuffer(bool inc=true); -#ifdef BUF_SIZE - unsigned int offset; - bool paging; -#endif - public: - bool valid; - bool eof; - unsigned int size; - IfcSpfStream(const std::string& fn); - IfcSpfStream(std::istream& f, int len); - IfcSpfStream(void* data, int len); - /// Returns the character at the cursor - char Peek(); - /// Returns the character at specified offset - char Read(unsigned int offset); - /// Increment the file cursor and reads new page if necessary - void Inc(); - void Close(); - /// Moves the file cursor to an arbitrary offset in the file - void Seek(unsigned int offset); - /// Returns the cursor position - unsigned int Tell(); - }; + +/// This class provides several static convenience functions and variables +/// and provide access to the entities in an IFC file +class IfcFile { +public: + typedef std::map entities_by_type_t; + typedef std::map entity_by_id_t; + typedef std::map entity_by_guid_t; + typedef std::map entities_by_ref_t; + typedef std::map offset_by_id_t; + typedef entity_by_id_t::const_iterator const_iterator; +private: + bool _create_latebound_entities; + + entity_by_id_t byid; + entities_by_type_t bytype; + entities_by_ref_t byref; + entity_by_guid_t byguid; + offset_by_id_t offsets; + + unsigned int lastId; + unsigned int MaxId; + + std::string _filename; + std::string _timestamp; + std::string _author; + std::string _author_email; + std::string _author_organisation; + + void initTimestamp(); +public: + IfcParse::Tokens* tokens; + IfcParse::IfcSpfStream* stream; + + IfcFile(bool create_latebound_entities = false); + ~IfcFile(); + + /// Returns the first entity in the file, this probably is the entity with the lowest id (EXPRESS ENTITY_INSTANCE_NAME) + const_iterator begin() const; + /// Returns the last entity in the file, this probably is the entity with the highes id (EXPRESS ENTITY_INSTANCE_NAME) + const_iterator end() const; + + /// Returns all entities in the file that match the template argument. + /// NOTE: This also returns subtypes of the requested type, for example: + /// IfcWall will also return IfcWallStandardCase entities + template + typename T::list::ptr EntitiesByType() { + IfcEntityList::ptr e = EntitiesByType(T::Class()); + typename T::list::ptr l(new typename T::list); + if (e && e->Size()) { + for ( IfcEntityList::it it = e->begin(); it != e->end(); ++ it ) { + l->push((T*)*it); + } + } + return l; + } + + /// Returns all entities in the file that match the positional argument. + /// NOTE: This also returns subtypes of the requested type, for example: + /// IfcWall will also return IfcWallStandardCase entities + IfcEntityList::ptr EntitiesByType(IfcSchema::Type::Enum t); + /// Returns all entities in the file that match the positional argument. + /// NOTE: This also returns subtypes of the requested type, for example: + /// IfcWall will also return IfcWallStandardCase entities + IfcEntityList::ptr EntitiesByType(const std::string& t); + /// Returns all entities in the file that reference the id + IfcEntityList::ptr EntitiesByReference(int id); + /// Returns the entity with the specified id + IfcUtil::IfcBaseClass* EntityById(int id); + /// Returns the entity with the specified GlobalId + IfcSchema::IfcRoot* EntityByGuid(const std::string& guid); + + bool Init(const std::string& fn); + bool Init(std::istream& fn, int len); + bool Init(void* data, int len); + bool Init(IfcParse::IfcSpfStream* f); + + unsigned int FreshId() { MaxId ++; return MaxId; } + + void AddEntity(IfcUtil::IfcBaseClass* entity); + void AddEntities(IfcEntityList::ptr es); + + void filename(const std::string& s); + std::string filename() const; + void timestamp(const std::string& s); + std::string timestamp() const; + void author(const std::string& name, const std::string& email, const std::string& organisation); + std::string authorName() const; + std::string authorEmail() const; + std::string authorOrganisation() const; + + bool create_latebound_entities() const { return _create_latebound_entities; } +}; + } -#endif +#endif \ No newline at end of file diff --git a/src/ifcparse/IfcHierarchyHelper.cpp b/src/ifcparse/IfcHierarchyHelper.cpp index 4f41a232e0..cb73ead7d4 100644 --- a/src/ifcparse/IfcHierarchyHelper.cpp +++ b/src/ifcparse/IfcHierarchyHelper.cpp @@ -397,10 +397,10 @@ void IfcHierarchyHelper::clipRepresentation(IfcSchema::IfcRepresentation* rep, IfcSchema::IfcPresentationStyleAssignment* IfcHierarchyHelper::addStyleAssignment(double r, double g, double b, double a) { IfcSchema::IfcColourRgb* colour = new IfcSchema::IfcColourRgb(boost::none, r, g, b); IfcSchema::IfcSurfaceStyleRendering* rendering = a == 1.0 - ? new IfcSchema::IfcSurfaceStyleRendering(colour, boost::none, boost::none, boost::none, boost::none, boost::none, - boost::none, boost::none, IfcSchema::IfcReflectanceMethodEnum::IfcReflectanceMethod_FLAT) - : new IfcSchema::IfcSurfaceStyleRendering(colour, 1.0-a, boost::none, boost::none, boost::none, boost::none, - boost::none, boost::none, IfcSchema::IfcReflectanceMethodEnum::IfcReflectanceMethod_FLAT); + ? new IfcSchema::IfcSurfaceStyleRendering(colour, boost::none, 0, 0, 0, 0, + 0, 0, IfcSchema::IfcReflectanceMethodEnum::IfcReflectanceMethod_FLAT) + : new IfcSchema::IfcSurfaceStyleRendering(colour, 1.0-a, 0, 0, 0, 0, + 0, 0, IfcSchema::IfcReflectanceMethodEnum::IfcReflectanceMethod_FLAT); IfcEntityList::ptr styles(new IfcEntityList()); styles->push(rendering); diff --git a/src/ifcparse/IfcLateBoundEntity.cpp b/src/ifcparse/IfcLateBoundEntity.cpp new file mode 100644 index 0000000000..a80fa7ddaa --- /dev/null +++ b/src/ifcparse/IfcLateBoundEntity.cpp @@ -0,0 +1,215 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#include + +#include "../ifcparse/IfcWritableEntity.h" + +#include "../ifcparse/IfcUtil.h" +#include "../ifcparse/IfcWrite.h" + +#ifdef USE_IFC4 +#include "../ifcparse/Ifc4-latebound.h" +#else +#include "../ifcparse/Ifc2x3-latebound.h" +#endif + +#include "IfcLateBoundEntity.h" + +using namespace IfcUtil; + +IfcWrite::IfcWritableEntity* IfcParse::IfcLateBoundEntity::writable_entity() { + IfcWrite::IfcWritableEntity* e; + if (entity->isWritable()) { + e = (IfcWrite::IfcWritableEntity*) entity; + } else { + entity = e = new IfcWrite::IfcWritableEntity(entity); + } + return e; +} +IfcParse::IfcLateBoundEntity::IfcLateBoundEntity(const std::string& s) { + std::string S = s; + for (std::string::iterator i = S.begin(); i != S.end(); ++i ) *i = toupper(*i); + _type = IfcSchema::Type::FromString(S); + entity = new IfcWrite::IfcWritableEntity(_type); + IfcSchema::Type::PopulateDerivedFields(writable_entity()); +} +IfcParse::IfcLateBoundEntity::IfcLateBoundEntity(IfcAbstractEntity* e) { + entity = e; + _type = e->type(); +} +unsigned int IfcParse::IfcLateBoundEntity::id() const { + if (entity->file) { + return static_cast(entity->id()); + } else { + throw IfcException("Entity not bound to a file"); + } +} +bool IfcParse::IfcLateBoundEntity::is(IfcSchema::Type::Enum v) const { + IfcSchema::Type::Enum _ty = _type; + if (v == _ty) return true; + while (_ty != -1) { + _ty = IfcSchema::Type::Parent(_ty); + if (v == _ty) return true; + } + return false; +} +std::string IfcParse::IfcLateBoundEntity::is_a() const { + return IfcSchema::Type::ToString(_type); +} +bool IfcParse::IfcLateBoundEntity::is_a(const std::string& s) const { + std::string S = s; + for (std::string::iterator i = S.begin(); i != S.end(); ++i ) *i = toupper(*i); + return is(IfcSchema::Type::FromString(S)); +} +IfcSchema::Type::Enum IfcParse::IfcLateBoundEntity::type() const { + return _type; +} +unsigned int IfcParse::IfcLateBoundEntity::getArgumentCount() const { + return IfcSchema::Type::GetAttributeCount(_type); +} +IfcUtil::ArgumentType IfcParse::IfcLateBoundEntity::getArgumentType(unsigned int i) const { + return IfcSchema::Type::GetAttributeDerived(_type, i) + ? IfcUtil::Argument_DERIVED + : IfcSchema::Type::GetAttributeType(_type,i); +} +Argument* IfcParse::IfcLateBoundEntity::getArgument(unsigned int i) const { + return entity->getArgument(i); +} +const char* IfcParse::IfcLateBoundEntity::getArgumentName(unsigned int i) const { + return IfcSchema::Type::GetAttributeName(_type,i).c_str(); +} +void IfcParse::IfcLateBoundEntity::invalid_argument(unsigned int i, const std::string& t) { + const std::string arg_name = IfcSchema::Type::GetAttributeName(_type,i); + throw IfcException(t + " is not a valid type for '" + arg_name + "'"); +} +void IfcParse::IfcLateBoundEntity::setArgument(unsigned int i) { + bool is_optional = IfcSchema::Type::GetAttributeOptional(_type, i); + if (is_optional) { + writable_entity()->setArgument(i); + } else invalid_argument(i,"NULL"); +} +void IfcParse::IfcLateBoundEntity::setArgument(unsigned int i, int v) { + IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type,i); + if (arg_type == Argument_INT) { + writable_entity()->setArgument(i,v); + } else if ( (arg_type == Argument_BOOL) && ( (v == 0) || (v == 1) ) ) { + writable_entity()->setArgument(i, v == 1); + } else invalid_argument(i,"INT"); +} +void IfcParse::IfcLateBoundEntity::setArgument(unsigned int i, bool v) { + IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type,i); + if (arg_type == Argument_BOOL) { + writable_entity()->setArgument(i,v); + } else invalid_argument(i,"BOOL"); +} +void IfcParse::IfcLateBoundEntity::setArgument(unsigned int i, double v) { + IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type,i); + if (arg_type == Argument_DOUBLE) { + writable_entity()->setArgument(i,v); + } else invalid_argument(i,"DOUBLE"); +} +void IfcParse::IfcLateBoundEntity::setArgument(unsigned int i, const std::string& a) { + IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type,i); + if (arg_type == Argument_STRING) { + writable_entity()->setArgument(i,a); + } else if (arg_type == Argument_ENUMERATION) { + std::pair enum_data = IfcSchema::Type::GetEnumerationIndex(IfcSchema::Type::GetAttributeEnumerationClass(_type, i), a); + writable_entity()->setArgument(i, enum_data.second, enum_data.first); + } else invalid_argument(i,"STRING"); +} +void IfcParse::IfcLateBoundEntity::setArgument(unsigned int i, const std::vector& v) { + IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type,i); + if (arg_type == Argument_VECTOR_INT) { + writable_entity()->setArgument(i,v); + } else invalid_argument(i,"LIST of INT"); +} +void IfcParse::IfcLateBoundEntity::setArgument(unsigned int i, const std::vector& v) { + IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type,i); + if (arg_type == Argument_VECTOR_DOUBLE) { + writable_entity()->setArgument(i,v); + } else invalid_argument(i,"LIST of DOUBLE"); +} +void IfcParse::IfcLateBoundEntity::setArgument(unsigned int i, const std::vector& v) { + IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type,i); + if (arg_type == Argument_VECTOR_STRING) { + writable_entity()->setArgument(i,v); + } else invalid_argument(i,"LIST of STRING"); +} +void IfcParse::IfcLateBoundEntity::setArgument(unsigned int i, IfcParse::IfcLateBoundEntity* v) { + IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type,i); + if (arg_type == Argument_ENTITY) { + writable_entity()->setArgument(i,v); + } else invalid_argument(i,"ENTITY"); +} +void IfcParse::IfcLateBoundEntity::setArgument(unsigned int i, IfcEntityList::ptr v) { + IfcUtil::ArgumentType arg_type = IfcSchema::Type::GetAttributeType(_type,i); + if (arg_type == Argument_ENTITY_LIST) { + writable_entity()->setArgument(i,v); + } else invalid_argument(i,"LIST of ENTITY"); +} +std::pair IfcParse::IfcLateBoundEntity::get_argument(unsigned i) { + return std::pair(getArgumentType(i),getArgument(i)); +} +std::pair IfcParse::IfcLateBoundEntity::get_argument(const std::string& a) { + return get_argument(IfcSchema::Type::GetAttributeIndex(_type,a)); +} +unsigned IfcParse::IfcLateBoundEntity::getArgumentIndex(const std::string& a) const { + return IfcSchema::Type::GetAttributeIndex(_type,a); +} +std::string IfcParse::IfcLateBoundEntity::toString() { + return entity->toString(false); +} +IfcEntityList::ptr IfcParse::IfcLateBoundEntity::get_inverse(const std::string& a) { + std::pair inv = IfcSchema::Type::GetInverseAttribute(_type, a); + IfcEntityList::ptr invs = entity->getInverse(inv.first); + IfcEntityList::ptr filtered(new IfcEntityList()); + for (IfcEntityList::it it = invs->begin(); it != invs->end(); ++it) { + try { + const int id = *(*it)->entity->getArgument(inv.second); + if (id == this->entity->id()) { filtered->push(*it); } + } catch (...) {} + } + return filtered; +} +bool IfcParse::IfcLateBoundEntity::is_valid() { + const unsigned arg_count = getArgumentCount(); + bool valid = true; + std::ostringstream oss; + oss << "Argument "; + for (unsigned i = 0; i < arg_count; ++i) { + bool is_null = true; + try { + const Argument& arg = *getArgument(i); + is_null = arg.isNull(); + } catch(IfcException) {} + if (!IfcSchema::Type::GetAttributeOptional(_type,i) && is_null) { + if (!valid) { + oss << ", "; + } + oss << "\"" << getArgumentName(i) << "\""; + valid = false; + } + } + oss << " not optional"; + if (!valid) { + throw IfcException(oss.str()); + } + return valid; +} diff --git a/src/ifcparse/IfcLateBoundEntity.h b/src/ifcparse/IfcLateBoundEntity.h new file mode 100644 index 0000000000..5df5480e0f --- /dev/null +++ b/src/ifcparse/IfcLateBoundEntity.h @@ -0,0 +1,80 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +#ifndef IFCLATEBOUNDENTITY_H +#define IFCLATEBOUNDENTITY_H + +#include + +#include "../ifcparse/IfcUtil.h" +#include "../ifcparse/IfcWrite.h" +#include "../ifcparse/IfcWritableEntity.h" + +namespace IfcParse { + + // TODO: Somehow these methods should become part of IfcBaseEntity directly so + // that in the IfcFile class the distinction what entity type to be created is + // no longer necessary and weird diagonal casts when creating geometry from + // IfcLateBoundEntities are eliminated. + class IfcLateBoundEntity : public IfcUtil::IfcBaseEntity { + private: + IfcSchema::Type::Enum _type; + IfcWrite::IfcWritableEntity* writable_entity(); + void invalid_argument(unsigned int i, const std::string& t); + public: + IfcLateBoundEntity(const std::string& s); + IfcLateBoundEntity(IfcAbstractEntity* e); + + bool is(IfcSchema::Type::Enum v) const; + IfcSchema::Type::Enum type() const; + bool is_a(const std::string& s) const; + std::string is_a() const; + + unsigned int id() const; + unsigned int getArgumentCount() const; + IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + Argument* getArgument(unsigned int i) const; + const char* getArgumentName(unsigned int i) const; + unsigned getArgumentIndex(const std::string& a) const; + + IfcEntityList::ptr get_inverse(const std::string& a); + + void setArgument(unsigned int i); + void setArgument(unsigned int i, int v); + void setArgument(unsigned int i, bool v); + void setArgument(unsigned int i, double v); + void setArgument(unsigned int i, const std::string& v); + void setArgument(unsigned int i, const std::vector& v); + void setArgument(unsigned int i, const std::vector& v); + void setArgument(unsigned int i, const std::vector& v); + void setArgument(unsigned int i, IfcLateBoundEntity* v); + void setArgument(unsigned int i, IfcEntityList::ptr v); + + std::string toString(); + + // TODO: Write as SWIG extension methods? + std::pair get_argument(unsigned i); + std::pair get_argument(const std::string& a); + + bool is_valid(); + }; + +} + +#endif \ No newline at end of file diff --git a/src/ifcparse/IfcParse.cpp b/src/ifcparse/IfcParse.cpp index cec07b89bb..c1091480ed 100644 --- a/src/ifcparse/IfcParse.cpp +++ b/src/ifcparse/IfcParse.cpp @@ -31,8 +31,10 @@ #include "../ifcparse/IfcParse.h" #include "../ifcparse/IfcException.h" #include "../ifcparse/IfcUtil.h" -#include "../ifcparse/IfcFile.h" +#include "../ifcparse/IfcSpfStream.h" #include "../ifcparse/IfcWritableEntity.h" +#include "../ifcparse/IfcLateBoundEntity.h" +#include "../ifcparse/IfcFile.h" using namespace IfcParse; @@ -404,8 +406,13 @@ TokenArgument::TokenArgument(const Token& t) { token = t; } -EntityArgument::EntityArgument(IfcSchema::Type::Enum ty, const Token& t) { - entity = new IfcUtil::IfcArgumentSelect(ty,new TokenArgument(t)); +EntityArgument::EntityArgument(const Token& t) { + IfcParse::IfcFile* file = t.first->file; + if (file->create_latebound_entities()) { + entity = new IfcLateBoundEntity(new Entity(0, file, t.second)); + } else { + entity = IfcSchema::SchemaEntity(new Entity(0, file, t.second)); + } } // @@ -413,6 +420,8 @@ EntityArgument::EntityArgument(IfcSchema::Type::Enum ty, const Token& t) { // Aditionally, stores the ids (i.e. #[\d]+) in a vector // ArgumentList::ArgumentList(Tokens* t, std::vector& ids) { + IfcParse::IfcFile* file = t->file; + Token next = t->Next(); while( next.second || next.first ) { if ( TokenFunc::isOperator(next,',') ) {} @@ -423,11 +432,10 @@ ArgumentList::ArgumentList(Tokens* t, std::vector& ids) { if ( TokenFunc::isDatatype(next) ) { t->Next(); try { - Push ( new EntityArgument(IfcSchema::Type::FromString(TokenFunc::asString(next)),t->Next()) ); + Push ( new EntityArgument(next) ); } catch ( IfcException& e ) { Logger::Message(Logger::LOG_ERROR,e.what()); } - t->Next(); } else { Push ( new TokenArgument(next) ); } @@ -592,29 +600,14 @@ EntityArgument::operator std::string() const { throw IfcException("Argument is n EntityArgument::operator std::vector() const { throw IfcException("Argument is not a list of floats"); } EntityArgument::operator std::vector() const { throw IfcException("Argument is not a list of ints"); } EntityArgument::operator std::vector() const { throw IfcException("Argument is not a list of strings"); } -EntityArgument::operator IfcUtil::IfcBaseClass*() const { return entity; } +EntityArgument::operator IfcUtil::IfcBaseClass*() const { return entity; } //EntityArgument::operator IfcUtil::IfcAbstractSelect::ptr() const { return entity; } EntityArgument::operator IfcEntityList::ptr() const { throw IfcException("Argument is not a list of entities"); } EntityArgument::operator IfcEntityListList::ptr() const { throw IfcException("Argument is not a list of entity lists"); } unsigned int EntityArgument::Size() const { return 1; } Argument* EntityArgument::operator [] (unsigned int i) const { throw IfcException("Argument is not a list of arguments"); } std::string EntityArgument::toString(bool upper) const { - Argument* arg = entity->wrappedValue(); - IfcParse::TokenArgument* token_arg = dynamic_cast(arg); - const bool is_string = TokenFunc::isString(token_arg->token); - std::string token_string = token_arg ? (is_string - ? TokenFunc::asString(token_arg->token) - : TokenFunc::toString(token_arg->token)) - : std::string(); - std::string dt = IfcSchema::Type::ToString(entity->type()); - if ( upper ) { - for (std::string::iterator p = dt.begin(); p != dt.end(); ++p ) *p = toupper(*p); - if (is_string) token_string = IfcWrite::IfcCharacterEncoder(token_string); - } else { - token_string.insert(token_string.begin(),'\''); - token_string.push_back('\''); - } - return dt + "(" + token_string + ")"; + return entity->entity->toString(upper); } //return entity->entity->toString(); } bool EntityArgument::isNull() const { return false; } @@ -736,15 +729,17 @@ IfcEntityList::ptr Entity::getInverse(IfcSchema::Type::Enum c, int i, const std: } return l; } -bool Entity::is(IfcSchema::Type::Enum v) const { return _type == v; } +bool Entity::is(IfcSchema::Type::Enum v) const { return _type == v; } unsigned int Entity::id() { return _id; } IfcWrite::IfcWritableEntity* Entity::isWritable() { return 0; } -IfcFile::IfcFile() { - file = 0; +IfcFile::IfcFile(bool create_latebound_entities) + : _create_latebound_entities(create_latebound_entities) +{ + stream = 0; lastId = 0; tokens = 0; MaxId = 0; @@ -767,9 +762,9 @@ bool IfcFile::Init(void* data, int len) { } bool IfcFile::Init(IfcParse::IfcSpfStream* f) { IfcSchema::InitStringMap(); - file = f; - if ( ! file->valid ) return false; - tokens = new Tokens (file,this); + stream = f; + if ( ! stream->valid ) return false; + tokens = new Tokens (stream,this); Token token = TokenPtr(); Token previous = TokenPtr(); unsigned int currentId = 0; @@ -778,11 +773,15 @@ bool IfcFile::Init(IfcParse::IfcSpfStream* f) { Entity* e; IfcUtil::IfcBaseClass* entity = 0; Logger::Status("Scanning file..."); - while ( ! file->eof ) { + while ( ! stream->eof ) { if ( currentId ) { try { e = new Entity(currentId,this); - entity = IfcSchema::SchemaEntity(e); + if (this->create_latebound_entities()) { + entity = new IfcLateBoundEntity(e); + } else { + entity = IfcSchema::SchemaEntity(e); + } } catch (IfcException ex) { currentId = 0; Logger::Message(Logger::LOG_ERROR,ex.what()); @@ -947,7 +946,7 @@ void IfcFile::AddEntity(IfcUtil::IfcBaseClass* entity) { } } IfcEntityList::ptr IfcFile::EntitiesByType(IfcSchema::Type::Enum t) { - MapEntitiesByType::const_iterator it = bytype.find(t); + entities_by_type_t::const_iterator it = bytype.find(t); return (it == bytype.end()) ? IfcEntityList::ptr() : it->second; } IfcEntityList::ptr IfcFile::EntitiesByType(const std::string& t) { @@ -956,13 +955,13 @@ IfcEntityList::ptr IfcFile::EntitiesByType(const std::string& t) { return EntitiesByType(IfcSchema::Type::FromString(ty)); } IfcEntityList::ptr IfcFile::EntitiesByReference(int t) { - MapEntitiesByRef::const_iterator it = byref.find(t); + entities_by_ref_t::const_iterator it = byref.find(t); return (it == byref.end()) ? IfcEntityList::ptr() : it->second; } IfcUtil::IfcBaseClass* IfcFile::EntityById(int id) { - MapEntityById::const_iterator it = byid.find(id); + entity_by_id_t::const_iterator it = byid.find(id); if ( it == byid.end() ) { - MapOffsetById::const_iterator it2 = offsets.find(id); + offset_by_id_t::const_iterator it2 = offsets.find(id); if ( it2 == offsets.end() ) throw IfcException("Entity not found"); const unsigned int offset = (*it2).second; Entity* e = new Entity(id,this,offset); @@ -973,7 +972,7 @@ IfcUtil::IfcBaseClass* IfcFile::EntityById(int id) { return it->second; } IfcSchema::IfcRoot* IfcFile::EntityByGuid(const std::string& guid) { - MapEntityByGuid::const_iterator it = byguid.find(guid); + entity_by_guid_t::const_iterator it = byguid.find(guid); if ( it == byguid.end() ) { throw IfcException("Entity not found"); } else { @@ -987,18 +986,18 @@ const char* IfcException::what() const throw() { return error.c_str(); } // FIXME: Test destructor to delete entity and arg allocations IfcFile::~IfcFile() { - for( MapEntityById::const_iterator it = byid.begin(); it != byid.end(); ++ it ) { + for( entity_by_id_t::const_iterator it = byid.begin(); it != byid.end(); ++ it ) { delete it->second->entity; delete it->second; } - delete file; + delete stream; delete tokens; } -MapEntityById::const_iterator IfcFile::begin() const { +IfcFile::entity_by_id_t::const_iterator IfcFile::begin() const { return byid.begin(); } -MapEntityById::const_iterator IfcFile::end() const { +IfcFile::entity_by_id_t::const_iterator IfcFile::end() const { return byid.end(); } @@ -1023,7 +1022,7 @@ std::ostream& operator<< (std::ostream& os, const IfcParse::IfcFile& f) { os << "ENDSEC;" << std::endl; os << "DATA;" << std::endl; - for ( MapEntityById::const_iterator it = f.begin(); it != f.end(); ++ it ) { + for ( IfcFile::entity_by_id_t::const_iterator it = f.begin(); it != f.end(); ++ it ) { const IfcUtil::IfcBaseClass* e = it->second; os << e->entity->toString(true) << ";" << std::endl; } diff --git a/src/ifcparse/IfcParse.h b/src/ifcparse/IfcParse.h index 2cbaa31bb8..09e6701c42 100644 --- a/src/ifcparse/IfcParse.h +++ b/src/ifcparse/IfcParse.h @@ -47,7 +47,7 @@ #include "../ifcparse/Ifc2x3.h" #endif -#include "../ifcparse/IfcFile.h" +#include "../ifcparse/IfcSpfStream.h" namespace IfcParse { @@ -178,9 +178,9 @@ namespace IfcParse { /// ===================== ===================== class EntityArgument : public Argument { private: - IfcUtil::IfcArgumentSelect* entity; + IfcUtil::IfcBaseClass* entity; public: - EntityArgument(IfcSchema::Type::Enum ty, const Token& t); + EntityArgument(const Token& t); ~EntityArgument(); IfcUtil::ArgumentType type() const; @@ -229,85 +229,6 @@ namespace IfcParse { IfcWrite::IfcWritableEntity* isWritable(); }; -typedef std::map MapEntitiesByType; -typedef std::map MapEntityById; -typedef std::map MapEntityByGuid; -typedef std::map MapEntitiesByRef; -typedef std::map MapOffsetById; - -/// This class provides several static convenience functions and variables -/// and provide access to the entities in an IFC file -class IfcFile { -private: - MapEntityById byid; - MapEntitiesByType bytype; - MapEntitiesByRef byref; - MapEntityByGuid byguid; - MapOffsetById offsets; - unsigned int lastId; - unsigned int MaxId; - std::string _filename; - std::string _timestamp; - std::string _author; - std::string _author_email; - std::string _author_organisation; - void initTimestamp(); -public: - typedef MapEntityById::const_iterator const_iterator; - IfcFile(); - ~IfcFile(); - /// Returns the first entity in the file, this probably is the entity with the lowest id (EXPRESS ENTITY_INSTANCE_NAME) - const_iterator begin() const; - /// Returns the last entity in the file, this probably is the entity with the highes id (EXPRESS ENTITY_INSTANCE_NAME) - const_iterator end() const; - IfcParse::IfcSpfStream* file; - IfcParse::Tokens* tokens; - /// Returns all entities in the file that match the template argument. - /// NOTE: This also returns subtypes of the requested type, for example: - /// IfcWall will also return IfcWallStandardCase entities - template - typename T::list::ptr EntitiesByType() { - IfcEntityList::ptr e = EntitiesByType(T::Class()); - typename T::list::ptr l(new typename T::list); - if (e && e->Size()) { - for ( IfcEntityList::it it = e->begin(); it != e->end(); ++ it ) { - l->push((T*)*it); - } - } - return l; - } - /// Returns all entities in the file that match the positional argument. - /// NOTE: This also returns subtypes of the requested type, for example: - /// IfcWall will also return IfcWallStandardCase entities - IfcEntityList::ptr EntitiesByType(IfcSchema::Type::Enum t); - /// Returns all entities in the file that match the positional argument. - /// NOTE: This also returns subtypes of the requested type, for example: - /// IfcWall will also return IfcWallStandardCase entities - IfcEntityList::ptr EntitiesByType(const std::string& t); - /// Returns all entities in the file that reference the id - IfcEntityList::ptr EntitiesByReference(int id); - /// Returns the entity with the specified id - IfcUtil::IfcBaseClass* EntityById(int id); - /// Returns the entity with the specified GlobalId - IfcSchema::IfcRoot* EntityByGuid(const std::string& guid); - bool Init(const std::string& fn); - bool Init(std::istream& fn, int len); - bool Init(void* data, int len); - bool Init(IfcParse::IfcSpfStream* f); - unsigned int FreshId() { MaxId ++; return MaxId; } - void AddEntity(IfcUtil::IfcBaseClass* entity); - void AddEntities(IfcEntityList::ptr es); - - void filename(const std::string& s); - std::string filename() const; - void timestamp(const std::string& s); - std::string timestamp() const; - void author(const std::string& name, const std::string& email, const std::string& organisation); - std::string authorName() const; - std::string authorEmail() const; - std::string authorOrganisation() const; -}; - } std::ostream& operator<< (std::ostream& os, const IfcParse::IfcFile& f); diff --git a/src/ifcparse/IfcSpfStream.h b/src/ifcparse/IfcSpfStream.h new file mode 100644 index 0000000000..9f5799f2a2 --- /dev/null +++ b/src/ifcparse/IfcSpfStream.h @@ -0,0 +1,81 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +/********************************************************************************* + * * + * Reads a file in chunks of BUF_SIZE and provides functions to access its * + * contents randomly and character by character * + * * + ********************************************************************************/ + +#ifndef IFCSPFSTREAM_H +#define IFCSPFSTREAM_H + +#include +#include + +// As of IfcOpenShell version 0.3.0 the paging functionality, which +// loads a file on disk into multiple chunks, has been disabled. +// It proved to be an inefficient way of working with large files, +// as often these did not facilitate to be parsed in a sequential +// manner efficiently. To enable the paging functionality uncomment +// the following statement. +// #define BUF_SIZE (8 * 1024 * 1024) + +namespace IfcParse { + /// The IfcSpfStream class represents a ISO 10303-21 IFC-SPF file in memory. + /// The file is interpreted as a sequence of tokens which are lazily + /// interpreted only when requested. If the size of the file is + /// larger than BUF_SIZE, the file is split into seperate pages, of + /// which only one is simultaneously kept in memory, for files + /// that define their entities not in a sequential nature, this is + /// detrimental for the performance of the parser. + class IfcSpfStream { + private: + FILE* stream; + char* buffer; + unsigned int ptr; + unsigned int len; + void ReadBuffer(bool inc=true); +#ifdef BUF_SIZE + unsigned int offset; + bool paging; +#endif + public: + bool valid; + bool eof; + unsigned int size; + IfcSpfStream(const std::string& fn); + IfcSpfStream(std::istream& f, int len); + IfcSpfStream(void* data, int len); + /// Returns the character at the cursor + char Peek(); + /// Returns the character at specified offset + char Read(unsigned int offset); + /// Increment the file cursor and reads new page if necessary + void Inc(); + void Close(); + /// Moves the file cursor to an arbitrary offset in the file + void Seek(unsigned int offset); + /// Returns the cursor position + unsigned int Tell(); + }; +} + +#endif diff --git a/src/ifcparse/IfcUtil.cpp b/src/ifcparse/IfcUtil.cpp index 961b4cbe62..748054e33a 100644 --- a/src/ifcparse/IfcUtil.cpp +++ b/src/ifcparse/IfcUtil.cpp @@ -17,9 +17,12 @@ * * ********************************************************************************/ -#include "IfcUtil.h" #include +#include "../ifcparse/IfcException.h" + +#include "IfcUtil.h" + void IfcEntityList::push(IfcUtil::IfcBaseClass* l) { if ( l ) ls.push_back(l); } @@ -49,19 +52,10 @@ IfcEntityList::ptr IfcEntityList::getInverse(IfcSchema::Type::Enum c, int ar, co return l; } -bool IfcUtil::IfcEntitySelect::is(IfcSchema::Type::Enum v) const { return entity->is(v); } -IfcSchema::Type::Enum IfcUtil::IfcEntitySelect::type() const { return entity->type(); } -IfcUtil::IfcEntitySelect::IfcEntitySelect(IfcBaseClass* b) { entity = b->entity; } -IfcUtil::IfcEntitySelect::IfcEntitySelect(IfcAbstractEntity* e) { entity = e; } -bool IfcUtil::IfcEntitySelect::isSimpleType() { return false; } -IfcUtil::IfcEntitySelect::~IfcEntitySelect() { delete entity; } -bool IfcUtil::IfcArgumentSelect::is(IfcSchema::Type::Enum v) const { return _type == v; } -IfcSchema::Type::Enum IfcUtil::IfcArgumentSelect::type() const { return _type; } -IfcUtil::IfcArgumentSelect::IfcArgumentSelect(IfcSchema::Type::Enum t, Argument* a) { _type = t; arg = a; } -Argument* IfcUtil::IfcArgumentSelect::wrappedValue() { return arg; } -bool IfcUtil::IfcArgumentSelect::isSimpleType() { return true; } -IfcUtil::IfcArgumentSelect::~IfcArgumentSelect() { delete arg; } +unsigned int IfcUtil::IfcBaseType::getArgumentCount() const { return 1; } +Argument* IfcUtil::IfcBaseType::getArgument(unsigned int i) const { return entity->getArgument(i); } +const char* IfcUtil::IfcBaseType::getArgumentName(unsigned int i) const { if (i == 0) { return "wrappedValue"; } else { throw IfcParse::IfcException("argument out of range"); } } void Logger::SetOutput(std::ostream* l1, std::ostream* l2) { log1 = l1; @@ -98,4 +92,25 @@ std::ostream* Logger::log1 = 0; std::ostream* Logger::log2 = 0; std::stringstream Logger::log_stream; Logger::Severity Logger::verbosity = Logger::LOG_NOTICE; -const char* Logger::severity_strings[] = { "Notice","Warning","Error" }; \ No newline at end of file +const char* Logger::severity_strings[] = { "Notice","Warning","Error" }; + +static const char* const argument_type_string[] = { + "NULL", + "DERIVED", + "INT", + "BOOL", + "DOUBLE", + "STRING", + "VECTOR_INT", + "VECTOR_DOUBLE", + "VECTOR_STRING", + "ENUMERATION", + "ENTITY", + "ENTITY_LIST", + "ENTITY_LIST_LIST", + "UNKNOWN" +}; + +const char* IfcUtil::ArgumentTypeToString(ArgumentType argument_type) { + return argument_type_string[static_cast(argument_type)]; +} diff --git a/src/ifcparse/IfcUtil.h b/src/ifcparse/IfcUtil.h index b59ca6a9a5..f7b6d4e6fb 100644 --- a/src/ifcparse/IfcUtil.h +++ b/src/ifcparse/IfcUtil.h @@ -42,7 +42,9 @@ namespace IfcWrite { namespace IfcUtil { enum ArgumentType { - Argument_INT, + Argument_NULL, + Argument_DERIVED, + Argument_INT, Argument_BOOL, Argument_DOUBLE, Argument_STRING, @@ -56,6 +58,8 @@ namespace IfcUtil { Argument_UNKNOWN }; + const char* ArgumentTypeToString(ArgumentType argument_type); + class IfcBaseClass { public: IfcAbstractEntity* entity; @@ -70,6 +74,14 @@ namespace IfcUtil { virtual Argument* getArgument(unsigned int i) const = 0; virtual const char* getArgumentName(unsigned int i) const = 0; }; + + // TODO: Investigate whether these should be template classes instead + class IfcBaseType : public IfcBaseEntity { + public: + virtual unsigned int getArgumentCount() const; + virtual Argument* getArgument(unsigned int i) const; + virtual const char* getArgumentName(unsigned int i) const; + }; } template @@ -185,37 +197,6 @@ public: } }; -namespace IfcUtil { - class IfcAbstractSelect : public IfcBaseClass { - public: - typedef IfcTemplatedEntityList list; - virtual bool isSimpleType() = 0; - static IfcSchema::Type::Enum Class() { return IfcSchema::Type::ALL; } - }; - class IfcEntitySelect : public IfcAbstractSelect { - public: - typedef IfcEntitySelect* ptr; - IfcEntitySelect(IfcBaseClass* b); - IfcEntitySelect(IfcAbstractEntity* e); - ~IfcEntitySelect(); - bool is(IfcSchema::Type::Enum v) const; - IfcSchema::Type::Enum type() const; - bool isSimpleType(); - }; - class IfcArgumentSelect : public IfcAbstractSelect { - IfcSchema::Type::Enum _type; - Argument* arg; - public: - typedef IfcArgumentSelect* ptr; - IfcArgumentSelect(IfcSchema::Type::Enum t, Argument* a); - ~IfcArgumentSelect(); - Argument* wrappedValue(); - bool is(IfcSchema::Type::Enum v) const; - IfcSchema::Type::Enum type() const; - bool isSimpleType(); - }; -} - namespace IfcParse { class IfcFile; } diff --git a/src/ifcparse/IfcWrite.cpp b/src/ifcparse/IfcWrite.cpp index d6640ce5fa..1324ed55af 100644 --- a/src/ifcparse/IfcWrite.cpp +++ b/src/ifcparse/IfcWrite.cpp @@ -23,6 +23,7 @@ #include "../ifcparse/IfcWrite.h" #include "../ifcparse/IfcWritableEntity.h" #include "../ifcparse/IfcCharacterDecoder.h" +#include "../ifcparse/IfcFile.h" using namespace IfcWrite; @@ -301,7 +302,7 @@ IfcWriteArgument::operator std::vector() const { return as(); } IfcWriteArgument::operator IfcEntityList::ptr() const { return as(); } IfcWriteArgument::operator IfcEntityListList::ptr() const { throw; } -bool IfcWriteArgument::isNull() const { return argumentType() == argument_type_null; } +bool IfcWriteArgument::isNull() const { return type() == IfcUtil::Argument_NULL; } Argument* IfcWriteArgument::operator [] (unsigned int i) const { throw IfcParse::IfcException("Invalid cast"); } std::string IfcWriteArgument::toString(bool upper) const { std::ostringstream str; @@ -318,18 +319,9 @@ unsigned int IfcWriteArgument::Size() const { return size; } } -IfcWriteArgument::argument_type IfcWriteArgument::argumentType() const { - return static_cast(container.which()); -} IfcUtil::ArgumentType IfcWriteArgument::type() const { - // TODO: Make these the same enumeration - int ty = static_cast(container.which()) - 2; - if (ty < 0) { - return IfcUtil::Argument_UNKNOWN; - } else { - return static_cast(ty); - } + return static_cast(container.which()); } IfcEntityList::ptr IfcSelectHelperEntity::getInverse(IfcSchema::Type::Enum,int,const std::string &) {throw IfcParse::IfcException("Invalid cast");} diff --git a/src/ifcparse/IfcWrite.h b/src/ifcparse/IfcWrite.h index 5f794310f4..e9f185cb84 100644 --- a/src/ifcparse/IfcWrite.h +++ b/src/ifcparse/IfcWrite.h @@ -91,21 +91,6 @@ namespace IfcWrite { IfcEntityListList::ptr > container; public: - enum argument_type { - argument_type_null, - argument_type_derived, - argument_type_int, - argument_type_bool, - argument_type_double, - argument_type_string, - argument_type_vector_int, - argument_type_vector_double, - argument_type_vector_string, - argument_type_enumeration, - argument_type_entity, - argument_type_entity_list, - argument_type_entity_list_list - }; IfcWriteArgument(IfcAbstractEntity* e) : entity(e) {} template const T& as() const { if (const T* val = boost::get(&container)) { @@ -131,7 +116,6 @@ namespace IfcWrite { Argument* operator [] (unsigned int i) const; std::string toString(bool upper=false) const; unsigned int Size() const; - argument_type argumentType() const; IfcUtil::ArgumentType type() const; }; diff --git a/src/ifcwrap/CMakeLists.txt b/src/ifcwrap/CMakeLists.txt index d925eb669d..ba87b658c9 100644 --- a/src/ifcwrap/CMakeLists.txt +++ b/src/ifcwrap/CMakeLists.txt @@ -15,21 +15,22 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) SET(CMAKE_SWIG_FLAGS "") SET_SOURCE_FILES_PROPERTIES(IfcPython.i PROPERTIES CPLUSPLUS ON) -SWIG_ADD_MODULE(IfcImport python IfcPython.i) -SWIG_LINK_LIBRARIES(IfcImport ${PYTHON_LIBRARIES} IfcParse IfcGeom TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing TKTopAlgo TKMesh TKPrim TKBool TKBO TKFillet TKOffset) +SWIG_ADD_MODULE(ifcopenshell_wrapper python IfcPython.i) +SWIG_LINK_LIBRARIES(ifcopenshell_wrapper ${PYTHON_LIBRARIES} IfcParse IfcGeom TKernel TKMath TKBRep TKGeomBase TKGeomAlgo TKG3d TKG2d TKShHealing TKTopAlgo TKMesh TKPrim TKBool TKBO TKFillet TKOffset) -# To install IfcPython let's get the site-packackes dir from python -EXECUTE_PROCESS(COMMAND python -c "from distutils.sysconfig import get_python_lib as x; print (x())" +# To install IfcPython let's get the site-packages dir from python +EXECUTE_PROCESS(COMMAND python -c "import sys; from distutils.sysconfig import get_python_lib; sys.stdout.write(get_python_lib())" OUTPUT_VARIABLE python_package_dir) -# Strip trailing whitespace from python print -STRING(REPLACE "\r" "" python_package_dir "${python_package_dir}") -STRING(REPLACE "\n" "" python_package_dir "${python_package_dir}") - INSTALL(FILES - "${CMAKE_BINARY_DIR}/ifcwrap/IfcImport.py" - DESTINATION "${python_package_dir}") -INSTALL(TARGETS _IfcImport DESTINATION "${python_package_dir}") + "${CMAKE_BINARY_DIR}/ifcwrap/ifcopenshell_wrapper.py" + "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/__init__.py" + "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/guid.py" + DESTINATION "${python_package_dir}/ifcopenshell") +INSTALL(FILES + "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/geom/__init__.py" + DESTINATION "${python_package_dir}/ifcopenshell/geom") +INSTALL(TARGETS _ifcopenshell_wrapper DESTINATION "${python_package_dir}/ifcopenshell") ENDIF(PYTHONLIBS_FOUND) diff --git a/src/ifcwrap/IfcGeomWrapper.i b/src/ifcwrap/IfcGeomWrapper.i new file mode 100644 index 0000000000..38ba18ee62 --- /dev/null +++ b/src/ifcwrap/IfcGeomWrapper.i @@ -0,0 +1,294 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +%rename("settings") IteratorSettings; + +// This is only used for RGB colours, hence the size of 3 +%typemap(out) const double* { + $result = PyTuple_New(3); + for (int i = 0; i < 3; ++i) { + PyTuple_SetItem($result, i, PyFloat_FromDouble($1[i])); + } +} + +%include "../ifcgeom/IfcGeomIteratorSettings.h" +%include "../ifcgeom/IfcGeomElement.h" +%include "../ifcgeom/IfcGeomMaterial.h" +%include "../ifcgeom/IfcGeomRepresentation.h" +%include "../ifcgeom/IfcGeomIterator.h" + +// Using RTTI return a more specialized type of Element +// Note that these elements are not to be owned by SWIG/Python as they will be freed automatically upon the next iteration +// except for the IfcGeom::Element instances which are returned by Iterator::getObject() calls +%typemap(out) IfcGeom::Element* { + IfcGeom::SerializedElement* serialized_elem = dynamic_cast*>($1); + IfcGeom::TriangulationElement* triangulation_elem = dynamic_cast*>($1); + if (triangulation_elem) { + $result = SWIG_NewPointerObj(SWIG_as_voidptr(triangulation_elem), SWIGTYPE_p_IfcGeom__TriangulationElementT_float_t, 0); + } else if (serialized_elem) { + $result = SWIG_NewPointerObj(SWIG_as_voidptr(serialized_elem), SWIGTYPE_p_IfcGeom__SerializedElementT_float_t, 0); + } else { + $result = SWIG_NewPointerObj(SWIG_as_voidptr($1), SWIGTYPE_p_IfcGeom__ElementT_float_t, SWIG_POINTER_OWN); + } +} + +// Using RTTI return a more specialized type of Element +// Note that these elements are not to be owned by SWIG/Python as they will be freed automatically upon the next iteration +// except for the IfcGeom::Element instances which are returned by Iterator::getObject() calls +%typemap(out) IfcGeom::Element* { + IfcGeom::SerializedElement* serialized_elem = dynamic_cast*>($1); + IfcGeom::TriangulationElement* triangulation_elem = dynamic_cast*>($1); + if (triangulation_elem) { + $result = SWIG_NewPointerObj(SWIG_as_voidptr(triangulation_elem), SWIGTYPE_p_IfcGeom__TriangulationElementT_double_t, 0); + } else if (serialized_elem) { + $result = SWIG_NewPointerObj(SWIG_as_voidptr(serialized_elem), SWIGTYPE_p_IfcGeom__SerializedElementT_double_t, 0); + } else { + $result = SWIG_NewPointerObj(SWIG_as_voidptr($1), SWIGTYPE_p_IfcGeom__ElementT_double_t, SWIG_POINTER_OWN); + } +} + +// Note that these elements ARE to be owned by SWIG/Python +%typemap(out) boost::variant*, IfcGeom::Representation::Representation*> { + // See which type is set and return appropriate + IfcGeom::Element* elem = boost::get*>($1); + IfcGeom::SerializedElement* serialized_elem = dynamic_cast*>(elem); + IfcGeom::TriangulationElement* triangulation_elem = dynamic_cast*>(elem); + if (triangulation_elem) { + $result = SWIG_NewPointerObj(SWIG_as_voidptr(triangulation_elem), SWIGTYPE_p_IfcGeom__TriangulationElementT_double_t, SWIG_POINTER_OWN); + } else if (serialized_elem) { + $result = SWIG_NewPointerObj(SWIG_as_voidptr(serialized_elem), SWIGTYPE_p_IfcGeom__SerializedElementT_double_t, SWIG_POINTER_OWN); + } +} + +// SWIG does not support bool references in a meaningful way, so the +// IfcGeom::IteratorSettings functions degrade to return a read only value +%typemap(out) double& { + $result = SWIG_From_double(*$1); +} +%typemap(out) bool& { + $result = PyBool_FromLong(static_cast(*$1)); +} + +// This does not seem to work: +%ignore IfcGeom::Iterator::Iterator(const IfcGeom::IteratorSettings&, IfcParse::IfcFile*); +%ignore IfcGeom::Iterator::Iterator(const IfcGeom::IteratorSettings&, void*, int); +%ignore IfcGeom::Iterator::Iterator(const IfcGeom::IteratorSettings&, std::istream&, int); +%ignore IfcGeom::Iterator::Iterator(const IfcGeom::IteratorSettings&, IfcParse::IfcFile*); +%ignore IfcGeom::Iterator::Iterator(const IfcGeom::IteratorSettings&, void*, int); +%ignore IfcGeom::Iterator::Iterator(const IfcGeom::IteratorSettings&, std::istream&, int); + +%extend IfcGeom::IteratorSettings { + %pythoncode %{ + attrs = ("convert_back_units", "deflection_tolerance", "disable_opening_subtractions", "disable_triangulation", "faster_booleans", "force_ccw_face_orientation", "sew_shells", "use_brep_data", "use_world_coords", "weld_vertices") + def __repr__(self): + return "%s(%s)"%(self.__class__.__name__, ",".join(tuple("%s=%r"%(a, getattr(self, a)()) for a in self.attrs))) + %} +} + +%extend IfcGeom::Iterator { + static int mantissa_size() { + return std::numeric_limits::digits; + } +}; + +%extend IfcGeom::Iterator { + static int mantissa_size() { + return std::numeric_limits::digits; + } +}; + +%extend IfcGeom::Representation::Triangulation { + %pythoncode %{ + if _newclass: + # Hide the getters with read-only property implementations + id = property(id) + verts = property(verts) + faces = property(faces) + edges = property(edges) + normals = property(normals) + material_ids = property(material_ids) + materials = property(materials) + %} +}; + +%extend IfcGeom::Representation::Serialization { + %pythoncode %{ + if _newclass: + # Hide the getters with read-only property implementations + id = property(id) + brep_data = property(brep_data) + %} +}; + +%extend IfcGeom::Element { + %pythoncode %{ + if _newclass: + # Hide the getters with read-only property implementations + id = property(id) + parent_id = property(parent_id) + name = property(name) + type = property(type) + guid = property(guid) + transformation = property(transformation) + %} +}; + +%extend IfcGeom::TriangulationElement { + %pythoncode %{ + if _newclass: + # Hide the getters with read-only property implementations + geometry = property(geometry) + %} +}; + +%extend IfcGeom::SerializedElement { + %pythoncode %{ + if _newclass: + # Hide the getters with read-only property implementations + geometry = property(geometry) + %} +}; + +%extend IfcGeom::Material { + %pythoncode %{ + if _newclass: + # Hide the getters with read-only property implementations + has_diffuse = property(hasDiffuse) + has_specular = property(hasSpecular) + has_transparency = property(hasTransparency) + has_specularity = property(hasSpecularity) + diffuse = property(diffuse) + specular = property(specular) + transparency = property(transparency) + specularity = property(specularity) + name = property(name) + %} +}; + +%extend IfcGeom::Transformation { + %pythoncode %{ + if _newclass: + # Hide the getters with read-only property implementations + matrix = property(matrix) + %} +}; + +%extend IfcGeom::Matrix { + %pythoncode %{ + if _newclass: + # Hide the getters with read-only property implementations + data = property(data) + %} +}; + +%inline %{ + boost::variant*, IfcGeom::Representation::Representation*> create_shape(IfcGeom::IteratorSettings& settings, IfcParse::IfcLateBoundEntity* instance) { + if (instance->is(IfcSchema::Type::IfcProduct)) { + IfcParse::IfcFile* file = instance->entity->file; + + IfcSchema::IfcProject::list::ptr projects = file->EntitiesByType(); + if (projects->Size() != 1) { + throw IfcParse::IfcException("Not a single IfcProject instance"); + } + IfcSchema::IfcProject* project = *projects->begin(); + + IfcGeom::Kernel kernel; + kernel.setValue(IfcGeom::Kernel::GV_MAX_FACES_TO_SEW, settings.sew_shells() ? 1000 : -1); + kernel.setValue(IfcGeom::Kernel::GV_FORCE_CCW_FACE_ORIENTATION, settings.force_ccw_face_orientation() ? 1 : -1); + + IfcSchema::IfcProduct* product = (IfcSchema::IfcProduct*) instance; + + if (!product->hasRepresentation()) { + throw IfcParse::IfcException("Representation is NULL"); + } + + IfcSchema::IfcProductRepresentation* prodrep = product->Representation(); + IfcSchema::IfcRepresentation::list::ptr reps = prodrep->Representations(); + IfcSchema::IfcRepresentation* representation = 0; + for (IfcSchema::IfcRepresentation::list::it it = reps->begin(); it != reps->end(); ++it) { + IfcSchema::IfcRepresentation* rep = *it; + if (rep->RepresentationIdentifier() == "Body") { + representation = rep; + break; + } + } + if (!representation) { + throw IfcParse::IfcException("No IfcRepresentations with a 'Body' RepresentationIdentifier found"); + } + + IfcSchema::IfcRepresentationContext* ctx = representation->ContextOfItems(); + if (!ctx->is(IfcSchema::Type::IfcGeometricRepresentationContext)) { + throw IfcParse::IfcException("Context not of type IfcGeometricRepresentationContext"); + } + IfcSchema::IfcGeometricRepresentationContext* context = (IfcSchema::IfcGeometricRepresentationContext*) ctx; + if (context->is(IfcSchema::Type::IfcGeometricRepresentationSubContext)) { + IfcSchema::IfcGeometricRepresentationSubContext* subcontext = (IfcSchema::IfcGeometricRepresentationSubContext*) context; + context = subcontext->ParentContext(); + } + + double precision = 1.e-5; + if (context->hasPrecision()) { + precision = context->Precision(); + } + std::pair length_unit = kernel.initializeUnits(project->UnitsInContext()); + precision *= length_unit.second; + kernel.setValue(IfcGeom::Kernel::GV_PRECISION, precision); + + IfcGeom::BRepElement* brep = kernel.create_brep_for_representation_and_product(settings, representation, product); + if (settings.use_brep_data()) { + IfcGeom::SerializedElement* serialization = new IfcGeom::SerializedElement(*brep); + delete brep; + return serialization; + } else if (!settings.disable_triangulation()) { + IfcGeom::TriangulationElement* triangulation = new IfcGeom::TriangulationElement(*brep); + delete brep; + return triangulation; + } else { + throw IfcParse::IfcException("No element to return based on provided settings"); + } + } else { + throw IfcParse::IfcException("Only obtaining representations for IfcProduct instances is currently supported"); + } + } +%} + +namespace IfcGeom { + %template(iterator_single_precision) Iterator; + %template(iterator_double_precision) Iterator; + + %template(element_single_precision) Element; + %template(element_double_precision) Element; + + %template(triangulation_element_single_precision) TriangulationElement; + %template(triangulation_element_double_precision) TriangulationElement; + + %template(serialized_element_single_precision) SerializedElement; + %template(serialized_element_double_precision) SerializedElement; + + %template(transformation_single_precision) Transformation; + %template(transformation_double_precision) Transformation; + + %template(matrix_single_precision) Matrix; + %template(matrix_double_precision) Matrix; + + namespace Representation { + %template(triangulation_single_precision) Triangulation; + %template(triangulation_double_precision) Triangulation; + }; +}; diff --git a/src/ifcwrap/IfcParseWrapper.i b/src/ifcwrap/IfcParseWrapper.i new file mode 100644 index 0000000000..e177abfadd --- /dev/null +++ b/src/ifcwrap/IfcParseWrapper.i @@ -0,0 +1,179 @@ +/******************************************************************************** + * * + * This file is part of IfcOpenShell. * + * * + * IfcOpenShell is free software: you can redistribute it and/or modify * + * it under the terms of the Lesser GNU General Public License as published by * + * the Free Software Foundation, either version 3.0 of the License, or * + * (at your option) any later version. * + * * + * IfcOpenShell is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * Lesser GNU General Public License for more details. * + * * + * You should have received a copy of the Lesser GNU General Public License * + * along with this program. If not, see . * + * * + ********************************************************************************/ + +%ignore IfcParse::IfcLateBoundEntity::is; +%ignore IfcParse::IfcLateBoundEntity::type; +%ignore IfcParse::IfcLateBoundEntity::getArgument; +%ignore IfcParse::IfcLateBoundEntity::IfcLateBoundEntity(IfcAbstractEntity*); + +%ignore IfcParse::IfcFile::Init; +%ignore IfcParse::IfcFile::EntityById; +%ignore IfcParse::IfcFile::EntityByGuid; +%ignore IfcParse::IfcFile::AddEntity; +%ignore operator<<; + +%rename("by_type") EntitiesByType; +%rename("__len__") getArgumentCount; +%rename("get_argument_type") getArgumentType; +%rename("get_argument_name") getArgumentName; +%rename("get_argument_index") getArgumentIndex; +%rename("_set_argument") setArgument; +%rename("__repr__") toString; +%rename("entity_instance") IfcLateBoundEntity; +%rename("file") IfcFile; + +%typemap(typecheck,precedence=SWIG_TYPECHECK_INTEGER) IfcEntityList::ptr { + $1 = (PySequence_Check($input) && !PyUnicode_Check($input) && !PyString_Check($input)) ? 1 : 0; +} + +%typemap(in) IfcEntityList::ptr { + if (PySequence_Check($input)) { + $1 = IfcEntityList::ptr(new IfcEntityList()); + for(Py_ssize_t i = 0; i < PySequence_Size($input); ++i) { + PyObject* obj = PySequence_GetItem($input, i); + if (obj) { + void *arg = 0; + int res = SWIG_ConvertPtr(obj, &arg, SWIGTYPE_p_IfcParse__IfcLateBoundEntity, 0); + if (!SWIG_IsOK(res)) { + SWIG_exception_fail(SWIG_ArgError(res), "in method '" "Entity__set_argument" "', argument " "3"" of type '" "IfcParse::IfcLateBoundEntity *""'"); + } else { + $1->push(reinterpret_cast(arg)); + } + } + } + } else { + SWIG_exception(SWIG_RuntimeError,"Unknown argument type"); + } +} + +%typemap(out) IfcEntityList::ptr { + const unsigned size = $1 ? $1->Size() : 0; + $result = PyList_New(size); + for (unsigned i = 0; i < size; ++i) { + PyObject *o = SWIG_NewPointerObj(SWIG_as_voidptr((*$1)[i]), SWIGTYPE_p_IfcParse__IfcLateBoundEntity, 0); + PyList_SetItem($result,i,o); + } +} + +%typemap(out) IfcUtil::ArgumentType { + $result = SWIG_Python_str_FromChar(IfcUtil::ArgumentTypeToString($1)); +} + +%typemap(out) std::pair { + const Argument& arg = *($1.second); + const IfcUtil::ArgumentType type = $1.first; + if (arg.isNull() || type == IfcUtil::Argument_DERIVED) { + Py_INCREF(Py_None); + $result = Py_None; + } else { + switch(type) { + case IfcUtil::Argument_INT: + $result = PyInt_FromLong((int)arg); + break; + case IfcUtil::Argument_BOOL: + $result = PyBool_FromLong((bool)arg); + break; + case IfcUtil::Argument_DOUBLE: + $result = PyFloat_FromDouble(arg); + break; + case IfcUtil::Argument_ENUMERATION: + case IfcUtil::Argument_STRING: { + const std::string s = arg; + $result = PyString_FromString(s.c_str()); + break; } + case IfcUtil::Argument_VECTOR_INT: { + const std::vector v = arg; + const unsigned size = v.size(); + $result = PyList_New(size); + for (unsigned int i = 0; i < size; ++i) { + PyList_SetItem($result,i,PyInt_FromLong(v[i])); + } + break; } + case IfcUtil::Argument_VECTOR_DOUBLE: { + const std::vector v = arg; + const unsigned size = v.size(); + $result = PyList_New(size); + for (unsigned int i = 0; i < size; ++i) { + PyList_SetItem($result,i,PyFloat_FromDouble(v[i])); + } + break; } + case IfcUtil::Argument_VECTOR_STRING: { + const std::vector v = arg; + const unsigned size = v.size(); + $result = PyList_New(size); + for (unsigned int i = 0; i < size; ++i) { + PyList_SetItem($result,i,PyString_FromString(v[i].c_str())); + } + break; } + case IfcUtil::Argument_ENTITY: { + IfcUtil::IfcBaseClass* e = arg; + $result = SWIG_NewPointerObj(SWIG_as_voidptr(e), SWIGTYPE_p_IfcParse__IfcLateBoundEntity, 0); + break; } + case IfcUtil::Argument_ENTITY_LIST: { + IfcEntityList::ptr es = arg; + const unsigned size = es->Size(); + $result = PyList_New(size); + for (unsigned i = 0; i < size; ++i) { + PyObject *o = SWIG_NewPointerObj(SWIG_as_voidptr((*es)[i]), SWIGTYPE_p_IfcParse__IfcLateBoundEntity, 0); + PyList_SetItem($result,i,o); + } + break; } + case IfcUtil::Argument_UNKNOWN: + default: + SWIG_exception(SWIG_RuntimeError,"Unknown argument type"); + break; + } + } +} + +%extend IfcParse::IfcFile { + IfcParse::IfcLateBoundEntity* by_id(unsigned id) { + return (IfcParse::IfcLateBoundEntity*) $self->EntityById(id); + } + IfcParse::IfcLateBoundEntity* by_guid(const std::string& guid) { + return (IfcParse::IfcLateBoundEntity*) $self->EntityByGuid(guid); + } + void add(IfcParse::IfcLateBoundEntity* e) { + $self->AddEntity(e); + } + void write(const std::string& fn) { + std::ofstream f(fn.c_str()); + f << (*$self); + } +} + +%extend IfcParse::IfcLateBoundEntity { + %pythoncode %{ + set_argument = lambda self,x,y: self._set_argument(x) if y is None else self._set_argument(x,y) + %} +} + +%include "../ifcparse/IfcFile.h" +%include "../ifcparse/IfcLateBoundEntity.h" + +// The IfcFile* returned by open() is to be freed by SWIG/Python +%newobject open; + +%inline %{ + IfcParse::IfcFile* open(const std::string& s) { + IfcParse::IfcFile* f = new IfcParse::IfcFile(true); + f->Init(s); + return f; + } +%} \ No newline at end of file diff --git a/src/ifcwrap/IfcPython.i b/src/ifcwrap/IfcPython.i index 77b3874712..a302170dff 100644 --- a/src/ifcwrap/IfcPython.i +++ b/src/ifcwrap/IfcPython.i @@ -21,48 +21,11 @@ %include "std_string.i" %include "exception.i" -// This is only used for RGB colours, hence the size of 3 -%typemap(out) const double* { - $result = PyTuple_New(3); - for (int i = 0; i < 3; ++i) { - PyTuple_SetItem($result, i, PyFloat_FromDouble($1[i])); - } -} - -// Using RTTI return a more specialized type of Element -%typemap(out) IfcGeom::Element* { - IfcGeom::SerializedElement* serialized_elem = dynamic_cast*>($1); - IfcGeom::TriangulationElement* triangulation_elem = dynamic_cast*>($1); - if (triangulation_elem) { - $result = SWIG_NewPointerObj(SWIG_as_voidptr(triangulation_elem), SWIGTYPE_p_IfcGeom__TriangulationElementT_float_t, 0); - } else if (serialized_elem) { - $result = SWIG_NewPointerObj(SWIG_as_voidptr(serialized_elem), SWIGTYPE_p_IfcGeom__SerializedElementT_float_t, 0); - } -} - -// Using RTTI return a more specialized type of Element -%typemap(out) IfcGeom::Element* { - IfcGeom::SerializedElement* serialized_elem = dynamic_cast*>($1); - IfcGeom::TriangulationElement* triangulation_elem = dynamic_cast*>($1); - if (triangulation_elem) { - $result = SWIG_NewPointerObj(SWIG_as_voidptr(triangulation_elem), SWIGTYPE_p_IfcGeom__TriangulationElementT_double_t, 0); - } else if (serialized_elem) { - $result = SWIG_NewPointerObj(SWIG_as_voidptr(serialized_elem), SWIGTYPE_p_IfcGeom__SerializedElementT_double_t, 0); - } -} - -// SWIG does not support bool references in a meaningful way, so the -// IfcGeom::IteratorSettings functions degrade to return a read only value -%typemap(out) double& { - $result = SWIG_From_double(*$1); -} -%typemap(out) bool& { - $result = PyBool_FromLong(static_cast(*$1)); -} - %exception { try { $action + } catch(IfcParse::IfcException& e) { + SWIG_exception(SWIG_RuntimeError, e.what()); } catch(std::runtime_error& e) { SWIG_exception(SWIG_RuntimeError, e.what()); } catch(...) { @@ -70,170 +33,21 @@ } } -%include "../ifcgeom/IfcGeomIteratorSettings.h" -%include "../ifcgeom/IfcGeomMaterial.h" -%include "../ifcgeom/IfcGeomRepresentation.h" -%include "../ifcgeom/IfcGeomElement.h" -%include "../ifcgeom/IfcGeomIterator.h" - -// This does not seem to work: -%ignore IfcGeom::Iterator::Iterator(const IfcGeom::IteratorSettings&, IfcParse::IfcFile*); -%ignore IfcGeom::Iterator::Iterator(const IfcGeom::IteratorSettings&, void*, int); -%ignore IfcGeom::Iterator::Iterator(const IfcGeom::IteratorSettings&, std::istream&, int); -%ignore IfcGeom::Iterator::Iterator(const IfcGeom::IteratorSettings&, IfcParse::IfcFile*); -%ignore IfcGeom::Iterator::Iterator(const IfcGeom::IteratorSettings&, void*, int); -%ignore IfcGeom::Iterator::Iterator(const IfcGeom::IteratorSettings&, std::istream&, int); - -%extend IfcGeom::IteratorSettings { - %pythoncode %{ - attrs = ("convert_back_units", "deflection_tolerance", "disable_opening_subtractions", "disable_triangulation", "faster_booleans", "force_ccw_face_orientation", "sew_shells", "use_brep_data", "use_world_coords", "weld_vertices") - def __repr__(self): - return "IteratorSettings(%s)"%(",".join(tuple("%s=%r"%(a, getattr(self, a)()) for a in self.attrs))) - %} -} - -%module ifcopenshell %{ - #include "../ifcgeom/IfcGeomIteratorSettings.h" - #include "../ifcgeom/IfcGeomMaterial.h" - #include "../ifcgeom/IfcGeomRepresentation.h" - #include "../ifcgeom/IfcGeomElement.h" +%module ifcopenshell_wrapper %{ + #include "../ifcgeom/IfcGeom.h" #include "../ifcgeom/IfcGeomIterator.h" - using namespace IfcGeom; + #include "../ifcparse/IfcFile.h" + #include "../ifcparse/IfcLateBoundEntity.h" %} -%extend IfcGeom::Iterator { - static int mantissa_size() { - return std::numeric_limits::digits; - } -}; - -%extend IfcGeom::Iterator { - static int mantissa_size() { - return std::numeric_limits::digits; - } -}; - -%extend IfcGeom::Representation::Triangulation { - %pythoncode %{ - if _newclass: - # Hide the getters with read-only property implementations - id = property(id) - verts = property(verts) - faces = property(faces) - edges = property(edges) - normals = property(normals) - material_ids = property(material_ids) - materials = property(materials) - %} -}; - -%extend IfcGeom::Representation::Serialization { - %pythoncode %{ - if _newclass: - # Hide the getters with read-only property implementations - id = property(id) - brep_data = property(brep_data) - %} -}; - -%extend IfcGeom::Element { - %pythoncode %{ - if _newclass: - # Hide the getters with read-only property implementations - id = property(id) - parent_id = property(parent_id) - name = property(name) - type = property(type) - guid = property(guid) - transformation = property(transformation) - %} -}; - -%extend IfcGeom::TriangulationElement { - %pythoncode %{ - if _newclass: - # Hide the getters with read-only property implementations - geometry = property(geometry) - %} -}; - -%extend IfcGeom::SerializedElement { - %pythoncode %{ - if _newclass: - # Hide the getters with read-only property implementations - geometry = property(geometry) - %} -}; - -%extend IfcGeom::Material { - %pythoncode %{ - if _newclass: - # Hide the getters with read-only property implementations - has_diffuse = property(hasDiffuse) - has_specular = property(hasSpecular) - has_transparency = property(hasTransparency) - has_specularity = property(hasSpecularity) - diffuse = property(diffuse) - specular = property(specular) - transparency = property(transparency) - specularity = property(specularity) - name = property(name) - %} -}; - -%extend IfcGeom::Transformation { - %pythoncode %{ - if _newclass: - # Hide the getters with read-only property implementations - matrix = property(matrix) - %} -}; - -%extend IfcGeom::Matrix { - %pythoncode %{ - if _newclass: - # Hide the getters with read-only property implementations - data = property(data) - %} -}; - namespace std { - %template(IntVector) vector; - %template(FloatVector) vector; - %template(DoubleVector) vector; - %template(MaterialVector) vector; + %template(int_vector) vector; + %template(float_vector) vector; + %template(double_vector) vector; + %template(string_vector) vector; + %template(material_vector) vector; }; -namespace IfcGeom { - %template(IteratorSinglePrecision) Iterator; - %template(IteratorDoublePrecision) Iterator; - - %template(ElementSinglePrecision) Element; - %template(ElementDoublePrecision) Element; - - %template(TriangulationElementSinglePrecision) TriangulationElement; - %template(TriangulationElementDoublePrecision) TriangulationElement; - - %template(SerializedElementSinglePrecision) SerializedElement; - %template(SerializedElementDoublePrecision) SerializedElement; - - %template(TransformationSinglePrecision) Transformation; - %template(TransformationDoublePrecision) Transformation; - - %template(MatrixSinglePrecision) Matrix; - %template(MatrixDoublePrecision) Matrix; - - namespace Representation { - %template(TriangulationSinglePrecision) Triangulation; - %template(TriangulationDoublePrecision) Triangulation; - }; -}; - -// Hide templating precision to the user by choosing based on Python's -// internal float type. This is probably always going to be a double. -%pythoncode %{ - import sys - for ty in (IteratorSinglePrecision, IteratorDoublePrecision): - if ty.mantissa_size() == sys.float_info.mant_dig: Iterator = ty -%} \ No newline at end of file +%include "IfcGeomWrapper.i" +%include "IfcParseWrapper.i" diff --git a/src/ifcwrap/Interface.h b/src/ifcwrap/Interface.h deleted file mode 100644 index 851ada7c02..0000000000 --- a/src/ifcwrap/Interface.h +++ /dev/null @@ -1,146 +0,0 @@ -/******************************************************************************** - * * - * This file is part of IfcOpenShell. * - * * - * IfcOpenShell is free software: you can redistribute it and/or modify * - * it under the terms of the Lesser GNU General Public License as published by * - * the Free Software Foundation, either version 3.0 of the License, or * - * (at your option) any later version. * - * * - * IfcOpenShell is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * Lesser GNU General Public License for more details. * - * * - * You should have received a copy of the Lesser GNU General Public License * - * along with this program. If not, see . * - * * - ********************************************************************************/ - -namespace IfcGeomObjects { - - const int WELD_VERTICES = 1; - const int USE_WORLD_COORDS = 2; - const int CONVERT_BACK_UNITS = 3; - const int USE_BREP_DATA = 4; - const int SEW_SHELLS = 5; - const int FASTER_BOOLEANS = 6; - const int FORCE_CCW_FACE_ORIENTATION = 7; - const int DISABLE_OPENING_SUBTRACTIONS = 8; - const int DISABLE_TRIANGULATION = 9; - - class Material { - private: - void* style; - public: - bool hasDiffuse() const; - bool hasSpecular() const; - bool hasTransparency() const; - bool hasSpecularity() const; - const double* diffuse() const; - const double* specular() const; - double transparency() const; - double specularity() const; - const std::string name() const; - }; - - class IfcRepresentationTriangulation { - private: - int _id; - std::vector _verts; - std::vector _faces; - std::vector _edges; - std::vector _normals; - std::vector _material_ids; - std::vector _materials; - - IfcRepresentationTriangulation(); - IfcRepresentationTriangulation(const IfcRepresentationTriangulation&); - IfcRepresentationTriangulation& operator=(const IfcRepresentationTriangulation&); - virtual ~IfcRepresentationTriangulation(); - public: - int id() const; - const std::vector& verts() const; - const std::vector& faces() const; - const std::vector& edges() const; - const std::vector& normals() const; - const std::vector& material_ids() const; - const std::vector& materials() const; - }; - - class IfcRepresentationBrepData { - private: - int _id; - std::string _brep_data; - - IfcRepresentationBrepData(); - IfcRepresentationBrepData(const IfcRepresentationBrepData&); - IfcRepresentationBrepData& operator=(const IfcRepresentationBrepData&); - virtual ~IfcRepresentationBrepData(); - public: - int id() const; - const std::string& brep_data() const; - }; - - class IfcObject { - private: - int _id; - int _parent_id; - std::string _name; - std::string _type; - std::string _guid; - std::vector _matrix; - - IfcObject(); - IfcObject(const IfcObject& other); - IfcObject& operator=(const IfcObject& other); - virtual ~IfcObject() {} - public: - int id() const; - int parent_id() const; - const std::string& name() const; - const std::string& type() const; - const std::string& guid() const; - const std::vector& matrix() const; - }; - - class IfcGeomObject : public IfcObject { - private: - IfcRepresentationTriangulation* _mesh; - - IfcGeomObject(); - IfcGeomObject(const IfcGeomObject& other); - IfcGeomObject& operator=(const IfcGeomObject& other); - virtual ~IfcGeomObject(); - public: - const IfcRepresentationTriangulation& mesh() const; - }; - - class IfcGeomBrepDataObject : public IfcObject { - private: - IfcRepresentationBrepData* _mesh; - - IfcGeomBrepDataObject(); - IfcGeomBrepDataObject(const IfcGeomBrepDataObject& other); - IfcGeomBrepDataObject& operator=(const IfcGeomBrepDataObject& other); - virtual ~IfcGeomBrepDataObject(); - public: - const IfcRepresentationBrepData& mesh() const; - }; - - void Settings(int setting, bool value); - - bool Init(const std::string fn); - - const IfcGeomObject* Get(); - const IfcGeomBrepDataObject* GetBrepData(); - - const IfcObject* GetObject(int id); - - bool Next(); - - int Progress(); - - const std::string GetLog(); - bool CleanUp(); -}; \ No newline at end of file diff --git a/win/IfcParse.vcproj b/win/IfcParse.vcproj index 2f7e3e6fe0..c651cab393 100644 --- a/win/IfcParse.vcproj +++ b/win/IfcParse.vcproj @@ -149,6 +149,18 @@ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" > + + + + + @@ -161,7 +173,19 @@ /> - + + + + + - @@ -193,16 +217,24 @@ RelativePath="..\src\ifcparse\IfcGuidHelper.cpp" > - - + + + + + @@ -211,16 +243,48 @@ RelativePath="..\src\ifcparse\Ifc2x3enum.h" > - + + + + + + + + + + + + + + + + diff --git a/win/IfcWrap.vcproj b/win/IfcWrap.vcproj index 7dcdd71b59..99a3820186 100644 --- a/win/IfcWrap.vcproj +++ b/win/IfcWrap.vcproj @@ -62,7 +62,7 @@ @@ -133,7 +133,7 @@ - - + + + +